PackageTrack
Sign in Get early access

native_synchronization_temp

Low level synchronization primitives built on dart:ffi.

0.8.0 46K downloads/mo #1523 most downloaded on pub.dev dart-lang/native_synchronization

What this package is like to depend on

Last release 10 months ago

24 Oct 2025

Release timing varies

gaps range from 2 weeks to 12 months

Most releases are documented

notes for 5 of 6 stable releases

Nothing withdrawn

no release was ever pulled

2 years old

6 releases · first in 2024

1 release in the last 12 months

see the full history below

Release timeline

6 releases · Jul 2024 to Oct 2025
2025 2026
Release Pre-release

Releases

latest 6
  1. 0.8.0 24 Oct 2025
    Release notes
    • Added asserts to check for memory corruption.
    • Split the state of the mailbox to track open/closed full/empty separately. This allows a consumer to read a final message from the mailbox even after the producer has closed the box. The close method no longer empties the mailbox.
    • Change take to return a full dart object rather than a dart object backed by a native buffer. The old method was a problem if you subsequently tried to move the message to another isolate as the native buffer would be finalised the message buffer no longer valid.
    • Changed from throwing a StateError to a MailBoxException. The close and full errors are both recoverable so arguably should never have been an Error. We now throw MailBoxFullException and MailBoxCloseException which both derive from MailBoxException make the exceptions easier to manage.
    • fixed possible erroronous free where the finalizer would always free the _mailbox.ref.buffer even if it was empty and hence null.
    • created a standard export file native_synchronization.dart. We should all other files in lib to lib/src as is best practice.
    • added additional unit tests.
    Open source →
  2. 0.7.1 19 Oct 2024
    Release notes
    • reduced logging.
    • updated the random log functions to use the dev logging package.
    Open source →
  3. 0.7.0 19 Oct 2024
    Release notes
    • added windodws support to take with a timeout.
    • fixed macos support for take with a timeout.
    Open source →
  4. 0.6.0 17 Aug 2024
    Release notes
    • Added method to the public API to determine the mailboxes state.
    • removed the test in _takeTimed for a closed mailbox as a work around for https://github.com/dart-lang/sdk/issues/56412
    Open source →
  5. 0.5.0 14 Aug 2024

    Nothing published for this version

  6. 0.4.0 31 Jul 2024
    Release notes
    • Added a timeout to the Mailbox.take, Mutex.runLocked and ConditionVariable.wait methods. Note: the Mutex timeout is ignored on Windows.

    0.3.0

    • Add a closed state to Mailbox.

    0.2.0

    • Lower SDK lower bound to 3.0.0.

    0.1.0

    • Initial version.
    • Expose Mutex and ConditionVariable
    • Implement Mailbox.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive