DaemonKit endures to use semantic versioning, at least since the 0.3.0 release. Below is a curated list of important changes/fixes/improvements. You can use GitHub's excellent compare view to get the nitty gritty details.
- Bump development dependency versions for rspec & cucumber
- Tweak Ruby versions we run against on Travis (only 2.0 and up)
- Require 'fcntl'. #93
- No longer close IO we don't own when daemonizing. #85
- Fix missing ERB require. #89
- Ruby 2.2 compat fix. #91
- Removed the dependency on the i18n gem
- Locked rufus-scheduler dependency to 2.0.x #79
- Pass YAML files through ERB #80
- Ensure proper shutdown of AMQP connections #84
- No changes, released final version
- safely usage is now optional, although included by default. #73
- XMPP abstractions fixed and now requires Blather ~> 0.8.0
- Removed support for "freezing" daemon-kit into vendor/daemon-kit
- Added new "--edge" generator, creating a Gemfile that depends on daemon-kit's Github repo
- Removed nanite support, nanite hasn't released in years.
- Switched generators from Rubigen to Thor
- Added Travis builds
- Added Relish documentation for us
- Switched example specs to use "pending" instead of "violated"
- Running
daemon-kit
without arguments now shows help
- Depend on the 'safely' gem for the safely method and logging backtraces
- Fixed compatibility with ruote-amqp 2.2.0
- AMQP fixes by @marcbowes (version, reconnect)
- Updated to rspec 2 (various contributors)
- Various documentation fixes by @ktrix
- Remove vendored Thor
- Various load/require fixes by @ktrix
- SQS generator by @marcbowes
- Convert to use Bundler
- Fixed issue with our own amqp.rb file causing havoc on Ruby 1.8.7
- Generators rewritten to use Thor
- Evented XMPP now handled by blather
- Boot script fixes
- Removed Jabber generator, deprecating Jabber class (use XMPP)
- Upgraded Hoptoad notifications to V2 of the notifier API
- Fix various argument handling bugs
- Removed support for exception emails
- Improved log rotation support [mperham]
- Initial 1.9.2 support
- Exception handling for scheduled tasks (cron)
- Updates for ruote-amqp versions 2.1 and later
- Bug fix, don't load environment files twice [grockit]
- Renamed 'daemon_kit' executable to 'daemon-kit'
- Fixed some broken links in README.rdoc
- Sneaked in << on AbstractLogger for better Logger compatibility
- Support for Test::Unit in generated projects [skaar]
- Fixed missing DAEMON_ENV for test helpers
- Fixes for nanite configuration [skaar]
- Toughened up the ruote workitem parser
- Fixed issue with nanite services not being advertised correctly [Wijnand]
- Fixed some woes with rake if rspec gem is missing
- Ruote remote participants
- Allow process umask to be configured, defaults to 022
- Updates to DaemonKit::Config hashes
- Fixed argument parsing bug (reported by Mathijs Kwik (bluescreen303)
- Support for privilege separation (See Configuration.txt)
- Backtraces only logged on unclean shutdown
- AMQP generator got new keep alive code
- Optional logging of all exceptions when the daemon process dies unexpectedly
- Update generated environment.rb to reflect new backtraces option
- Fixed compatibility with rufus-scheduler-2.0.0 (or newer) in cron generator
- Started central eventmachine reactor management code
- Now depends on eventmachine
- Support for cucumber
- Fixed issue in daemon_kit:upgrade task
- Moved rspec generator into new home
- Removed conflicting rubigen generator, messed with our script directory
- Fixed bug where environment.rb overwrites some --config values (reported by Josh Owens)
- New AbstractLogger
- Default Logger backend
- SysLogLogger support
- More documentation
- Fixed bug with control script generator (thanks Sho Fukamachi)
- Enhanced deploy.rb template to check for current dk gem verion, unless vendored
- Fix bug in capistrano recipe for restarting daemons
- Added log:truncate rake task
- Error mails now handled by TMail
- Removed dependency on daemons gem, now handled in house
- New argument management
- Some more docs
- Fixed some minor issue with Capistrano support
- Added support for generating dog/monit configuration files via rake
- Initial implementation of ./script/* utilities
- Capistrano deployment support
- DaemonKit::Safety class to handle the trapping and logging of exceptions, as well as email notifications or Hoptoad notifications.
- New config/pre-daemonize and config/post-daemonize structure
- New tasks to simplify upgrading daemon-kit projects
- Fixed some other annoyances and bugs
- Bigger TODO list
- DaemonKit::Config class to easy the use of YAML configs internally, and in generated daemons
- Added missing rubigen dependency
- AMQP consumer generator added
- 'cron' style generator added
- Allow configuring dir_mode and dir (pid file location) (Jim Lindley)
- Ability to freeze the gem/edge copies of DaemonKit
- Simple non-evented Jabber generator
- Flexible UNIX signal trapping configuration
- Basic generator completed
- 1 small step for man, 1 giant leap for mankind