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