presentum 0.3.3
presentum: ^0.3.3 copied to clipboard
A declarative cross-platform Flutter engine with focus on state to display presentations, such as campaigns, banners, notifications, etc., anywhere, anytime.
0.3.3 #
- BREAKING: Refactored
PresentumPopupSurfaceStateMixin.present()to returnPopupPresentResultenum instead ofbool?- Added
PopupPresentResultenum with three states:userDismissed,systemDismissed,notPresented - The
present()method now has clear, type-safe return values instead of nullable boolean notPresentedis returned when widget is not mounted, preventing unnecessarymarkDismissed()calls- Mixin only calls
markDismissed()forsystemDismissedresults
- Added
- Feat: Exported
PresentumPopupSurfaceStateMixinand related enums in main library - Docs: Updated popup hosts documentation with new enum-based API examples
0.3.2 #
- Docs: added three comprehensive docs showcasing business-logic-first examples for New Year, user preferences and milestones.
- Feat: added complete cross-platform example application showcasing various capabilities and best practices with Presentum.
- Fix: fixed critical bugs with
PresentumPopupSurfaceStateMixin - Feat: added various useful features and configurations to the
PresentumPopupSurfaceStateMixinto better resolve duplications and queues. - Chore: added environmental logs that enabled if
presentum.logsare enabled to log useful debug/development information. - Chore: added
toStringimplementation to thePresentumSlotfor better loggin.
0.3.1+1 #
- Chore: renamed
popup_host.dartfile topopup_surface_state_mixin.dart
0.3.1 #
- Feat: Added PresentumPopupSurfaceStateMixin mixin to streamline popup presentum displaying with reactive observing, presenting and dismissing upon declarative removing from the active state slot.
0.3.0 #
- Docs: Added comprehensive docs with Mintlify
0.2.6 #
- Chore: Removed
movedcallback fromsetCandidatesWithDiffbecause detectMoves is false regardless.
0.2.5 #
- Feat(transitions): add observer system for lifecycle hooks
- Feat(eligibility): add conditions, rules, and metadata extractors
- Feat(widgets): add auto-tracking widget with visibility management
- Feat(diff): add Myers algorithm for efficient list operations
- Feat(events): add event-based architecture for state lifecycle (shown, dismissed, converted)
- Feat(controller): add
setCandidatesWithDiffhelper for minimal boilerplate - BREAKING: rename
PresentumVariant->ResolvedPresentumVariant - BREAKING: rename
InheritedPresentation->InheritedPresentum - BREAKING: introduce generic
Vtype parameter for visual variants - BREAKING: change
getDismissedUntil->getDismissedAt - BREAKING: remove
Identifiableclass and bindings system - Refactor(state): implement equality and hashCode for core classes
- Refactor(errors): enhance error handling with stack traces and typed exceptions
- Refactor(widgets): make
PresentumOutletconcrete with placeholder builder support - Test: add comprehensive tests for transitions
- Refactor(types): improve type safety with generic type parameters
- Fix(diff): correct candidate list initialization in diff operations
- Fix(diff): use resolved candidates in diff calculation
- Fix(engine): remove problematic
late finaldeclarations - Docs: add comprehensive Mintlify documentation site
- Docs: add AI integration guides (Cursor, Claude, Windsurf)
- Docs: update README with examples and architecture overview
0.0.1-pre.0 #
- Initial publication