App-Sqitch

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

       environment variable from the Oracle tutorial. Thanks to Austin Hanson
       for the report (#845).
     - Improved unexpected error output by including any previous exception.
     - Changed the "unknown engine" error to a runtime error, rather than
       development time, with a localized error message. The error loading
       the engine package and the stack trace remain available by using
       triple verbosity (`-vvv`). Thanks to Martin Fischer for the report
       (#838).
     - Changed the default error code from Oracle `sqlplus` from `SQL.SQLCODE`
       to `4`, because otherwise the exit code is returned `modulo 256`,
       meaning it can end up `0` for success for an SQL error code like
       `ORA-01792`. Selected `4` as the replacement to match the behavior of
       Exasol and because `FAILURE` maps to exit code `1`, which has in the
       past been more akin to a warning. Thanks to @vectro for the report
       (#831).
     - Added checks for the existence of deploy and revert files when
       deploying and reverting. Previously Sqitch deferred such errors to the
       CLIs, but they're never called when using `--log-only`. Thanks to
       @vectro and Erik Wienhold for the suggestion (#828).
     - Fixed a bug where the MySQL engine failed to properly handle target
       URIs with no database name. Thanks to Felix Zedén Yverås for the report
       (#821).
     - Updated the MySQL engine to omit the `checkit()` function when using
       binary logging and Sqitch lacks super user permissions. Thanks to Scott
       Edwards for the report and to Janosch Peters for the solution (#824).
     - Taught the Snowflake engine to detect when the Sqitch user lacks
       permission to create a schema and to skip the creation of the registry
       schema. Useful for cases when the registry schema was created in
       advance. Thanks to Peter Wimsey for the suggestion (#826).
     - Switched the MySQL engine from DBD::mysql to DBD::MariaDB for better
       compatibility with older versions of the MySQL client library and for
       its Unicode improvements. Thanks to Mark Tyrrell for the report and
       @tiberiusferreira and Perl Monks `1nickt` and`InfiniteSilence` for the
       feedback (#825).

1.4.1  2024-02-04T16:35:32Z
     - Removed the quoting of the role and warehouse identifiers that was
       added to the Snowflake engine in v1.4.0. Turns out Snowflake allows a
       warehouse to be specified in a different database, in which case dots
       are valid in the name and should not be quoted! So users must properly
       quote when necessary, but added notes to `sqitchtutorial-snowflake.pod`
       on the need to use URI escapes for special characters. Thanks to
       Patrick Sabo for the find, and to @marc-marketparts for validating
       that URI encoding works.
     - Added notes on URL encoding database URLs to `sqitch-target.pod`, the
       main reference for database URLs in the Sqitch documentation.
     - Fixed the output of the list of changes to be deployed or reverted to
       actually require `--verbose` twice, as described in the v1.4.0 changes,
       and not just once. Thanks to Erik Wienhold for the PR (#785)!
     - Removed the duplicate change name from the output of the list of
       changes to be deployed or reverted with `-VV`. Thanks to Erik Wienhold
       for the PR (#787)!
     - Fixed invalid template resolution when adding a singe change to
       multiple engines at once. Thanks to Christian Riedel for the detailed
       bug report (#795)!
     - Fixed Oracle and Firebird test failures due to incorrect use of `chmod`.
       Thanks to Slaven Rezić for the report and the fix (#807)!
     - Tests now require Test::Warn 0.31 or later, as newline handling issues
       cause test failures in earlier versions. Thanks to Slaven Rezić for the
       test reports and for identifying the issue.
     - Updated the locale configuration to fix issues in more recent versions
       of Perl, and added tests to ensure that the sqitch CLI executes and
       properly emits localized messages (except on Windows, where the language
       codes are incompatible).
     - Fixed an issue where the MySQL engine failed to recognize the MariaDB
       `mysql` client installed by Homebrew on macOS. Thanks to Carlos Ramos
       for the bug report and PR (#791)!

1.4.0 2023-08-01T23:37:30Z
     - Fixed Snowflake warehouse and role setup to properly quote identifiers
       unless they're valid unquoted identifiers or already quoted. Thanks to
       @marc-marketparts for the report (#685).
     - Fixed a bug reworking a change when a rework directory is configured
       but not created. Thanks to @jfeaver for the report (#686).
     - Output the list of changes to be deployed or reverted when `--verbose`
       is specified at least twice. Thanks to @vectro for the PR (#702).
     - Fixed the formatting of the log and plan commands to allow empty or `0`
       separators in lists of things (such as `%{0}t` for a list of tags).
       Thanks to @web-vertalo for the pull request (#703).
     - Updated the MySQL Tutorial to use 5.7 features. Thanks to Vlad
       Safronov for the PR (#705).
     - Deprecated the `no_prompt` and `no_prompt` attributes of
       App::Sqitch::Engine in favor of passing booleans to the `revert` and
       `verify` methods. The attributes still exist for reverse compatibility,
       but now emit warnings and will be removed in the future. Thanks to
       Thanks to @vectro for the PR (#704).
     - Added a warning for a double extension on the file names created
       by the `add` command. Thanks to @blairjordan for the PR (#724)!
     - Added the `revert.strict` boolean configuration variable which, when
       set to true, requires the specification of a change to revert to. It
       also disables the `rebase` and `checkout` commands, though the
       `rebase.strict` and `checkout.strict` variables, respectively, may
       override it. Use `revert.strict` to prevent accidental reverts in
       sensitive environments. Thanks to @vectro for the PR (#719; revised in
       #735)!
     - Fixed test failures due to a bug fix in the Perl URI module
       (libwww-perl/URI#13). Thanks to @bobfang for the report (#744)!
     - Fixed test failures due to a change in the generation of DBI DSN by
       URI::Oracle introduced by libwww-perl/URI-db#23.
     - Added a format option `%F` to `sqitch plan` that prints the path for
       the deploy file for each migration in the plan.
     - Changed the default location for the Oracle `sqlplus` client when the
       `ORACLE_HOME` environment variable is set. It now returns either
       `$ORACLE_HOME/bin/sqlplus` or `$ORACLE_HOME/sqlplus` if it exists
       and is executable (and ends in `.exe` on Windows). Otherwise it simply
       returns `sqlplus` as before, assuming it will be found in the path.
       Thanks to @vectro for the suggestion (#747).
     - Increased the required version of DBI to 1.631 or higher and removed
       a MySQL engine workaround for older versions.
     - Added detection of a missing registry schema on connect and conditions
       to avoid querying it when it does not exist. Fixes an issue where
       Sqitch might find a project record in the current schema instead of the
       expected registry schema. Thanks to @vectro for the report and
       investigation (#668)!
     - Fixed Snowflake and MySQL to properly raise errors on session query
       failures immediately after connection.
     - Fixed the handling of unique violations for deploy script hash
       uniqueness so that it no longer returns a database error but properly
       reports the issue in a more human-friendly error message. Thanks to
       Stefan Badenhorst for the reminder (#630).
     - Updated the registry SQL scripts for Vertica to always enable primary

Changes  view on Meta::CPAN

     - Removed `no Moo::sification`, to allow modules to be used by Moose
       applications. Replaced with tests to make sure Sqitch itself never uses
       Moose. Thanks to @perigrin for the PR (#332).
     - Specifying a change before a target name on the command-line no longer
       ignores the target (#281).
     - The `--db-*` options are now more consistently applied to a target,
       including when the target is specified as a URI (#293).
     - `HEAD` and `ROOT` are now properly recognized as aliases for `@HEAD`
       and `@ROOT`, when querying the database. This was supposedly done in
       v0.991, but due to a bug, it wasn't really. Sorry about that.
     - The `revert` and `verify` commands will now fail if a change is
       specified and matches multiple changes. This happens when referencing a
       reworked change only by its name. In this case, Sqitch will emit an
       error listing properly tag-qualified changes to use. Suggested by Jay
       Hannah (#312).
     - Sqitch no longer returns an error when a target name is passed to a
       command and the default target's plan file does not exist (#324).
     - Added missing options to the `rework` usage statement. Thanks to Jay
       Hannah for the PR (#342).
     - Passing an engine name or plan file as the `<database>` parameter to
       the `log`, `status`, and `upgrade` commands now works correctly,
       matching what the documentation has said for some time (#324).
     - Added the `--target` option to the `plan` and `show` commands.
     - Added the `<database>` parameter to the `plan` command.
     - Sqitch now loads targets from all config files, not just the local
       file, when trying to determine if a `<database>` parameter is a plan
       file name.
     - Improved the error message when a change is found more than once in a
       plan, typically a reworked changed referenced only by name. The error
       will no longer be "Key at multiple indexes", but "Change is ambiguous.
       Please specify a tag-qualified change:", followed by a list of
       tag-qualified variants of the change.
     - Fixed a bug where the verify command would return a database error when
       it finds no registry. Now it reports that the registry wasn't found in
       the database.

0.9995 2016-07-27T09:23:55Z
     - Taught the `add` command not to ignore the `--change` option.
     - The `add` command now emits a usage statement when no change name is
       passed to it.
     - The `add` command now helpfully suggests using the --change option when
       attempting to add a change with the same name as a target. Thanks to
       Ivan Nunes for the report!
     - The `tag` command now helpfully suggests using the --tag option when
       attempting to add a tag with the same name as a target.
     - Added `--global` as an alias for `--user` to the `config` command. This
       alias benefits the muscle memory of Git users.
     - Added a note for Git users to the `sqitch-revert` documentation, to
       head off potential confusion with `git revert`. Thanks to Eric
       Bréchemier for the "time travel" analogy and wording.
     - Fixed an "uninitialized value" error when creating a registry database
       on Windows. Thanks to Steven C. Buttgereit for the report (Issue #289).
     - Fixed editor selection to prioritize the `core.editor` configuration
       variable over the `$EDITOR` environment variable. The `$SQITCH_EDITOR`
       environment variable still trumps all. Thanks to Jim Nasby for the pull
       request (#296).
     - Added detection of the `$VISUAL` environment variable to Editor
       selection, prioritized after the `core.editor` configuration variable
       and before the `$EDITOR` environment variable. Thanks to Jim Nasby for
       the pull request (#296).
     - Updated the DateTime code to set the locale via `set_locale()` instead
       of `set()`, as the latter may actually change the local time
       unintentionally, and has been deprecated since DateTime v1.04. Thanks
       to Dave Rolsky for the pull request (#304).

0.9994 2016-01-08T19:46:43Z
     - Reduced minimum required MySQL engine from 5.1.0 to 5.0.0. Thanks to
       @dgc-wh for testing it (Issue #251).
     - Fixed floating-point rounding issue with SQLite registry versions on
       Perls with 16-byte doubles. Thanks to H. Merijn Brand for the report
       and testing.
     - Fixed an error when adding an engine with the `engine` command. Thanks
       to Victor Mours for the report and fix!
     - Updated the Oracle engine to support Oracle Wallet connection strings,
       where no username or host is in the connection URI. Thanks to Timothy
       Procter for the patch!
     - Improved the installer's selection of the prefix in which to install
       `etc` files to better match the `--installdirs` option, which defaults
       to the "site" directories. Thanks to @carragom for the pull request
       (#265).
     - Added missing dash to `-engine` in sample calls to `sqitch init` in the
       tutorials. Thanks to Andrew Dunstan for the spot (Issue #268).
     - Fixed broken Vertica documentation links.
     - Attempting to revert a database with no associated registry no longer
       reports the registry as version 0, but correctly reports that no
       registry can be found. Thanks to Arnaldo Piccinelli for the spot (Issue
       #271).
     - Fixed the search for change IDs in engines to match the search for
       changes. Specifically, change ID search now properly handles the
       offset characters `~` and `^`. This bug mainly affected the `verify`
       command, but it's good to address the inconsistency, done mainly by
       adding the `find_change_id` and `change_id_offset_from_id` methods to
       complement the `find_change` and `change_offset_from_id` methods.
       Thanks to Andrew Dunstan for the spot (Issue #272).
     - Fixed the `flips` table example in the MySQL tutorial. It was
       inappropriately copied from the PostgreSQL tutorial at some point.
       Thanks to Jeff Carpenter for the spot (Issue #254)!

0.9993  2015-08-17T17:55:26Z
     [Bug Fixes]
     - Eliminated test failures due to warnings from DateTime::Locale when
       `LC_TIME` is set to C.UTF-8. Thanks to Shantanu Bhadoria for the report
       and Dave Rolsky for the workaround.
     - Fixed an error checking the registry version when the local uses a
       comma for decimal values. Thanks to Steffen Müller for the report
       (Issue #234).
     - Worked around an error setting the MySQL storage engine using versions
       of DBI prior to 1.631. Thanks to melon-babak for the report!
     - Fixed an error from the Oracle engine when deploying more than 1000
       changes. Thanks to Timothy Procter and Minh Hoang for the report and
       testing the fix.
     - Fixed a bunch of typos in error messages, comments, and documentation.
       Thanks to Dmitriy for the pull request!
     - Fixed test failures due to new warnings from File::Path on Perl
       5.23.1.
     - On Firebird, Looking up a change and tag in the database (via the
       `--onto` option to `rebase` or the `--to` option to `revert`, among
       others) would sometimes return the incorrect change if the change has
       been reworked two or more times. Was fixed for the other engines in
       v0.9991.
     - Fixed the `--all` option used to apply a command to all known targets

Changes  view on Meta::CPAN

       for the pull request!
     - Eliminated "Wide character in print" warnings when piping the `log`
       command.
     - Documented that reworked changes do not have their verify tests run by
       the `verify` command. They do run when using the `--verify` deploy
       option.
     - Removed the documentation for the `add.with_deploy`, `add.with_revert`,
       and `add.with_verify` configuration variables, which were never
       implemented.

     [Deprecations]
     - Deprecated engine-specific connection attributes and configuration
       variables. See the "Internals" section for their replacements. The
       deprecated options are:
       * `core.$engine.username`
       * `core.$engine.password`
       * `core.$engine.db_name`
       * `core.$engine.host`
       * `core.$engine.port`
       * `core.$engine.sqitch_schema`
       * `core.$engine.sqitch_db`
     - Deprecated all command-specific options with the string "target" in
       them, such as `--to-target`, `--upto-target`, etc. They have been
       replaced with options containing the string "change", instead, such as
       `--to-change` and `--upto-change`. Few people used these options,
       preferring their shorter aliases (`--to`, `--upto`, etc.).
     - Deprecated the `--deploy-template`, `--revert-template`, and
       `--verify-template` options to the `add` command. They are replaced
       with a single option, `--use` which takes a key/value pair for the
       script name and template path. This makes it useful for arbitrary
       script generation, as well.
     - Deprecated the `--deploy`, `--revert`, and `--verify` options to the
       `add` command, as well as their `--no-*` variants. They are replaced
       with two new options, `--with` and `--without`, to which a script name
       is passed. These are useful for arbitrary script generation, as well.
     - Deprecated the `add.deploy_template`, `add.revert_template`, and
       `add.verify_template` configuration settings. They have been replaced
       with a section, `add.templates`, which is more general, and supports
       arbitrary script generation, as well.

     [Incompatibilities]
     - Removed the undocumented `--test` option to the `add` command.
     - Changed the meaning of `--target` from specifying a change to
       specifying a deployment target. Use the new `--change` option to
       specify a change.

0.983  2013-11-21T21:50:12Z
     - Fixed "Use of uninitialized value" in the MySQL engine. Thanks to
       Jean-Michel REY for the report.
     - All tests now protect against failures due to the presence of the
       `$SQITCH_CONFIG` environment variable (issue #114).
     - The installer now respects the `distdir` option to `Build.PL` when
       searching for existing templates. Important for packaging.
     - Fixed the error "Table 'sqitch.changes' doesn't exist" when deploying
       to a MySQL database that exists but has not been initialized. Thanks to
       Jean-Michel REY for the report!
     - Refactored the handling of the C<--log-only> option so it sets an
       engine attribute, rather than passing the flag to a whole stack of
       method calls.
     - Fixed "Argument "en_us" isn't numeric" error on Windows.
     - Now using `LC_ALL` instead of `LC_MESSAGES` when setting the locale, as
       the latter is not present on Windows.
     - The sqitch-pg RPM now requires DBD::Pg 2.0.0 or higher.
     - Improved handling of invalid command names so that the error message is
       less ambiguous when triggered by a Perl parse error.
     - Added `-m` as an alias for `--note`, for you Git folks out there.
     - Added exception handling to the Postgres and Oracle engines to avoid
       unexpected errors when deploying to a database that has not been
       deployed to before.
     - Updated detection of an uninitialized database to double-check with the
       engine that it really thinks it's uninitialized, not just that the
       "changes" table is missing. This should catch the case where the
       database has its own "changes" table unrelated to Sqitch.

0.982  2013-09-11T18:26:07Z
     - Errors thrown by Template toolkit are no longer silently ignored.
     - Variables passed to change templates are now cloned before the
       execution of each template. This prevents one template from deleting
       variable values another template might also need.
     - Fixed "The getpwnam function is unimplemented" errors on Win32.
     - No longer runs revert scripts when deploying with `--log-only` and a
       verify script fails, as that could lead to data loss (yikes!). Thanks
       to BryLo for the report (issue #112).

0.981  2013-09-06T00:22:26Z
     - Now use Encode::Locale to try to decode the user's full name from the
       system encoding when fetched from the system on all OSes. Note that
       this is not necessary if the `user.name` config is explicitly set, as
       recommended. Issue #107.
     - Removed the special-case handling of the user's full name fetched from
       the system on OS X.
     - Added call to `sleep` to test in an attempt to fix SQLite failures.
     - The SQLite engine now requires that the SQLite client be 3.3.9 or
       later, for support of the `-bail` option.
     - Bug fix: The MySQL engine now properly uses the host, port, and
       password options when connecting to the database. Thanks to vreb87 for
       the report!

0.980  2013-08-28T21:40:00Z
     - Changed the default SQLite Sqitch database name from
       `$dbname-sqitch.$suffix` to `sqitch.$suffix`. The `$suffix` still
       comes from the destination database name. This breaks compatibility
       with previous releases. If you need the old name, set it with
       `sqitch config core.sqlite.sqitch_db $dbname`.
     - Fixed encoding of the user's full name when fetched from the system on
       OS X. Thanks to Tomohiro Hosaka for the pull request!
     - Fixed test failures when DBD::SQLite is installed but compiled with
       SQLite 3.7.10 or lower.
     - Fixed a bug where declaring a dependency on a reworked change would
       incorrectly result in the error "Key "foo" matches multiple changes".
       Thanks to BryLo for the report (issue #103).
     - Modified tests to allow them to run in parallel without stomping on
       each other.
     - Bundling of options, such as `-vvv`, now works properly (issue #108).
     - Added alias `--get-regexp` for `--get-regex` to the `config` command.
       This brings it in line with the documentation for the `config` command
       (Issue #110).
     - Fixed all of the `config` command actions that contain a dash so that
       they actually work. Thanks to Ștefan Suciu for the report (issue #110).
     - All leading and trailing white space is now trimmed from plan notes,
       rather than just vertical white space. Thanks to Ronan Dunklau for the
       report (issue #106).
     - The `status` command now notices if the specified database is
       uninitialized and says as much, rather than dying with an SQL error
       (issue #109).
     - When reading the user's username from the system Sqitch now uses
       Encode::Locale to try to decode the value from the system encoding.
       Issue #107.
     - Compatibility change: Changed the location and name of script template
       files. Previously they were called `deploy.tmpl`, `revert.tmpl`, and
       `verify.tmpl`, and they lived in the `templates` subdirectory of the
       system-wide and user-specific configuration directories. They now live
       in subdirectories of the `templates` directory named for each action
       (deploy, revert, and verify), and with file names matching engine names
       (`pg.tmpl`, `sqlite.tmpl`, `oracle.tmpl`, and `mysql.tmpl`). The
       installer will move old files from the system-wide config directory
       (`sqitch --etc-path`) to their new homes, named `pg.tmpl` and
       `sqlite.tmpl`. It assumes no customizations exist for Oracle. If that's
       not true in your case, simply copy the `pg.tmpl` files to
       `oracle.tmpl`.
     - Added the `--template-name` option to the `add` command. By default, it
       looks for templates named for the current engine. The option allows for
       the user of task-specific templates. For example, if you create
       templates named `createtable.tmpl` in the `deploy`, `revert`, and
       `verify` subdirectories of `~/.sqitch/templates`, You can specify
       `--template-name createtable` to use those templates when adding a
       change.
     - Added the `--exists` option to the `show` command.
     - Fixed the `--set` option to the `add` command so that duplicate keys
       have their values passed to the template as an array, as documented.
     - If Template::Toolkit is installed, the `add` command will use it for
       processing templates instead of Template::Tiny. This makes it easy to
       upgrade the templating environment just by installing a module.

0.973  2013-07-03T13:47:22Z
     - Now Require DBD::SQLite compiled with SQLite 3.7.11 or higher. It
       always has, but now it throws a meaningful exception if an older
       version is compiled into DBD::SQLite. Thanks to Damon Buckwalter for
       the report.
     - When a deploy fails because of missing dependencies, the list of
       missing dependencies no longer contains duplicates. Thanks to Damon
       Buckwalter for the report.

0.972  2013-05-31T23:26:52Z
     - Fixed test failures on Windows.
     - Fixed locale configuration on Windows so that `sqitch` will actually
       run, rather than exiting with an error about `LC_MESSAGES` not being
       set.
     - Fixed a test hang on Windows when DBD::Oracle is installed but the
       Oracle libraries (`OCI.dll`) are not or cannot be found. This was
       triggering a UI dialog that did not dismiss itself. Using Win32::API
       to work around this issue. Thanks to Jan Dubois for the fix.

0.971  2013-05-18T21:08:51Z
     - Removed most uses of the smartmatch operator, since as of Perl 5.17.11
       it is marked as experimental, and silenced the warning where it is
       still used.
     - Added 0.1s sleep between logging changes back-to-back in the engine
       tests, mostly to try to get SQLite to generate different timestamps.
       Pretty sure the recent test failures have been due to the passage of
       less than a millisecond between the two inserts.
     - Added the `shell` and `quote_shell` methods to Sqitch.pm for shelling
       out a command.
     - Sqitch now shells out to an editor when opening a file for the user to
       edit. For example, if the `$EDITOR` environment variable is set to
       `"emacs -nw"`, it will now work. Thanks to Florian Ragwitz for the
       report (issue #80).
     - Removed the pod-checking tests from the distribution.

0.970 2013-05-09T00:21:06Z
     - Fixed the default ordering of changes displayed by the `plan` command.
       They are now ascending by default.
     - Switched to PerlIO::utf8_strict for fast character encoding and
       decoding.
     - The help emitted when an unknown option is passed to `sqitch` now
       consists of a usage statement and brief table of options, rather than
       the entire man page.
     - Added the project name in a header to the output of the `plan` command.
     - Added the Oracle engine.
     - Added `sqitchtutorial-oracle.pod`, a Oracle-specific variant of
       `sqitchtutorial.pod`.
     - Added missing version declaration to the App::Sqitch::Plan::* modules.
     - Devel::StackTrace 1.30 is now properly required (it was previously
       recommended).
     - The `--show-tags` and `--show-changes` options to the `status` command
       now show the changes when the project plan cannot be found (issue #90).

0.965  2013-04-23T16:25:59Z
     - Fixed failing test due to line-ending character variations on Windows.
       Many thanks to Jan Dubois for the testing help.
     - Replaced all uses of `$/` in output to `"\n"`. Thanks to Jan Dubois for
       pointing out the incorrect use of `$/`.
     - Fixed build error that prevented installation on Perl 5.10 when the
       parent module was not installed.

0.964  2013-04-15T18:47:30Z
     - Fixed test failures on Perl versions lower than 5.14 when DBD::SQLite
       or DBD::Pg is not installed.
     - Removed DBD::SQLite from the list of build dependencies.
     - Fixed test failures due to encoded (wide-character) warnings on
       triggered on systems with non-english locales. Thanks to Alexandr
       Ciornii for the smoke testing that revealed this issue.
     - Removed overriding of Throwable's `previous_exception` in
       App::Sqitch::X on Throwable 0.200007 and higher, where it is no longer
       needed.
     - Changed test comparing file contents that fails on Windows to do a
       looser comparison and hopefully fix the test failure.

0.963  2013-04-12T19:11:29Z
     - Fixed a test failure when Git is in the execution path and the test is
       not run from a Git checkout.
     - Added `plan` to `sqitchchanges`, the contents of which are shown when
       Sqitch is run with no command.
     - Removed the unique constraint on tag names in the database, as it
       prevented two projects from having the same tag name. Replaced it with
       a unique constraint on the project and tag names. Folks with production
       PostgreSQL installs should run these queries:
           ALTER TABLE sqitch.tags DROP CONSTRAINT tags_tag_key, ADD UNIQUE(project, tag);
           COMMENT ON COLUMN sqitch.tags.tag IS 'Project-unique tag name.';
     - Fixed failing tests when DBD::SQLite is not installed.
     - Removed dependency on Git::Wrapper. The `checkout` command does things
       very simply, and we already have tools for running command-line
       applications. So we just take advantage of that. The code is no more
       complicated than it was before.
     - Added the `core.vcs.client` configuration setting. Defaults to `git`
       (or `git.exe` on Windows).

0.962  2013-04-10T17:10:05Z
     - Fixed failing test on Perl 5.12 and lower.
     - Fixed the French translation by re-encoding it in UTF-8 (Ronan
       Dunklau).
     - Fixed the loading of the editor with placeholder text to properly
       encode that text as UTF-8 (Ronan Dunklau).

0.961  2013-04-09T19:21:15Z
     - Fixed error when running on PostgreSQL 9.0.
     - Added support for PostgreSQL 8.4.
     - Fixed the SQLite tests to skip the live tests when `sqlite3` cannot be
       found.
     - Fixed the Postgres tests to skip the live tests if `psql` cannot be
       found or cannot connect to the database.
     - Fixed the `checkout` test to skip tests that depend on Git and Git is
       not found in the path.
     - Fixed test failures on Windows (hopefully).
     - Made the order of commented configuration variables in the project
       configuration file deterministic. It will now always be the same order
       as specified by the engine class. This fixes test failures on Perl
       5.17.
     - Fixed encoding issue that caused test failures on Perl 5.17.
     - Requiring Devel::StackTrace 1.30, as earlier versions can
       intermittently suppress errors.
     - Added hack to `App::Sqitch::X::hurl()` to work around a bug in
       Throwable that prevents `previous_exception` from being set half the
       time on v5.17.

0.960  2013-04-05T23:04:35Z
     - Removed `-CAS` from the shebang line on Perl 5.10.0. This is to
       eliminate `Too late for "-CAS" option` errors. This means that UTF-8
       semantics will be suboptimal on Perl 5.10.0. Consider upgrading to 5.12
       or higher.
     - Added the `checkout` command. Pass it the name of a VCS branch, and it

Changes  view on Meta::CPAN

       the plan, it gets a new ID ID. The upshot is that things *must* be in
       order for a deploy to succeed. Existing deployments will automatically
       have their IDs updated by the `deploy` command.
     - Changed the `revert` command so that it *only* fetches information about
       changes to be reverted from the database, rather than the plan.
     - Deprecated the `@LAST` and `@FIRST` symbolic tags. With `revert` now
       fetching change information from the database, there is no longer a
       need to specify that changes be found in the database. It's possible
       some other way to search database changes will be added in the future,
       but if so, it will be less limiting than `@LAST` and `@FIRST`, because
       it will likely allow searches by literal tags.
     - Added the `rebase` command. This command combines a `revert` and a
       `deploy` into a single command, which should allow for more natural
       deployment testing during development. `sqitch rebase @HEAD^` should
       become a common command for database developers.
     - Duplicate values passed via `--requires` and `--conflicts` in the `add`
       and `rework` actions are now ignored.
     - The `add` command now throws an exception if `--template-directory` is
       passed or specified in the configuration file, and the specified
       directory does not exist or is not a directory. Thanks to Ronan Dunklau
       for the report! (Issue #52).
     - The `revert` command now prompts for confirmation before reverting
       anything. The prompt can be skipped via the `-y` option or setting the
       `revert.no_prompt` configuration variable. Works for rebase, too, which
       reads `rebase.no_prompt` before `revert.no_prompt`.' (Issue #49.)
     - Added the `show` command, which show information about changes or tags,
       or the contents of change script files. (Issue #57.)
     - Renamed the `test` scripts and planned command to `verify`.

0.938 2012-10-12T19:16:57Z
     - Added a primary key to the PostgreSQL `events` table, which should make
       it easier to support replication.

0.937 2012-10-09T21:54:36Z
     - Fixed the `--to` option to `deploy` and `revert`, which was ignored
       starting in v0.936.

0.936 2012-10-09T19:11:5Z2
     - Added `--set` option to the `deploy` and `revert` commands. Useful for
       setting database client variables for use in scripts. Used by the
       PostgreSQL engine.
     - Merged the contents of `dist/sqitch-pg.spec` into a subpackage in
       `sqitch.spec`. This allows both RPMs are created from a single build
       process. Simplifies things quite a bit and improves the flexibility for
       adding other engines in the future.
     - Reduced required Perl version from 5.10.1 to 5.10.0.
     - Fixed inconsistent handling of command options with dashes where some
       were ignored.
     - The bundle command now properly copies scripts for changes with slashes
       in their names -- that is, where the scripts are in subdirectories.

0.935 2012-10-02T19:21:05Z
     - Updated `dist/sqitch-pg.spec` to require `postgresql` rather than
       "postgresql91". The version doesn't matter so much.
     - All known Windows issues and failures fixed, with many thanks to Randy
       Stauner for repeatedly running tests and supplying patches:
       - Fixed "'2' is not recognized as an internal or external command,
         operable program or batch file" error on Windows.
       - Fixed multiple errors detecting Windows. The OS name is "MSWin32",
         not "Win32". The test failure thus addressed was the setting of the
         DateTime locale.
       - Fixed failing tests that were incorrectly comparing subprocess errors
         messages on Windows
       - Fixed bug in `bundle` where a file would be re-copied even if the
         source and destination had the same timestamps, as they seem to do
         during tests on Windows. Patch from Randy Stauner.
       - Fixed failing test that failed to include `.exe` in a file name on
         Windows. Patch from Randy Stauner.
     - Added French translation, with thanks to Arnaud (Arhuman) ASSAD!

0.934 2012-09-28T16:43:43Z
     - Fixed typo in error handling that prevented an I/O error message from
       being properly emitted.

0.933 2012-09-27T18:04:53Z
     - The `init` command no longer fails if `--top-dir` does not exist. It
       creates it.
     - Yet another attempt to fix "List form of pipe open not implemented" bug
       on Windows.

0.932 2012-09-26T21:32:48Z
     - One more attempt to fix "List form of pipe open not implemented" bug on
       Windows.

0.931 2012-09-25T19:09:14Z
     - Now properly require Text::LocaleDomain 1.20.
     - Stubbed out French and German localization files. Translators wanted!
     - Added LocaleTextDomain dzil support (no impact on distribution).
     - Fix "List form of pipe open not implemented" bug on Windows by using
       Win32::ShellQuote to quote commands.

0.93  2012-08-31T22:29:41Z
     - Added forward and reverse change references. Append ^ to a change
       reference to mean the change before, or ~ to mean the change following.
       Use ~~ and ^^ to select two changes forward and back, and ~n and ^n,
       where n is an integer, to select that number of changes forward or
       back. Idea stolen from Git, though the meanings of the characters are
       different.
     - Added the @FIRST and @LAST symbolic references to refer to the first
       and last changes deployed to the database, respectively. These vary
       from the existing @ROOT and @HEAD symbolic references, which refer to
       the first and last changes listed in the plan.
     - Updated the tutorial to use the new symbolic references and ^ and ~
       qualifiers where appropriate.
     - The messages output by the `deploy` and `revert` commands now show the
       resolved name of the `--to` target, rather than the value passed to
       `--to`. This is most useful when using a symbolic reference, so you
       can see what you're actually deploying or reverting to.

0.922 2012-08-30T17:41:59Z
     - Loosened constraint to disallow only `/[~^/=%]/` before digits at the
       end of name. This allows, for example, a tag to be named "v1.2-1".
     - Added the `bundle` command to the documentation displayed by `sqitch
       help`.
     - Updated the mention of the `bundle` command in the main `sqitch`
       documentation.

0.921 2012-08-30T00:09:56Z
     - Made Win32::Locale required only on Windows.
     - Fixed some module minimum version requirements so that dependencies
       will be properly listed in `Build.PL`.

0.92  2012-08-28T23:14:37Z
     - Added the `bundle` command.
     - Attempts to deploy a project with a different name or URI than
       previously registered now throws an exception.
     - Added UNIQUE constraint to `projects.uri` in the PostgreSQL Sqitch
       schema.
     - Added ON UPDATE actions to foreign key constraints in the PostgreSQL
       Sqitch schema.

0.913  2012-08-28T17:31:29Z
     - Fixed oversight in test that still relied on `$ENV{USER}` instead of
       `Sqitch->sysuser`,

0.912 2012-08-27T21:23:19Z
     - Fall back on `Sqitch->sysuser` when looking for the PostgreSQL user,
       rather than just `$ENV{USER}`. The method does a lot more work to find
       the system user name. This will hopefully also fix test failures on
       systems where `$ENV{USER}` is not set.
     - Use Win32::Locale to set the locale on DateTime objects on Windows.

0.911 2012-08-23T19:19:17Z
     - Fixed more platform-specific test failures in `t/base.t`.
     - Increased liklihood of finding a user's full name on Windows. Thanks to
       H. Merijn Brand for testing.

0.91  2012-08-23T00:37:36Z
     - Moved `requires` and `conflicts` array columns from the `changes` table
       to an new table, `dependencies`, where there is just one per row.
     - Requirements are now checked before reverting a change. If the change
       is depended on by other changes, it will not be reverted (Issue #36).
     - Fixed bug where the `status` command would show changes and/or tags
       from other projects when `--show-tags` or `--show-changes` were used.
     - Fixed test failures on Windows.
     - Added more ways to look up the current username to minimize the chances
       that none is found.
     - Added Windows-specific way of finding the current user's full name,
       since the existing approach died on Windows.
     - Windows-specific modules are no longer required, but are recommended on
       Windows. They will be listed by `./Build` and added to the "recommends"
       section of the the generated `MYMETA.*` files on Windows.
     - Fixed a bug where dependencies on other projects would be rejected
       in calls to `add` and `rework`.

0.902 2012-08-20T21:14:08Z
     - Fixed another occasional test failure due to a clock tick in `t/pg.t.`
     - Fixed test failures in `t/status.t` on systems without DBD::Pg.

0.901 2012-08-20T19:31:03Z
     - Fix test failure in `t/status.t` caused by failing to ignore a
       pre-existing `~/.sqitch/sqitch.conf` configuration file.
     - Eliminated "Use of uninitialized value in length" warnings.

0.90  2012-08-18T00:05:41Z
     - Added `dist/sqitch.spec`. This file was created to generate an RPM for
       CentOS 6.1.
     - Added `dist/sqitch-pg.spec` to use for creating RPMs for Sqitch with
       PostgreSQL support.
     - Fixed an occasional test failure due to a clock tick in `t/pg.t.`
     - Switched to Dist::Zilla for creating the distribution. For end-users,
       this just means that `Build.PL` is now a generated file.
     - Required module versions are now declared in code. This is so that they
       are enforced at runtime, and also so that they will be picked up by
       Dist::Zilla for inclusion in the generated `Build.PL` and `META` files.x
     - Added support for declaring dependencies (required and conflicting
       changes) from other Sqitch projects. This allows one project to depend
       on changes from another. The syntax is `--requires $projname:$change`.
       This use of the colon required a few changes to the Plan syntax:
       + Pragmas may now appear only in the first "header" section of the
         plan, separated from the changes in the "body" of the plan by a blank
         line.
       + Required dependencies no longer begin with ":". Conflicts still must
         begin with "!".
       + Object names may no longer contain ":", as it is used for project
         specification.
       + Project-qualified dependencies are supported by the project name
         appearing before the change name, separated by a colon.
     - Added App::Sqitch::Plan::Depend, an object to parse, represent, and
       serialize dependencies.
     - The plan parser does not validate changes required from other projects,



( run in 0.685 second using v1.01-cache-2.11-cpan-ceb78f64989 )