Skip to content

chore: release v1.2.5#27

Merged
vietnguyentuan2019 merged 5 commits into
mainfrom
release/v1.2.5
May 6, 2026
Merged

chore: release v1.2.5#27
vietnguyentuan2019 merged 5 commits into
mainfrom
release/v1.2.5

Conversation

@vietnguyentuan2019
Copy link
Copy Markdown
Contributor

Summary

  • Fix (Issue After upgrading to version 1.2.4, the debug mode writes no longer trigger anything. #26): Remove over-restrictive assertion in TaskTrigger.periodic that rejected initialDelay + runImmediately: false — a valid combination the OS handles correctly.
  • Fix (iOS): runImmediately flag was being recomputed from initialDelay instead of using the user-provided value.
  • Pre-publish review: Documentation, code quality, and publish configuration cleanup.

Changes

Core fix (v1.2.5)

  • TaskTrigger.periodic: removed assert that blocked initialDelay + runImmediately: false
  • iOS KMPSchedulerBridge: use caller-provided runImmediately value, not recomputed value

Pre-publish review (this PR)

  • .pubignore: exclude CLAUSE.md, coverage/, test_results.txt
  • README.md: fix iOS badge 13.0+14.0+; update install snippet to ^1.2.5
  • CHANGELOG.md: remove duplicate --- separator and stray performance/acknowledgments block
  • iOS workers: replace 148 bare print() calls with NativeLogger.d/w/e() across 9 files
  • HttpDownloadWorker.swift, HttpUploadWorker.swift: remove internal sprint/T3 planning comments
  • doc/BUG_FIX_VERIFICATION.md: removed from public tracking (internal doc)
  • native_workmanager_gen: update README install version to ^1.2.5; reformat CHANGELOG to Keep-a-Changelog standard

Tests

  • Add example/integration_test/periodic_trigger_reproduction_test.dart — 8 test cases:
    • issue_26: initialDelay + runImmediately:false accepted
    • Minimum interval (15 min) accepted
    • flexInterval accepted (covers KMP bridge KotlinLong(value:) path)
    • initialDelay alone accepted
    • runImmediately:true explicit accepted
    • issue_26: all params combined accepted
    • Cancel removes task from tracking
    • ExistingPolicy.replace accepted
  • All 8 pass on Android (Pixel 6 Pro) and iOS simulator
  • 1127 unit + security tests pass

Test plan

  • flutter analyze — 0 issues
  • flutter test test/unit/ test/security/ — 1127/1127 pass
  • Integration tests (Android): 8/8 periodic + 63/63 device suite
  • Integration tests (iOS simulator): 8/8 periodic pass
  • dart pub publish --dry-run — 0 warnings after commit

- Revert `flexMs as? KotlinLong` (always nil) back to explicit
  `KotlinLong(value: flexMs!)` constructor. The as? cast silently
  dropped flexInterval for all iOS periodic tasks.
- Add KMP-BRIDGE-FROZEN marker to prevent future simplification.
- Fix misleading comment: "inherently not running immediately" → clear
  explanation that runImmediately is forced true to satisfy KMP library.
- test: add PeriodicTrigger parameter combination matrix (8 combos,
  including issue_26 regression) to task_trigger_test.dart
- test: add bridge_parameter_passthrough_test.dart — verifies exact
  map key names and value types for all trigger types
- chore: add scripts/pre-commit-bridge-check.sh + install as git hook;
  requires 'yes' acknowledgment before committing bridge files
- fix: Android logs warning when 'intervalMs' is missing from periodic
  trigger map instead of silently defaulting
- fix: iOS logs error when 'intervalMs' is missing before returning nil
- pubignore: exclude CLAUSE.md, coverage/, test_results.txt
- README: fix iOS badge (13.0+ → 14.0+), update install version to ^1.2.5
- CHANGELOG: remove duplicate --- separator and stray performance/acknowledgments block
- doc: remove BUG_FIX_VERIFICATION.md from public tracking (moved to doc/internal/)
- iOS workers: replace 148 bare print() calls with NativeLogger.d/w/e()
- iOS HttpDownloadWorker, HttpUploadWorker: remove internal sprint/T3 planning comments
- test: add periodic_trigger_reproduction_test.dart (8 cases, issue_26 regression coverage)
- native_workmanager_gen: update README version to ^1.2.5, reformat CHANGELOG
@vietnguyentuan2019 vietnguyentuan2019 changed the title release: v1.2.5 chore: release v1.2.5 May 6, 2026
@vietnguyentuan2019 vietnguyentuan2019 merged commit 87b56bb into main May 6, 2026
13 checks passed
@vietnguyentuan2019 vietnguyentuan2019 deleted the release/v1.2.5 branch May 6, 2026 18:26
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