Skip to content

Tags: AndroidPoet/back_stack

Tags

v0.6.1

Toggle v0.6.1's commit message
0.6.1

v0.6.0

Toggle v0.6.0's commit message
iOS swipe-back gesture on TransitionPage (0.6.0)

The edge-swipe back gesture now works on pages with custom transitions:
on iOS the drag drives the page's own transitionsBuilder in reverse and
pops past halfway or on a fling, like CupertinoPageRoute. New swipeBack
parameter (default true; false for .none) to opt out. Gesture respects
popGestureEnabled (root, fullscreenDialog, PopScope), handles RTL, and
the pop syncs the NavStack.

v0.5.0

Toggle v0.5.0's commit message
Docs site: 0.5.0 install version, gates-based auth gating, history-sn…

…apshot note

v0.4.0

Toggle v0.4.0's commit message
0.4.0: NavLinks URL table, one-widget BackStackApp/BackStackTabsApp, …

…async everywhere, automatic full-stack restoration

v0.3.0

Toggle v0.3.0's commit message
docs: warn that app_links AppLinks() must be created early or the col…

…d-start deep link is lost

Applies to BackStackApp.linkStream — uriLinkStream only replays the launch URI to
its first listener if the singleton exists when the OS delivers it. Documented on
the linkStream field, the class docs, README, and the go_router migration guide.

v0.2.8

Toggle v0.2.8's commit message
0.2.8: handle async deep links arriving from native

- BackStackApp.linkStream: feed a plugin's runtime Stream<Uri> (custom scheme,
  Firebase Dynamic Links, warm app_links) through the same onLink, with the same
  fallback safety; back_stack owns the subscription lifecycle, stays zero-dep
- Add handleLink(uri) to NavStackRouterDelegate and MultiNavStackRouterDelegate,
  the imperative sibling of setNewRoutePath (which now delegates to it)

v0.2.7

Toggle v0.2.7's commit message
0.2.7: correctness + docs pass

- Fix NavListDetail duplicate-GlobalKey crash for a lone detail on a wide screen
- Make NavEntryDecorator.onRemoved symmetric across the NavListDetail breakpoint
- MultiNavStack.handleBack consumes back even when a popGuard vetoes the pop
- Refuse an empty stack in release instead of crashing the Navigator
- Add tabs.dart (per-tab history) and results.dart (pushForResult) examples
- README: table of contents, runnable snippets, and accuracy fixes

v0.2.6

Toggle v0.2.6's commit message
Release 0.2.6: moveToTop/pushOrMoveToTop, combineRedirects, BackStack…

…Inspector

Philosophy-preserving copies from the zenrouter survey — all plain list ops /
pure functions / one widget, zero new deps, no codegen:
- NavStack.moveToTop(test) + pushOrMoveToTop(key): reuse an open screen instead
  of duplicating (singleTop/clearTop).
- combineRedirects([...]): compose redirect rules (ContinueRedirect/RedirectTo
  with optional stop), same loop-proof once-per-change semantics.
- BackStackInspector<K>: zero-dep in-app live stack inspector.
Deliberately skipped: string query-param bag (fights typed keys) and route
codegen (stays codegen-free). 72 tests green.

v0.2.5

Toggle v0.2.5's commit message
Release 0.2.5: BackStackApp (one-function deep links) + BackStack.par…

…entOf

- BackStackApp<K>: a single widget wrapping MaterialApp.router + delegate +
  parser; you write only onLink: (Uri) => [destinations]. Optional toLink for
  address-bar sync, onLinkFallback for bad links, restoration on by default.
  Zero new dependencies (drives Flutter's own Router).
- BackStack.parentOf<K>/maybeParentOf<K>: reach the stack one level up from a
  nested child sharing the same key type (walks NavStackScope<K> ancestors,
  takes the second).
- example/multi_file now uses BackStackApp (deep link /product/7).
- Tests: deep-link maps onto stack; parentOf reaches outer stack, of() stays
  innermost. 68 tests green.

v0.2.4

Toggle v0.2.4's commit message
Release 0.2.4: README hero uses NavEntries (no switch); add simple mu…

…lti-file example

- Rewrite the README hero: non-sealed AppKey + NavEntries (..on<T>(), builder:
  entries.call) instead of a switch. The old snippet didn't compile (sealed base
  without const ctor; NavStack.of inferred NavStack<Home>). Verified it compiles.
- Add example/lib/multi_file/: app_key.dart + home_feature.dart +
  product_feature.dart + main.dart — one destination/screen/register per file,
  collected into one NavEntries. No switch, no central list.