famon_core 1.5.1
famon_core: ^1.5.1 copied to clipboard
Core library for Firebase Analytics event parsing, formatting, and persistence. Powers the famon CLI.
Changelog #
All notable changes to the famon_core library will be documented in this
file. CLI-side changes live in the root CHANGELOG.md.
Format follows Keep a Changelog, versioning follows Semantic Versioning.
Versioning policy #
famon_core (library) and famon (CLI) version on independent tracks since
2026-05-24. From this version forward, tags use the form
famon_core-v<version> (e.g. famon_core-v1.5.1). Legacy v<version> tags
remain in history.
Default release type is PATCH. MINOR requires a new public symbol.
MAJOR requires removing/renaming a public symbol or changing the
behavior of an exported API. famon_core 1.x is the legacy/experimental
track — all planned breaking changes are batched into famon_core 2.0.0.
[Unreleased] #
1.5.1 - 2026-05-24 #
First release on the decoupled tag scheme — this version tags as
famon_core-v1.5.1 (legacy v* tags are no longer produced). famon
(CLI) moved on its own track at the same time; see the root
CHANGELOG.md for CLI changes.
Fixed #
- Replaced 4 silent error swallows in
famon_corewith logged failures (project rule: every catch must log or rethrow with context). Affected:IsarDataExportRepository.validateBackupFile, and the three device-detection helpers inLogSourceFactory(_hasAndroidDevices,_hasBootedSimulator,_hasIosDevice— each now logs adetailline on probe failure so verbose runs can distinguish "device absent" from "tool missing or misconfigured").
Security #
.pubignore: added*.logand explicitfirebase-debug.logso Firebase OAuth metadata from local development never ships in the pub.dev archive.
Changed #
CHANGELOG.md(this file): added[Unreleased]placeholder and versioning-policy block. CLI-side entries now live in the rootCHANGELOG.mdexclusively from this version onward.
1.5.0 - 2026-05-17 #
Added #
LogEventProcessor— host-agnostic primitive that combines log-line parsing and event filtering. Pair withLogParserService(Android) orIosLogParserService(iOS).- Sealed
LogEventProcessResultfamily with three variants:LogEventResult,LogVerboseResult,LogDiscardedResult. Pattern-match on results in any host (CLI, GUI, server, CI lint). ItemArrayParser— shareditems=[...]depth-tracking + strip / extract helpers used by both Android and iOS parsers internally, exposed as Stable public API for downstream tooling that needs to mirror the same truncation contract.MonitoringPipeline— host-agnostic stream pipeline. Consumes a child process'sstdout/stderr, drains stderr, decodes UTF-8 with malformed-aware rate-limited warnings, and emits structuredLogEventProcessResultvalues to a callback. Free ofmason_logger, terminal, ANSI, clipboard, and process-lifecycle dependencies.
Changed #
- README now classifies every export from
package:famon_core/famon_core.dartas Stable, Public but needs hardening, or Internal / legacy candidate, with each row stating what compatibility guarantees it carries within the1.xline.
Internal #
- Widened the
injectableconstraint to>=2.3.5 <4.0.0. Local solver still resolves to 2.7.x becauseisar_generatorpinssource_gen ^1.2.2. The concreteinjectable3.x upgrade arrives with the Isar → Drift migration.
1.4.0 - 2026-05-06 #
Added #
- First independent release of
famon_coreon pub.dev. - Domain entities:
AnalyticsEvent,EventMetadata,MonitoringSession. - Log parsers:
LogParserService(Android logcat),IosLogParserService(iOS Simulator and physical device logs). - Event formatting via
EventFormatterService, including--show-only-paramsfiltering. - Isar-backed persistence:
IsarEventRepository,IsarEventMetadataRepository,IsarDataExportRepository. - Use cases:
MonitorEventsUseCase,ExportDataUseCase,ImportDataUseCase,AddManualParametersUseCase,DataExportImportUseCase. FamonCorePackageModuleforinjectableintegration in consumer packages.
Notes #
This package was extracted from the famon CLI in version 1.4.0 to enable reuse across CLIs, GUIs, and other Dart tooling. Earlier history (1.0.x – 1.3.x) lives in the parent famon package's CHANGELOG.