Revision history for Perl extension App::Sqitch

0.70  2012-07-12T13:24:13Z
     - Changed the `current_changes()` and `current_tags()` Engine methods so
       that they return iterator code references instead of lists.
     - Added the `search_events()` Engine method, to search the event log.
     - Added the `pager` attribute and `page()` methods to App::Sqitch.
     - Added support for `strftime:` and `cldr:` options to the `status`
       command's `--date-format` option.
     - Added the `log` command.
     - Added the `strftime:$string` and `cldr:$string` options to
       `--date-format` in the `status` and `log` commands.

0.60  2012-07-07T11:12:26Z
     - Removed some discussion of VCS integration, since it is not yet
       implemented, and it may be a while before it is.
     - Added `sqitchcommands`, documentation of the most common Sqitch
       commands, and fixed `--help` to show it.
     - Fixed `--man` to show the sqitch command documentation.
     - Fixed error handling for unknown commands, so that it displays a
       message saying the command is unknown, rather than a stack trace.
     - Adding a change after a tag now also inserts a blank line into the plan
       between the tag and the new change, for nicer plan file formatting.
     - Added the `status` command.
     - Added App::Sqitch::DateTime, a DateTime subclass with named formats.

0.51  2012-07-04T18:34:07Z
     - Added Role::HasMessage to the list or requirements in `Build.PL`. Was
       an oversight that it was omitted in v0.50.
     - Removed the `--dry-run` option. It was completely ignored. Maybe it
       will return someday.
     - Removed `fail()`, `bail()`, `unfound()`, and `help()`. It's better for
       commands not to exit, so have them throw exceptions in the appropriate
       places, instead.
     - Replaced all uses of Carp and non-exception handling uses of `die` with
       our own localized exceptions.
     - Localized all output and exception messages.

0.50  2012-07-03T19:55:20Z
     - Require a plan file.
     - Renamed "steps" to "changes".
     - New plan file spec.
       + Tags are just labels on a particular change, no longer a list of
         changes.
       + Dependencies now specified in the plan file, not in the deploy
         script.
       + Changes can be specified as deploys or reverts, though reverts
         are not currently supported.
       + Changes can be specified with an optional leading `+` for deploy or
         `-` for revert, which will eventually be important for conflict
         management.
       + Dependencies can be specified as other change names, tags, or a
         change as of a tag (e.g., `foo@beta`).
       + Pragmas can be specified with a leading `%`. Only `%syntax-version`
         is currently recognized; all others are ignored.
     - Renamed the `add-step` command to just `add`.
     - Added the `tag` command.
     - Added the `revert` command.
     - Added the `rework` command.
     - Added exception objects and started using them.
     - Added localization support and started using it.
     - Added IDs to changes and tags. These are SHA1s generated from the return
       value of the new `info` method, which describes the change or tag.
     - Updated the PostgreSQL engine to comply with the new Engine API.
     - Updated the PostgreSQL engine to use IDs for tracking changes and tags.
     - Eliminated the term "node" from the plan implementation and docs.
     - Updated the engine base class for the new plan API, and to just deploy
       changes one-at-a-time.
     - Added many new ways to look for changes in the plan, including:
       + `change_name`
       + `@tag_name`
       + `change_name@tag_name`
       + `change_id`
       + `tag_id`
     - The plan file can now be written out with nearly all white space and
       comments preserved.
     - Changed the `add` command to write out the plan file after a new change
       is added.
     - Change names can now be duplicated, as long as a tag name appears
       between them.
     - Renamed `target` to destination in Engine.
     - Started referring to the change to deploy or revert to in docs as the
       "target".
     - PostgreSQL errors will now be thrown as Sqitch exceptions, for proper
       handling during command execution.
     - Added required `core.uri` configuration setting. Used to keep change
       IDs unique across projects.
     - Added `--mode` option to `deploy`, to trigger reverts on failure to
       either:
       + Not at all: keep the latest successful change.
       + To the last deployed tag
       + To the point at which the current deploy started
     - Added the implicit tags `@ROOT` and `@HEAD` for looking up changes in
       the plan.
     - Renamed `sql_dir` to `top_dir` and made it default to the current
       directory.
     - Changed the location of the plan file to the top directory. This will
       make it easier to have plans and scripts for multiple database
       platforms in a single project.
     - Fixed a bug in the build process so that template files will be
       properly written to the `etc` directory.
     - Rewrote `sqitchtutorial` to reflect the new realities.
     - Updated `sqitch` documentation, and moved the plan file information to
       App::Sqitch::Plan.

0.31  2012-05-21T22:29:42Z
     - Fixed some typos and failing tests.

0.30  2012-05-18T15:43:12Z
     - The `init` command now properly writes out the `[core]` section header
       when there are only commented core setttings.
     - The `--requires` and `--conflicts` options to `add` now work
       properly.
     - Fixed anticipated Win32 test failures in `t/init.t`.'
     - Fixed the `--plan-file`, `--top-dir`, and other directory options so
       that they no longer throw errors, but actually work.
     - Implemented the plan parser. It's designed to later be subclassed to
       support VCS integration. Includes dependency parsing and sorting.
     - Switched to IPC::System::Simple instead for system/capture code.
     - Implemented Engine interface for deploying and reverting tags.
     - Implemented PostgreSQL engine. It uses a lock to ensure that only one
       deployment can run at any time.
     - Added the `deploy` command. it is now possible to deploy to a
       PostgreSQL database.

0.20  2012-05-01T02:48:47Z
     - Added `--local` option to `sqitch config`.
     - Renamed `project_file()` to `--local_file()` in App::Sqitch::Config.
     - `sqitch init` now writes core and engine config settings with default
       values to the configuration file. This makes it easier for folks to get
       started editing it.
     - Implemented `add` command. Includes support for system-wide or
       use-specific templates using Template::Tiny.
     - Added `etc` directory with default templates. This is installed into
       `$Config{prefix}/etc/skitch`, unless built with `--prefix` or
       `--install_base`, in which case it will simply be installed into `etc`
       in that directory.
     - Added `--etc-path`, so that one can know where the system-wide
       configuration and templates are to be found.

0.11  2012-04-27T06:44:54Z
     - Implemented `init` command.
     - Started sketching out the engine interface, with preliminary PostgreSQL
       and SQLite implementations.
     - Require Perl v5.10.1 (did before, but in the wrong place, so it was
       ignored).
     - Fixed test failures on different verions of Moose.
     - Fixed test failure on Perl 5.12.

0.10  2012-04-25T20:46:59Z
      - Initial unstable release.
      - Implemented `help` command.
      - Implemented `config` command, very similar to `git-config`.
