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 2025Releases
latest 26-
0.16.022 May 2025Release notes
Open source →- Implement NUMBER builtin
- Improve examples
- Refactor to remove unnecessary named lifetimes
- Cleanup docs
- Satiate Clippy
- Bump
smallvecto 1.13 - Bump
randto 0.9 - Bump
self_cellto 1.2 - Bump
serde_yamlto 0.9
Release notes
Open source →- Implement NUMBER builtin
- Improve examples
- Refactor to remove unnecessary named lifetimes
- Cleanup docs
- Satiate Clippy
- Bump
smallvecto 1.13 - Bump
randto 0.9 - Bump
self_cellto 1.2 - Bump
serde_yamlto 0.9
-
0.15.305 May 2024Release notes
Open source →- This is a 'safe harbor' release prior to bringing on non-Mozilla community maintainers
- Implement
From<&String>forFluentValue - Add
FluentValue.into_stringto prevent String clone - Fix
FluentValue::try_numberaccepting 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_patternlifetimes - 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
- Implement
- This is a 'safe harbor' release prior to bringing on non-Mozilla community maintainers
-
0.15.225 Oct 2021 -
0.15.126 Apr 2021 -
0.15.009 Feb 2021Release notes
Open source →- Document the crate.
- Update
fluent-syntaxto 0.11.0. - Add
iaibenchmarks. - Switch
FluentArgs::addtoFluentArgs::set. - Make
FluentArgs::settakeInto<V>. - Make
FluentMessageandFluentAttributefields use getters. - Sort
FluentArgskeys. - Turn
FluentMessageandFluentAttributeto be shallow wrappers aroundASTentries.
- Update
- Document the crate.
-
0.14.431 Jan 2021 -
0.14.325 Jan 2021Release notes
Open source →- Use the
Parser::parse_runtimeinFluentResource::try_new.- Update to
fluent-syntax0.10.2.
- Update to
- Use the
-
0.14.222 Jan 2021 -
0.14.112 Jan 2021 -
0.14.004 Jan 2021Release notes
Open source →- Switch
FluentBundle::newto take aVec<LanguageIdentifier>.- Switch
rentaltoouroboros. - Add
DefaulttoFluentArgs. - Make
FluentErrorimplementError.
- Switch
- Switch
-
0.13.211 Nov 2020 -
0.13.125 Sep 2020Release notes
Open source →- Replace
HashMapbasedFluentMessagewithVecbased one.- 0.13.1 brings close to 40% performance improvements over 0.12 on our benchmarks!
- Replace
-
0.13.025 Sep 2020 withdrawnRelease notes
Open source →- Update to
fluent-syntax0.10.- Add
FluentBundle::write_patternwhich can write to pre-allocated buffer. - Get rid of
DisplayableNodeand simplifyFluentValue. - Reorganize
Resolveraroundimpl Write. - Introduce
FluentArgsas a struct overVec<FluentArg>. - Introduce
FluentMessageandFluentAttributes. - Make
FluentArgsacceptCow<str>as keys.
- Add
- Update to
-
0.12.006 May 2020Release notes
Open source →- Add module
serializer - De-ambiguate dependencies vs. features
- Cleanup docs
- Satiate Clippy
Release notes
Open source →- Add
SendtoFluentType::Custom(#173)- Update
intl-pluralrulesto 7.0. - Update
unic-langidto 0.9. - Update
fluent-langnegto 0.13. - Fix handling of 64bit numbers on 32bit systems.
- Update
- Add module
-
0.11.010 Mar 2020Release notes
Open source →- Separate out
concurrentversion ofFluentBundle.- Switch FluentBundle functions to use function pointers.
- Separate out
-
0.10.220 Feb 2020 -
0.10.116 Feb 2020 -
0.10.014 Feb 2020Release notes
Open source →- Update
fluent-langnegto 0.12.- Update
intl_pluralrulesto 6.0. - Update
unic-langidto 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
FluentTypefor custom types. - Improve ergonomics of
FluentNumberand bring its features closer to ECMA402 Intl.NumberFormat.
- Update
- Update
-
0.9.109 Dec 2019Nothing published for this version
-
0.9.026 Nov 2019Release notes
Open source →- Update
unic-langidto 0.7.- Update
fluent-langnegto 0.11. - Update
intl_pluralrulesto 5.0.
- Update
- Update
-
0.8.004 Oct 2019 -
0.7.201 Oct 2019 withdrawnRelease notes
Open source →- Refactor to remove unnecessary named lifetimes
- Cleanup docs
- Satiate Clippy
- Bump
once_cellto 1.21
Release notes
Open source →- Update
unic-langidto 0.5.- Update
fluent-localeto 0.9. - Stop using macros to cut on compilation time and dependencies.
- Update
-
0.7.101 Aug 2019 -
0.7.001 Aug 2019Release notes
Open source →- 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_objectswarnings (#110)
- Turn FluentBundle to be a generic over Borrow<FluentResource> (#114)
-
0.6.026 Mar 2019 -
0.5.001 Feb 2019Release notes
Open source →- Update to fluent-syntax 0.8
- Add unicode escaping
- Align with zero-copy parser
- Update to fluent-syntax 0.8