Releases: binaryage/cljs-devtools
0.9.9
The :async feature is no longer needed
Chrome devs finally implemented support for long async stacktraces for goog.async.nextTick
(#20).
https://bugs.chromium.org/p/chromium/issues/detail?id=661705
Notable commits:
6dc3c10 print an info message that the :async feature is no longer needed
All new work: v0.9.8...v0.9.9
v0.9.8
Checked Array Access
The library now plays well when you enable :checked-arrays
in your project. Checked Array Access is a new feature of recent ClojureScript compiler.
Notable commits:
ab0b3c1 switch to unchecked-aget/aset to prevent :checked-arrays warnings
All new work: v0.9.7...v0.9.8
0.9.7
A hot-fix release
Forgot to bump env-config because lein-ancient was broken for this project.clj on my machine for some unknown reason.
Notable commits:
11d86fe project: bump env-config to "0.2.2"
All new work: v0.9.6...v0.9.7
0.9.6
0.9.5
0.9.4
More on dead code elimination (DCE)
Requiring devtools.toobox
in :advanced mode
In this release I have fine-tuned some :advanced
mode scenarios.
For example requiring devtools.toobox namespace would bring whole devtools machinery under your :advanced build. Newly you can use macros from devtools.toobox macro namespace which will use the functionality only if available at runtime.
Similar devtools.munging namespace can be required in advanced build without causing :advanced
mode warning introduced in 0.9.3.
Notable commits:
718f7da rename util.clj to oops.clj and make munging.cljs DCE-friendly
80df8ef reimplement o-macros in terms of aget/aset
ce0f1f4 provide devtools.toolbox macros for :advanced mode
All new work: v0.9.3...v0.9.4
0.9.3
Fun with dead code elimination (DCE)
Remember: you should not require anything from devtools in :advanced mode
Note: You don't do that if you use cljs-devtools via :preloads
. That is the recommended way.
The problem: Even if you don't use anything from devtools just requiring it might cause your :advanced
build to bloat. The gist of the problem is that cljs-devtools requires cljs.pprint
and cljs.stacktrace
and those are not really DCE-friendly. Just requiring them adds a lot of dead weight to your build.
There does not seem to be an easy solution to this problem. So I decided to at least emit a compile-time warning to bring some attention to this issue.
You can follow genesis of this story in issue 37.
Notable commits:
0c773ba treat external config and env config strictly as data
30a3497 dance around DCE issues (#37)
2c32e41 show a compile-time warning when required under non-dev builds (#37)
All new work: v0.9.2...v0.9.3
0.9.2
A compatibility release
Minor compatibility fixes for ClojureScript 1.9.493. Note that the changes were reverted in ClojureScript 1.9.494. But we are now future proof if they later decided to make the symbols private again.
Notable commits:
dff7ffe work around fast-path-protocols being newly flagged as private
ae982dc build meta lazily to prevent stack overflow in circular structures #35
All new work: v0.9.1...v0.9.2
0.9.1
A compatibility release
Minor compatibility fixes for ClojureScript 1.9.456.
Notable commits:
3267356 a fix for changed behaviour in CLJS-1875
4e36840 js/goog.DEBUG not expected to allow DCE anymore, use goog/DEBUG instead
All new work: v0.9.0...v0.9.1
0.9.0
Node.js support
This release brings node compatibility requested in #31. It turns out custom formatters work for node --inspect
debugging as well.
Notable commits:
ff9f298 switch js/window to js/goog.global for Node compatibility
ec4f508 make :formatters
feature available in node.js contexts
b21750c isolate decision about root js context into a single place
All new work: v0.8.3...v0.9.0