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.
3.0.1 - 2019-04-10
- Fixed a bug where
Timber.with_context
was calling a non-existent method. #205
3.0.0 - 2019-03-28
- Timber's Rails integration has been moved to the optional
timber_rails
gem: https://github.com/timberio/timber-ruby-rails - Timber's Rack integration has been moved to the optional
timber_rack
gem: https://github.com/timberio/timber-ruby-rack - Custom events are no longer nested under the
custom.event
key, events are now merged into the root document. - Custom contexts are no longer nested under the
context.custom
key, contexts are not part of the top-levelcontext
document. - The Timber JSON schema (
$shema
key) was dropped since the Timber.io service no longer requires a strict schema (structured data in any shape is accepted). Timber::LogDevices::HTTP#initialize
now takes a secondsource_id
parameter. Timber's new API keys are no longer Timber source specific and therefore require asource_id
to be specificed. Ex:Timber::LogDevices::HTTP.new('api_key', 'source_id')
.
- Fixes an issue where logging without specifying data would raise an error
- Fix nested hash in parameters not showing up in logs
2.6.1 - 2017-11-28
- Fixes an issue where a reference to the current custom context map was being capture during log line creation and then later self-modifying to make the context invalid.
2.6.0 - 2017-11-28
- Encoding and rewind issues for file upload parameters have been resolved. Timber improved attribute normalization across all contexts and events, ignoring binary values like this in general.
- Fixes
::ActionDispatch::ExceptionWrapper
version detection preventing theundefined method clean for #<Hash:->
error when an exception is raised in a Rack request.
2.5.1 - 2017-10-27
- Ensure the new
content_length
field for HTTP request and response events are an integer.
2.5.0 - 2017-10-27
- Remove social promotions during the installation process
- The default log device for development has been changed to a file (log/development.log) to follow Rails defaults.
- Adds an override for ActiveSupport::Buffered logger. This is a legacy class that was dropped in Rails >= 4. It lacked #formatter accessor methods, which was a bug that was never resolved.
- Capture
content_length
for both HTTP request and HTTP response events. This field is available in the log's metadata. The response event now includes the content length in the actual log message. The request message remains unchanged.
2.4.0 - 2017-10-23
- Adds the new
host
field into thehttp
context, bumping the log event JSON schema to3.2.0
.
2.3.4 - 2017-10-12
- Fix bug calling
Timber::Util::Request::REQUEST_ID_KEY_NAME12
to use the proper constant name.
2.3.3 - 2017-10-02
- Raises the limit on the
params_json
field for theControllerCallEvent
to32768
bytes. - Bump log event JSON schema version to
3.1.3
.
2.3.2 - 2017-09-27
- Drop ASCII-8BIT (binary) data before encoding to JSON. This resolves encoding errors during this process.
2.3.1 - 2017-09-26
- Forcibly fallback to SSLv23 if SSLv3 fails. SSLv3 is only used for outdated OpenSSL versions.
2.3.0 - 2017-09-26
- Added the ability to pass additional loggers when instantiating a
::Timber::Logger
.
- Update the installer to be platform aware, recommending the appropriate delivery method for the application's platform.
2.2.2 - 2017-09-14
- Remove Railtie ordering clause based on devise omniauth initializer. This is no longer necessary since we do not integrate with Omniauth anymore.
2.2.1 - 2017-09-13
- Omniauth integration was removed since it only captures user context during the Authentication phase. Omniauth does not persist sessions. As such, the integration is extremely low value and could cause unintended issues.
2.2.0 - 2017-09-13
- The default HTTP log device queue type was switched to a
Timber::LogDevices::HTTP::FlushableDroppingSizedQueue
instead of a::SizedQueue
. In the event of extremely high volume logging, and delivery cannot keep up, Timber will drop messages instead of applying back pressure.