Skip to content

Releases: logtide-dev/logtide-php

v0.7.2

19 Mar 20:55

Choose a tag to compare

Bug Fixes

  • Fixed ErrorListenerIntegration closure return type — kept : bool to satisfy set_error_handler contract, and cast previous handler result with (bool) to safely handle null returns from chained handlers. Closes #6.
  • Fixed beforeSend PHPDoc callable shape: second parameter corrected from array<string, mixed> to EventHint|null to match actual call site.
  • Added typed callable shapes via PHPDoc to Options::$beforeSend, Options::$beforeBreadcrumb, and Options::$integrations for PHPStan validation.
  • Tightened Scope event processor arrays from callable[] to array<callable(Event): ?Event>.

v0.7.1

19 Mar 19:45

Choose a tag to compare

Bug Fixes

  • Fixed ^0.1 version constraint on logtide/logtide in all integration packages — Composer treats ^0.1 as >=0.1.0 <0.2.0, so v0.7.0 was not installable. Constraint updated to ^0.7 in logtide-laravel, logtide-symfony, logtide-slim, and logtide-wordpress. Closes #5.

v0.7.0

06 Mar 21:00
6c46529

Choose a tag to compare

Added

Monorepo Structure

  • Restructured as Composer monorepo with 5 packages under packages/*
  • Unified test suite with PHPUnit 10.5 (265 tests, 570 assertions)
  • PHPStan level 8 static analysis across all packages
  • PSR-12 code style enforcement with PHP_CodeSniffer

Core (logtide/logtide)

  • LogtideSdk - static entry point for SDK initialization
  • ClientBuilder - fluent client construction with sensible defaults
  • Client - capture logs, errors, breadcrumbs, and spans
  • Hub - global singleton for convenient access across your app
  • Scope - per-request context isolation with tags, extras, and breadcrumbs
  • BatchTransport - automatic batching with retry logic and circuit breaker
  • HttpTransport and OtlpHttpTransport for log and span delivery
  • CurlHttpClient and GuzzleHttpClient HTTP client implementations
  • DSN parsing, error serialization, trace ID generation
  • W3C Trace Context (traceparent) propagation
  • Breadcrumb buffer with configurable max size
  • Monolog handlers: LogtideHandler and BreadcrumbHandler
  • PSR-15 middleware for generic HTTP request tracing
  • Global helper functions (\LogTide\init(), \LogTide\captureException(), etc.)
  • Built-in integrations: Request, Environment, ExceptionListener, ErrorListener, FatalErrorListener

Laravel (logtide/logtide-laravel)

  • LogtideServiceProvider with auto-discovery and publishable config
  • LogtideMiddleware for automatic request tracing
  • LogChannel for Laravel logging integration
  • LogtideFacade for static access
  • Breadcrumb integrations: DB queries, cache operations, queue jobs

Symfony (logtide/logtide-symfony)

  • LogtideBundle with DI extension and semantic configuration
  • RequestSubscriber for automatic HTTP request tracing
  • ConsoleSubscriber for CLI command tracing
  • SymfonyIntegration and DoctrineIntegration for breadcrumbs

Slim (logtide/logtide-slim)

  • LogtideMiddleware - PSR-15 middleware for request tracing
  • LogtideErrorMiddleware - error capture with full request context
  • Automatic route pattern resolution from Slim routing

WordPress (logtide/logtide-wordpress)

  • LogtideWordPress - static initializer with WordPress hook registration
  • Lifecycle hooks: wp_loaded, shutdown, wp_die_handler, wp_redirect, wp_mail
  • WordPressIntegration - PHP error handler integration
  • DatabaseIntegration - slow query breadcrumbs via $wpdb
  • HttpApiIntegration - outgoing HTTP request breadcrumbs
  • Multisite support (blog switch tracking, plugin activation/deactivation)

CI/CD

  • GitHub Actions CI: PHPUnit tests, PHPStan, PHPCS on push/PR to main/develop
  • GitHub Actions publish: Packagist publish on tag v*.*.* or manual dispatch
  • PHP version matrix: 8.1, 8.2, 8.3, 8.4
  • Branch model: developmain, hotfix directly to main

Documentation

  • README for every package with badges, quick start, API reference
  • Root README with package table, architecture diagram, development guide
  • Contributing guide, Code of Conduct, Changelog
  • Branch protection documentation (.github/BRANCH_PROTECTION.md)