Revision history for Perl extension App::Sqitch 0.71 2012-07-12T15:30:27Z - Updated the example `sqitch log` output in `sqitchtutorial`. - Changed the terms "actor", "agent" to "committer" throughout the API and output. - Renamed the `events` table columns from `logged_at` and `logged_by` to `committed_at` and `committed_by`. 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 settings. - 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`.