ANN: ClojureScript 1.7.145

547 views
Skip to first unread message

David Nolen

unread,
Oct 13, 2015, 11:02:07 AM10/13/15
to clojure, clojur...@googlegroups.com
ClojureScript, the Clojure compiler that emits JavaScript source code.


Leiningen dependency information:

    [org.clojure/clojurescript "1.7.145"]

This release updates the Google Closure Compiler dependency and 
includes many small enhancements and fixes.

As always feedback welcome!

## 1.7.145

### Enhancements
* CLJS-1455: high resoluting timing where available
* CLJS-1403: Add updated Windows shell scripts
* CLJS-1017: support :main for :advanced and :simple builds
* CLJS-1409: allow basic type checking of protocols
* CLJS-1404: var resolution for @param and @return
* CLJS-1395: Node.js REPL debug port support

### Changes
* CLJS-1464: docstrings for transducer arities
* Latest Google Closure Compiler dependency
* Node.js REPL sets *target*
* add cljs.analyzer.api/get-js-index
* add goog.object to list of implicit namespaces
* CLJS-1393: turn *target* into goog-define

### Fixes
* UUID hashing
* CLJS-1465: fix *main-cli-fn* doc
* CLJS-1456: bad require forms at REPL can corrupt REPL session
* CLJS-1449: self host :require-macros bug
* CLJS-1462: self host regression
* Add header bits for Node.js under :none
* CLJS-1457: unicode symbol munging
* CLJS-1442: self host, docstring typos
* CLJS-1441: portable clojure.string
* CLJS-1436: self-host, dep ns not loaded
* CLJS-1440: self-host, eval support in Web Workers
* CLJS-1400: self-host, doseq broken
* CLJS-1435: self-host, bad lexical scope
* CLJS-1434: clojure.walk no longer preseves meta
* CLJS-1432: '$ and '. symbol collision under advanced
* CLJS-1304: c.string/replace differs from Clojure
* CLJS-1430: bad code gen for self host .toString method calls
* CLJS-1353: range inconsistent with Clojure
* CLJS-1431: load-file doc output missing arglists
* CLJS-1433: cljs.js/*eval-fn* passed nil :cache
* CLJS-1299: add more support for literals to cljs.reader
* CLJS-1417: cljs.js require macros failures
* CLJS-1416: cljs.util/last-modified leaks files
* CLJS-1481: self host defprotocol regression
* CLJS-1414: only munge @param & @return if type checking
* CLJS-1401: unify runtime & compile UUID hashing
* CLJS-1395: no trailing semicolons after JS comment
* CLJS-1394: reify gensyms can clash

Nathan B

unread,
Oct 13, 2015, 3:58:40 PM10/13/15
to ClojureScript, clo...@googlegroups.com
When I compile in advanced mode, I am getting the following warning:

WARNING - Parse error. unknown @suppress parameter: checkStructDictInheritance
>> * @suppress {checkStructDictInheritance}

David Nolen

unread,
Oct 13, 2015, 4:46:56 PM10/13/15
to clojur...@googlegroups.com, clojure
It's an innocuous warning from badly annotated code from the Google Closure Library. Annoying but not important.

We'll probably cut a followup release with a bumped GCL dependency once it's clear there are not more pressing problems.

David


--
Note that posts from new members are moderated - please be patient with your first post.
---
You received this message because you are subscribed to the Google Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojurescrip...@googlegroups.com.
To post to this group, send email to clojur...@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.

Daniel Compton

unread,
Oct 14, 2015, 12:12:33 AM10/14/15
to clojur...@googlegroups.com, clojure
Hi folks

Just wanted to mention that "CLJS-1304: c.string/replace differs from Clojure" is a breaking change. It was first introduced in 1.7.58, but that was marked as pre-release, 1.7.145 is the first stable version with the patch. It affected us through cljs-time. It's probably worth checking any usages of string/replace in your code (and it's dependencies?) still work as expected.
--
Daniel

Daniel Compton

unread,
Oct 14, 2015, 12:20:44 AM10/14/15
to clojur...@googlegroups.com, clojure
I should mention, not all usages of c.string/replace will break :), but it does change the behaviour when using a function as the replacement value. You can see more details at CLJS-1304.
--
Daniel

Tony Tam

unread,
Oct 17, 2015, 1:05:33 PM10/17/15
to ClojureScript, clo...@googlegroups.com
I believe something broke in :modules

Ran your example http://swannodette.github.io/2015/02/23/hello-google-closure-modules/ with .145 and got

java.lang.NullPointerException
at com.google.javascript.jscomp.JSModule.sortInputsByDeps(JSModule.java:263)
at cljs.closure$optimize_modules$fn__3785.invoke(closure.clj:974)
at cljs.closure$optimize_modules.doInvoke(closure.clj:973)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invoke(core.clj:632)
at cljs.closure$build.invoke(closure.clj:1709)
at cljs.closure$build.invoke(closure.clj:1636)
at cljsbuild.compiler$compile_cljs$fn__4128.invoke(compiler.clj:81)
at cljsbuild.compiler$compile_cljs.invoke(compiler.clj:80)
at cljsbuild.compiler$run_compiler.invoke(compiler.clj:187)
at user$eval4262$iter__4298__4302$fn__4303$fn__4321.invoke(form-init787604217815991403.clj:1)
at user$eval4262$iter__4298__4302$fn__4303.invoke(form-init787604217815991403.clj:1)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.RT.seq(RT.java:507)
at clojure.core$seq__4128.invoke(core.clj:137)
at clojure.core$dorun.invoke(core.clj:3009)
at clojure.core$doall.invoke(core.clj:3025)
at user$eval4262.invoke(form-init787604217815991403.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6782)
at clojure.lang.Compiler.eval(Compiler.java:6772)
at clojure.lang.Compiler.load(Compiler.java:7227)
at clojure.lang.Compiler.loadFile(Compiler.java:7165)
at clojure.main$load_script.invoke(main.clj:275)
at clojure.main$init_opt.invoke(main.clj:280)
at clojure.main$initialize.invoke(main.clj:308)
at clojure.main$null_opt.invoke(main.clj:343)
at clojure.main$main.doInvoke(main.clj:421)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)

Reverting to .122 works

David Nolen

unread,
Oct 17, 2015, 2:18:20 PM10/17/15
to clojur...@googlegroups.com
Thanks for the report! We've already filed an issue for this one: http://dev.clojure.org/jira/browse/CLJS-1469

David

Reply all
Reply to author
Forward
0 new messages