Skip to content

Releases: duskmoon-dev/flutter-duskmoon-ui

v2.2.9

Choose a tag to compare

@github-actions github-actions released this 31 Oct 07:21

Full Changelog: v2.2.8...v2.2.9

v2.2.8

Choose a tag to compare

@github-actions github-actions released this 28 Oct 20:06

DuskMoon 2.2.8 fixes #32, which prevented Windows consumers from compiling and initializing the bundled native grammars with MSVC.

Crystal now uses a constant-sized heredoc buffer while preserving identifier byte limits, UTF-8 lookahead and serialized-state bounds. SML replaces GNU-only unused-parameter annotations with standard C expressions, preserving nested-comment parsing and callback signatures. Windows C and C++ builds explicitly use UTF-8 source and execution character sets, so Unicode grammar symbols agree with their highlight queries, including AppleScript operators. All 95 grammars remain bundled.

Both scanner adaptations have recorded vendor patches and source hashes. Crystal Wasm is regenerated; rebuilding SML Wasm produces identical bytes. Twelve added runtime regressions cover Crystal heredoc boundaries, SML nested comments and incremental parsing, and AppleScript operator nodes/captures. The hook fixture now verifies real compiled UTF-8 bytes across all native compilation groups in checkout and hosted-gzip layouts.

The release also includes analyzer exclusions for generated build and platform directories.

Formatting, fatal-info analysis, all 2,102 workspace tests, and 12-package archive preflight passed. All four native-hook compatibility configurations passed. Windows MSVC 19.51.36260.0 passed 18 native tests and built/executed the Release consumer with all 95 grammars, four Crystal fixtures and two SML fixtures. All 12 official Pub 2.2.8 archives are latest/non-retracted; 3,520 published files match the immutable release, including 95 decoded native parsers, queries, headers, licenses and Wasm. An exact hosted-dependency consumer passed fatal-info analysis, 16 public API runtime tests and a Linux 95-grammar probe. Official package bytes match before and after execution. GitHub Pages deployed the tested source and serves the exact regenerated Crystal Wasm.

Full changelog

The hosted fixture uses a warm Pub cache with fresh private build outputs. Its probe and public API cases come from the immutable release tag; tests/tools are intentionally excluded from the published package. The two internal helper unit cases remain covered by source and Windows suites. Windows acceptance uses a minimal consumer; the real GSMLG application and MiniCPM inference were not tested.

v2.2.7

Choose a tag to compare

@github-actions github-actions released this 28 Oct 17:06

Gamepad components

  • Add DmControllerView, DmXboxControllerView, DmPs5ControllerView, and DmSwitchProControllerView to duskmoon_widgets, also exported by duskmoon_ui.
  • Keep each model in its own file with shared rendering and input handling.
  • Support continuous two-axis stick movement, circular clamping, independent multi-touch controls, and external hardware state.
  • Hold Xbox/PS5 triggers to increase travel and release to decrease at the same linear rate: one second for a full 0–1 range. Re-pressing reverses from the current value. Switch Pro triggers remain digital.
  • Display optional left/right trigger meters and percentages with showTriggerIndicators.

Example

Open Widgets → Gamepads (/widgets/gamepads) in example/design_preview for live stick coordinates, trigger travel, button feedback, and per-model meter toggles.

Validation

  • 745 duskmoon_widgets tests and 23 showcase tests passed locally.
  • Linux workspace CI and tests passed, with exact host-specific screenshot baselines.
  • Mobile/desktop layouts and light/dark themes are covered.

v2.2.6

Choose a tag to compare

@github-actions github-actions released this 28 Oct 16:14

DuskMoon 2.2.6 fixes two integration blockers:

  • #30: applications can use DuskMoon and sqlite_vector 1.1.2 together without dependency overrides. The highlighter supports both native hook API families. The production build hook and public highlighting API are unchanged.
  • #31: Markdown inputs and form fields work directly in vertical scrolling parents. The editor sizes from minLines/maxLines, and preview content determines its height. Bounded layouts retain full-height editing and tab swiping. Line numbers, RTL placement, optional bottom bars, and external preview updates are covered. Repository links for the widgets and form packages are corrected.

The native hook checker forwards its active package configuration to child builds. Four dependency combinations passed real C/C++ builds for checkout and hosted source layouts.

Validation:

  • 2,067 tests across 14 workspace members, fatal-info analysis, formatting, and archive preflight passed. Integrated CI and Pages deployment passed.
  • All 12 Pub packages are published as 2.2.6. Their 3,508 published files match the release tag; archive hashes match official registry metadata.
  • A fresh hosted consumer resolved all 12 exact packages with SQLite Vector 1.1.2, without dependency overrides or path/Git dependencies. Fatal-info analysis and 37 Markdown/form UI tests passed.
  • The hosted Linux runtime initialized and parsed all 95 grammars, checked Unicode/incremental highlighting, and completed a real SQLite Vector nearest-neighbor query.
  • An Android arm64 Debug APK built successfully. ZIP integrity, native asset manifest entries, AArch64 libraries, and required exports were verified for Tree-sitter, SQLite, and Vector.

Android verification covers Debug compilation and artifact inspection; device runtime and Release/AOT were not tested. The consumer used a fresh Pub cache and build outputs with warm SDK/Gradle inputs. The downstream application template and iOS/macOS/Windows builds were not validated.

Full changelog

v2.2.5

Choose a tag to compare

@github-actions github-actions released this 26 Oct 21:10

Full Changelog: v2.2.4...v2.2.5

v2.2.4

Choose a tag to compare

@github-actions github-actions released this 23 Oct 17:14

This release fixes editor input handling and native syntax-highlighting build caching. All 12 packages are published on pub.dev at 2.2.4.

  • #26 — read-only editor: switching a focused editor to read-only closes its IME connection and rejects stale platform edits. Returning to editable reconnects the current controller.
  • #28 — mobile keyboard: the first tap opens the soft keyboard, and tapping an already focused editor reopens it after dismissal.
  • #27 — native build cache: generated dispatch and decoded parser C files are excluded from hook inputs while original sources remain tracked, allowing unchanged builds to reuse native artifacts.

Validation:

  • All 2,030 workspace tests across 14 members, fatal-info analysis, and formatting checks passed. CI, Test, Release, Publish, and Pages workflows succeeded.
  • Independently checked all 12 published archives: 3,507 files match the release tag. A fresh hosted consumer resolved the exact 2.2.4 packages without overrides and passed 6 browser checks.
  • On a physical Pixel Fold running Android 17, the hosted consumer passed 17 checks, including real Gboard multiline input, focused read-only transitions, keyboard dismissal/retap, and in-memory snapshot restoration. Two unchanged Android builds retained the same hashes and modification times for 98 native artifacts.

Device acceptance used ADB touchscreen taps in a standalone Debug consumer (Flutter 3.47.0 / Dart 3.13.0); CI used Flutter 3.47.7. GSMLG Release/AOT integration and filesystem save/reopen were not tested. Grammar archives were audited; prior runtime evidence was reused for unchanged runtime files, while the changed hook was validated with current fixtures and hosted Android builds.

Full Changelog: v2.2.3...v2.2.4

v2.2.3

Choose a tag to compare

@github-actions github-actions released this 21 Oct 17:37

Pressing or dragging a chat navigation tick now shows the candidate's abbreviated prompt and reply. The preview follows overflow scrolling and closes on release or cancellation.

Releasing a tick in a long conversation now reveals the actual destination without showing the intermediate search overshoot or reversal. Nearby rendered turns retain smooth scrolling. Invisible rows at fractional pixel boundaries no longer select the preceding tick.

Validation:

  • All 2,013 workspace tests passed, including 693 widget-package tests; fatal-info analysis, formatting, and Pub archive preflight passed.
  • A fresh consumer using only hosted 2.2.3 packages passed all 54 Chrome tests and all 30 Pixel Fold Android checks. Physical-device tests used Android OS touchscreen events through ADB, including hold, cancel, overflow ends, and alternating navigation to turns 0, 24, 8, 30, and 2. Preview, destination, and cancellation screenshots were visually inspected. These were OS-injected events, not a human-finger test.
  • All 12 packages are published as latest 2.2.3 on pub.dev. Downloaded archive hashes match registry metadata, and all 3,506 published files match the release tag byte for byte.
  • The deployed showcase was verified at desktop and 320px widths, including navigation, candidate previews, cancellation, and no horizontal overflow or console errors.

Source commit: 1d71434. Release tag: v2.2.3 at 78648b1.

v2.2.2

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:59

Fix touch navigation in DmChatView so a finger can select a conversation turn continuously and jump once on release.

  • Add a 48-pixel-wide touch region with immediate candidate feedback on press and move.
  • Keep the conversation still while touching; release commits once and cancellation never jumps.
  • Hold near an edge to reveal overflowed markers while preserving mouse, keyboard, accessibility and selected-turn behavior.

Resolves #25.

Validation: 2,004 tests across all 14 workspace members, fatal-info analysis, formatting, and Pub archive preflight for all 12 packages passed. All 12 published 2.2.2 packages were independently checked against the release tag: archive SHA256 values matched registry metadata, and 3,506 archived files matched byte for byte.

A fresh hosted-only consumer passed all 17 Chrome acceptance tests, built an Android arm64 APK, and passed all 22 physical Pixel Fold acceptance stages using Android OS touchscreen events through ADB. Candidate highlighting, release selection and actual message navigation screenshots were visually checked. This device evidence uses OS-injected touch events, not human-finger interaction.

v2.2.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 18:10

This patch resolves two integration issues:

  • Single-body adaptive scaffolds now span non-occluding folds when no secondary body is active at the current breakpoint, including emptyBuilder overrides. Physical hinges, occluding folds, explicit secondary panes, and navigation-on-secondary layouts retain their separation. Fixes #23.
  • DmChatView(showInput: false) omits the built-in composer so applications can provide their own input or companion-screen controls. Message navigation, pinned scrolling, and unread indicators remain available. The default remains showInput: true, and the option can change at runtime. Fixes #24.

All 12 packages are released as 2.2.1, with internal dependencies aligned to ^2.2.1.

Full changelog

v2.2.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 01:58

Full Changelog: v2.1.1...v2.2.0