icu_kit 0.1.0-dev.0
icu_kit: ^0.1.0-dev.0 copied to clipboard
Internationalization for Flutter and Dart on Unicode's ICU4X. Numbers, dates, plurals, lists, collation, segmentation, bidi, IDNA — same output on every platform, including web.
Changelog #
0.1.0-dev.0 #
First prerelease — full ECMA-402 / Unicode internationalization for Dart and Flutter on all six platforms.
- API: one Dart API for number, currency, percent, and unit formatting (as strings or typed
formatToPartsparts); plural rules; dates and times across 17 calendars; time zones; relative time; lists; collation; display names; segmentation; case mapping; normalization; bidi; Unicode properties; exemplar characters; and IDNA. No Flutter dependency. - Engines: native via dart:ffi (the build hook compiles icu_capi from the vendored ICU4X source); web via a bundled WebAssembly build of that engine (19 MB, or a 2.1 MB lean variant, 0.6 MB gzipped, via
dart run icu_kit:setup --lean); or the browser's built-inIntlwith no ICU4X download (IcuKit.init(webEngine: WebEngine.browserIntl)). - Data: CLDR ships bundled, or loads lazily per-locale (
bundleCldrData: false+IcuData.lazy) for a lean binary.slicecuts per-locale data by facade family (68 KB to 5.6 MB). One binary serves bundled and lazy data without a flag — seeexample_lean/. - Vendoring: ICU4X 2.2.0 as a fork submodule carrying icu_kit's patches on a named branch.
Commits since initial (21)
- 9c5e2b1 stamp: asset hashes for v0.1.0-dev.0
- 1757cbb release: v0.1.0-dev.0
- a6d60f4 docs: drop the misleading '~19 MB' from the format-nothing aside (#7)
- b76cd96 fix(ci): absolute output path in compile_rust.sh + a full PR guard
- 818824e fix(ci): android cross-compile + wasm dart in the release matrix
- 152382d feat: formatToParts — ECMA-402 typed part output across all number facades (#6)
- 7e7e790 feat: browser-Intl web engine — zero-download i18n via IcuKit.init(webEngine:) (#5)
- 5c8b758 chore: refresh lockfiles (#4)
- e63e659 chore: bump Flutter SDK (#3)
- f1fa32a ci: bump dorny/paths-filter from 4.0.1 to 4.0.2 in the actions group across 1 directory (#1)
- 850c474 fix: run build.sh through the shell on Windows — bare bash resolves to WSL
- 4896b20 fix: resolve every full-test failure from run 29179441173
- d1647f3 fix: independent-audit findings — dead free-disk flag, lean-surface CI filters, cargo-input dep tracking, jq json_get, size-claims gate over every surface, CI/CD architecture + release runbook docs
- 9f97157 docs: cite doc sections by topic, not number — section refs rot on renumber
- 247f7dd fix: base tag reads from build.json — no duplicated icu@ pin to lie after a bump
- a101438 ci: pin binaryen like the family — versions.env sha256s, fetch_verified gate, four-mode upgrade radar, pinned-only wasm-opt
- c45c8da docs: versions.env carries the family pin contract — what tracks latest, who bumps, what is deliberately absent
- 1577af8 ci: align the vendored make-target's whuppi/ci capability refs to v2.0.5
- 9f51416 ci: cargo-test the vendored fork — test-rust target + path-filtered Rust job, matching the family rebase-safety harness
- 5cbc863 ci: align with the family reference — 16 KB APK alignment gate, drop sha-pin boilerplate the pana-only pin never had
- de860dd feat: icu_kit — ECMA-402 internationalization for Dart and Flutter via ICU4X