PackageTrack
Sign in Get early access

ailog_flutter

Flutter add-on for ailog: automatic error hooks, navigation breadcrumbs, and a bridge so native Kotlin/Swift code logs into the same JSONL file.

0.3.0 FuruyamaMasayuki/ai-readable-logs

What this package is like to depend on

Last release 28 days ago

27 Jul 2026

Too new to tell

only 1 dated releases

Nearly every release is documented

notes for 1 of 1 stable releases

Nothing withdrawn

no release was ever pulled

0 months old

1 releases · first in 2026

1 release in the last 12 months

see the full history below

Release timeline

1 releases · Jul 2026 to Jul 2026
Release Pre-release

Releases

latest 1
  1. 0.3.0 27 Jul 2026
    Release notes
    • A flutter build release now ships with logging off. This follows ailog 0.4.0, where Logger.create's enabled defaults to !isReleaseBuild: debug and profile are unaffected, and a release build writes nothing to a user's device unless you pass enabled: true (or a runtime flag, for a diagnostics toggle in settings). AilogFlutter.install and runAppGuarded are unchanged — they route errors into whatever logger you hand them, and a disabled one accepts every call and produces nothing. If you ship a way to retrieve the file, opt back in; the README's "Debug / profile / release" section covers both directions.
    • Automatic debug-session sync documented, built on ailog's new installDebugSync + ailog_sync. It is now the first option under "Getting the log off a real device", because it is the only one with no manual step: flutter run already opens the VM Service, so a command on your machine can pull the log continuously while you use the app. Release builds are unaffected — they serve no VM Service at all.
    • AilogLifecycleObserver — foreground/background/termination, with both ends of each transition (paused → resumed). A handful of events over a session, and repeatedly decisive: "crashes when you come back to the app" is invisible in a log that only records what the code did. Defaults to trace, so it stays out of a production file while remaining available as a breadcrumb.
    • User interaction logging documented, built on ailog's new logger.interaction(). Deliberately no automatic "log every tap": measured against a real widget tree, a root Listener plus a hit test recovers a useful label only for text-labelled buttons — an IconButton yields "a button", a TextField nothing — while costing a hit test per pointer-down and carrying a privacy problem regex redaction cannot solve (semantic labels contain user data: a contacts row is labelled with a person's name). The README states this, with the numbers and a recipe for anyone who wants it anyway.
    • runAppGuarded gains capturePrint / forwardPrintsToConsole: plain print() calls (yours or a dependency's) are routed into the structured log via ailog's capturePrints.
    • Depends on ailog ^0.4.0 as a hosted dependency, making the package publishable; local development uses pubspec_overrides.yaml.
    Open source →
    Release notes

    Fixed

    • The digest over-counted errors, corrupting its own ranking. Idiomatic usage logs one failure more than once as it propagates — span() records the failure passing through it, then the caller catches the same exception at a boundary and logs it again. Both are correct; together they doubled the reported frequency, and could rank a deep-stack error above a shallower but genuinely more widespread one. Verified on a realistic session: two failed requests were reported as ×4.

      ErrorGroup now tracks incidents (distinct traces) alongside occurrences (raw log events), ranks by the former, and reports both when they diverge. Untraced events count individually, since they can't be attributed to a request.

    Changed

    • ErrorGroup.count renamed to ErrorGroup.occurrences; incidents added. The digest's JSON output gains incidents and renames count to occurrences.
    • The digest picks the richest available causal chain for a group rather than the chronologically last one — the last event is often the outermost re-log, which carries less context than the innermost.
    • Retained sample trace IDs per error group are bounded (32); the incident count stays exact past that bound.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive