|
1 | | -# Changelog |
2 | | - |
3 | | -All notable changes to this project will be documented in this file. |
4 | | - |
5 | | -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
6 | | -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
7 | | - |
8 | | -## [Unreleased] |
9 | | - |
10 | | -## [1.0.0] - 2024-12-24 |
11 | | - |
12 | | -### Added |
13 | | - |
14 | | -- **Core SDK** |
15 | | - - `Checkend.configure` for SDK configuration |
16 | | - - `Checkend.notify` for async error reporting |
17 | | - - `Checkend.notify_sync` for synchronous error reporting |
18 | | - - `Checkend.set_context` for thread-local context |
19 | | - - `Checkend.set_user` for user tracking |
20 | | - - `Checkend.clear!` to reset thread-local data |
21 | | - |
22 | | -- **Configuration Options** |
23 | | - - `api_key` - Required ingestion API key |
24 | | - - `endpoint` - Required self-hosted Checkend server URL |
25 | | - - `environment` - Auto-detected from Rails.env or RACK_ENV |
26 | | - - `enabled` - Enable/disable reporting (default: true in production/staging) |
27 | | - - `ignored_exceptions` - Exceptions to skip reporting |
28 | | - - `filter_keys` - Keys to scrub from data (passwords, tokens, etc.) |
29 | | - - `before_notify` - Callbacks to modify or skip notices |
30 | | - - `async` - Async sending via background thread (default: true) |
31 | | - - `max_queue_size` - Maximum notices to queue (default: 1000) |
32 | | - - `shutdown_timeout` - Seconds to wait on shutdown (default: 5) |
33 | | - - `timeout` - HTTP request timeout (default: 15s) |
34 | | - - `open_timeout` - HTTP connection timeout (default: 5s) |
35 | | - |
36 | | -- **Background Worker** |
37 | | - - Thread-safe queue for async sending |
38 | | - - Graceful shutdown with configurable timeout |
39 | | - - Automatic drain on process exit |
40 | | - |
41 | | -- **Filters** |
42 | | - - `SanitizeFilter` - Scrubs sensitive keys from hashes |
43 | | - - `IgnoreFilter` - Filters exceptions by class, name, or pattern |
44 | | - |
45 | | -- **Integrations** |
46 | | - - `Checkend::Integrations::Rack::Middleware` - Rack middleware for exception capture |
47 | | - - `Checkend::Integrations::Rails::Railtie` - Auto-configuration for Rails apps |
48 | | - - `Checkend::Integrations::Rails::ControllerMethods` - Controller context tracking |
49 | | - - `Checkend::Integrations::Sidekiq` - Sidekiq error handler and middleware |
50 | | - - `Checkend::Integrations::ActiveJob` - ActiveJob/Solid Queue integration |
51 | | - |
52 | | -- **Testing** |
53 | | - - `Checkend::Testing.setup!` - Enable test mode |
54 | | - - `Checkend::Testing.teardown!` - Restore normal mode |
55 | | - - `Checkend::Testing.notices` - Access captured notices |
56 | | - - `Checkend::Testing::FakeClient` - Captures notices instead of sending |
57 | | - |
58 | | -### Requirements |
59 | | - |
60 | | -- Ruby >= 2.7.0 |
61 | | -- No runtime dependencies (uses Ruby stdlib only) |
62 | | - |
63 | | -[Unreleased]: https://github.com/Checkend/checkend-ruby/compare/v1.0.0...HEAD |
64 | | -[1.0.0]: https://github.com/Checkend/checkend-ruby/releases/tag/v1.0.0 |
| 1 | +## [1.0.0] - 2025-12-28 |
0 commit comments