bug_bunny 3.1.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b31963a71fce5b70886e19ee276f174d55052ffce7fdcd90b4b662e70ac6080
4
- data.tar.gz: 851e107eec43ebe45ec3059d2148197e756299fdcf7a5efb5120e0856a2ca3b8
3
+ metadata.gz: 297dacbda238ba5789ff56e5869302a851d15011cd43cb873b9eb3ece129c797
4
+ data.tar.gz: 0cc109f779f574e29f6dd96d0b41e3b956397db4eca2e0476d39ab6d5e96e877
5
5
  SHA512:
6
- metadata.gz: 849447e5f3655f10f3bff047db0dc3ce5bbc2d6190a8db030ffe7b7a1d9619eebb9ac907c30f87e059d5e1c0b1dfce81f80b8f1768346f1fcee7b62f678b0243
7
- data.tar.gz: bacfee7008aae385333d3b4e9139b0eeb89cdb1332259f19ec34491db71a1cb824004b968f54a699b7b0e35b94eca5ff4c134bb5ff04a7ffa095ab9d533408e3
6
+ metadata.gz: 8b7850f2ca72f08f76823a0cf8a1b8845ab9ec831b5e26ba994bffcf88e41d5163351679690a0fd993aea81f9dbdc5344c2558ac28a0daffe98ae5f8e83acdf6
7
+ data.tar.gz: 834d477e56ccf027eea1009813b8e38536d1ea0f49fd40f95070f9db314a3b29550613b2fa4bdda3fc4562d994d404f7123ca6d526ac3b886e2f509d046506ec
data/CHANGELOG.md CHANGED
@@ -1,4 +1,29 @@
1
1
  # Changelog
2
+ ## [3.1.2] - 2026-02-19
3
+
4
+ ### 🐛 Bug Fixes
5
+ * **Controller Callback Inheritance:** Fixed a critical issue where `before_action`, `around_action`, and `rescue_from` definitions in a parent class (like `ApplicationController`) were not being inherited by child controllers. Migrated internal storage to `class_attribute` with deep duplication to ensure isolated, thread-safe inheritance without mutating the parent class.
6
+ * **Gemspec Hygiene:** Updated the `spec.description` to resolve RubyGems identity warnings and added explicit minimum version boundaries for standard dependencies (e.g., `json >= 2.0`).
7
+
8
+ ### 🌟 Observability & DX (Developer Experience)
9
+ * **Structured Remote Errors:** `BugBunny::Resource` now intelligently formats the body of remote errors. When raising a `ClientError` (4xx) or `InternalServerError` (500), it extracts the specific error message (e.g., `"Internal Server Error - undefined method 'foo'"`) or falls back to a readable JSON string. This drastically improves the legibility of remote stack traces in monitoring tools like Sentry or Datadog.
10
+ * **Infrastructure Logging:** The `Consumer` and `Producer` now calculate the final resolved cascade options (`exchange_opts`, `queue_opts`) and explicitly log them during worker startup and message publishing. This provides absolute transparency into what configurations are actually reaching RabbitMQ.
11
+ * **Consumer Cascade Options:** Added the `exchange_opts:` parameter to `Consumer.subscribe` to fully support Level 3 (On-the-fly) infrastructure configuration for manual worker instantiations.
12
+
13
+ ### 📖 Documentation
14
+ * **Built-in Middlewares:** Added comprehensive documentation to the README explaining how to inject and utilize the provided `RaiseError` and `JsonResponse` middlewares when using the manual `BugBunny::Client`.
15
+
16
+ ## [3.1.1] - 2026-02-19
17
+
18
+ ### 🚀 Features
19
+ * **Infrastructure Configuration Cascade:** Added support for dynamic configuration of RabbitMQ Exchanges and Queues (e.g., `durable`, `auto_delete`). Configurations can now be applied across 3 levels:
20
+ 1. **Global Default:** Via `BugBunny.configure { |c| c.exchange_options = {...} }`.
21
+ 2. **Resource Level:** Via class attributes `self.exchange_options = {...}` on `BugBunny::Resource`.
22
+ 3. **On-the-fly:** Via `BugBunny::Client` request kwargs or `Resource.with(exchange_options: {...})`.
23
+
24
+ ### 🛠 Improvements
25
+ * **Test Suite Resilience:** Updated internal test helpers to use global cascade configurations, resolving `PRECONDITION_FAILED` conflicts during rapid test execution.
26
+
2
27
  ## [3.1.0] - 2026-02-18
3
28
 
4
29
  ### 🌟 New Features: Observability & Tracing