Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 07:57
· 37 commits to main since this release

Upgrade notes

Version 2.0.0 corrects SDK requirements and the public representation of Lezer state tables.

  • GrammarData.states now uses Uint32List to preserve 32-bit state values. Direct constructor callers must supply Uint32List; LRParser.deserialize keeps its List<int> inputs.
  • The umbrella package and settings require Dart >=3.12 and Flutter >=3.44. Widgets, forms and theme BLoC require Dart >=3.11 and Flutter >=3.41. See the complete SDK support matrix.
  • DmThemeBloc(prefs: ...) remains supported. New Async/WithCache entry points are opt-in; existing stored values must be migrated by the application before switching APIs.

Changes

  • Update HighlightJS to 11.12.0 with 195 languages, refreshed themes and upstream fixtures. Upgrade lodash/PostCSS generation tools and remove deprecated circular-json.
  • Backport three official Markdown fixes for malformed input and quadratic parsing while preserving the hosted public AST types. Fix custom inline span builders and their themed context.
  • Maintain the native math renderer and KaTeX fonts privately in widgets, remove the hosted math fork dependency, render inline formulas, and refresh cached layout when system text scaling changes.
  • Add modern SharedPreferences integration with ordered writes, error recovery and graceful shutdown.
  • Pin Lezer tooling and verify generated Dart metadata compilation, token precedence and 32-bit state preservation. The existing Dart LR runtime remains a JSON tokenizer stub; this release does not implement general LR parsing.
  • Restore third-party notices and document exact source provenance and known historical gaps.

Validation

All 14 workspace members passed formatting and fatal-info analysis; 2,684 tests passed. Both generator npm audits report zero vulnerabilities. Release Web and Wasm showcase builds passed, including all 20 owned math font files. Two highlighter generations matched the tested output byte for byte across 479 files.

See dependency maintenance and migration details.

Independent post-publication verification confirmed all 12 packages at 2.0.0 on pub.dev, correct internal hosted constraints, matching archive SHA-256 values, and 1,900 runtime/provenance/license files identical to the release commit. A fresh consumer using only exact hosted dependencies passed both public API smoke tests: inline/display Markdown math with all 20 fonts, and legacy/Async/WithCache preference hydration and persistence.