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.
compose
receives two parameters now -responses
andrails_controller
- Use
Rails.application.executor.wrap
for application code running inside new thread
- Add composition mode
- Now ONTIME flipper flags can work with any hours range
- Now hours range don't include last value to work
- Add put request support
- Add handler for Faraday::ConnectionFailed
- Add retry connection support
- Add
action.render = ->(mirror_result) { ... }
lambda
- allow to configure timeout per route
- rename "proxy_http_verb" to "proxy_http_method"
- add support for enabling work mode by request header
- use net_http_persistent for proxying
- enable replace mode (it was temporarily commented out in the source code)
- in the replace mode a value returned from action.mirror block is passed directly to the #render method
- action.flipper_actor lambda can now return an array of actor IDs instead of a single actor ID
- automatic feature flags name now has BEM-like formatting: "controller-path__action-name--work-mode" (because of Flipper UI limitations/recomendations)
- action.compare is called for failed origin/proxy responses too
- the first argument of action.compare block (called origin_result) is a hash of the form {body:, status:, headers:}
- metric renamed: sbmt_strangler_compare_result -> sbmt_strangler_compare_call_result
- Create feature flags after the app fully initialized and handle flag creation errors
- add support for mirror and replace modes
- add config options: action.mirror, action.compare, configuration.flipper_actor
- add to Mixin: #track_mirror_call, #track_compare_call, #track_compare_result
- rename Mixin#render_proxy_response to Mixin#render_origin_response
- rename Mixin#track_work_tactic to Mixin#track_work_mode
- Sbmt::Strangler::Http::Transport#get|post_request returns response body as String (it skips parsing body as JSON).
- Fix from v0.2.2 ported to v0.3.0
- filter out IDs like 'R608473650' from Faraday metric 'path' tag
- add metrics for http client request
- ignore inherit constants in Sbmt::Strangler::ConstDefiner
- initial release with proxy tooling
- ignore inherit constants in Sbmt::Strangler::ConstDefiner