### 2.0 / 2016-05-31
* Rewrite! Over the last year, a number of deficiencies have been found,
especially related to the extensibility and the execution of various
phases. Cartage 2.0 is a rewrite of major parts of the system and is
intentionally not backwards compatible with Cartage 1.0. Documentation for
upgrading is provided.
* Changed from CmdParse to GLI for providing CLI interface structure.
* Removed the -E/--environment flag and support for environment-tagged
configuration.
* Added compression configuration. Supported types are bzip2, gzip, and
none. The default remains bzip2.
* The release_hashref file is no longer created. It has been replaced
with release_metadata.json. This contains more information and requires
cartage-rack 2.0 to display.
* Plug-ins have changed:
* Plug-in capabilities must be provided in the gem path
lib/cartage/plugins.
* Plug-ins declare their feature support to indicate the points that
they will be called during the packaging process.
* Plug-in commands must be provided in the gem path
lib/cartage/commands. These commands are always available.
* Plug-ins are currently automatically enabled on discovery and may
be explicitly disabled in configuration. Future versions of Cartage
will support explicit plug-in selection in configuration.
* Made more functions public for use by plug-ins.
* Removed support for default configuration files outside of a project
directory. Only config/cartage.yml, .cartage.yml, and
cartage.yml will be read now.
$HOME/.config/cartage.yml, $HOME/.cartage.yml, and
/etc/cartage.yml are no longer read. The previous behaviour
can be obtained with ERB insertion into one of the project-specific
files, as shown below. This pattern is not recommended.
---
# cartage.yml
% candidates = []
% candidates << "#{ENV['HOME']}/.config/cartage.yml"
% candidates << "#{ENV['HOME']}/.cartage.yml"
% candidates << '/etc/cartage.yml'
% global = candidate.select { |c| File.exist?(c) }
<%= Cartage::Config.import(global) %>
* Extracted bundler support as a new gem,
[cartage-bundler]{https://github.com/KineticCafe/cartage-bundler}.
* Extracted tarball building as a built-in plug-in,
Cartage::BuildTarball.
* Added Cartage::Minitest to provide methods to assist with testing Cartage
and plug-ins using Minitest.
### 1.2 / 2015-05-27
* 1 minor enhancement:
* Added the chosen timestamp as the second line of the release hashref
files.
* 2 minor bugfixes:
* Fixed {#3}[https://github.com/KineticCafe/issues/3] so that spec and
feature directories are excluded by default. Provided by @jsutlovic.
* Fixed {#5}[https://github.com/KineticCafe/pulls/5] so that the manifest
* is deduplicated prior to write. Provided by @jsutlovic.
### 1.1.1 / 2015-03-26
* 1 minor bugfix
* Fixed a Ruby syntax issue with Ruby 2.0.
### 1.1 / 2015-03-26
* 1 major enhancement
* Added a Cartage::StatusError with an exitstatus support.
Cartage::QuietError is now based on this.
* 1 minor bugfix
* Restored an accidentally removed method,
Cartage::#create_bundle_cache.
* 2 documentation improvements
* Identified postbuild script stages.
* Improved the Slack notifier example postbuild script.
### 1.0 / 2015-03-24
* 1 major enhancement
* Birthday!