Skip to content

v1.0.0

Choose a tag to compare

@marcstraube marcstraube released this 23 Jul 22:04
v1.0.0
afe64b5

Changelog

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.

[1.0.0] - 2026-07-23

Initial release, extracted from
marcstraube/zappzarapp.

Added

Core

  • DevToolbar composition root configured via a ToolbarConfig DTO
    (collectors, panels, guard, config source, and nonce provider — all
    defaulted), plus a getInstance() singleton wrapper for drop-in use
  • CollectorInterface registry with addCollector(), reset(), and
    badge counts via getBadgeCount()
  • HTML-only response injection before the closing </body> tag, with a
    Content-Type guard and CSP nonce support via
    zappzarapp/security (NonceRegistry)

Data collectors

  • RequestCollector — request metadata with sensitive-key filtering
    (auth headers, passwords, tokens, credentials)
  • QueryCollector — SQL queries with timing, backtraces, and N+1 detection
  • TimelineCollector — request lifecycle phases with per-category
    durations, percentages, and bottleneck detection
  • CacheCollector, HttpClientCollector, ExceptionCollector,
    MessageCollector, HistoryCollector (request history with storage)

Analyzers

  • PerformanceAnalyzer — threshold-based alerts (duration, memory, query
    count/time) with warning bands
  • QueryAnalyzer — N+1 heuristics, slow-query detection, and actionable
    suggestions

Guard

  • Fail-closed activation: explicit ENABLE_DEV_TOOLBAR, else
    APP_ENV/ENV allowlist (dev, development, local, test,
    testing); CLI and AJAX requests always excluded
  • GuardInterface / EnvironmentGuard with DevToolbarGuard static facade

UI

  • Full toolbar with per-collector panels, mini bar with alert badges,
    performance trend charts, request switcher, data export, and
    configurable thresholds
  • Pre-built JS/CSS bundle shipped as package assets (no consumer-side
    build step)