PackageTrack
Sign in Get early access

litemap

A key-value Map implementation based on a flat, sorted Vec.

0.8.3 515M downloads/mo #203 most downloaded on crates.io unicode-org/icu4x

What this package is like to depend on

Last release 10 days ago

13 Aug 2026

Ships fairly regularly

a new release about every 4 months

Some releases are documented

notes for 7 of 20 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

20 releases · first in 2021

3 releases in the last 12 months

see the full history below

Release timeline

20 releases · Feb 2021 to Aug 2026
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 20
  1. 0.8.3 13 Aug 2026
    Release notes

    Discovered and reported by @Shnatsel

    These impls were backwards and unsound.

    This is technically a breaking change, however if you had code that
    relied upon this then it was basically guaranteed to be unsound.

    Changelog: N/A

    (This contains its own changelog addition as this is an out of cycle
    yoke release)

    Open source →
  2. 0.8.2 01 Apr 2026

    Nothing published for this version

  3. 0.8.1 28 Oct 2025

    Nothing published for this version

  4. 0.8.0 07 May 2025

    Nothing published for this version

  5. 0.7.5 26 Feb 2025

    Nothing published for this version

  6. 0.7.4 23 Nov 2024

    Nothing published for this version

  7. 0.7.3 28 May 2024

    Nothing published for this version

  8. 0.7.2 16 Nov 2023

    Nothing published for this version

  9. 0.7.1 22 Sep 2023

    Nothing published for this version

  10. 0.7.0 13 Apr 2023

    Nothing published for this version

  11. 0.6.1 26 Jan 2023

    Nothing published for this version

  12. 0.6.0 26 Sep 2022
    Release notes
    • General data model
      • Non-exhaustive errors for locid, calendar, decimal, plurals (unicode-org#1792, unicode-org#1793)
      • Rename "serialize" feature to "serde" (unicode-org#1797)
      • Turn all errors into Copy types (unicode-org#1657)
      • Components
        • calendar:
          • Coptic, Indian and Ethiopian calendars (unicode-org#1660, unicode-org#1715, unicode-org#1779)
          • Calendar arithmetic (unicode-org#1614)
        • datetime:
          • Formatting for fractional seconds (unicode-org#1813, unicode-org#1801)
          • Support for day of week in month ('F') (unicode-org#1770)
          • Custom fallbacking for TimeZoneFormatter (unicode-org#1591)
          • Support for week-of-month (unicode-org#1468)
          • Bug fix to get_best_available_format_pattern skeleton matching logic (unicode-org#1549)
        • decimal: No updates
        • locale_canonicalizer:
          • ZeroCopy support (unicode-org#1760, unicode-org#1777)
        • locid:
          • Simplified language representation (unicode-org#1695)
          • Region, Script and Variant subtags ULE (unicode-org#1696)
        • plurals:
          • Update data model to use ZeroVec (unicode-org#1240)
        • properties:
          • Bidi support (unicode-org#1716, unicode-org#1784)
      • Utilities
        • codepointtrie:
          • Use 0 for error value for Rust out-of-bounds for primitive trie value types (unicode-org#1804)
        • crlify: New util for line ending conversions
        • deduplicating_array: No updates
        • fixed_decimal:
          • Improvements to FixedDecimal f64 APIs (unicode-org#1718)
        • litemap:
          • Pluggable LiteMap backends (unicode-org#1769)
        • pattern: No updates
        • uniset: No updates
        • writeable: No updates
        • yoke: No updates
        • zerofrom: No updates
        • zerovec:
          • ZeroVec derive improvements (unicode-org#1780)
          • Support non-Ord values in ZeroMap (unicode-org#1743)
          • Add OptionULE and OptionVarULE (unicode-org#1736)
          • Rename ZeroVec::from_slice and add new method for const-constructed ZeroSlice (unicode-org#1728)
          • Treat ZeroMap sort order as an optional invariant (unicode-org#1727)
          • Add ZeroMap::get_copied_by (unicode-org#1722)
          • Generalize PairULE to support longer tuples (unicode-org#1721)
          • Add more AsULE impls for primitives (unicode-org#1672)
          • Add cast methods to ZeroVec and ZeroSlice (unicode-org#1651)
          • Add RawBytesULE::slice_from_byte_slice (unicode-org#1648)
          • Create façades for ZeroVec types, hide internal code organization modules (unicode-org#1629)
          • Add zerovec::skip_kv and zerovec::skip_ord attributes, as well as generalized attribute handling framework (unicode-org#1613)
          • Rename as_unaligned to to_unaligned (unicode-org#1619)
      • FFI:
        • Updating to Diplomat 0.3
        • Making testdata an optional FFI dep (unicode-org#1820)
        • Split out capi targets: make separate freertos, staticlib, and cdylib crates as targets (unicode-org#1747)
      • Experimental:
        • crabbake: Initial version of baked data provider (unicode-org#1825)
        • segmenter:
          • Support production-ready data provider for segmenters (unicode-org#1652)
          • Implement dictionary based segmenter for line segmenter. (unicode-org#1644)
          • Wire DataProvider into UAX29 segmenters (unicode-org#1627)
          • Move UAX#14 defines to line.toml (unicode-org#1568)
          • Add segmenter factories to generate UAX29 iterators (unicode-org#1602)
    Open source →
  13. 0.5.0 04 Aug 2022
    Release notes
    • General data model
      • DataPayload no longer needs a lifetime (unicode-org#1297, unicode-org#1279)
      • Re-write DataKey (unicode-org#1511)
      • Rewrite ErasedDataProvider as AnyProvider (unicode-org#1495)
      • Add EitherProvider and rename IterableDataProviderCore to IterableProvider (unicode-org#1455)
      • Change DataRequest to be borrowed in BufferProvider (unicode-org#1416)
      • Replace SerdeDeDataProvider with BufferProvider (unicode-org#1369, unicode-org#1384)
      • Components
        • calendar:
          • Julian, Japanese, and Buddhist calendars (unicode-org#1351, unicode-org#1394, unicode-org#1305)
          • DateTimeFormat integration (unicode-org#1339)
          • Bugfix around arithmetic (unicode-org#1352)
        • datetime:
          • Week-of-year support (unicode-org#1206)
          • DateTimeFormat::resolve_components() (unicode-org#1362)
          • Era formatting (unicode-org#1346)
          • TimeZoneFormatterConfig (unicode-org#1256)
          • New data model for organizing calendar data (unicode-org#1300)
          • Bugfix around missing localized strings in time zone data (unicode-org#1405)
        • decimal: No updates
        • locale_canonicalizer:
          • Bugfix in maximization (unicode-org#1171)
          • Update data model to use LiteMap (unicode-org#1275)
        • locid: No updates
        • plurals:
          • Update data model to use ZeroVec (unicode-org#1240)
        • properties:
          • Rename resource key category for properties (unicode-org#1406)
          • Rename enums for General_Category (unicode-org#1355)
          • Implement the Canonical_Combining_Class property (unicode-org#1347)
          • Implement Script_Extensions property (unicode-org#1353)
          • Add General_Category predicate functions (unicode-org#1310)
          • Implement Grapheme_Cluster_Break, Word_Break, and Sentence_Break Unicode properties (unicode-org#1233)
      • Utilities
        • codepointtrie: No changes
        • deduplicating_array: New utility for efficient serialized representation of data with duplicates
        • fixed_decimal:
          • Padding and truncation APIs (unicode-org#1482, unicode-org#1507, unicode-org#1195)
          • Add double-to-decimal via ryū (unicode-org#1217)
          • Handle exponents in FixedDecimal::from_str() (unicode-org#1265)
        • litemap:
          • Add LiteMap::get_indexed() and LiteMap::find_index()
          • Handle serialization of tuples (etc) in litemaps (unicode-org#1306)
        • pattern: No updates
        • uniset: No updates
        • writeable:
          • Adding parts functionality to Writeable (unicode-org#1438)
          • Change Writeable::writeable_to_string to return a Cow (unicode-org#1452)
          • Implementing Writeable for all integers (unicode-org#1408)
          • Making writeable::LengthHint a range (unicode-org#1400)
          • Simplifying assert_writeable_parts_eq and assert_writeable_eq (unicode-org#1522, unicode-org#1399)
        • yoke:
          • Remove Yokeable::Output from ZeroCopyFrom trait (unicode-org#1499)
          • Add EitherCart (unicode-org#1484)
          • Remove attach_to_option_cart() (unicode-org#1348)
          • Homogenize yoke generic impls to always work with Yokeable, add OwnedYokeable (unicode-org#1302)
        • zerovec:
          • Move over to a model where the vector types deref to ZeroSlice and VarZeroSlice (unicode-org#1418, unicode-org#1371)
          • Simplify ZeroVec/VarZeroVec error handling, consolidate ULEError type (unicode-org#1389)
          • Simplify ZeroMapKV (unicode-org#1334)
          • Add ZeroMap2d, a two-dimensional zero-copy map (unicode-org#1432)
          • Add borrowed-only version of ZeroMap (unicode-org#1238)
          • Add various helper functions to zerovec (unicode-org#1430)
          • Rename PlainOldULE to RawBytesULE (unicode-org#1413)
          • Improve EncodeAsVarULE (unicode-org#1385)
          • Add EncodeAsVarULE for ZeroVec (unicode-org#1274, unicode-org#1407)
          • Various trait impls (unicode-org#1332, unicode-org#1330, unicode-org#1328, unicode-org#1287)
          • Document ULE alignment guarantee; update all impls with checklists (unicode-org#1294)
          • Fix PairULE validation function (unicode-org#1266)
      • FFI:
        • Updating to the latest Diplomat
        • Add FFI for constructing Data Structs, including decimal data structs (unicode-org#1497)
        • Add padding/truncation to FFI (unicode-org#1501)
        • Add FFI for constructing fixed decimals from float (unicode-org#1483)
        • Properties FFI (unicode-org#1269)
      • Experimental:
        • New ListFormatter experiment
        • More progress on segmentation experiment
    Open source →
  14. 0.4.0 10 May 2022
    Release notes
    • Updated to CLDR 40 (unicode-org#1216)
      • Functional Unicode property APIs and data; moved to new crate icu_properties (unicode-org#148)
      • DateTimeFormat optimization: memory usage cut by two-thirds and perf improved by 40% (unicode-org#519)
      • BlobDataProvider allowing for dynamic, asynchronous data loading (unicode-org#1084)
      • Major upgrades to the zerovec utility crate and new benchmarks for ZeroMap (unicode-org#1082, unicode-org#1087)
      • Initial support for time zones in DateTimeFormat components bag (unicode-org#845)
      • Bug fixes in LocaleCanicalizer (unicode-org#1189, etc.)
      • Week of month/year arithmetic (unicode-org#918)
      • Major improvements on code size across FFI (unicode-org#962)
      • Iterations on ICU4X Segmenter (unicode-org#1045, unicode-org#1165, etc.)
      • Experimental ListFormatter (unicode-org#1053)
      • ICU4X now requires Rust 1.56 (unicode-org#1201)
    Open source →
  15. 0.3.0 31 Jan 2022
    Release notes
    • Static data provider without filesystem dependency (unicode-org#78)
      • Infrastructure around zero-copy deserialization, including ZeroVec and Yoke (unicode-org#652, unicode-org#667)
      • Most ICU4X components support no_std (unicode-org#812)
      • Hour cycle preferences are used by DateTimeFormat (unicode-org#671)
      • Skeleton matching supports additional field widths (unicode-org#584)
      • Add canonicalize method to LocaleCanonicalizer (unicode-org#747)
      • Added range iterator on UnicodeSet (unicode-org#836)
      • Add PluralRules::categories() function (unicode-org#789)
      • Consolidated data generation tool into new binary icu4x-datagen
    Open source →
  16. 0.2.2 27 Aug 2021

    Nothing published for this version

  17. 0.2.1 21 Jul 2021

    Nothing published for this version

  18. 0.2.0 29 Apr 2021
    Release notes
    • Updated CLDR to 39 (unicode-org#640)
      • Initial release of:
        • icu_decimal (unicode-org#590)
        • icu_locale_canonicalizer (unicode-org#417)
      • DateTimeFormat gets support for
        • day periods (unicode-org#435)
        • time zones (unicode-org#418)
        • components bag (unicode-org#481)
      • UnicodeSet gets preliminary support for L3a subset (unicode-org#478)
      • PluralRules support E operand (unicode-org#407)
      • New utilities:
        • Writeable
        • ZeroVec
        • LiteMap
        • FixedDecimal
        • Pattern
      • Early prototype of C API - icu_capi
    Open source →
  19. 0.1.1 04 Mar 2021

    Nothing published for this version

  20. 0.1.0 23 Feb 2021
    Release notes
    • Initial release of ICU4X.
      • Initial release of:
        • icu
        • icu_locid
        • icu_plurals
        • icu_datetime
        • icu_uniset
        • icu_provider
        • icu_provider_fs
        • icu_provider_cldr
        • icu_testdata
        • icu4x_ecma402
        • fixed_decimal
    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