Skip to content

Commit 8f03ff0

Browse files
puredangerstuarthalloway
authored andcommitted
update changelog for 1.10.1
Signed-off-by: Stuart Halloway <[email protected]>
1 parent 076e884 commit 8f03ff0

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

changes.md

+56
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,61 @@
11
<!-- -*- mode: markdown ; mode: visual-line ; coding: utf-8 -*- -->
22

3+
# Changes to Clojure in Version 1.10.1
4+
5+
## 1 Features and Major Changes
6+
7+
### 1.1 Workaround Java Performance Regression When Loading user.clj
8+
9+
Recent builds of Java 8 (u202), 11 (11.0.2), 12, and 13 included
10+
some changes that [drastically affect](https://bugs.openjdk.java.net/browse/JDK-8219233)
11+
optimization performance of calls from static initializers to static fields.
12+
Clojure provides support for loading code on startup from a user.clj file and this
13+
occurred in the static initializer of the Clojure runtime (RT) class and was thus
14+
affected.
15+
16+
This issue may eventually be resolved in Java, but in Clojure we have
17+
modified runtime initialization to avoid loading user.clj in a static
18+
initializer, which mitigates the case where this caused a performance
19+
degradation.
20+
21+
* [CLJ-2484](https://clojure.atlassian.net/browse/CLJ-2484)
22+
Significant performance regression of code loaded in user.clj in Java 8u202/11.0.
23+
24+
### 1.2 clojure.main Error Reporting
25+
26+
clojure.main is frequently used as a Clojure program launcher by external tools.
27+
Previously, uncaught exceptions would be automatically printed by the JVM, which
28+
would also print the stack trace.
29+
30+
This release will now catch exceptions and use the same error triage and printing
31+
functionality as the Clojure repl. The full stack trace, ex-info, and other
32+
information will be printed to a target specified by the configuration.
33+
34+
The three available error targets are:
35+
36+
* file - write to a temp file (default, falls back to stderr)
37+
* stderr - write to stderr stream
38+
* none - don't write
39+
40+
These error targets can be specified either as options to clojure.main, or as
41+
Java system properties (flags take precedence). When invoking clojure.main
42+
(or using the clj tool), use `--report <target>`. For Java system property,
43+
use `-Dclojure.main.report=<target>`.
44+
45+
* [CLJ-2463](https://clojure.atlassian.net/browse/CLJ-2463)
46+
Improve error printing in clojure.main with -m, -e, etc
47+
* [CLJ-2497](https://clojure.atlassian.net/browse/CLJ-2497)
48+
Put error report location on its own line
49+
* [CLJ-2504](https://clojure.atlassian.net/browse/CLJ-2504)
50+
Provide more options for error reporting in clojure.main
51+
52+
## 2 Fixes
53+
54+
* [CLJ-2499](http://dev.clojure.org/jira/browse/CLJ-2499)
55+
Some compiler expr evals report as wrong error phase
56+
* [CLJ-2491](https://clojure.atlassian.net/browse/CLJ-2491)
57+
Updated fragile tests so Clojure test suite runs on Java 12
58+
359
# Changes to Clojure in Version 1.10
460

561
## 1 Compatibility and Dependencies

0 commit comments

Comments
 (0)