Changelog

View Source

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[1.0.2] - 2025-12-28

Fixed

  • Nested route support - InboxLive now correctly handles URLs when mounted in nested scopes (e.g., /admin/fyi instead of just /fyi)
    • Event detail URLs now respect the route prefix where the LiveView is mounted
    • Navigation between index and detail views works correctly regardless of scope nesting

[1.0.1] - 2025-12-27

Added

  • Automatic HTTP retries - FYI.Client module with exponential backoff for sink delivery
    • Retries transient failures (network errors, 5xx status codes) up to 3 times
    • Exponential backoff with delays of 1s, 2s, 4s
    • Respects Retry-After response headers
    • Configurable via :http_client config (max_retries, retry_delay)

Changed

[1.0.0] - 2024-12-26

Added

  • Event emission - FYI.emit/3 for emitting events with payload, actor, source, tags, and emoji
  • Ecto.Multi integration - FYI.Multi.emit/3 for transactional event emission
  • Slack webhook sink - Send notifications to Slack channels
  • Telegram bot sink - Send notifications to Telegram chats
  • Event routing - Route events to specific sinks based on glob patterns
  • Event persistence - Optional database storage via Ecto
  • Admin inbox UI - LiveView-based event viewer with:
    • Activity histogram with time-based tooltips
    • Time range filtering (5 minutes to all time)
    • Event type filtering
    • Search by event name or actor
    • Event detail panel
    • Real-time updates via PubSub
  • Feedback component - Customizable feedback widget installed into your codebase
  • Igniter installer - mix fyi.install for one-command setup
  • Emoji support - Per-event, pattern-based, and default emoji configuration
  • App name identification - Identify events when multiple apps share channels