quasar

Fibers, Channels and Actors for the JVM

OTHER License

Stars
4.6K
Committers
24

Bot releases are hidden (Show)

quasar - 0.8.0 Latest Release

Published by pron almost 6 years ago

  • 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
quasar - 0.7.10

Published by pron over 6 years ago

quasar - 0.7.9

Published by pron about 7 years ago

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.
quasar - 0.7.8

Published by pron over 7 years ago

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.

quasar - 0.7.7

Published by pron almost 8 years ago

Improvements to verifyInstrumentation reporting and some bug fixes.

quasar - 0.7.6

Published by pron about 8 years ago

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.

quasar - 0.7.5

Published by circlespainter over 8 years ago

New features

Improvements

Closed issues

quasar - 0.7.4

Published by circlespainter almost 9 years ago

New features

Improvements

Closed issues

quasar - 0.7.3

Published by circlespainter about 9 years ago

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:

quasar - 0.7.2

Published by pron over 9 years ago

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
quasar - 0.7.0

Published by circlespainter over 9 years ago

Breaking changes:

  • FiberSocketChannel and FiberServerSocketChannel are created passing a ChannelGroup rather than an AsynchronousChannelGroup; this makes them independent from the async channels API
  • quasar-core is now a provided dependency for quasar-actors and quasar-galaxy rather than a compile one

New features:

  • Initial Kotlin support (quasar-kotlin module)
  • StrandFactory API
  • Additional transforming channels for take, reduce, split operations
  • ReceivePortGroup now supports additional mix-style operations
  • Pipeline channel transfer utility
  • Additional FiberSocketChannel.connect() with timeout
  • New Java8 lambdas API for ports
  • New FiniteStateMachine behavior
  • getChildren in supervisor actors

Improvements:

  • Faster fiber stack layout and improved fiber stack management performance
  • Improved buffered channels performance
  • ProxyServer performance improvement
  • Migration from glib to byte-buddy
  • Dependencies upgrade

Closed issues:

  • #73
  • #74
  • #76
  • #78
  • #79
  • #81
  • #82
  • #87
  • #90
  • Fix possible SupervisorActor NPE
  • Duplicate files in quasar-core-jdk8.jar
  • Possible instrumentation problem with conditionally initialized arrays
quasar - 0.6.2

Published by pron almost 10 years ago

This is a bug-fix release. Fixed bugs include:

  • #65
  • #66
  • #67
  • #68

In addition, quasar-core now embeds shadowed ASM artifacts rather than externally depending on ASM.

quasar - 0.6.1

Published by pron about 10 years ago

Closed Issues

  • #54
  • #55
  • #61
  • #62
  • #63
  • NPE in QuasarURLClassLoader/QuasarURLClassLoaderHelper
quasar - 0.6.0

Published by pron about 10 years ago

New Features:

  • Automatic suspendable method detection
  • Fiber serialization
  • Actor migration
  • Dataflow variables

Changes and Improvements

  • Fiber.join and Fiber.get are now suspendable rather than thread-blocking. This should improve join performance.
  • co.paralleluniverse.strands.channels.DelayVal is now co.paralleluniverse.strands.dataflow.Val
  • FiberAsync has been simplified
  • Much improved fiber-blocking NIO performance
quasar - 0.5.0

Published by pron over 10 years ago

Quasar 0.5.0 Release Notes

  • Support for JDK 8
  • Propagate an exception through a channel with SendPort.close(Throwable).
  • Additional channel transformations in Channels.
  • Better reporting of uninstrumented methods with -DverifyInstrumentation=true
  • Various bug fixes
quasar - 0.4.0

Published by pron over 10 years ago

Quasar 0.4.0

What's New

  • Hot Code Swapping
  • Channel Transformations (Reactive Extensions)
  • Custom Fiber Schedulers (run fibers on any thread, not just in a ForkJoinPool)
quasar - 0.3.0

Published by pron about 11 years ago

Quasar 0.3.0 Release Notes

quasar-core

  • Bug-fixes, performance improvements
  • Additional concurrency constructs
  • Minor API improvements

qusar-actors

  • Better isolation with ActorRef
  • co.paralleluniverse.data.record for safe, fast and isolated shared data elements
quasar - 0.2.0

Published by pron over 11 years ago

Quasar 0.2.0

New Features

  • Behaviors (GenServer, GenEvent)
  • Supervisors
  • Transfer channels and channel selectors
  • Fiber-blocking IO
  • Initial implementation of distributed actors (using Galaxy)