CHANGELOG
* HEAD
- Upgrade to using Ruby on Rails 3.0 and Rack 1.2.
- Complete UI refresh.
- Improved compatibility with MRI 1.8.7, 1.9.2 and JRuby. Removed support for Ruby 1.8.6.
- Defaults to using Git as the SCN tool of choice.
- Added "just do the right thing" support for Bundler (http://gembundler.com).
- Internal dependencies are now managed using Bundler.
- Plugins are now versioned and stored in the CruiseControl.rb-contrib project on Github.
- Added a "kill build" button for killing builds that go astray.
- Adding a ScheduledBuildTrigger that allows more fine-grained control over build scheduling.
- Improved documentation for contributors and CC.rb developers.
- Improved online documentation for end users.
- Added a site_config option to disable code browsing.
- Fixed TLS incompatibility with various Ruby versions
- Improved timezone support for cctray feeds.
- Use jQuery 1.6.1 instead of prototype.js
- Storing and passing to plugins a full revision GUID. Displaying in web UI only first 7 characters thereof.
- Occasionally, cleaning up old builds resulted in phantom unfinished builds. Not anymore.
- Prevent 'git fetch origin' from hanging by ensuring that it's killed within 5 minutes (see Configuration#git_load_new_changesets_timeout).
- Allow forcing of builds on a schedule even if there are no SCM changes (Project#scheduler.polling_interval and Project#scheduler.always_build).
- Added the ability for Git's log parser to handle encoding as part of the commit object. This brings CC.rb into complete compliance with git master's object format.
- Improved plugin loading.
------------------------------------------------------------------------------------------------------------------------
* 1.4.0
- support for Git, Bazaar and Mercurial (distributed source control systems) [Ben Burkert, Brett Adam, Biju Philip Chacko, Chris Johnston, johnf(https://cruisecontrolrb.lighthouseapp.com/projects/9150/tickets/236-add-bazaar-support)]
- 'cruise add' command:
* -u|--url option is deprecated in favor of -r|--repository - in some cases what goes there is not a URL
* can be invoked as ./cruise add [project name] [repository name]
* -s | -source-control option added to specify the source control type
* infers source control type from repository location if it starts with svn:, svn+ssh: or git:
- 'cruise stop' command:
* currently only works for mongrel in daemon ('-d') mode
- build log parser recognizes errors, failures and example counts produced by RSpec
- dashboard strips out ANSI colors when displaying a build log
- added google analytics to the documentation pages (which is effectively the ccrb website)
- [bugfix] dashboard gracefully handles the situation where there is site.css, but ./public/stylesheets is not a
writeable directory (prints a warning and keeps going on)
- [bugfix] Added XmlServerReport.aspx for compatibility with CCTray.NET >= 1.3 [Steve Donie]
- [bugfix] cruise start --daemon works with Webrick
- [bugfix] stop builder processes from going zombie by using Process#detach [Kurtis Seebaldt]
- [bugfix] made image URLS in stylesheets relative [Anselm Helbig]
- [bugfix] Make dashboard xhtml compliant
- [bugfix] Recognize OpenBSD as a platform
- Improve daemon_helper to kill all child processes (don't leave any orphans)
- [bugfix] Timeout if 'git fetch origin' hangs. Configurable via git_load_new_changesets_timeout.
Fixes https://cruisecontrolrb.lighthouseapp.com/projects/9150-cruise-control-rb/tickets/229-sometimes-git-hangs
- [bugfix] Extensive improvements to the technical accuracy, hopefully, readability of the documentation.
------------------------------------------------------------------------------------------------------------------------
* 1.3.0
- cruise data (build results, etc) is stored in $HOME/.cruise/ by default
- builds can now be serialized - with a config option set, CC.rb will only run one build at a time
- option to auto delete more than N builds
- [experimental] plugins can be installed w/ script/cruise_plugin script
- [bugfix] build requested status now stays on dashboard until a build starts
- [patch] subversion external support - Nathan Wilmes
- [patch] relative url support - Neal Clark
------------------------------------------------------------------------------------------------------------------------
* 1.2.1
- [bugfix] fixed some windows specific things to do with running a server
------------------------------------------------------------------------------------------------------------------------
* 1.2.0
- build chaining implemented w/ triggers
- recognized NetBSD as a platform
- some optimizations for dashboard / CCTray performance
- data version of ./projects directory is stored, and necessary migrations are run automatically if cruise version
number is bigger than data version
- setting CC_BUILD_LABEL environment variable before invoking the build
- [bugfix] no longer passing in 'production' as RAILS_ENV to rake cruise
- [bugfix] handle Subversion URLs with spaces; generally improved escaping of special characters
on the command line
- [bugfix] Email notifier works with non-TLS enabled SMTP servers
------------------------------------------------------------------------------------------------------------------------
* 1.1.0
- individual RSS feeds for each project
- documented options configurable through config/site_config.rb
- added a "from" option to EmailNotifier configuration
- added Growl notifier to available plugins
- email notices can contain either full build log, or a link to the dashboard
- builder does not clear RAILS_ENV environment variable before calling custom tasks
- builder always sets RAILS_ENV environment to 'test' before calling default tasks
- "cannot connect to Subversion" situations, plugin errors and other problems that occur outside of a build loop are
now displayed on the dashboard
- custom project settings are displayed on the build log page
- [bugfix] Fixed cruise start --daemon option
- [bugfix] Removed incomplete builds from RSS feeds
- [bugfix] CC.rb can now live with localized (non-English) Subversion
- [bugfix] Fixed problems with CCTray introduced in 1.0 by adding a new build status 'incomplete'
- [bugfix] Corrected documentation to say "[cruise]/projects/" instead of "[cruise]/builds/"
- [bugfix] Recognize Solaris as a platform
------------------------------------------------------------------------------------------------------------------------
* 1.0.0
- IMPORTANT: 'project_config.rb' renamed to 'cruise_config.rb'
- IMPORTANT: RAILS_ENV is not set to "test" before calling "cruise" or a custom Rake task
- checkins (and comments) now show up on dashboard
- cruise_config.rb can be in either [cruise]/projects/my_project/ or [cruise]/projects/my_project/work/. In other
words, cruise_config.rb can be placed directly into the version control and obtained from there.
- Build Now button changes buider state to 'build requested' immediately upon click
- long lines on build page are better after putting the build log on the right column, they scroll off the screen,
but not under build list
- build artifacts are now in their own section on build page
- in progress builds are now shown on dashboard
* if you go to the the in progress build page, build artifacts & build log are visible as they are created / saved
- new look and feel for http://cruisecontrolrb.thoughtworks.com/
- comprehensive documentation built into app
* plugin documentation is dynamic and loaded from plugin file / directory
- project settings are displayed on the build page
- Email notifier sends a link to the build page in the message if Configuration.dashboard_url is set,
or changeset, build output and project settings otherwise
- [bugfix] dashboard doesn't load cruise_config.rb, and therefore is not affected by errors in it
- [bugfix] --username and --password options in add_project didn't work
- [bugfix] Rendering of long lines in build log on IE
- [bugfix] RSS feed autodiscovery link was wrong for any action that did not belong to ProjectsController
------------------------------------------------------------------------------------------------------------------------
* 0.5.0
- IMPORTANT: working directory renamed from 'builds' to 'projects'
- drill down from error message to to source code
- when builder detects a change to cruise_config.rb, it automatically reloads the project (no need to restart
the builder)
- 'cruise start' starts dashboard and all project builders (unless -e development or --without-builders option is
specified)
- 'cruise start' starts dashboard in production environment. Use 'cruise start -e development' for development.
- more, and better, documentation
- plugin for sending build notices as instant messages via Jabber protocol (should work with IRC, ICQ, Yahoo, MSN,
Google Talk or anything else that has a Jabber transport).
- 'build add' does not create cruise_config.rb, and therefore does not write down SVN user/password (relying on
password caching and/or key-based authentication and/or read-only anonymous access.
- builder plugins receive build_broken and build_fixed events when build status goes from green to red and vice versa
- RSS feed
- default SVN polling interval changed to 30 seconds
- dashboard displays who committed and their comments
- dashboard displays how much time did it take to perform a build
- [bugfix] Debug-level messages are logged in development mode
- [bugfix] Running builder doesn't block the dashboard on Windows
- [bugfix] Test Failure Parser correctly parses failure messages from Mocha
- [bugfix] dashboard autorefresh handles adding/deleting a project
------------------------------------------------------------------------------------------------------------------------
* 0.4.0
- pretty user interface
- 'Build now' button
- dashboard displays projects as panels, not table rows
- monitoring cruisecontrol.rb builds with CCTray.net
- browser autorefresh - seeing latest build status without hitting 'refresh' on browser
- builder's current activity (down/sleeping/checking for modifications/building) on the dashboard
- builder plugin may be packaged as a directory with multiple files. It must have init.rb then.
- plugin error handler: if a plugin raises an error in response to notification, builder logs the error,
notifies all other plugins, then raises an error of its own (thus triggering the build_loop_failed event)
- improved error handling during builder initialization
- Bugfix: blocked spaces in project names
------------------------------------------------------------------------------------------------------------------------
* 0.3.0
- builder is building 'cruise', 'test' or 'default' target, depending on what is defined in the project
- when build is running, OS variable CC_BUILD_ARTIFACTS is pointing to the build artifacts directory
- customizable Rake task and build command
- customizable polling interval
- Handling of build loop errors (other than 'Build Failed')
- improved logging
- if builder is invoked with --trace option, it calls Rake with --trace option, too
- Bugfix: explicitly require 'rubygems' before trying to require 'rake', do not rely on RUBYOPT=-rubygems to be set.
- Bugfix: Adding a project a second time deletes the original
- Bugfix: Parsing SVN log output for a revision made by anonymous author
------------------------------------------------------------------------------------------------------------------------
* 0.2.0
- Unified command-line interface to web app, builder and add_project script
- Default port changed to 3333 (to avoid clashing with other Rails apps)
- Bugfix: builder invoking Rake with RAILS_ENV OS variable set to 'builder'
- Bugfix: not all Windows installations have rake.cmd
- Bugfix: CC.rb trying to build itself when a project has no Rakefile
------------------------------------------------------------------------------------------------------------------------
* 0.1.0
- Initial release.