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