Skip to content

v3.2.0 — bug fixes, new API, CI/CD#132

Merged
yadaniyil merged 5 commits into
masterfrom
renovation/test-improvements
Apr 10, 2026
Merged

v3.2.0 — bug fixes, new API, CI/CD#132
yadaniyil merged 5 commits into
masterfrom
renovation/test-improvements

Conversation

@yadaniyil
Copy link
Copy Markdown
Collaborator

Summary

Deploying

After merging, publish by pushing a version tag:

git tag v3.2.0
git push origin v3.2.0

The publish.yml workflow will run flutter pub publish automatically via pub.dev OIDC — no secrets needed, but you must first grant the yako-dev/flutter_badges repo publish permission on pub.dev under the package's admin settings.

Test plan

  • flutter test --test-randomize-ordering-seed random — 175 passed, 0 skipped
  • flutter analyze lib/ test/ example/ — no issues
  • dart format --set-exit-if-changed . — clean

🤖 Generated with Claude Code

yadaniyil and others added 5 commits April 9, 2026 21:52
- Rewrite content_change tests: replace illegal state.didUpdateWidget()
  calls with proper TestWidgetScreen+setState so the framework drives
  the lifecycle naturally
- Fix duplicate test name in show_hide tests (shadowed the second case)
- Remove unnecessary async from all synchronous unit tests
- Add 15 new test cases: standalone badge rendering/onTap/ignorePointer,
  showBadge:false initial state, BadgePosition factory defaults, Icon
  content change animation, non-Text/Icon limitation documentation, and
  issue #114 regression (skip:true — confirms early-return bug in
  didUpdateWidget loop branch)
- Note in PLAN.md: always use GestureDetector (not ElevatedButton) when
  triggering setState in animation tests to avoid ripple pollution

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Bump flutter_lints ^2.0.1 → ^6.0.0 in main package
- Update flutter SDK lower bound from ">=0.2.5" → ">=3.10.0" to match
  the Dart >=3.0.0 constraint (Dart 3.0 shipped with Flutter 3.10)
- Example app: replace discontinued pedantic ^1.11.1 with flutter_lints
  ^6.0.0, remove unused integration_test dep, bump cupertino_icons to
  ^1.0.8, add flutter SDK lower bound
- Fix 3 use_super_parameters lint warnings in Badge, BadgePositioned,
  and TestWidgetScreen constructors

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bug fixes:
- #114: showBadge ignored when loop animation active (didUpdateWidget restructured)
- #130: showBadge slow to hide with animation (stop() before reverse())
- #98: border anti-aliasing artifact (border moved into BoxDecoration strokeAlignInside)
- #115: animation not re-triggered for custom content (key-based detection)

New API:
- BadgeStyle.copyWith() covering all 8 fields
- BadgePosition.centerStart() and .centerEnd() named constructors
- BadgeState.animationController and .appearanceController public getters

Code quality:
- _BadgeVisual extracted as StatelessWidget (PR #120, reduces rebuilds)
- ConstrainedBox + IntrinsicWidth for proportional small badges (PR #111)
- BadgeGradient.gradient() asserts document constructor invariants
- Example app: 16 lint warnings resolved, pedantic replaced with flutter_lints
- README: corrected GIF height, added hide Badge import option

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ci.yml: runs on every PR and push to master (analyze, format check, tests)
- publish.yml: publishes to pub.dev on v* tag push using OIDC (no stored secrets)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@yadaniyil yadaniyil self-assigned this Apr 10, 2026
@yadaniyil yadaniyil merged commit 9531d41 into master Apr 10, 2026
1 of 3 checks passed
@yadaniyil yadaniyil deleted the renovation/test-improvements branch April 10, 2026 00:16
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