Releases: puniverse/quasar
Releases · puniverse/quasar
0.8.0
0.7.10
0.7.9
Enhancements
- Suppport for Kotlin 1.1
Bug Fixes
0.7.8
Enhancements
- Improved reporting of instrumentation problems with
verifyInstrumentation(#238, #255) - Interrupting
FiberAsync.runBlockinginterrupts the thread executing the operation (#245) - Java agent can be configured to exclude packages from instrumentation in order to improve startup time (#243)
ExitMessages received from actors after they've been unlinked/unwatched will be ignored (#163)
Bug Fixes
Various small fixes.
0.7.7
0.7.6
0.7.5
New features
- 9c0b63a by @mikehearn:
ThreadLocals serialization in fibers is now optional
Improvements
- f37b8c8, 08583f1 and 80802e4: Substantial performance improvements in several areas
- 269d73a and 0057c28: Improved
ThreadLocals serialization in fibers - 842ed49: Support for blocking handlers, puniverse/pulsar#55
- Various deps upgrades, including Kotlin ->
1.0.1-2
Closed issues
- [CRITICAL] #185: Strands synchronization race
- #176: Possible
TransferChannelrace - #154: Minor docs typos
- #159: Kotlin upgrade
- #156: Exception in fiber prints stack trace twice
- #160 by @LesNovell: JavaAgent.transform not checking for null className
- #168: Failing suspendable lambda case
- 14d7f2f related to #146 by @cbeams: Exclude from instrumentation shaded variant of Kotlin's
ModuleDescriptorImpl - 685e89d by @latros: Typo
- #173: Monitored ProxyServerActors do not provide correct stats in MXBean
- c8ba7e4 by @remen: Typo
- 98ee54b: Wait longer in
select, thanks and related to https://groups.google.com/forum/#!topic/quasar-pulsar-user/U2ztEdoPFqw with Chris Pennello - #186:
MessageSelector.select()results requires cast toMessageSelector<Object,Object>in order to be used
0.7.4
New features
- Suspendable
CountDownLatchandCyclicBarrier
Improvements
- Kotlin
build-1.0.0-beta-4584support - Relaxed Kotlin's
selecttype constraints - Several dependencies upgraded
- Improved channel performance
Closed issues
- #117
- #121
- #118
- #124
- #146
- #147
- Fixed DisruptorChannel and moved to a new
quasar-disruptorsubproject (still experimental) - Several other minor fixes both in code and docs
0.7.3
Breaking changes
- Kotlin's
fiberfunction has been moved to theco.paralleluniverse.kotlinpackage, has several convenient overloads and by default will also start the fiber.
New features
co.paralleluniverse.kotlinalso includes a convenientselectsyntax to perform channel selection:
val ch1 = Channels.newChannel<Int>(1) val ch2 = Channels.newChannel<Int>(1) assertTrue ( fiber { select(Receive(ch1), Send(ch2, 2)) { it } }.get() is Send ) ch1.send(1) assertTrue ( fiber { select(Receive(ch1), Send(ch2, 2)) { when (it) { is Receive -> it.msg is Send -> 0 else -> -1 } } }.get() == 1 )- The new
FiberForkJoinScheduler.onIdle()hook notifies when the fiber scheduler becomes idle.
Improvements
- Several dependencies upgraded
Closed issues:
0.7.2
New features:
- A fully TCK-compliant Reactive Streams implementation based on Quasar Channels in the
quasar-reactive-streamsmodule
Improvements:
- Instrumentation optimisation has been introduced: methods that don't need instrumentation will be left untouched and this improves performance
- Instrumentation verification is more precise, it checks call sites (see #86) and it prints extended stack trace information on HotSpot JRE 8; in addition it works even without verification enabled (and without performance penalty) when an uncaught exception is thrown in a fiber
- Improved JDK8-optimised build, no duplicate classes anymore (see #91)
- Minor channels improvements and fixes
- Kotlin upgraded to
0.12.613(post-M12) and several other dependencies upgrade - The
@Suspendableannotation is now supported on individual interface methods rather than just on the whole interface
Closed issues:
- #86
- #91
- #93
- #94
- #95
- #96
- A minor issue in
scanSuspendableshas been addressed, it sometimes included unnecessary (but harmless) lines insuspendable-supers
Notes:
- The Gradle wrapper has been removed to simplify the codebase and its maintenance. If you're building Quasar locally just install the latest Gradle distribution before doing so and use plain
gradle