Skip to content

Releases: puniverse/quasar

0.8.0

02 Nov 18:13
Compare
Choose a tag to compare
  • Supports JDK 11
  • Dropped support of JDK 7 and 8
  • Modularized
  • The quasar-galaxy module has been removed
  • The co.paralleluniverse.data.record has been removed from the quasar-actors module.
  • Added support for custom fiber serializers
  • Suppports Kotlin 1.3

0.7.10

10 Jun 19:28
Compare
Choose a tag to compare
v0.7.10

Prepare release 0.7.10

0.7.9

28 Jul 11:53
Compare
Choose a tag to compare

Enhancements

  • Suppport for Kotlin 1.1

Bug Fixes

  • Fixed memory leak through fiber stack under certain circumstances (#282)
  • Fixed regression of verifyInstrumentation (#280, #279)
  • Registered actors stop their (JMX) monitors when deregistered
  • Fixed documentation of actor's mailbox overflow policy (#283)
  • Various small fixes.

0.7.8

24 May 17:56
Compare
Choose a tag to compare

Enhancements

  • Improved reporting of instrumentation problems with verifyInstrumentation (#238, #255)
  • Interrupting FiberAsync.runBlocking interrupts 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

02 Dec 15:37
Compare
Choose a tag to compare

Improvements to verifyInstrumentation reporting and some bug fixes.

0.7.6

07 Aug 15:01
Compare
Choose a tag to compare

This release contains a fix to a major bug

#204

a fix to a medium-severity bug

#212

an improvement to handling multiple class loaders

#196

as well as minor bug fixes.

0.7.5

02 May 12:37
Compare
Choose a tag to compare

New features

Improvements

Closed issues

0.7.4

18 Jan 17:12
Compare
Choose a tag to compare

New features

Improvements

Closed issues

0.7.3

28 Aug 10:42
Compare
Choose a tag to compare

Breaking changes

  • Kotlin's fiber function has been moved to the co.paralleluniverse.kotlin package, has several convenient overloads and by default will also start the fiber.

New features

  • co.paralleluniverse.kotlin also includes a convenient select syntax 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

25 Jun 16:32
Compare
Choose a tag to compare

New features:

  • A fully TCK-compliant Reactive Streams implementation based on Quasar Channels in the quasar-reactive-streams module

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 @Suspendable annotation 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 scanSuspendables has been addressed, it sometimes included unnecessary (but harmless) lines in suspendable-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