Skip to content

Releases: mikezamayias/famon

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 17 May 10:56

Changed

  • Refactored monitor and filter commands to share a single stream-processing pipeline (MonitoringPipeline, now part of famon_core). Behavior is preserved; per-line cost stays flat.

Fixed

  • monitor no longer crashes with StateError: Stream has already been listened to on child-process startup. process.stderr was being drained twice (outer command setup plus the new pipeline); the outer drain is gone.
  • famon filter --limit N no longer hangs after the limit is reached. The adb child process is now killed when the pipeline exits early.

Removed

  • Internal: unreachable HelpCommand. It was exported from lib/src/commands/commands.dart but never registered on FamonCommandRunner, so the visible CLI surface is unchanged.

Internal

  • Widened the injectable constraint to >=2.3.5 <4.0.0 so consumers on injectable 3.x are no longer blocked. Local solver still resolves to 2.7.x because isar_generator pins source_gen ^1.2.2; the concrete 3.x bump arrives with the Isar → Drift migration.
  • CI: removed the || true that was swallowing failed famon_core test runs, and tightened the Codacy gate so the pipeline file is re-indexed against dev without exclusions.

v1.4.1

Choose a tag to compare

@github-actions github-actions released this 07 May 05:27
86e1bd5

1.4.1 (2026-05-07)

Bug Fixes

  • address review findings on release-flow PR (f21549f)
  • address review-toolkit findings on release-please PR (fb10cba)
  • address review-toolkit findings on release-please tuning PR (eb97341)
  • ci: tune release-please config to bound history and link versions (691ccc8)
  • harden update_version.dart for atomicity and major-bump safety (d4b17fe)
  • remove orphaned publish workflow and fix spell-check (50cecfd)
  • remove orphaned publish workflow and fix spell-check (d6cf9cd)
  • restore pub.dev publish pipeline for monorepo (39d4a66)

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Apr 15:58

Added

  • Keyboard action tests: clear screen, copy to clipboard, quit, save to file, show help, show stats
  • Codecov component tracking: CLI and Core Library reported separately
  • Coverage collection from famon_core package in CI
  • famon issue command in help output and README
  • Demo recording, example scripts, submission drafts, blog post draft

Fixed

  • 3 use cases (MonitorEventsUseCase, AddManualParametersUseCase, DataExportImportUseCase) now registered in DI module
  • Monitor signal handlers hardened with try-finally for reliable shutdown
  • Test assertion accuracy in help and stats action tests
  • codecov/patch no longer blocks test-only PRs

Changed

  • Bumped softprops/action-gh-release from 2 to 3
  • All markdown files humanized: removed AI patterns, emoji overuse, redundancy, stale content (-727 lines)

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 02 Apr 11:47

Added

  • --show-only-params (-P) flag to filter which parameter keys are displayed in event output
    • Applies to both parameters and items in formatted and raw modes
    • Works on both monitor and filter commands
    • Composes with existing flags (-g, --hide-global-params, --hide-event-params)

Fixed

  • Orphaned "Items:" header no longer appears when all items are filtered out by --show-only-params
  • Consistent user feedback message for --show-only-params in both monitor and filter commands

Tests

  • Added 16 unit tests for IssueCommand template builder (_generateIssueBody)
  • Added 7 unit tests for EventFormatterService show-only-params filtering

Added

  • Interactive keyboard shortcuts for monitoring sessions:
    • s - Copy recent events to clipboard
    • f - Save events to file
    • p - Toggle pause/resume monitoring
    • t - Show session statistics
    • c - Clear screen
    • ? - Show help overlay
    • q - Quit monitoring
  • Customizable keyboard shortcuts via ~/.famon/shortcuts.yaml
  • ShortcutManager for handling key bindings and action execution
  • ActionRegistry for registering and managing keyboard actions
  • KeyboardInputService for raw terminal input handling

v1.2.0

Choose a tag to compare

@mikezamayias mikezamayias released this 13 Mar 13:29

Added

  • Issue submission command (famon issue) for easy bug reporting with system info and log collection

Fixed

  • Keyboard shortcuts q (quit) and Ctrl+C now work immediately without delay
  • Native Firebase events in Logging event (FE) format are now parsed correctly

Added

  • iOS Support: Monitor Firebase Analytics events from iOS simulators and physical devices
    • iOS Simulator support via xcrun simctl spawn
    • Physical iOS device support via idevicesyslog
    • New --platform option to select target platform (android, ios-simulator, ios-device)
    • iOS-specific log parsing with support for various timestamp formats
    • Troubleshooting tips for iOS tool installation
  • Documentation for iOS monitoring setup in README

Performance

  • Made all regex patterns static final across the codebase
  • Added memory bounds to EventCacheService with LRU eviction (max 10,000 events)
  • Added graceful shutdown and resource management for long-running sessions
  • Improved stderr handling to prevent buffer overflow

Changed

  • Refactored Android log handling into dedicated services for better separation of concerns
  • Introduced LogSourceFactory and LogParserFactory for platform-specific implementations
  • Added PlatformType enum for type-safe platform selection

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 02 Mar 08:03
ed269b1

Added

  • Codecov integration for coverage reporting and badge

Fixed

  • Coverage badge in README now links to live Codecov report

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Mar 07:50

Added

  • Separate global (session-level) parameters from event-specific parameters in monitor output
  • New keyboard actions: toggle_event_params and toggle_global_params
  • Full formatter support for global vs. event parameter distinction

Fixed

  • Items array parsing for nested bundles on both Android (LogParserService) and iOS (IosLogParserService)

Security

  • Added input validation for custom parameters and frequency options
  • Added file path validation to prevent path traversal attacks
  • Added explicit null handling for stdin.readLineSync()
  • Added safe type casting for argResults in DatabaseCommand
  • Added validation to DateTimeRange constructor

Changed

  • Replaced overly broad exception handling with specific types
  • Extracted MonitorCommand.run() into smaller focused methods
  • Consolidated event filtering logic in EventFilterUtils
  • Introduced FilteredMonitorDependencies container for better DI
  • Extracted FaWarningBuffer from EventFormatterService (SRP)
  • Extracted DatabaseDirectoryResolver from IsarDatabase
  • Replaced hardcoded magic numbers with named constants
  • Used consistent DI for UpdateCommand
  • Optimized log parser regex evaluation order
  • Pushed event filtering to database level for better performance
  • Optimized list creation in EventCacheService

Added

  • Warning for malformed UTF-8 data in logcat output
  • Visible warnings for parameter parsing failures
  • Comprehensive tests for FilteredMonitorCommand

Fixed

  • Corrected branch name in static analysis workflow
  • Increased minimum test coverage threshold to 30%

v1.0.3

Choose a tag to compare

@github-actions github-actions released this 24 Jan 10:15

Security

  • SEC-001: Added package name validation in enableAnalyticsDebug() to prevent command injection
  • SEC-003: Added file size limits (100MB) and schema validation for JSON imports
  • SEC-006: Implemented chunked processing for large imports to prevent memory exhaustion

Added

  • Comprehensive security audit documentation (doc/SECURITY_AUDIT.md)
  • Security guidelines section in CLAUDE.md for future development
  • Input validation patterns for external data handling
  • Memory-safe chunked import processing (1000 records per transaction)

Changed

  • Import operations now validate JSON structure before processing
  • Package name inputs are validated against Android naming conventions

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 24 Jan 06:57

Added

  • Added pub.dev badge and link to README for easy package discovery

Fixed

  • Fixed package installation from pub.dev by including generated files (*.g.dart, *.config.dart)
  • Package can now be properly installed via dart pub global activate firebase_analytics_monitor

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 24 Jan 06:47

Added

  • Added example file for pub.dev documentation

Fixed

  • Fixed static analysis warnings in generated files for improved pub.dev score

Changed

  • Replaced specific event examples with generic event names in documentation
  • Improved example output in README to be more generic

Added

  • MIT LICENSE file
  • CHANGELOG.md following Keep a Changelog format
  • GitHub Actions workflow for static analysis on PRs to dev branch