Releases: Robbepop/string-interner
Releases · Robbepop/string-interner
v0.19.0 - 2025/02/11
Fixed
- Fixed the
IntoIteratorimpl that triggered a Rust compiler miscompilation in some versions. #80- See the associated
rustcissue.
- See the associated
Improvements
- Updated and improved documentation about backend properties. #83 #84
- Update outdated dependencies. #82
- Added
serde::{Serialize,Deserialize}impls for all crate defined symbol types. #86
Internal
- Improve and modernize GitHub Actions CI. #81
v0.15.0 - 2024/02/07
v0.14.0 - 2021/10/27
Added
- Added the new
BufferBackendstring interner backend.- This backend focuses on minimum memory consumption and allocations
at the costs of decreased symbol resolution performance. - Use this when memory consumption is your main concern.
- This backend focuses on minimum memory consumption and allocations
- Added example of how to use a different string interner backend or symbol.
- Added library docs comparing all the different string interner backends.
Changed
- The
string_internercrate now uses the Rust 2021 edition. - The
DefaultBackendnow is theStringBackendand no longer theBucketBackend. - The generic
Ssymbol parameter of all string interner backends
now defaults to theDefaultSymbol. - The
Backendtrait is no longer generic over a symbolSbut instead
has aSymbolassociated type now. - The
StringInternerno longer has a genericSsymbol parameter and
now instead uses theSymbolassociated type from its used backendB.
Dev. Note
- The
memory_consumptiontests now shrink the string interners before querying
their memory consumption. This yields more stable numbers than before. - The
memory_consumptiontest now also tests the total amount of allocations
and deallocations made by the string interner backends. - Add
READMEsection about benchmarking the crate.
v0.13.0 - 2021/08/25
-
Update
hashbrowndependency from version0.9to version0.11. -
Add
shrink_to_fitmethod toStringInternervia backend. (#36) -
Add support more than 4G of interned strings with
StringBackend. (#37) -
Remove
S: Symboltrait bound from interner backends. -
Remove
S: Symboltrait bound fromClone implforStringBackend. -
Reworked the memory and allocation tests
- Run them via
cargo test -- --test-threads 1
- Run them via
-
CI now tests the whole build for windows, linux (ubuntu) and macos.
-
Add
cargo-auditandcargo-outdatedchecks to CI pipeline. -
Remove no longer needed
jemallocdev-dependency.
v0.12.2 - 2021/01/11
v0.12.1 - 2020/11/14
- The
BucketBackendnow implementsSend+Sync. - Implemented some minor internal improvements.
- Update dependencies:
hashbrown 0.8->0.9cfg-if 0.1->1.0