Changelog History
-
v0.9.0 Changes
September 04, 2017๐ This long overdue release of Scrolls brings it up speed with modern Ruby releases, improves the codebase and overall provides a better platform for further development.
๐ง After years of poor maintenance, Scrolls should now be usable again on recent versions of Ruby. In order to bring it up to speed, a number of backward incompatible changes were made:
- ๐
Scrolls#global_context
is no longer mutable (see #54 and #71) - 0๏ธโฃ Scrolls is now initialized using
Scrolls#init
(though it doesn't have to be if the defaults are enough) ๐
Scrolls#log_exception
has changed to the following method shape (see #60):Scrolls.log_exception(exception, data)
โฌ๏ธ Drop support for Ruby 1.8.7 and 1.9.3 (though it may work on the latter)
โ Additional changes include:
- โ Added functionality to escape keys of log data (see #67)
- Cleaned up codebase organization
- ๐ Fixed tests
- ๐ Fixed thread local context in recent Ruby versions
- ๐ Don't fail with
nil
error if unknown log level used (see #65)
๐ The documentation has been mostly updated as well, though I plan to rework it all in the future.
๐ I apologize for taking this long to bring the codebase up to speed and the overall lack of communication around the library. If there are still any users out there, thanks for your patience. I hope this release sets us up to add some much needed features (improved parsing, JSON output support, etc) soon.
- ๐
-
v0.9.0.pre Changes
August 23, 2017๐จ This dev version breaks backwards compatibility for Scrolls. It is a rework/refactor of the initial work done in the following PR: #54.
Please report any bugs you find with this version on: #71
Backward Incompatible changes
- The #global_context is no longer mutable, instead we instantiate a class internally inside Scrolls::Logger that contains the global_context. This is to avoid various bad thread behaviors, that previous to Ruby 2.0, were allowed.
- The result of the above change removes #add_global_context.
- 0๏ธโฃ Currently Scrolls needs to be instantiated to be used (Scrolls.init(options)) however I'd like to work on a method for allowing one to just use Scrolls.log and get sane defaults.
- ๐ Due to this massive change I moved to "single line exceptions" by default since it lowers the amount of data produced by Scrolls when using #log_exception without losing the information.
- ๐ Officially kills Ruby 1.8.7 support (though literally no one should be using that version).
NOTE : I don't have a great setup right now to test everything here. I'm testing against Ruby 2.4.1 and all tests pass. Please test if you can. I'm going to cut a release of this version, 0.9.0.pre. I'm jumping versions here since we break backward compatibility. I'm hopeful with this and subsequent versions we can get to a place where a version 1.0 is a reality.
โ Please test this version as much as possible!
-
v0.3.9 Changes
August 22, 2017- ๐ Fix behavior for threaded environments, see #66
- ๐ Fixes issue with broken syslog behavior, see #70
IMPORTANT : This will be the last release with the current behavior. As noted in v0.3.8 release there are changes pending that break backward compatibility. I will bump the release appropriately. More information in this issue and the documentation here.
๐ท I apologize for the pour job I have done maintaining this gem for the past few years, I haven't worked much in Ruby over that time and let this go way too long. I will be working to clean it up and make sure everything is in order for Ruby versions 2.4+. Thank you for your patience.
-
v0.3.8 Changes
February 11, 2014- ๐ Fix bug with Logger compatibility methods, see #56.
- โ Add tests and cleanup our testing setup to use new
#init
.
IMPORTANT : v0.3.9 will likely be the last minor release with current behavior. See documentation here and this issue on the changes in progress. Note, that when we do finally axe backwards compatibility the version will be bumped to 0.9.0 to avoid any conflicts and to signify the breaking changes. We will then spend 9 releases tightening up the API, testing and documentation to hit v1.0.
-
v0.3.7 Changes
February 10, 2014- IMPORTANT Added warnings added around the planned deprecation of
#add_global_context
and#global_context()
. See this document for more details. These warnings are currently sent to$stderr
. - โ Add helper methods to support
Logger
functionality. These include#warn
,#fatal
and the like. This allows Scrolls to be a drop in replacement forLogger
. - โ Added
Scrolls#init
to mimic future behavior being laid out in this PR.
- IMPORTANT Added warnings added around the planned deprecation of
-
v0.3.6 Changes
January 23, 2014- ๐ฒ Add support for
#log_exception
to generate a single log message for the entire exception (including backtrace). UseScrolls.single_line_exceptions = true
to turn on the new behavior.
- ๐ฒ Add support for
-
v0.3.5 Changes
January 17, 2014- ๐ Fix odd behavior with Scrolls generated timestamps (#49)
-
v0.3.4 Changes
January 14, 2014- Auto-quote values containing commas or colons
-
v0.3.3 Changes
October 15, 2013- โ Add support for Strings sent to
#log
- โ Additional work around quoting.
- โ Add support for Strings sent to
-
v0.3.2 Changes
September 26, 2013- Properly verify whether or not our syslog connection is open.
- ๐ Handle the situation where a syslog facility is changed after we've already connected to syslog.
- ๐ Includes ISO8601 parsing and fix
#unparse
to use the proper Ruby ISO8601 format.