• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Change log for kotlinx.atomicfu
2
3# Version 0.16.0
4
5* Update Kotlin to 1.5.0.
6* Supported x86_64-based watchOS simulator target. (#177).
7
8# Version 0.15.2
9
10* Update kotlinx-metadata to 0.2.0.
11* Update Kotlin to 1.4.30.
12* Added kotlin space repository.
13
14# Version 0.15.1
15
16* Maven central publication (#173).
17* Binary compatibility with IR (#170).
18* Supported garbage-free multi-append in debug trace (#172).
19
20# Version 0.15.0
21
22* Tracing atomic operations (#20).
23* Supported delegated properties (#83).
24* Fixed visibility modifiers of synthetic fields and classes (#144).
25* Introduced `size` method for atomic arrays (#149).
26* Update Kotlin to 1.4.10.
27
28# Version 0.14.4
29
30* Fixed bug when Maven plugin wasn't published
31* Migrate to new Kotlin HMPP metadata for multiplatform projects
32* Update Kotlin to 1.4.0
33
34# Version 0.14.3
35
36* Update to Kotlin 1.3.71.
37* Enable HMPP and new JS IR backend compilation.
38
39# Version 0.14.2
40
41* Update to Kotlin 1.3.70.
42
43# Version 0.14.1
44
45* Fixed broken JVM transformer after upgrade to ASM 7.2.
46
47# Version 0.14.0
48
49* Updated to Kotlin 1.3.60.
50* Updated to ASM 7.2.
51* Support locks (SynchronizedObject and ReentrantLock).
52* Freezable atomics on Kotlin/Native.
53
54# Version 0.13.2
55
56* Added release notes.
57* Added the original classesDirs to the friend paths of test compilations.
58
59# Version 0.13.1
60
61* Better diagnostics when LockFreedomTestEnvironment fails to shutdown.
62* Fixed looking for local variables scope labels.
63
64# Version 0.13.0
65
66* Gradle version 5.6.1 with Gradle metadata format version 1.0 (stable) for native modules.
67* Optimized volatile-only fields in JVM.
68* Supported unchecked cast erasure (including array elements).
69* Fixed inline functions on array elements.
70* Fixed shutdown sequence of LockFreedomTestEnvironment.
71
72# Version 0.12.11
73
74* Support suspending functions in LockFreedomTestEnvironment.
75
76# Version 0.12.10
77
78* Updated to Kotlin 1.3.50
79
80# Version 0.12.9
81
82* Updated to Kotlin 1.3.40
83
84# Version 0.12.8
85
86* Fixed getting array elements by named index.
87* Fixed broken npm publishing.
88
89# Version 0.12.7
90
91* Fixed BooleanArray setValue.
92* Fixed removal of inline methods on atomicfu types from bytecode.
93* Adjust kotlin.Metadata in JVM classes to remove atomicfu references completely.
94
95# Version 0.12.6
96
97* Support additional configuration for dependencies and transforms.
98* Get array field fixed (see #61).
99
100# Version 0.12.5
101
102* Fixed Gradle plugin compatibility with `kotlin-multiplatform` plugin.
103
104# Version 0.12.4
105
106* Gradle plugin automatically adds dependencies.
107* Added support for inline extensions on `AtomicXxx` types.
108
109# Version 0.12.3
110
111* Updated to Kotlin 1.3.30
112
113# Version 0.12.2
114
115* Fixed to skip changing source path for unprocessed native output (see #51).
116* Fixed inlining of atomic operations on JS (see #52).
117
118# Version 0.12.1
119
120* Gradle 4.10 with metadata version 0.4.
121* No metadata for everything except native.
122
123# Version 0.12.0
124
125* Kotlin version 1.3.11.
126* Support top-level atomic variables.
127* Support arrays of atomic variables.
128* Project is built with kotlin-multiplatform plugin.
129
130# Version 0.11.11
131
132* Kotlin version Kotlin version 1.3.0-rc-146 (with K/N).
133* Gradle plugin supports projects that use `kotlin-multiplatform` plugin.
134* Disable Gradle metadata publishing for all but native modules.
135* JS transformer is more robust and retains line numbers (see #25).
136
137# Version 0.11.10
138
139* Kotlin version 1.3.0-rc-57 & Kotlin/Native 0.9.2
140
141# Version 0.11.9
142
143* Kotlin/Native version 1.3.0-rc-116 (0.9.3)
144* Kotlin version 1.2.71
145* Incremental JS compilation is fixed in plugin
146
147## Version 0.11.7
148
149* Fixed non-transformed AtomicBoolean and its tests
150* AtomicFUGradlePlugin: More consistent task naming & code refactoring
151
152## Version 0.11.6
153
154* Kotlin/Native version 0.9
155
156## Version 0.11.5
157
158* Gradle plugin for JS: Fixed paths on Windows
159
160## Version 0.11.4
161
162* JS: Transformer added. It is now a compile-only dependency just like on JVM.
163* JVM: Default transformation variant is changed back to JDK6-compatible "FU".
164  * `atomicfu { variant = xxx }` configuration section in Gradle can be used to change it.
165
166## Version 0.11.3
167
168* Fixed lost files during class analysis phase.
169
170## Version 0.11.2
171
172* Kotlin version 1.2.61
173* Kotlin/Native version 0.8.2
174* More user-friendly Gradle plugin for Kotlin/JVM and multi-release jar by default. See updated section in [README.md](README.md#Gradle)
175* Supports `internal` atomic variables that are accessed from a different package in the same module.
176
177## Version 0.11.1
178
179* Kotlin version 1.2.60
180* Kotlin/Native version 0.8.1
181
182## Version 0.11.0
183
184* AtomicBoolean support (see #6)
185* Kotlin/Native 0.9-dev-2922, all platforms, published to Maven Central
186
187## Version 0.10.3-native
188
189* Kotlin 1.2.51.
190* Initial Kotlin/Native support:
191  * Build for Kotlin/Native 0.8.
192  * Only JS-like single-threaded applications are supported (no actual atomics).
193  * Supported targets: "ios_arm64", "ios_arm32", "ios_x64", "macos_x64".
194* NOTE: This version is not available in NPM and Maven Central. Use this Bintray repository:
195  * `maven { url "https://kotlin.bintray.com/kotlinx" }`
196
197## Version 0.10.3
198
199* Kotlin 1.2.50.
200
201## Version 0.10.2
202
203* JS: Main file renamed to kotlinx-atomicfu.js to match NPM module name.
204
205## Version 0.10.1
206
207* JS: NPM deployment.
208
209## Version 0.10.0
210
211* Kotlin 1.2.41.
212* Multiplatform:
213  * Extracted common code into `atomicfu-common` module.
214  * Basic support on JS via `atomicfu-js` module (boxed objects, Bintray publishing only).
215* JVM transformer:
216  * Preserve annotations on atomic fields.
217  * Ignore no-ops in flow analyzer (support more variety of code patterns).
218
219## Version 0.9.2
220
221* Replaced deprecated kotlin-stdlib-jre8 dependency with kotlin-stdlib-jdk8.
222
223## Version 0.9.1
224
225* Kotlin 1.2.0
226
227## Version 0.9
228
229* Support generation of `VarHandle` variant for Java 9.
230
231## Version 0.8
232
233* `atomicfu-gradle-plugin` introduced.
234
235## Version 0.7
236
237* Fixed lost ACC_STATIC on <clinit> methods.
238* Publish to Maven Central.
239
240## Version 0.6
241
242* toString defined for debugging.
243
244## Version 0.5
245
246* Longer timeout to detect stalls in lock-free code, with shutdown logic
247  that detected them even on short runs.
248* Kotlin 1.1.4
249
250## Version 0.4
251
252* Publish sources.
253* Provide top-level `pauseLockFreeOp` for debugging.
254* Stability improvements.
255
256## Version 0.3
257
258* Improved handling of compiler local variables for atomic fields.
259* Support atomicVar.value = constant (with LDC instruction).
260* Provide randomSpinWaitIntermission for lock-freedom tests.
261
262## Version 0.2
263
264* Support non-private atomic fields in nested classes that are accessed by other
265  classes in the same compilation unit.
266* Support for lock-freedom testing on unprocessed code
267  (other potential uses via interceptors in the future).
268
269## Version 0.1
270
271* Initial release.
272