All Versions
Latest Version
Avg Release Cycle
160 days
Latest Release
2422 days ago

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 for Logger.
    • โž• Added Scrolls#init to mimic future behavior being laid out in this PR.
  • v0.3.6 Changes

    January 23, 2014
    • ๐ŸŒฒ Add support for #log_exception to generate a single log message for the entire exception (including backtrace). Use Scrolls.single_line_exceptions = true to turn on the new behavior.
  • 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.
  • 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.