chore(deps): bump miniz_oxide from 0.8.9 to 0.9.1 - #14
Open
dependabot[bot] wants to merge 1 commit into
Open
Conversation
Bumps [miniz_oxide](https://github.com/Frommi/miniz_oxide) from 0.8.9 to 0.9.1. - [Changelog](https://github.com/Frommi/miniz_oxide/blob/master/CHANGELOG.md) - [Commits](https://github.com/Frommi/miniz_oxide/commits) --- updated-dependencies: - dependency-name: miniz_oxide dependency-version: 0.9.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
zacharywhitley
pushed a commit
that referenced
this pull request
Aug 13, 2026
…BreakSectionBuilder Adds the UAX #14 line-break capability to the shared SCUD loader in preparation for the standalone `stringcheese-icu-linebreak` crate. New wire surface: - `CAP_LINEBREAK` = b"LBRK" capability tag - `SECT_LB_CLASSES` (per-scalar Line_Break property, same wire layout as `SECT_GRAPHEME_CLASSES`) - `SECT_LB_RULES` (rules-id marker byte) - `SECT_LB_TAILORINGS` (CJK strictness byte per UAX #14 § 6.1) - 43-value `LineBreakClass` enum covering the full UAX #14 class set (OP / CL / CP / QU / GL / NS / EX / SY / IS / PR / PO / NU / AL / HL / ID / IN / HY / BA / BB / B2 / ZW / CM / WJ / H2 / H3 / JL / JV / JT / RI / EB / EM / ZWJ / CJ / SG / AI / CB / BK / CR / LF / NL / SP / SA + XX default) - `RULES_UAX14_DEFAULT` well-known rules-id constant - `LB_STRICTNESS_{LOOSE,NORMAL,STRICT}` strictness-tag constants - `LineBreakDataView` zero-copy view with binary-search class lookup - `LineBreakSectionBuilder` writer - `ScudFile::as_linebreak_data()` capability-projection accessor 4 new unit tests exercise pack round-trip, empty-pack defaults, class-enum round-trip, and capability-mismatch guard.
zacharywhitley
pushed a commit
that referenced
this pull request
Aug 13, 2026
…18n-linebreak WIT Introduces `stringcheese-icu-linebreak`, the standalone Rust algorithm crate for Unicode line breaking per UAX #14, and its WIT contract at `component/wit/linebreak/stringcheese-icu-linebreak.wit` (`tegmentum:i18n-linebreak@0.1.0`). Closes the "UAX #14 deferred to separate crate" note from Phase 5 (docs/design/wit-i18n.md § 8.5) — split from the segment crate because the LB rule set is much larger than UAX #29's grapheme / word / sentence tables. Algorithm crate: - `LineBreakEngine` with optional per-locale `LineBreakPack`; the pack's class section overrides the built-in classifier when populated. Empty pack falls through to `classes::line_break_class`. - Full UAX #14 rule set implemented rule-by-rule in `pair_decision`: LB1 class resolution (AI/CJ/SA/SG/XX folds, strictness-sensitive for CJ), LB2/LB3 sot/eot, LB4/LB5 mandatory breaks (BK/CR/LF/NL with CR × LF pairing), LB6-LB31 pair-table rules including LB9 CM/ZWJ fold-into-preceding-class, LB25 numeric-expression run tracking, LB26/LB27 Hangul syllable composition, LB30a RI-pair parity, LB30b EB × EM. - `Strictness::Loose / Normal / Strict` enum + engine setter driving the CJK strictness tailoring per UAX #14 § 6.1. - `BreakOpportunity { offset, kind }` records with `BreakKind:: Mandatory | Allowed` — layout engines can distinguish LB4/LB5 mandatory breaks from discretionary opportunities. WIT contract: - `find-breaks(text)` and `find-breaks-with-strictness(text, strictness)` return `list<break-opportunity>` in strictly-increasing offset order. - `line-break-strictness` enum for the CJK tailoring. - `break-kind` variant for mandatory vs allowed classification. - `capabilities.supported-locales` / `capabilities.supports` — Phase 5 ships root-only, returns true for every input for forward-compat. Test coverage: - 53 unit tests grouped by numbered rule (one section per LB rule). - 3 wit-parser smoke tests (`tests/wit_parse.rs`) — WIT package name, world declaration, interface enumeration. - 111 hand-picked LineBreakTest.txt vectors (`tests/uax14_vectors.rs`) running in superset mode — every enumerated break must appear; extra breaks tolerated so future classifier growth doesn't regress. Pass rate: 111/111. No external deps beyond stringcheese-scud + std/alloc — the wasm component stays lean. `#![forbid(unsafe_code)]` on the algorithm crate.
zacharywhitley
pushed a commit
that referenced
this pull request
Aug 13, 2026
…18n-linebreak Reference WebAssembly Component-Model packaging of the UAX #14 line-break capability. Mirrors the `stringcheese-icu-segment-component` template: dual `cdylib` + `rlib`, `wit-component` feature gate on `wit-bindgen-rt` 0.44, pre-generated `src/bindings.rs` from `wit-bindgen rust --runtime-path wit_bindgen_rt`, `AtomicPtr`-backed `shared_engine()` singleton, in-process `wasmtime::component::bindgen!` smoke tests. Like the segment component, the linebreak component embeds NO SCUD packs — the reference engine is `LineBreakEngine::new()`, running pure-algorithm-driven UAX #14 rules from the built-in classification table. Locale-specific tailorings (CJK dictionaries, Thai / Lao / Khmer syllable segmentation, CSS `line-break` beyond CJK strictness) are Phase 5 deferrals documented in the crate docs. WIT-exports: - `linebreak.find-breaks(text) -> list<break-opportunity>` - `linebreak.find-breaks-with-strictness(text, strictness) -> list<...>` - `capabilities.supported-locales() -> list<locale>` (returns [""]) - `capabilities.supports(loc) -> bool` (returns true for every input) Smoke tests: - 10 wasmtime tests cover CRLF single mandatory, LF alone, NEL, soft break after space, soft break after hyphen, no-break within numeric run, empty input, all three strictness variants, both capabilities exports. - 5 native (non-wasm) unit tests inside `src/lib.rs` verify wit-parser gate + reference-engine sanity. Measured sizes (aarch64 macOS, --release, wasmtime 26 / wasm-tools 1.219): raw module 56 739 B, componentised 79 193 B.
zacharywhitley
pushed a commit
that referenced
this pull request
Aug 13, 2026
…t jobs + design note Adds two new CI jobs mirroring the segment-crate template: - wasm-i18n-linebreak — native unit test job (52 UAX #14 rule tests + wit-parser gate + 111 hand-picked LineBreakTest.txt vectors). - wasm-i18n-linebreak-component — wasm32-wasip1 build + wasm-tools componentise (with raw / wasm-opt -Oz size reporting) + wasmtime smoke test (10 tests via wasmtime::component::bindgen! typed bindings against the shipped WIT). Adds `stringcheese-icu-linebreak-component` to the wasm-runtime job's `--exclude` list for the same duplicate-export-symbol reason the other icu-*-component crates are excluded. Adds § 8.7 "Phase 5 follow-up — UAX #14 line breaking" to `docs/design/wit-i18n.md`, cross-referencing § 8.5's UAX #14 deferral. Covers landed scope (SCUD extension, algorithm crate, WIT, component wrapper, CI), measured wasm sizes, rules fully vs approximated, red flags (LB25 numeric-expression simplification, LB30 East-Asian-Width interaction, LB9 CM/ZWJ state-tracked fold, mandatory-break queue), and deferred items (CJK dictionaries, CSS line-break beyond CJK strictness, bidi-aware line breaking, line-height / width-aware selection).
zacharywhitley
pushed a commit
that referenced
this pull request
Aug 13, 2026
…line-break crate + component
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps miniz_oxide from 0.8.9 to 0.9.1.
Changelog
Sourced from miniz_oxide's changelog.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)