Skip to content

release: v1.3.1 — decouple plugins, CSS list/background, selection perf, demo polish#10

Merged
vietnguyentuan2019 merged 7 commits into
mainfrom
hotfix/decouple-plugins-1.3.1
May 14, 2026
Merged

release: v1.3.1 — decouple plugins, CSS list/background, selection perf, demo polish#10
vietnguyentuan2019 merged 7 commits into
mainfrom
hotfix/decouple-plugins-1.3.1

Conversation

@vietnguyentuan2019
Copy link
Copy Markdown
Contributor

Summary

  • Decouple native deps: hyper_render_clipboard and hyper_render_math removed from root hyper_render defaults — eliminates Android compileSdk = 34 requirement for basic users; both are now opt-in add-ons
  • New CSS: list-style-type (11 values), list-style-position, list-style shorthand, background-repeat, background-position
  • Selection perf: getSelectionRects() cached (1× per drag event instead of 3×); auto-scroll speed proportional; HyperTeardropHandlePainter deduplicated and exported from core
  • Edge-to-edge images: _kImageMargin = 0.0width: 100% images truly fill container
  • Release prep: all 7 sub-package CHANGELOGs updated with [1.3.1] entries, ecosystem cross-link tables added to all READMEs, migration guide updated, prepare_publish.sh version fix
  • Demo polish: padding fixes, WCAG AA contrast fixes, scroll wrappers for manga tabs, new zero_padding_image_demo

⚠️ Migration (1.3.0 → 1.3.1)

If you use SuperClipboardHandler or MathNodePlugin, add the packages explicitly:

dependencies:
  hyper_render: ^1.3.1
  hyper_render_clipboard: ^1.3.1   # opt-in
  hyper_render_math: ^1.3.1        # opt-in

Test plan

  • flutter test test/ packages/hyper_render_core/test/ packages/hyper_render_html/test/ --exclude-tags golden passes (1 646 tests)
  • flutter analyze — no issues
  • Example app: demo pages scroll correctly, images have proper padding, colors pass contrast check
  • ./scripts/prepare_publish.sh dry-run completes successfully

…on guide for all packages

- Add [1.3.1] CHANGELOG entries to all 7 sub-packages (pub.dev requires version match)
- Update all sub-package READMEs: bump version references ^1.3.0 → ^1.3.1, add ecosystem
  cross-link table with "you are here" marker, add License section where missing
- Fix hyper_render_core README plugin API (tagName→tagNames, build()→buildWidget())
- Add list-style-type / background-repeat / background-position to hyper_render_html CSS table
- Fix hyper_render_math README: core dep removed (only hyper_render_math needed now)
- Update root CHANGELOG 1.3.1: add CSS features, selection perf, full build notes
- Update doc/MIGRATION_GUIDE.md for 1.3.1 breaking change (clipboard/math opt-in)
- Fix scripts/prepare_publish.sh: swap path dep version ^1.3.0 → ^1.3.1
- Demo improvements: padding, contrast fixes, scroll wrappers, zero_padding_image_demo
@vietnguyentuan2019 vietnguyentuan2019 merged commit fcd3584 into main May 14, 2026
4 of 6 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

✅ Layout Regression — All fixtures within 60 FPS budget

Fixture Budget (ms) Median (ms) P95 (ms)
simple_paragraph 8 17 25
mixed_inline 10 12 13
float_layout 12 13 19
table_20_rows 14 37 58
cjk_ruby 14 9 10
large_article 16 33 57

One or more fixtures exceeded the 16 ms budget.

Flutter 3.41.5 · ubuntu-22.04

No action required.

@github-actions
Copy link
Copy Markdown
Contributor

❌ Visual Regression Detected

23 golden test(s) failed on Flutter 3.41.5 / ubuntu-22.04.

The rendered output no longer matches the reference images.

If the change is intentional, regenerate the goldens on the
same platform via the Update Goldens workflow dispatch, or run
locally in Docker:

docker run --rm \
  -v $(pwd):/workspace -w /workspace \
  ghcr.io/cirruslabs/flutter:3.41.5 \
  bash -c "apt-get update -qq && \
    apt-get install -y fonts-noto fonts-noto-cjk fonts-roboto && \
    flutter pub get && \
    flutter test test/golden/ --update-goldens"
git add test/golden/goldens/
git commit -m "chore: update golden references (Flutter 3.41.5)"

⚠️ Always regenerate goldens on ubuntu-22.04 with Flutter
3.41.5
to keep references pixel-stable across machines.

@github-actions
Copy link
Copy Markdown
Contributor

✅ Layout Regression — All fixtures within 60 FPS budget

Fixture Budget (ms) Median (ms) P95 (ms)
simple_paragraph 8 17 21
mixed_inline 10 16 21
float_layout 12 19 24
table_20_rows 14 46 67
cjk_ruby 14 10 11
large_article 16 36 51

One or more fixtures exceeded the 16 ms budget.

Flutter 3.41.5 · ubuntu-22.04

No action required.

@github-actions
Copy link
Copy Markdown
Contributor

❌ Visual Regression Detected

23 golden test(s) failed on Flutter 3.41.5 / ubuntu-22.04.

The rendered output no longer matches the reference images.

If the change is intentional, regenerate the goldens on the
same platform via the Update Goldens workflow dispatch, or run
locally in Docker:

docker run --rm \
  -v $(pwd):/workspace -w /workspace \
  ghcr.io/cirruslabs/flutter:3.41.5 \
  bash -c "apt-get update -qq && \
    apt-get install -y fonts-noto fonts-noto-cjk fonts-roboto && \
    flutter pub get && \
    flutter test test/golden/ --update-goldens"
git add test/golden/goldens/
git commit -m "chore: update golden references (Flutter 3.41.5)"

⚠️ Always regenerate goldens on ubuntu-22.04 with Flutter
3.41.5
to keep references pixel-stable across machines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant