PackageTrack
Sign in Get early access

sodium

Dart bindings for libsodium, for the Dart-VM and for the Web

4.0.4 24K downloads/mo #2014 most downloaded on pub.dev Skycoder42/libsodium_dart_bindings

What this package is like to depend on

Last release 20 days ago

04 Aug 2026

Release timing varies

gaps range from 1 weeks to 8 months

Most releases are documented

notes for 46 of 57 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

58 releases · first in 2021

9 releases in the last 12 months

see the full history below

Release timeline

58 releases · Apr 2021 to Aug 2026
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 58
  1. 4.0.4 04 Aug 2026
    Release notes

    Changelog

    4.0.4 - 2026-08-04

    Changed

    • Updated dependencies, including ffigen with updated generations

    Fixed

    • Cap the extracted source path at 218 characters on windows, leaving room for the 41 characters msbuild adds when it passes sources to cl.exe (#193)

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changed

    • Updated dependencies, including ffigen with updated generations

    Fixed

    • Cap the extracted source path at 218 characters on windows, leaving room for the 41 characters msbuild adds when it passes sources to cl.exe (#193)
    Open source →
  2. 4.0.3 11 Jul 2026
    Release notes

    Changelog

    4.0.3 - 2026-07-11

    Changed

    • Updated min sdk version to ^3.12.0
    • Updated dependencies

    Fixed

    • Link the linux native library with -Wl,-Bsymbolic-functions
      • Prevents symbol collisions with other flutter plugins (#211)
      • Works as hardening step to make it harder to manipulate the library

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changed

    • Updated min sdk version to ^3.12.0
    • Updated dependencies

    Fixed

    • Link the linux native library with -Wl,-Bsymbolic-functions
      • Prevents symbol collisions with other flutter plugins (#211)
      • Works as hardening step to make it harder to manipulate the library
    Open source →
  3. 4.0.2 10 Apr 2026
    Release notes

    Changelog

    4.0.2 - 2026-04-10

    Fixed

    • Drop -l flag from bash invocation for make on windows (#192)
    • Automatically fall back to temporary directory for building when build folder contains spaces (#192)
    • Update README on how to setup for cross compilation of android on windows (#192)

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Fixed

    • Drop -l flag from bash invocation for make on windows (#192)
    • Automatically fall back to temporary directory for building when build folder contains spaces (#192)
    • Update README on how to setup for cross compilation of android on windows (#192)
    Open source →
  4. 4.0.2+1 14 Apr 2026
    Release notes

    Changelog

    4.0.2+1 - 2026-04-14

    Changed

    • Updated embedded libsodium binaries

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changed

    • Updated embedded libsodium binaries
    Open source →
  5. 4.0.1 31 Mar 2026
    Release notes

    Changelog

    4.0.1 - 2026-07-11

    Changed

    • Updated min sdk version to ^3.12.0
    • Updated min flutter version to >=3.44.0
    • Updated dependencies

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changelog

    4.0.1 - 2026-03-30

    Changed

    • Updated embedded libsodium binaries

    Fixed

    • Fixed Android builds on Windows (#192)
      • Instead of using the predefined wrapper scripts, which only work on unix, automake is used directly
      • Requires a usable non WSL bash installation on the compiler machine
    • Fixed Problem with Windows path length limitations (#193)

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changed

    • Updated embedded libsodium binaries

    Fixed

    • Fixed Android builds on Windows (#192)
      • Instead of using the predefined wrapper scripts, which only work on unix, automake is used directly
      • Requires a usable non WSL bash installation on the compiler machine
    • Fixed Problem with Windows path length limitations (#193)
    Open source →
  6. 4.0.1+1 31 Mar 2026
    Release notes

    Changelog

    4.0.1+1 - 2026-03-31

    Changed

    • Updated embedded libsodium binaries

    Fixed

    • Only build code assets when configuration is enabled

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changed

    • Updated embedded libsodium binaries

    Fixed

    • Only build code assets when configuration is enabled
    Open source →
  7. 4.0.1+2 07 Apr 2026
    Release notes

    Changelog

    4.0.1+2 - 2026-04-07

    Changed

    • Updated embedded libsodium binaries

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changed

    • Updated embedded libsodium binaries
    Open source →
  8. 4.0.0 12 Mar 2026
    Release notes

    Changelog

    4.0.0 - 2026-03-12

    Deprecated

    • Thanks to the use of native assets and build hooks in the main sodium package, this library is not needed anymore
      and can be removed. The main sodium package will now directly include the embedded libsodium binaries for all
      platforms and handle the native integration itself.

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changed

    • Introduced native assets! This comes with a number of benefits:
      • The native libsodium dependencies are now built via build-hooks for all supported platforms and included in the package as assets
      • This works for dart and flutter likewise
      • Sodium instances can now be passed between isolates (the limitation for keys still applies)
    • Updated embedded libsodium version to 1.0.21
    • Updated embedded sodium.js version to 0.8.2
    Open source →
  9. 4.0.0+1 17 Mar 2026
    Release notes

    Changelog

    4.0.0+1 - 2026-03-17

    Changed

    • Updated embedded libsodium binaries

    The package and it's documentation are available at pub.dev.

    Open source →
    Release notes

    Changed

    • Updated embedded libsodium binaries
    Open source →
  10. 3.4.6 23 Jul 2025
    Release notes

    Changed

    • Updated dependencies
    • Updated min required dart SDK to 3.8.0
    Open source →
  11. 3.4.5 16 Mar 2025
    Release notes

    Changed

    • Updated dependencies
      • Including freezed 3.0
    • Updated min required dart SDK to 3.7.0
    Open source →
  12. 3.4.4 28 Dec 2024
    Release notes

    Changed

    • Updated dependencies
    • Updated min required dart SDK to 3.6.0
    Open source →
  13. 3.4.3 26 Nov 2024
    Release notes

    Changed

    • Allow SecureKeys and KeyPairs to be disposed more then once

    Fixed

    • Fixed crash when Uint8Lists are returned as isolate result (#134)
    • Ensure keys are diposed as early as possible on isolates
    Open source →
  14. 3.4.2 20 Nov 2024
    Release notes

    Changed

    • Updated dependencies

    Fixed

    • Fixed wrong invalid buffer offset for signedView() and unsignedView()
    Open source →
  15. 3.4.1 07 Nov 2024
    Release notes

    Changed

    • Improved performance by removing unnecessary byte array copies for output data
    • Updated dependencies
    Open source →
  16. 3.4.0 20 Oct 2024
    Release notes

    Added

    • Added low level isolate helpers

    Changed

    • Updated dependencies
    Open source →
  17. 3.3.0 20 Sep 2024
    Release notes

    Added

    • Added crypto_sign_ed25519_pk_to_curve25519 and crypto_sign_ed25519_sk_to_curve25519 sumo functions (#123)

    Changed

    • Updated dependencies
    • Improved isolate transfers for FFI secure keys
    • Add finalization to JS secure keys if forgotten to dispose
    • Exposed ready property on LibSodiumJS
    Open source →
  18. 3.2.0 18 Aug 2024
    Release notes

    Added

    • Added crypto.secretStream.pushChunked and crypto.secretStream.pullChunked
      • Serve as a replacement for the deprecated push and pull APIs
      • Allow for a secure and bug-free encryption of files and other binary streams by requiring a chunkSize that is used to partition the incoming binary data into fix-sized chunks, just as the API expects.
    • Added file encryption/decryption example

    Deprecated

    • Deprecated crypto.secretStream.push and crypto.secretStream.pull
      • These methods where error prone and hard to use, as the API assumes that the stream events are pre-chunked and "separate" from each other, while Stream<List<int>> in dart typically means an "arbitrary binary stream"
      • Use pushChunked and pullChunked as replacement
      • Related: #114, #52, #26
    Open source →
  19. 3.2.0+1 22 Aug 2024
    Release notes

    Changed

    • Improved documentation
    • Updated dev dependencies
    • Fix linter issues
    Open source →
  20. 3.1.0 15 Aug 2024
    Release notes

    Fixed

    • Added override for SodiumSumo.runIsolated that passes a SodiumSumo instance to the callback (#116)
    Open source →
  21. 3.0.1 15 Aug 2024
    Release notes

    Changed

    • Updated min required dart SDK to 3.5.0
    • Updated dependencies
    Open source →
  22. 3.0.0 26 Jul 2024
    Release notes

    Changed

    • Updated min required dart SDK to 3.4.0
    • Updated dependencies
    • Updated expected libsodium version 1.0.20
    • [BREAKING] Use BigInt for crypto.kdf.deriveFromKeys subKeyId
      • This ensure that 64bit integers can be used safely in the VM and JS
    • Refactor JS implementation to use the new dart:js\_interop and package:web libraries
      • This ensures compatibility with WASM and modern dart/flutter
    • Seal all data types

    Removed

    • [BREAKING] Removed deprecations
      • Removed pwhash and aead from the non-sumo API
        • They still exist in the sumo API
      • Removed old SodiumInit.init* methods
        • The SodiumInit.init*2 methods have been renamed to remove the 2
    Open source →
  23. 2.3.1 12 Mar 2024
    Release notes

    Changed

    • Updated min required dart SDK to 3.3.0
    • Updated dependencies

    Fixed

    • Fixed deprecations
    Open source →
  24. 2.3.1+1 12 Mar 2024
    Release notes

    Fixed

    • Fix pana linter issues
    Open source →
  25. 2.3.0 23 Sep 2023
    Release notes

    Changed

    • Update supported libsodium version to 1.0.19
      • The library will still work with older versions, but it is recommended to upgrade your binaries to 1.0.19
      • Any modifications to the API in future versions may not be compatible with older versions of libsodium
    • Update dependencies
    • Update tooling for building libsodium in the CI
    Open source →
  26. 2.3.0+1 03 Feb 2024
    Release notes

    Changed

    • Updated dependencies
    Open source →
  27. 2.3.0+2 05 Feb 2024
    Release notes

    Fixed

    • Make compatible with cider 0.2.6
    Open source →
  28. 2.2.0 12 Sep 2023
    Release notes

    Added

    • Add implementation for crypto_aead_chacha20poly1305 as sodium.crypto.aeadChaCha20Poly1305. (#61)

    Changed

    • sodium.crypto.aead has been renamed to sodium.crypto.aeadXChaCha20Poly1305IETF. The implementation has not changed, only the name of the getter. (#61)

    Deprecated

    • sodium.crypto.aead was renamed and thus deprecated. Use sodium.crypto.aeadXChaCha20Poly1305IETF instead. (#61)
    Open source →
  29. 2.1.2 07 Sep 2023
    Release notes

    Changed

    • Update min required dart SDK to 3.1.0
    • Update dependencies
    • Update formatting
    Open source →
  30. 2.1.1 06 Jun 2023
    Release notes

    Changed

    • Update dependencies
    • Update min dart SDK to 3.0.0

    Removed

    • Remove non libsodium definitions from generated ffi code
    Open source →
  31. 2.1.0 08 Mar 2023
    Release notes

    Added

    • SodiumInit.init2 and SodiumSumoInit.init2 - these methods replace the now deprecated .init methods (#24)
      • This change was made to support the new Sodium.runIsolated APIs
      • The new variants take callbacks instead of the already resolved binaries
      • Your implementation should move the logic to load said binaries into these callbacks to allow the use of isolates.
      • Check the README, the example and the documentation for more details
    • KeyPair.copy and KeyPair.dispose methods to copy and dispose a key pair (#24)
    • Sodium.runIsolated method to allow execution of cryptographic operations on a separate isolate (#24)

    Changed

    • Set minimum required dart SDK version to 2.19.0
    • Update dependencies

    Deprecated

    • The sodium.crypto.pwhash API has been deprecated for non sumo variants of sodium
      • The SodiumSumo APIs still fully support pwhash
      • However, the simple Sodium APIs do not anymore
      • This is due to upstream changes in sodium.js, as there the pwhash APIs have been mode to the sumo variant of this library. If you use the library with the newest non sumo sodium.js, trying to use the pwhash APIs will throw an exception!
      • If you need the pwhash APIs, simply switch to using the sumo variant of the library
    • SodiumInit.init - use SodiumInit.init2 instead for support of the new Sodium.runIsolated APIs (#24)
    • SodiumSumoInit.init - use SodiumSumoInit.init2 instead for support of the new Sodium.runIsolated APIs (#24)

    Removed

    • Removed the experimental Sodium.secureHandle, SecureKey.fromNativeHandle and SecureKey.nativeHandle APIs (#24)
      • They are not needed anymore to work around isolate limitations, as you can simply use Sodium.runIsolated instead
    Open source →
  32. 2.0.1 07 Dec 2022
    Release notes

    Fixed

    • Implemented temporary workaround for #22 until https://github.com/flutter/flutter/issues/116405 is fixed
    Open source →
  33. 2.0.0 23 Oct 2022
    Release notes

    Added

    • Added new SodiumSumo class that extends the basic sodium APIs with advanced APIs.
      • Important: On some platforms this requires you to use a different binary
      • The new variant is available via the package:sodium/sodium_sumo.dart import and can be initialized with SodiumSumoInit.init
    • Added crypto.scalarmult as sumo interface for https://libsodium.gitbook.io/doc/advanced/scalar_multiplication
    • Extended crypto.sign as sumo interface

    Changed

    • Breaking: Moved the Sign.skToSeed and Sign.skToPk methods into SignSumo

    Removed

    • Removed all previously deprecated APIs
    Open source →
  34. 2.0.0-dev.1 22 Oct 2022 pre-release

    Nothing published for this version

  35. 1.2.5 26 Sep 2022
    Release notes

    Fixed

    • Fixed performance issue that caused the "dart -> native" copy process of bytes to take extremely long (#19)
    Open source →
  36. 1.2.4 13 Sep 2022
    Release notes

    Added

    • Let GenericHashConsumer implement Sink to allow synchronous adding of data
    • Let SignatureConsumer implement Sink to allow synchronous adding of data
    • Let VerificationConsumer implement Sink to allow synchronous adding of data

    Fixed

    • Rename JsError.wrap to jsErrorWrap to prevent problems when debugging JS applications
    Open source →
  37. 1.2.3 18 Aug 2022
    Release notes

    Changed

    • Update dependencies
    • Activate stricter linter rules, fix resulting issues
    Open source →
  38. 1.2.3+1 07 Sep 2022
    Release notes

    Changed

    • Update dependencies
    • Set minimum required dart SDK version to 2.18.0
    Open source →
  39. 1.2.2 25 May 2022
    Release notes

    Changed

    • Add missing tests and coverage ignores
    Open source →
  40. 1.2.1 25 May 2022
    Release notes

    Changed

    • Updated minimum required dart SDK to 1.17.0
    • Refactor implementation to make use of newly added ABI-specific integers
      • Makes the library more robust on non x64 platforms
      • Future-proof if new platforms are added
    Open source →
  41. 1.2.0 26 Nov 2021
    Release notes

    Added

    • Support for 32bit architectures by generalizing the native FFI bindings (#7)

    Changed

    • Set minimum required dart SDK version to 2.14
    • Updated dependencies
    • Upgraded dart ffi language bindings
    • Use new callable workflows for workflow simplification

    Fixed

    • Fix formatting and linter issues with the newer dart SDK & dependencies
    Open source →
  42. 1.2.0+1 14 Jan 2022
    Release notes

    Changed

    • Set minimum required dart SDK version to 2.15
    • Updated dependencies
    Open source →
  43. 1.2.0+2 25 Jan 2022
    Release notes

    Changed

    • Replaced lint with dart_test_tools which makes the default rules of lint even more strict
    • Refactored test setup tooling
    Open source →
  44. 1.1.2 03 Sep 2021
    Release notes

    Added

    • Added missing skToSeed and skToPk methods to crypto.sign (#4)
    Open source →
  45. 1.1.1 26 Aug 2021
    Release notes

    Changed

    • SodiumInit.init now automatically handles multiple initializations and no longer requires the initNative parameter for consecutive invocations (#3)

    Deprecated

    • The initNative parameter of SodiumInit.init has been deprecated as it no longer has any effect (#3)
    Open source →
  46. 1.1.0 17 Aug 2021
    Release notes

    Added

    • SecureKey.split extension that allows to split one key into multiple (#2)
    • SecureKey.nativeHandle and SecureKey.fromNativeHandle to allow passing secure keys across isolate boundaries
    • SodiumInit.init can now be called with initNative: false to disable initialization of the native library, in case it has already been initialized
    Open source →
  47. 1.0.0 08 Jul 2021
    Release notes

    Added

    • Initial stable release
    Open source →
  48. 0.2.4 23 Jun 2021

    Nothing published for this version

  49. 0.2.3 23 Jun 2021

    Nothing published for this version

  50. 0.2.2 01 Jun 2021

    Nothing published for this version

  51. 0.2.1 31 May 2021

    Nothing published for this version

  52. 0.2.0 27 May 2021

    Nothing published for this version

  53. 0.1.5 27 May 2021

    Nothing published for this version

  54. 0.1.4 25 May 2021

    Nothing published for this version

  55. 0.1.3 21 May 2021

    Nothing published for this version

  56. 0.1.1 11 May 2021

    Nothing published for this version

  57. 0.1.0 09 May 2021

    Nothing published for this version

  58. 0.0.1 07 Apr 2021

    Nothing published for this version

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