PackageTrack
Sign in Get early access

fluent-bundle

A low-level implementation of a collection of localization messages for a single locale for Project Fluent, a localization system designed to unleash the entire expressive power of natural language translations.

0.16.0 16M downloads/mo #2400 most downloaded on crates.io projectfluent/fluent-rs

What this package is like to depend on

Last release 1 years ago

22 May 2025

Ships unpredictably

gaps range from 8 days to 2.5 years

Nearly every release is documented

notes for 23 of 24 stable releases

2 versions withdrawn

withdrawn after publishing

8 years old

26 releases · first in 2019

0 releases in the last 12 months

see the full history below

Release timeline

26 releases · Feb 2019 to May 2025
2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 26
  1. 0.16.0 22 May 2025
    Release notes
    • Implement NUMBER builtin
    • Improve examples
    • Refactor to remove unnecessary named lifetimes
    • Cleanup docs
    • Satiate Clippy
    • Bump smallvec to 1.13
    • Bump rand to 0.9
    • Bump self_cell to 1.2
    • Bump serde_yaml to 0.9
    Open source →
    Release notes
    • Implement NUMBER builtin
      • Improve examples
      • Refactor to remove unnecessary named lifetimes
      • Cleanup docs
      • Satiate Clippy
      • Bump smallvec to 1.13
      • Bump rand to 0.9
      • Bump self_cell to 1.2
      • Bump serde_yaml to 0.9
    Open source →
  2. 0.15.3 05 May 2024
    Release notes
    • This is a 'safe harbor' release prior to bringing on non-Mozilla community maintainers
      • Implement From<&String> for FluentValue
      • Add FluentValue.into_string to prevent String clone
      • Fix FluentValue::try_number accepting numbers
      • Allow optional arguments on FluentValue
      • Fix behavior of FluentArgs::set
      • Resolve function instead in impl ResolveValue
      • Add type alias for concurrent FluentBundle
      • Fix FluentBundle::format_pattern lifetimes
      • Workspace: Update to Rust 2021
      • Workspace: Add various missing documentation and fix typos and links
      • Workspace: Cleanup meta-data using workspaces, use SPDX licenses, etc.
      • Workspace: Apply rustfmt and clippy lint fixes
    Open source →
  3. 0.15.2 25 Oct 2021
    Release notes
    • Bump self_cell to 0.10.
    Open source →
  4. 0.15.1 26 Apr 2021
    Release notes
    • Expose resolver::errors to allow for ReferenceKind matching.
    Open source →
  5. 0.15.0 09 Feb 2021
    Release notes
    • Document the crate.
      • Update fluent-syntax to 0.11.0.
      • Add iai benchmarks.
      • Switch FluentArgs::add to FluentArgs::set.
      • Make FluentArgs::set take Into<V>.
      • Make FluentMessage and FluentAttribute fields use getters.
      • Sort FluentArgs keys.
      • Turn FluentMessage and FluentAttribute to be shallow wrappers around AST entries.
    Open source →
  6. 0.14.4 31 Jan 2021
    Release notes
    • Expose FluentResource::source().
      • Update ouroboros to 0.8.
    Open source →
  7. 0.14.3 25 Jan 2021
    Release notes
    • Use the Parser::parse_runtime in FluentResource::try_new.
      • Update to fluent-syntax 0.10.2.
    Open source →
  8. 0.14.2 22 Jan 2021
    Release notes
    • Switch to FxHash for entry hashing.
    Open source →
  9. 0.14.1 12 Jan 2021
    Release notes
    • Bump ouroboros to 0.7.
    Open source →
  10. 0.14.0 04 Jan 2021
    Release notes
    • Switch FluentBundle::new to take a Vec<LanguageIdentifier>.
      • Switch rental to ouroboros.
      • Add Default to FluentArgs.
      • Make FluentError implement Error.
    Open source →
  11. 0.13.2 11 Nov 2020
    Release notes
    • Re-add Debug to FluentArgs
    Open source →
  12. 0.13.1 25 Sep 2020
    Release notes
    • Replace HashMap based FluentMessage with Vec based one.
      • 0.13.1 brings close to 40% performance improvements over 0.12 on our benchmarks!
    Open source →
  13. 0.13.0 25 Sep 2020 withdrawn
    Release notes
    • Update to fluent-syntax 0.10.
      • Add FluentBundle::write_pattern which can write to pre-allocated buffer.
      • Get rid of DisplayableNode and simplify FluentValue.
      • Reorganize Resolver around impl Write.
      • Introduce FluentArgs as a struct over Vec<FluentArg>.
      • Introduce FluentMessage and FluentAttributes.
      • Make FluentArgs accept Cow<str> as keys.
    Open source →
  14. 0.12.0 06 May 2020
    Release notes
    • Add module serializer
    • De-ambiguate dependencies vs. features
    • Cleanup docs
    • Satiate Clippy
    Open source →
    Release notes
    • Add Send to FluentType::Custom (#173)
      • Update intl-pluralrules to 7.0.
      • Update unic-langid to 0.9.
      • Update fluent-langneg to 0.13.
      • Fix handling of 64bit numbers on 32bit systems.
    Open source →
  15. 0.11.0 10 Mar 2020
    Release notes
    • Separate out concurrent version of FluentBundle.
      • Switch FluentBundle functions to use function pointers.
    Open source →
  16. 0.10.2 20 Feb 2020
    Release notes
    • Update to intl_memoizer 0.3.0 to allow for Send+Sync on FluentBundle.
    Open source →
  17. 0.10.1 16 Feb 2020
    Release notes
    • Switch RefCell in FluentBundle to Mutex.
    Open source →
  18. 0.10.0 14 Feb 2020
    Release notes
    • Update fluent-langneg to 0.12.
      • Update intl_pluralrules to 6.0.
      • Update unic-langid to 0.8.
      • Introduce intl-memoizer.
      • Improve the ergonomics of FluentArgs.
      • Add add_resource_overriding.
      • Remove dependency on failure.
      • Switch the strategy to mitigate bomb attack to limit the number of placeables.
      • Introduce FluentType for custom types.
      • Improve ergonomics of FluentNumber and bring its features closer to ECMA402 Intl.NumberFormat.
    Open source →
  19. 0.9.1 09 Dec 2019

    Nothing published for this version

  20. 0.9.0 26 Nov 2019
    Release notes
    • Update unic-langid to 0.7.
      • Update fluent-langneg to 0.11.
      • Update intl_pluralrules to 5.0.
    Open source →
  21. 0.8.0 04 Oct 2019
    Release notes
    • Update unic-langid to 0.6.
      • Update fluent-locale to 0.10.
    Open source →
  22. 0.7.2 01 Oct 2019 withdrawn
    Release notes
    • Refactor to remove unnecessary named lifetimes
    • Cleanup docs
    • Satiate Clippy
    • Bump once_cell to 1.21
    Open source →
    Release notes
    • Update unic-langid to 0.5.
      • Update fluent-locale to 0.9.
      • Stop using macros to cut on compilation time and dependencies.
    Open source →
  23. 0.7.1 01 Aug 2019
    Release notes
    • Fix FluentBundle::default to use isolating by default.
    Open source →
  24. 0.7.0 01 Aug 2019
    Release notes
    • Turn FluentBundle to be a generic over Borrow<FluentResource> (#114)
      • Update FluentBundle to the latest API (0.14) (#120)
      • Switch to unic_langid for Language Identifier Management
      • Refactor FluentArgs (#130)
      • Add transform to FluentBundle to enable pseudolocalization (#131)
      • Refactor resolver errors to provide better fallbacking and return errors out of formatting (#93)
      • Enable FSI/PDI direction isolation (#116)
      • Add more convenience From impls for FluentValue (#108)
      • Fix bare_trait_objects warnings (#110)
    Open source →
  25. 0.6.0 26 Mar 2019
    Release notes
    • Update to fluent-syntax 0.9
      • Unify benchmark testsuite with fluent.js
    Open source →
  26. 0.5.0 01 Feb 2019
    Release notes
    • Update to fluent-syntax 0.8
      • Add unicode escaping
      • Align with zero-copy parser
    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