2025-05-24 13:28:20 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Wed Apr 30 05:33:54 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
|
|
|
|
- updated to 1.5.2
|
|
|
|
see /usr/share/doc/packages/perl-App-Sqitch/Changes
|
|
|
|
|
|
|
|
1.5.2 2025-04-29T15:13:35Z
|
|
|
|
- Added missing German translations, thanks to @0xflotus for the PR
|
|
|
|
(#873)!
|
|
|
|
- Fixed bug where the location of reworked script files did not respect
|
|
|
|
the `deploy_dir`, `revert_dir`, or `verify_dir` options. Thanks to Neil
|
|
|
|
Freeman for the report (#875)!
|
|
|
|
- Updated the MySQL engine's installation of the `checkit()` function so
|
|
|
|
that it no longer depends on permission-checking, since the current
|
|
|
|
user may not have such permission. It instead attempts to create the
|
|
|
|
function and ignores a failure due to a lack of permission. Thanks to
|
|
|
|
Alastair Douglas for the report and solution (#874)!
|
|
|
|
- Added missing CockroachDB templates. Thanks to @Peterbyte for the
|
|
|
|
report (#878)!
|
|
|
|
- Removed support for the `SNOWSQL_PORT` environment variable, which has
|
|
|
|
long been deprecated by Snowflake and likely never did anything.
|
|
|
|
- Fixed the quoting of the role and schema names on connecting to
|
|
|
|
Snowflake, which was silently failing and thus not properly using the
|
|
|
|
registry schema, which lead to a failure to find the registry. Broken
|
|
|
|
in v1.5.1.
|
|
|
|
- Added redaction of passwords from Snowflake URL query parameters in the
|
|
|
|
display URL. Any query parameter matching `pwd` will now appear as
|
|
|
|
"REDACTED".
|
|
|
|
- Expanded the documentation of Snowflake key pair authentication in
|
|
|
|
`sqitch-authentication.pod` to recommend setting sensitive ODBC
|
|
|
|
parameters in an `odbc.ini` file rather than connection URL query
|
|
|
|
parameters.
|
|
|
|
- Switched to key pair authentication in the Snowflake CI workflows.
|
|
|
|
- Fixed another test failure with some Firebird configurations and
|
|
|
|
improved diagnostic output when an engine cannot be integration-tested.
|
|
|
|
|
2025-04-14 20:40:56 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Mar 17 05:33:32 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
|
|
|
|
- updated to 1.5.1 (v1.5.1)
|
|
|
|
see /usr/share/doc/packages/perl-App-Sqitch/Changes
|
|
|
|
|
|
|
|
1.5.1 2025-03-16T26:55:17Z
|
|
|
|
- Fixed a bug introduced in v1.5.0 where the MySQL engine connected to
|
|
|
|
the target database instead of the registry database. Thanks to
|
|
|
|
@tiberiusferreira for the report (#862)!
|
|
|
|
- Fixed test failures with some Exasol and Firebird configurations.
|
|
|
|
Thanks to Slaven Rezić for the report (#858)!
|
|
|
|
|
Accepting request 1236712 from devel:languages:perl:autoupdate
- updated to 1.5.0 (v1.5.0)
see /usr/share/doc/packages/perl-App-Sqitch/Changes
1.5.0 2025-01-08T03:22:40
- Fix improperly nested Pod headers that were incrementing two levels
relative to their parent headers, which messed with the HTML output on
sqitch.org.
- Banned "[" and "]" in names (changes, tags, projects) because they
muck with dependency parsing of the plan file. Thanks to Žiga Leber for
the bug report (#829).
- Updated the IPC methods that interact with engine clients to raise
exception objects rather than strings, for more consistent error
handling throughout.
- Removed duplicate DBI error handling code from engines and tests.
- Fixed an order of operation issue that prevented Sqitch from detecting
Yugabyte before attempting to create an advisory lock, which resulted
in an error for more recent Yugabyte releases. Thanks to Stefano
Ricciardi for the report (#841).
- Removed a wayward mention of the long-deprecated `SQITCH_URI`
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).
OBS-URL: https://build.opensuse.org/request/show/1236712
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-App-Sqitch?expand=0&rev=8
2025-01-13 21:47:32 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Wed Jan 8 05:31:07 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
|
|
|
|
- updated to 1.5.0 (v1.5.0)
|
|
|
|
see /usr/share/doc/packages/perl-App-Sqitch/Changes
|
|
|
|
|
|
|
|
1.5.0 2025-01-08T03:22:40
|
|
|
|
- Fix improperly nested Pod headers that were incrementing two levels
|
|
|
|
relative to their parent headers, which messed with the HTML output on
|
|
|
|
sqitch.org.
|
|
|
|
- Banned "[" and "]" in names (changes, tags, projects) because they
|
|
|
|
muck with dependency parsing of the plan file. Thanks to Žiga Leber for
|
|
|
|
the bug report (#829).
|
|
|
|
- Updated the IPC methods that interact with engine clients to raise
|
|
|
|
exception objects rather than strings, for more consistent error
|
|
|
|
handling throughout.
|
|
|
|
- Removed duplicate DBI error handling code from engines and tests.
|
|
|
|
- Fixed an order of operation issue that prevented Sqitch from detecting
|
|
|
|
Yugabyte before attempting to create an advisory lock, which resulted
|
|
|
|
in an error for more recent Yugabyte releases. Thanks to Stefano
|
|
|
|
Ricciardi for the report (#841).
|
|
|
|
- Removed a wayward mention of the long-deprecated `SQITCH_URI`
|
|
|
|
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).
|
|
|
|
|
2024-03-07 17:25:09 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Feb 5 03:06:17 UTC 2024 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
|
|
|
|
- updated to 1.4.1
|
|
|
|
see /usr/share/doc/packages/perl-App-Sqitch/Changes
|
|
|
|
|
|
|
|
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)!
|
|
|
|
|
2022-10-14 08:00:21 +00:00
|
|
|
-------------------------------------------------------------------
|
Accepting request 1102921 from devel:languages:perl:autoupdate
- updated to 1.4.0
see /usr/share/doc/packages/perl-App-Sqitch/Changes
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
key and unique constraints. Unique constraints are now enabled for
all database engines except Exasol and Snowflake.
- Dropped support for Vertica 7.1, as unique constraint enforcement was
not added until Vertica 7.2.
- Increased minimum SQLite versions to 3.8.6, when unique constraint
enforcement was added.
- Removed remaining uses of the smartmatch operator, thus eliminating
the Perl 5.38 warnings about its deprecation. (#769)
- Added Cockroach to the list of valid engines recognized in command-line
arguments (and a test to ensure new engines won't be omitted in the
future). Thanks to @NOBLES5E for the spot (#772)!
OBS-URL: https://build.opensuse.org/request/show/1102921
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-App-Sqitch?expand=0&rev=6
2023-08-08 15:10:22 +00:00
|
|
|
Wed Aug 2 03:06:14 UTC 2023 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
|
|
|
|
- updated to 1.4.0
|
|
|
|
see /usr/share/doc/packages/perl-App-Sqitch/Changes
|
|
|
|
|
|
|
|
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
|
|
|
|
key and unique constraints. Unique constraints are now enabled for
|
|
|
|
all database engines except Exasol and Snowflake.
|
|
|
|
- Dropped support for Vertica 7.1, as unique constraint enforcement was
|
|
|
|
not added until Vertica 7.2.
|
|
|
|
- Increased minimum SQLite versions to 3.8.6, when unique constraint
|
|
|
|
enforcement was added.
|
|
|
|
- Removed remaining uses of the smartmatch operator, thus eliminating
|
|
|
|
the Perl 5.38 warnings about its deprecation. (#769)
|
|
|
|
- Added Cockroach to the list of valid engines recognized in command-line
|
|
|
|
arguments (and a test to ensure new engines won't be omitted in the
|
|
|
|
future). Thanks to @NOBLES5E for the spot (#772)!
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
2022-10-14 08:00:21 +00:00
|
|
|
Thu Oct 13 08:11:48 UTC 2022 - Dirk Stoecker <opensuse@dstoecker.de>
|
|
|
|
|
|
|
|
- updated to 1.3.1
|
|
|
|
see /usr/share/doc/packages/perl-App-Sqitch/Changes
|
|
|
|
|
|
|
|
1.3.1 2022-10-01T18:49:30Z
|
|
|
|
- Fixed a bug introduced in v1.3.0 where the Postgres engine would
|
|
|
|
always pass the port to `psql`, thus ignoring the `PGPORT` environment
|
|
|
|
variable. Thanks to Cam Feenstra for the spot (#675)!
|
|
|
|
- Fixed test failures on OSes where the local time zone cannot be
|
|
|
|
determined. Thanks to Slaven Rezić for the test reports, and to
|
|
|
|
Dave Rolsky for the solution (#672).
|
|
|
|
- Updated the MySQL deploy/revert lock to be specific to the target
|
|
|
|
database. This allows multiple instances of Sqitch to run at the
|
|
|
|
same time on the same server as long as they're connecting to different
|
|
|
|
databases. Thanks to Dmytro Kh for the report and discussion of the
|
|
|
|
options (#670).
|
|
|
|
- Fixed test failures where DBD::Mem was not installed. Likely only
|
|
|
|
occurred on some CPAN Testers nodes. Thanks to Slaven Rezić for those
|
|
|
|
(#673).
|
|
|
|
- Banned the backslash character (`\`) in change and tag names. It would
|
|
|
|
be ignored on Unix-style systems, but create unexpected subdirectories
|
|
|
|
on Windows systems.
|
|
|
|
- Banned the slash character (`/`) in tag names. They're still allowed
|
|
|
|
in change names to enable script organization, but can wreak havoc
|
|
|
|
when used in tag names. Thanks to @ewie for the report (#680)!
|
|
|
|
1.3.0 2022-08-12T22:09:13Z
|
|
|
|
- Fixed an issue when testing Firebird on a host with Firebird installed
|
|
|
|
but no `isql`, and when using a local Firebird (e.g., the Engine12
|
|
|
|
provider), which allows only one connection at a time. Thanks to Slaven
|
|
|
|
Rezić for the the reproducible configuration (#597).
|
|
|
|
- Tweaked the Postgres engine to support Yugabyte. The only unsupported
|
|
|
|
features are explicit locks, so users need to manually ensure that only
|
|
|
|
one instance of Sqitch is updating the cluster at a time.
|
|
|
|
- Added support for CockroachDB. Almost exactly the same as for Postgres,
|
|
|
|
so the new App::Sqitch::Engine::cockroach class extends
|
|
|
|
App::Sqitch::Engine::pg to make a few changes. The SQL files with
|
|
|
|
the registry DDL varies in a few ways, so they're separate.
|
|
|
|
- Now require URI::db v0.20 for Cockroach and Yugabyte URI support.
|
|
|
|
- Dropped support for MySQL 5.0.
|
|
|
|
- Added explicit sorting for aggregated lists (such as the tags associated
|
|
|
|
with a commit) to the MySQL, Exasol, Snowflake, and Postgres (8.4 and
|
|
|
|
higher) engines.
|
|
|
|
- Fixed slow deploys on MariaDB thanks to fractional timestamp support
|
|
|
|
added in 5.03.05. Thanks to @rbrigot for the PR (#658)!
|
|
|
|
- Fixed a bug where destination locking failed on the first deploy to
|
|
|
|
MySQL. Bug introduced along with destination locking in v1.2.0.
|
|
|
|
Thanks Tom Bloor the report and to Alberto Simões for the help
|
|
|
|
replicating the issue (#601).
|
|
|
|
- Removed the `sqitch engine update-config` action, originally added for
|
|
|
|
compatibility reasons in 2014, and the prompt to use it was removed as
|
|
|
|
of 0.9999 in 2019.
|
|
|
|
- Fixed a warning when searching for the Firebird client on Windows.
|
|
|
|
1.2.1 2021-12-05T19:59:45Z
|
|
|
|
- Updated all the live engine tests, aside from Oracle, to test with
|
|
|
|
unique registry names, so as to avoid conflicts when multiple
|
|
|
|
instances are being tested at once. Thanks to Slaven Rezić for the
|
|
|
|
report (#597).
|
|
|
|
- Removed `local` directory from the distribution, accidentally included
|
|
|
|
in v1.2.0. Thanks to gregor herrmann for the report (#600).
|
|
|
|
1.2.0 2021-11-20T22:45:00Z
|
|
|
|
- Fixed partitioned search for deployed changes on Oracle and Exasol to
|
|
|
|
correctly support plans with more than 250 changes. Thanks to @Nicqu
|
|
|
|
for the report (#521).
|
|
|
|
- DBI connections to the registry will now be set to trace level one
|
|
|
|
when a verbosity level of three or higher is passed to Sqitch
|
|
|
|
(i.e., `sqitch -vvv`). Thanks to @wkoszek for the suggestion (#155).
|
|
|
|
- Renamed the "master" branch to "main" and updated all relevant
|
|
|
|
references.
|
|
|
|
- Fixed the parsing of the Snowflake account name from the target URL
|
|
|
|
to that it no longer strips out the region and cloud platform parts.
|
|
|
|
Also deprecated the use of the region, host, and port config and
|
|
|
|
environment variables. This is to comply with the new account name
|
|
|
|
format. Thanks to @ldsingh00 for the report (#544).
|
|
|
|
- The checkout command will now show a usage statement when no branch
|
|
|
|
name is passed to it, rather than a series of warnings and a Git error.
|
|
|
|
Thanks to François Beausoleil for the report (#561).
|
|
|
|
- The checkout command now works when operating on a Sqitch project in
|
|
|
|
a subdirectory of a Git project. Thanks to François Beausoleil for the
|
|
|
|
report and suggested fix (#560).
|
|
|
|
- Fixed a failing bundle test when a top directory was configured in the
|
|
|
|
user or system configuration. Thanks to @CodingMinds for the spot
|
|
|
|
(#587).
|
|
|
|
- Added support to the Exasol engine for the `AUTHMETHOD` query parameter
|
|
|
|
(to allow Open ID authentication) and the `SSLCERTIFICATE=SSL_VERIFY_NONE`
|
|
|
|
query parameter to disable SSL verification. Thanks to Torsten Glunde
|
|
|
|
for the report (#588).
|
|
|
|
- Fixed "Use of uninitialized value $engine in concatenation" error when
|
|
|
|
Sqitch is unable to determine the engine when writing a plan file. Only
|
|
|
|
happens in the rare case that the core.engine value is not set.
|
|
|
|
- Improved the error message when attempting to update a plan file and no
|
|
|
|
project pragma is present. Thanks to Laurentiu Diaconu for the report
|
|
|
|
(#577).
|
|
|
|
- Fixed the error message when attempting to deploy a change that has
|
|
|
|
already been deployed to display the name of the change, rather than a
|
|
|
|
memory address. Thanks to Neil Mayhew for the report (#579).
|
|
|
|
- Added destination locking, currently implemented for PostgresQL and
|
|
|
|
MySQL. On starting a deploy or revert, Sqitch attempts to "lock the
|
|
|
|
destination" using advisory locks, to ensure that only one instance of
|
|
|
|
Sqitch makes changes to the database at any one time. This complements
|
|
|
|
the existing locking, which applies as each change is deployed or
|
|
|
|
reverted, as that pattern led to failures when multiple instances of
|
|
|
|
Sqitch were working at once. Thanks to Neil Mayhew for the report
|
|
|
|
(#579).
|
|
|
|
- Added the --lock-timeout option to the deploy, revert, rebase, and
|
|
|
|
checkout commands, to allow for shorter or longer times to wait for an
|
|
|
|
exclusive target database advisory lock for engines that support it.
|
|
|
|
Defaults to 60 seconds.
|
|
|
|
- Fixed the behavior of the plan command's `--max-count` option when used
|
|
|
|
with `--reverse` to show the proper items. Thanks to Adrian Klaver for
|
|
|
|
the report (#517).
|
|
|
|
- Fixed an issue that could cause bugs with the `check` command on
|
|
|
|
Firebird, Exasol, Oracle, and Vertica. Broken since the `check` command
|
|
|
|
was added in v1.1.0.
|
|
|
|
|
2020-11-09 20:28:40 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Thu Nov 5 16:34:29 UTC 2020 - Dirk Stoecker <opensuse@dstoecker.de>
|
|
|
|
|
|
|
|
- updated to 1.1.0
|
|
|
|
see /usr/share/doc/packages/perl-App-Sqitch/Changes
|
|
|
|
|
|
|
|
1.1.0 2020-05-17T16:20:07Z
|
|
|
|
- Fixed Perl Pod errors, thanks to a pull request from Mohammad S Anwar
|
|
|
|
(#470).
|
|
|
|
- Fixed test failures when running with the localization set to German
|
|
|
|
or Italian. Thanks to Slaven Rezić for the report (#472).
|
|
|
|
- Fixed an issue when the full name of the current user is not set, so
|
|
|
|
that it properly falls back on the username. Thanks to Slaven Rezić and
|
|
|
|
Matthieu Foucault for the report and testing various fixes (#473).
|
|
|
|
- Eliminated an error when using the `-t` option to specify a target, due
|
|
|
|
to a missing dependency declaration in the Target class. Thanks to
|
|
|
|
Clinton Adams for the fix (#509)!
|
|
|
|
- Updated the IPC::System::Simple Win32 workaround added in 0.9999 to
|
|
|
|
properly support released versions of IPC::System::Simple. This fixes
|
|
|
|
errors running the database command-line clients on Windows (#503).
|
|
|
|
- Sqitch now only passes the `--password` option to the MySQL client if
|
|
|
|
it was not read from the `.my.cnf` file, as it's more secure to let
|
|
|
|
the client use `.my.cnf`, and it eliminates a warning from recent
|
|
|
|
versions of the client. Thanks to Kiel R Stirling for the fix (#484)!
|
|
|
|
- Added a note to the tutorials to skip setting the `engine.$engine.client`
|
|
|
|
config when using the Docker image.
|
|
|
|
- Added the new `check` command, which compares the SHA1 hashes of the
|
|
|
|
deploy scripts to the database, and reports if any have been modified
|
|
|
|
since they were deployed. Thanks to Matthieu Foucault for the pull
|
|
|
|
request and diligent work on this feature (#477)!
|
|
|
|
- Added the `--modified` option to the `rebase` and `revert` commands, to
|
|
|
|
revert to the earliest change with a modified deploy script. Handy for
|
|
|
|
rapid rebasing during iterative development cycles. Thanks to Matthieu
|
|
|
|
Foucault for this feature (#477)!
|
|
|
|
- Fixed an issue where the Snowflake engine would complain about not
|
|
|
|
finding the account name even for commands that don't need them, such
|
|
|
|
as `init`. Thanks to Stack Overflow user vbp13 for the report (#502).
|
|
|
|
|
|
|
|
1.0.0 2019-06-04T12:56:22Z
|
|
|
|
- Fixed test failure due to a hard-coded system error that may be
|
|
|
|
localized on non-en-US hosts. Thanks to Slaven Rezić for the catch
|
|
|
|
(#427).
|
|
|
|
- Now require Test::MockModule 0.17 to silence a warning during testing.
|
|
|
|
Thanks to Slaven Rezić for the suggestion.
|
|
|
|
- Fixed an error when Sqitch is run with no arguments. Thanks to Henrik
|
|
|
|
Tudborg for the report (#428).
|
|
|
|
- Fixed missing dependency on IO::Pager in the distribution metadata.
|
|
|
|
- Removed use of File::HomeDir, thanks to a PR from Karen Etheridge
|
|
|
|
(#433).
|
|
|
|
- Updated the tagline from "Sane database change management" to "Sensible
|
|
|
|
database change management" out of sensitivity to those subject to
|
|
|
|
mental illness (#435).
|
|
|
|
- Removed double-quoting of SQLite commands on Windows, inadvertently
|
|
|
|
added by the workaround for Windows quoting in v0.9999.
|
|
|
|
- Fixed a Snowflake issue where Sqitch failed to recognize the proper
|
|
|
|
error code for a missing table and therefore an uninitialized registry.
|
|
|
|
Thanks to @lerouxt and @kulmam92 for the report and fix (#439).
|
|
|
|
- Added check for project initialization when no engine config can be
|
|
|
|
found. When run from a directory with no configuration, Sqitch now
|
|
|
|
reports that the project is not initialized instead of complaining
|
|
|
|
about a lack of engine config (#437).
|
|
|
|
- Documented Snowflake key pair authentication in
|
|
|
|
`sqitch-authentication`, as well as `$SNOWSQL_PRIVATE_KEY_PASSPHRASE`
|
|
|
|
in `sqitch-environment`. Thanks to Casey Largent for figuring it out
|
|
|
|
(#441).
|
|
|
|
- Added the German localization. Thanks to Thomas Iguchi for the pull
|
|
|
|
request (#451).
|
|
|
|
- Renamed the French localization from "fr" to "fr_FR", so that systems
|
|
|
|
will actually find it.
|
|
|
|
- Added the `ask_yes_no()` method as a replacement for `ask_y_n()`, which
|
|
|
|
is now deprecated. The new method expects localized responses from the
|
|
|
|
user when translations are provided. Defaults to the English "yes" and
|
|
|
|
"no" when no translation is available. Suggested by German translator
|
|
|
|
Thomas Iguchi (#449).
|
|
|
|
- Fixed a bug where only project without a URI was allowed in the
|
|
|
|
registry. Thanks to Conding-Brunna for the report (#450).
|
|
|
|
- Clarified the role of project URIs for uniqueness: They don't allow
|
|
|
|
multiple projects with the same name, but do prevent the deployment of
|
|
|
|
a project with the same name but different URI.
|
|
|
|
- Fixed an issue where target variables could not be found when a target
|
|
|
|
name was not lowercase. Thanks to @maximejanssens for the report
|
|
|
|
(#454).
|
|
|
|
- Now require Config::GitLike 1.15 or higher.
|
|
|
|
- Fixed the indentation of variables emitted by the `show` actions of the
|
|
|
|
`target` and `engine` commands, fixing a "Negative repeat count does
|
|
|
|
nothing" warning in the process. Thanks to @maximejanssens for the
|
|
|
|
report (#454).
|
|
|
|
- Fixed a Snowflake test failure when the current system username has a
|
|
|
|
space or other character requiring URI escaping. Thanks to Ralph
|
|
|
|
Andrade for the report (#463).
|
|
|
|
- Fixed an issue where a wayward newline in some versions of SQLite
|
|
|
|
prevented Sqitch from parsing the version. Thanks to Kivanc Yazan
|
|
|
|
for the report (#465) and the fix (#465)!
|
|
|
|
- Fixed an error when Sqitch was run on a system without a valid
|
|
|
|
username, such as some Docker environments. Thanks to Ferdinand Salis
|
|
|
|
for the report (#459)!
|
|
|
|
- When Sqitch finds the registry does not exist on PostgreSQL, it now
|
|
|
|
sends a warning to the PostgreSQL log reporting that it will initialize
|
|
|
|
the database. This is to reduce confusion for folks watching the
|
|
|
|
PostgreSQL error log while Sqitch runs (#314).
|
|
|
|
|
|
|
|
0.9999 2019-02-01T15:29:40Z
|
|
|
|
[Bug Fixes]
|
|
|
|
- Fixed a test failure with the MySQL max limit value, mostly exhibited
|
|
|
|
on BSD platforms.
|
|
|
|
- Removed fallback in the PostgreSQL engine on the `$PGUSER` and
|
|
|
|
`$PGPASSWORD` environnement variables, as well as the system username,
|
|
|
|
since libpq does all that automatically, and collects data from other
|
|
|
|
sources that we did not (e.g., the password and connection service
|
|
|
|
files). Thanks to Tom Bloor for the report (issue #410).
|
|
|
|
- Changed dependency validation to prevent an error when a change required
|
|
|
|
from a different project has been reworked. Previously, when requiring a
|
|
|
|
change such as `foo:greeble`, Sqitch would raise an error if
|
|
|
|
`foo:greeble` was reworked, suggesting that the dependency be
|
|
|
|
tag-qualified to eliminate ambiguity. Now reworked dependencies may be
|
|
|
|
required without tag-qualification, though tag-qualification should still
|
|
|
|
be specified if functionality as of a particular tag is required.
|
|
|
|
- Added a workaround for the shell quoting issue on Windows. Applies to
|
|
|
|
IPC::System::Simple 1.29 and lower. See
|
|
|
|
[pjf/ipc-system-simple#29](https://github.com/pjf/ipc-system-simple/pull/29)
|
|
|
|
for details (#413).
|
|
|
|
- Fixed an issue with the MariaDB client where a deploy, revert, or
|
|
|
|
verify failure was not properly propagated to Sqitch. Sqitch now passes
|
|
|
|
`--abort-source-on-error` to the Maria `mysql` client to ensure that
|
|
|
|
SQL errors cause the client to abort with an error so that Sqitch can
|
|
|
|
properly handle it. Thanks to @mvgrimes for the original report and,
|
|
|
|
years later, the fix (#209).
|
|
|
|
- Fixed an issue with command argument parsing so that it truly never
|
|
|
|
returns a target without an engine specified, as documented.
|
|
|
|
- Removed documentation for methods that don't exist.
|
|
|
|
- Fixed test failures due to a change in Encode v2.99 that's stricter
|
|
|
|
about `undef` arguments that should be defined.
|
|
|
|
|
|
|
|
[Improvements]
|
|
|
|
- The Snowflake engine now consults the `connections.warehousename`,
|
|
|
|
`connections.dbname`, and `connections.rolename` variables in the
|
|
|
|
SnowSQL configuration file (`~/.snowsql/config`) before falling back on
|
|
|
|
the hard-coded warehouse name "sqitch" and using the system username as
|
|
|
|
the database name and no default for the role.
|
|
|
|
- Switched to using a constant internally to optimize windows-specific
|
|
|
|
code paths at compile time.
|
|
|
|
- When `deploy` detects undeployed dependencies, it now eliminates
|
|
|
|
duplicates before listing them in the error message.
|
|
|
|
- Now requiring IO::Pager v0.34 or later for its more consistent
|
|
|
|
interface.
|
|
|
|
- Added notes about creating databases to the tutorials. Thanks to Dave
|
|
|
|
Rolsky for the prompt (#315).
|
|
|
|
- Added a status message to tell the user when the registry is being
|
|
|
|
updated, rather than just show each individual update. Thanks to Ben
|
|
|
|
Hutton for the suggestion (#276).
|
|
|
|
- Added support for a `$SQITCH_TARGET` environment variable, which takes
|
|
|
|
precedence over all other target specifications except for command-line
|
|
|
|
options and arguments. Thanks to @mvgrimes for the suggestion (#203).
|
|
|
|
- Fixed target/engine/change argument parsing so it won't automatically
|
|
|
|
fail when `core.engine` isn't set unless no targets are found. This
|
|
|
|
lets engines be determined strictly from command-line arguments --
|
|
|
|
derived from targets, or just listed on their own -- whether or not
|
|
|
|
`core.engine` is set. This change eliminates the need for the
|
|
|
|
`no_default` parameter to the `parse_args()` method of App::Sqitch
|
|
|
|
Command. It also greatly reduces the need for the core `--engine`
|
|
|
|
option, which was previously required to work around this issue (see
|
|
|
|
below for its removal).
|
|
|
|
- Refactored config handling in tests to use a custom subclass of
|
|
|
|
App::Sqitch::Config instead of various mocks, temporary files, and the
|
|
|
|
like.
|
|
|
|
- Added advice to use the PL/pgSQL `ASSERT()` function for verify scripts
|
|
|
|
to the Postgres tutorial. Thanks to Sergii Tkachenko for the PR (#425).
|
|
|
|
|
|
|
|
[Target Variables]
|
|
|
|
- The `verify` command now reads `deploy.variables`, and individual
|
|
|
|
`verify.variables override `deploy.variables`, on the assumption that
|
|
|
|
the verify variables in general ought to be the same as the deploy
|
|
|
|
variables. This makes `verify` variable configuration consistent with
|
|
|
|
`revert` variable configuration.
|
|
|
|
- Variables set via the `--set-deploy` option on the `rebase` and
|
|
|
|
`checkout` commands no longer apply to both reverts and deploys, but
|
|
|
|
only deploys. Use the `--set` option to apply a variable to both
|
|
|
|
reverts and deploys.
|
|
|
|
- Added support for core, engine, and target variable configuration. The
|
|
|
|
simplest way to use them is via the `--set` option on the `init`,
|
|
|
|
`engine`, and `target` commands. These commands allow the configuration
|
|
|
|
of database client variables for specific engines and targets, as well
|
|
|
|
as defaults that apply to all change execution commands (`deploy`,
|
|
|
|
`revert`, `verify`, `rebase`, and `checkout`). The commands merge the
|
|
|
|
variables from each level in this priority order:
|
|
|
|
* `--set-deploy` and `--set-revert` options on `rebase` and `checkout`
|
|
|
|
* `--set` option
|
|
|
|
* `target.$target.variables`
|
|
|
|
* `engine.$engine.variables`
|
|
|
|
* `deploy.variables`, `revert.variables`, and `verify.variables`
|
|
|
|
* `core.variables`
|
|
|
|
See `sqitch-configuration` for general documentation of of the
|
|
|
|
hierarchy for merging variables and the documentation for each command
|
|
|
|
for specifics.
|
|
|
|
|
|
|
|
[Options Unification]
|
|
|
|
- Added the `--chdir`/`--cd`/`-C` option to specify a directory to change
|
|
|
|
to before executing any Sqitch commands. Thanks to Thomas Sibley for
|
|
|
|
the suggestion (#411).
|
|
|
|
- Added the `--no-pager` option to disable the pager (#414).
|
|
|
|
- Changed command-line parsing to allow core and command options to
|
|
|
|
appear anywhere on the line. Previously, core options had to come
|
|
|
|
before the command name, and command options after. No more. The caveat
|
|
|
|
is that command options that take arguments should either appear after
|
|
|
|
the command or use the `--opt=val` syntax instead of `--opt val`, so
|
|
|
|
that Sqitch doesn't think `val` is the command. Even in that case, it
|
|
|
|
will search the rest of the arguments to find a valid command.
|
|
|
|
However, to minimize this challenge, the documentation now suggests
|
|
|
|
and demonstrates putting all options after the command, like so:
|
|
|
|
`sqitch [command] [options]`.
|
|
|
|
- Simplified and clarified the distinction between core and command
|
|
|
|
options by removing all options from the core except those that affect
|
|
|
|
output and runtime context. The core options are:
|
|
|
|
* -C --chdir --cd <dir> Change to directory before performing any actions
|
|
|
|
* --etc-path Print the path to the etc directory and exit
|
|
|
|
* --no-pager Do not pipe output into a pager
|
|
|
|
* --quiet Quiet mode with non-error output suppressed
|
|
|
|
* -V --verbose Increment verbosity
|
|
|
|
* --version Print the version number and exit
|
|
|
|
* --help Show a list of commands and exit
|
|
|
|
* --man Print the introductory documentation and exit
|
|
|
|
- Relatedly, single-letter core options will now always be uppercase,
|
|
|
|
while single-letter command options will be lowercase. As such, `-V`
|
|
|
|
has been added as an alias for `--version`, although `-v` remains for
|
|
|
|
now, undocumented. It may be removed in the future should a compelling
|
|
|
|
use for `-v` in a command be discovered.
|
|
|
|
- All other options have been moved to the commands they affect. Their
|
|
|
|
use should remain mostly unchanged now that command options are parsed
|
|
|
|
from anywhere on the command-line, although we recommend that all
|
|
|
|
options come after commands. The options were moved as follows:
|
|
|
|
* `--registry`, `--client`, `--db-name`, `--db-user`, `--db-host`, and
|
|
|
|
`--db-port` (and their aliases) have been moved to the `checkout`,
|
|
|
|
`deploy`, `log`, `rebase`, `revert`, `status`, `upgrade`, and
|
|
|
|
`verify` commands.
|
|
|
|
* `--plan-file` and `--top-dir` (deprecated; see below) have been moved
|
|
|
|
to the `add`, `bundle`, `checkout`, `deploy`, `rebase`, `revert`,
|
|
|
|
`rework`, `show`, `status`, `tag`, and `verify` commands. They were
|
|
|
|
already supported by the `init`, `engine`, and `target` commands
|
|
|
|
(where `--top-dir` is not deprecated).
|
|
|
|
- Because some command options conflicted with core options, a few
|
|
|
|
options have been removed altogether, including:
|
|
|
|
* The `--verbose` option on the `--engine` and `--target` commands has
|
|
|
|
been removed, but no visible change should be apparent, since those
|
|
|
|
commands now read the core `--verbose` option.
|
|
|
|
* The undocumented `--dir` alias for `--top-dir` has been removed, as
|
|
|
|
it conflicted with the option of the same name but different meaning
|
|
|
|
in the `init`, `engine`, and `target` commands.
|
|
|
|
* The `-d` alias for `--set-deploy` in the `rebase` and `checkout`
|
|
|
|
commands has been changed to `-e` so as not to conflict with the `-d`
|
|
|
|
alias for `--db-name`.
|
|
|
|
* Added tests for all commands to ensure none of their options conflict
|
|
|
|
with core options. Will help prevent conflicts in the future.
|
|
|
|
|
|
|
|
[Deprecations & Removals]
|
|
|
|
- Deprecated the `--top-dir` option in favor of `--chdir` with a warning
|
|
|
|
except when used for configuration in the `init`, `engine`, and
|
|
|
|
`target` commands.
|
|
|
|
- Removed the core `--deploy-dir`, `--revert-dir`, and `--verify-dir`
|
|
|
|
options, which have been deprecated and triggering warnings since
|
|
|
|
v0.9993 (August 2015). The `--dir` option to the `init`, `engine`, and
|
|
|
|
`target` commands remains the favored interface for specifying script
|
|
|
|
directories.
|
|
|
|
- Removed the deprecated core `--engine` option. The `init` command still
|
|
|
|
supports it, while other commands are able to parse the engine name as
|
|
|
|
an argument --- e.g., `sqitch deploy mysql` --- or implicitly as part
|
|
|
|
of a target, as in `sqitch revert db:pg:tryme`. When Sqitch is unable
|
|
|
|
to determine the engine for a command, the error message no longer
|
|
|
|
mentions `--engine` and instead suggests specifying the engine via the
|
|
|
|
target. This option never triggered an error, but demonstration of its
|
|
|
|
use has been limited to `init` examples.
|
|
|
|
- Removed support for reading the `core.$engine` configuration, which has
|
|
|
|
been deprecated with warnings in favor of `engine.$engine` since 0.997
|
|
|
|
(November 2014). The `sqitch engine update-config` action remains
|
|
|
|
available to update old configurations, but may be removed in the
|
|
|
|
future.
|
|
|
|
- Removed the `--deploy`, `--revert`, and `--verify` options on the `add`
|
|
|
|
command, as well as their `--no-*` variants. They have been deprecated
|
|
|
|
with warnings in favor of the `--with` and `--without` options since
|
|
|
|
v0.990 (January 2014).
|
|
|
|
- Removed the `--deploy-template`, `--revert-template`, and
|
|
|
|
`--verify-template` options to the `add` command. They have been
|
|
|
|
deprecated with warnings in favor of the `--use` option since v0.990
|
|
|
|
(January 2014).
|
|
|
|
- Removed the `add.deploy_template`, `add.revert_template`, and
|
|
|
|
`add.verify_template` configuration settings. They have been deprecated
|
|
|
|
with warnings in favor of the `add.templates` configuration section
|
|
|
|
since v0.990 (January 2014).
|
|
|
|
- Removed the `@FIRST` and `@LAST` symbolic tags, which have been
|
|
|
|
deprecated with warnings in favor of `@ROOT` and `@HEAD`, respectively,
|
|
|
|
since 0.997 (November 2014).
|
|
|
|
- Removed the command-specific options with the string "target" in them,
|
|
|
|
such as `--to-target`, `--upto-target`, which have been deprecated with
|
|
|
|
warnings in in favor of options containing the string "change", such as
|
|
|
|
`--to-change` and `--upto-change`, since v0.997 (November 2014).
|
|
|
|
- Remove the `engine` and `target` command `set-*` actions and their
|
|
|
|
corresponding methods, which have been deprecated in favor of the
|
|
|
|
`alter` action since v0.9993 (August 2015).
|
|
|
|
- Removed the automatic updating of change and tag IDs in the Postgres
|
|
|
|
engine. This functionality was added in v0.940 (December 2012), when
|
|
|
|
Postgres was the only engine, and the SHA-1 hash for change and tag IDs
|
|
|
|
was changed. There were very few deployments at the time, and all
|
|
|
|
should long since have been updated.
|
|
|
|
|
|
|
|
[API Changes]
|
|
|
|
- Added the URI-overriding parameters `user`, `host`, `port`, and
|
|
|
|
`dbname` to App::Sqitch::Target so that command options can be used to
|
|
|
|
easily set them.
|
|
|
|
- Added support for passing attribute parameters to the `all_targets`
|
|
|
|
group constructor on App::Sqitch::Target, so that command-line options
|
|
|
|
can be used to assign attributes to all targets read from the
|
|
|
|
configuration.
|
|
|
|
- Aded the `target_params` method to App::Sqitch::Command and updated all
|
|
|
|
commands to use it when constructing targets. This allows commands to
|
|
|
|
define options for Target parameters, as required for moving options to
|
|
|
|
commands as described above.
|
|
|
|
- Added the `class_for` method to App::Sqitch::Command so that the new
|
|
|
|
options parser described above can load a command class without
|
|
|
|
instantiating an instance. Useful for searching command-line arguments
|
|
|
|
for a command name.
|
|
|
|
- Added the `create` constructor to App::Sqitch::Command to let Sqitch
|
|
|
|
instantiate an instance of a command once it finds one via `class_for`.
|
|
|
|
Previously, Sqitch used the `load` method, which handled the
|
|
|
|
functionality of both `class_for` and `create`. That method still
|
|
|
|
exists but is used only in tests.
|
|
|
|
- Added the ConnectingCommand role to define database connection options
|
|
|
|
for the commands that need them.
|
|
|
|
- Added the ContextCommand role to define command options for the
|
|
|
|
location of the plan file and top directory. This is also where use of
|
|
|
|
the deprecated form of `--top-dir` triggers a warning.
|
|
|
|
- Removed the `verbosity` attribute from App::Sqitch::Command::engine and
|
|
|
|
App::Sqitch::Command::target, since the `--verbose` option is no longer
|
|
|
|
needed. These commands now rely on the core `--verbose` option.
|
|
|
|
- Removed the copying of core options from the target class and
|
|
|
|
TargetConfigCommand role, since the attributes fetched from there are
|
|
|
|
no longer core options, but provided as attribute parameters to the
|
|
|
|
constructors by commands.
|
|
|
|
- Removed documentation for the optional `config` parameter to the
|
|
|
|
`all_targets` constructor of App::Sqitch::Target, since it was never
|
|
|
|
used by Sqitch. It always fetched the config from the required `sqitch`
|
|
|
|
parameter. Support for the `config` parameter has not been removed,
|
|
|
|
since third-parties might use it.
|
|
|
|
- Removed the `set_*` methods in the `engine` and `target` commands,
|
|
|
|
which have been deprecated in favor of the new `alter` method since
|
|
|
|
v0.9993 (August 2015).
|
|
|
|
- Removed the `old_id` and `old_info` methods from Change and Tag, which
|
|
|
|
date from v0.940 (December 2012), and were provided only to allow
|
|
|
|
existing Postgres databases to be updated from the old to new ID
|
|
|
|
format, now removed. There should be no other use case for these
|
|
|
|
methods.
|
|
|
|
|
|
|
|
0.9998 2018-10-03T20:53:58Z
|
|
|
|
- Fixed an issue where Sqitch would sometimes truncate the registry
|
|
|
|
version number fetched from MySQL, most likely because the Perl runtime
|
|
|
|
was using 32-bit integers. Fixed by casting the version to CHAR in the
|
|
|
|
query, before Perl ever see it. Thanks to Allen Godfrey David for the
|
|
|
|
report.
|
|
|
|
- Added the Snowflake engine.
|
|
|
|
- Now require URI::db v0.19 for Snowflake URI support.
|
|
|
|
- The Vertica and Exasol engines now require DBD::ODBC 1.59, which fixes
|
|
|
|
a Unicode issue. Thanks to Martin J. Evans for the quick fix
|
|
|
|
(perl5-dbi/DBD-ODBC#8)!
|
|
|
|
- Added the `bundle` command to `./Build`. This command installs only the
|
|
|
|
runtime dependencies into the `--install_base` directory. This should
|
|
|
|
simplify building distribution packages, binary installs, Docker images,
|
|
|
|
and the like.
|
|
|
|
- Added the `--with` option to `./Build`, to require that Sqitch be build
|
|
|
|
with the specified engine. Pass once for each engine. See the README
|
|
|
|
for the list of supported engines.
|
|
|
|
- Added a check for Hash::Merge 0.298 during installation, since that
|
|
|
|
release has a fatal bug that breaks Sqitch. If it's installed, the
|
|
|
|
installer will issue a warning and added v0.299 to its list of
|
|
|
|
dependencies. Thanks to Slaven Rezić for the suggestion (#377).
|
|
|
|
- Fixed the PostgreSQL engine so it properly checks the `psql` client
|
|
|
|
version to determine whether or not the `:registry` variable is
|
|
|
|
supported. Previously it relied on the server version, which would fail
|
|
|
|
if the server version was greater than 8.4 but the `psql` client was
|
|
|
|
not. Thanks to multiple folks reporting issues with registry names and
|
|
|
|
search paths (#314).
|
|
|
|
- The plan parser will now complain if a change specifies a duplicate
|
|
|
|
dependency. This should be less confusing than a database unique
|
|
|
|
violation. Thanks to Eric Bréchemier for the suggestion (#344).
|
|
|
|
- Moved the project to its own GitHub organization,
|
|
|
|
[Sqitchers](https://github.com/sqitchers).
|
|
|
|
- Fixed likely cause of Oracle buffer allocation bug when selecting
|
|
|
|
timestamp strings. Thanks to @johannwilfling for the bug report and to
|
|
|
|
@nmaqsudov for the analysis and solution (#316).
|
|
|
|
- Changed the way the conninfo string is passed to `psql` to eliminate
|
|
|
|
argument ordering problems on Windows. Thanks to @highlowhighlow for
|
|
|
|
the report (#384).
|
|
|
|
- Added `$SQITCH_USERNAME` environment variable to complement
|
|
|
|
`$SQITCH_PASSWORD`. It can be used to override the username set in
|
|
|
|
for a target.
|
|
|
|
- Added the `$SQITCH_FULLNAME` and `$SQITCH_EMAIL` environment
|
|
|
|
variables, which take precedence over the values of the `user.name` and
|
|
|
|
`user.email` config variables.
|
|
|
|
- Added the `$SQITCH_ORIG_SYSUSER`, `$SQITCH_ORIG_FULLNAME` and
|
|
|
|
`$SQITCH_ORIG_EMAIL` environment variables. For those situations when
|
|
|
|
Sqitch attempts to read OS data for user information, These new
|
|
|
|
environment variables override these system-derived values. The
|
|
|
|
intention is to allow an originating host to set these values on
|
|
|
|
another host where Sqitch will actually execute.
|
|
|
|
- Fixed an error triggered by whitespace trailing an engine name in the
|
|
|
|
configuration. Thanks to Jeremy Simkins for the report (#400).
|
|
|
|
- Refactored the engine-specific username and password attributes to
|
|
|
|
support a consistent search for values. Sqitch searches first for one
|
|
|
|
of its own environment variables (`$SQITCH_USERNAME` and
|
|
|
|
`$SQITCH_PASSSWORD`), then the target URI, and finally any engine-
|
|
|
|
specific values, which might include additional environment variables,
|
|
|
|
configuration files, the system user, or none at all.
|
|
|
|
- Database engines that implicitly relied on username and/or password
|
|
|
|
environment variables or on the system username now explicitly rely on
|
|
|
|
them. These include the Firebird, MySQL, Postgres, and Vertical
|
|
|
|
engines. This change should exhibit no change in the behavior of these
|
|
|
|
engines.
|
|
|
|
- Added support for the `$MYSQL_HOST` and `$MYSQL_TCP_PORT` environment
|
|
|
|
variables to the MySQL engine.
|
|
|
|
- Documented all supported engine-specific environment variables in the
|
|
|
|
sqitch-environment guide.
|
|
|
|
- Renamed the sqitch-passwords guide to sqitch-authentication and added a
|
|
|
|
section on username specification.
|
|
|
|
- Updated all URLs to use the https scheme. Only exceptions are tt2.org,
|
|
|
|
which doesn't support TLS, and conferences.embarcadero.com, which
|
|
|
|
appears to be down.
|
|
|
|
|
|
|
|
0.9997 2018-03-15T21:13:52Z
|
|
|
|
- Fixed the Firebird engine to properly detect multiple instances of a
|
|
|
|
change specified to `revert` and `verify`, matching the behavior of
|
|
|
|
displaying tag-qualified alternates added to the other engines in
|
|
|
|
v0.9996.
|
|
|
|
- Fixed test failure on Windows.
|
|
|
|
- Updated the MySQL and PostgreSQL tests to use process-specific database
|
|
|
|
names, to try to avoid conflicts when tests are being run by multiple
|
|
|
|
processes on the same box, as happens with CPAN smoke testing boxes.
|
|
|
|
- Fixed an issue where Sqitch would sometimes truncate the registry
|
|
|
|
version number fetched from Postgres, most likely because the Perl
|
|
|
|
runtime was using 32-bit integers. Fixed by casting the version to text
|
|
|
|
in the query, before Perl ever see it. Thanks to Malte Legenhausen for
|
|
|
|
the report (#343).
|
|
|
|
- The MySQL engine will now read the username from MySQL configuration
|
|
|
|
files. Thanks to Eliot Alter for the bug report (#353).
|
|
|
|
- Added Italian translation, with thanks to Luca Ferrari and @BeaData!
|
|
|
|
- Improved multi-value config examples in the `sqitch-config`
|
|
|
|
documentation to be a bit less confusing. Thanks to Emil for reporting
|
|
|
|
where he got confused!
|
|
|
|
- Added the Exasol engine. Thanks to Johan Wärlander for the PR (#362)!
|
|
|
|
- Fixed an issue where URI::db needed to be explicitly loaded. Thanks to
|
|
|
|
Hugh Esco for the report (#370)!
|
|
|
|
- Changed the exit value for `rebase` and `revert` from 1 to 0 when there
|
|
|
|
is no work to do. This is to match the expectation of non-zero exit
|
|
|
|
statuses only when a command is unsuccessful, as well as the behavior
|
|
|
|
of `deploy` as of v0.995. Nothing to do is considered successful.
|
|
|
|
Thanks to Paul Williams for the PR (#374)!
|
|
|
|
- Update `psql` options to use a conninfo string to honor connection
|
|
|
|
parameter key words for PostgreSQL targets. It can now take advantage
|
|
|
|
of the connection service file using `db:pg:///?service=$PGSERVICE` as
|
|
|
|
well as other connection parameters. Thanks to Paul Williams for the PR
|
|
|
|
(#375)!
|
|
|
|
|
|
|
|
0.9996 2017-07-17T18:33:12Z
|
|
|
|
- Fixed an error where Oracle sometimes truncated timestamp formats so
|
|
|
|
that date parsing failed. Thanks to Johann Wilfling for the report and
|
|
|
|
@nmaqsudov for the solution (#316).
|
|
|
|
- Added pager configuration, prioritizing the new `core.pager`
|
|
|
|
configuration variable over the `$PAGER` environment variable. The new
|
|
|
|
`$SQITCH_PAGER` environment variable trumps all. Thanks to Yati Sagade
|
|
|
|
for the pull request (#329).
|
|
|
|
- Documented the `core.editor` configuration variable.
|
|
|
|
- Updated PostgreSQL registry detection to avoid errors when not running
|
|
|
|
Sqitch as a superuser and the registry schema already exists. Done by
|
|
|
|
looking for the `changes` table in the `pg_tables` view instead of
|
|
|
|
looking for the registry schema in the `pg_namespace` catalog table,
|
|
|
|
and by using `CREATE SCHEMA IF NOT EXISTS` on PostgreSQL 9.3 and
|
|
|
|
higher. Thanks to @djk447 for the pull request (#307).
|
|
|
|
- Updated PostgreSQL registry detection to avoid errors when the `psql`
|
|
|
|
client is newer than the server version. Sqitch now fetches the version
|
|
|
|
from the server instead of parsing it from the client.
|
|
|
|
- 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).
|
|
|
|
|
2016-06-12 12:45:33 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sun Jun 12 12:36:26 UTC 2016 - coolo@suse.com
|
|
|
|
|
|
|
|
- updated to 0.9994
|
|
|
|
see /usr/share/doc/packages/perl-App-Sqitch/Changes
|
|
|
|
|
|
|
|
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 seaerch 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
|
|
|
|
so that it loads only targets specified by the local configuration.
|
|
|
|
Otherwise, user and system configuration can get in the way when they
|
|
|
|
specify engines and targets not used by the current project.
|
|
|
|
[Improvements]
|
|
|
|
- Added support for the `--set` option when deploying to MySQL. Thanks to
|
|
|
|
Chris Bandy for figuring out how to do it!
|
|
|
|
- Added support for a "reworked directory". By default, reworked change
|
|
|
|
scripts live in the deploy, revert, and verify directories along with
|
|
|
|
all the other change scripts. But if that starts to get too messy, or
|
|
|
|
you simply don't want to see them, add a `reworked_dir` setting to the
|
|
|
|
core, engine, or target config and reworked scripts will be stored
|
|
|
|
there, instead. Also supported are `reworked_deploy_dir`,
|
|
|
|
`reworked_revert_dir`, and `reworked_verify_dir`.
|
|
|
|
- Added the `--dir` option to the `init`, `engine`, and `target`
|
|
|
|
commands.
|
|
|
|
- Copied the core configuration options (`--engine`, `--target`,
|
|
|
|
`--plan-file`, `--registry`, etc.) to the `init`, `engine`, and
|
|
|
|
`target` commands. This means that they can be specified after the
|
|
|
|
command, which is a bit more natural. It also means that the
|
|
|
|
`--registry` and `--client` options of the `target` are no longer
|
|
|
|
deprecated.
|
|
|
|
- The `init` command on longer writes out commented values for the
|
|
|
|
`deploy_dir`, `revert_dir`, or `verify_dir` settings. I think these
|
|
|
|
settings are not commonly used, and it would start to get crowded if we
|
|
|
|
also added their "reworked" variants, which will be used still less.
|
|
|
|
- Added the `alter` action to the `engine` and `target` commands to set
|
|
|
|
engine and target properties.
|
|
|
|
- Added support for setting reworked directories to the `engine` and
|
|
|
|
`target` commands.
|
|
|
|
- Reformatted the output of the `engine` and `target` command `show`
|
|
|
|
actions to include reworked directories, and to bit a bit less flat.
|
|
|
|
- Attempting to add or alter an engine with a target URI that connects to
|
|
|
|
a different engine now triggers an error. For example, you can't set
|
|
|
|
the target for engine `pg` to `db:sqlite:`.
|
|
|
|
- The `add` and `alter` actions of the `engine` and `target` commands
|
|
|
|
now create script directories if they don't already exist.
|
|
|
|
- The `add` action of the `engine` and `target` commands now creates a
|
|
|
|
plan file if one does not exist in the specified location for the
|
|
|
|
engine or target.
|
|
|
|
- Added the `deploy_dir`, `revert_dir`, and `verify_dir` methods to
|
|
|
|
App::Sqitch::Plan::Change. Each points to the proper directory for the
|
|
|
|
target depending on whether or not the change has been reworked.
|
|
|
|
- In the MySQL engine, the following URI query params will be converted
|
|
|
|
to options passed to the command-line client, if they're present:
|
|
|
|
* mysql_compression=1 => --compress
|
|
|
|
* mysql_ssl=1 => --ssl
|
|
|
|
* mysql_connect_timeout => --connect_timeout
|
|
|
|
* mysql_init_command => --init-command
|
|
|
|
* mysql_socket => --socket
|
|
|
|
* mysql_ssl_client_key => --ssl-key
|
|
|
|
* mysql_ssl_client_cert => --ssl-cert
|
|
|
|
* mysql_ssl_ca_file => --ssl-ca
|
|
|
|
* mysql_ssl_ca_path => --ssl-capath
|
|
|
|
* mysql_ssl_cipher => --ssl-cipher
|
|
|
|
[Documentation]
|
|
|
|
- Added the "Overworked" section to sqitch-configuration guide with an
|
|
|
|
example of how to move reworked change scripts into a `reworked_dir`.
|
|
|
|
[Deprecations]
|
|
|
|
- Deprecated the `set-*` actions in the `engine` and `target` commands in
|
|
|
|
favor of the new `alter` action.
|
|
|
|
- The core `--deployed-dir`, `--revert-dir`, and `--verify-dir` options
|
|
|
|
are deprecated in favor of the `--dir` option on the `init`, `engine`,
|
|
|
|
and `target` command.
|
|
|
|
|
|
|
|
0.9992 2015-05-20T23:51:41Z
|
|
|
|
- On PostgreSQL, Sqitch now sets the `client_encoding` parameter to
|
|
|
|
`UTF8` for its own connection to the database. This ensures that data
|
|
|
|
sent to and from the databse should always be properly encoded and
|
|
|
|
decoded. Users should still set the proper encodings for change scripts
|
|
|
|
as appropriate.
|
|
|
|
- Fixed test failures due to path differences on Windows.
|
|
|
|
- DateTime::TimeZone is now explicitly required in an attempt to head off
|
|
|
|
"Cannot determine local time zone" errors.
|
|
|
|
- Corrected some typos and thinkos in `sqitchtutorial-oracle`, thanks to
|
|
|
|
George Hartzell.
|
|
|
|
- Improved the script to upgrade an Oracle registry to v1.0 to support
|
|
|
|
versions prior to Oracle 12, thanks to Timothy Procter.
|
|
|
|
- Added missing closing parenthesis to the "Nothing to deploy" message.
|
|
|
|
Thanks to George Hartzell for the pull request (Issue #226).
|
|
|
|
- Replaced the unique constraint on the `script_hash` column in the
|
|
|
|
`changes` registry table with a unique constraint on `project` and
|
|
|
|
`script_hash`. This is to allow a deploy script to be used in more than
|
|
|
|
one project in a single database. This change increments the registry
|
|
|
|
version to v1.1. Thanks to Timothy Procter for the report.
|
|
|
|
- Updated the registry check constraints to have consistent names on the
|
|
|
|
engines that support them. This will make it easier to modify the
|
|
|
|
constraints in the future.
|
|
|
|
- Fixed precision issues with the registry version on MySQL and Firebird.
|
|
|
|
- Added comment to sqitch-passwords guide that MySQL::Config is required
|
|
|
|
to read passwords from the MySQL configuration files. Thanks to
|
|
|
|
Sterling Hanenkamp for the patch!
|
|
|
|
|
|
|
|
0.9991 2015-04-03T23:14:39Z
|
|
|
|
[Improvements]
|
|
|
|
- Reduced minimum required MySQL engine from 5.6.4 to 5.1.0. Versions
|
|
|
|
prior to 5.6.4 lose the following features:
|
|
|
|
* Versions earlier than 5.6.4 is fractional second precision on
|
|
|
|
registry `DATETIME` columns. Since the ordering of those timestamps
|
|
|
|
is so important to the functioning of Sqitch, it will sleep in 100 ms
|
|
|
|
increments between logging changes to the registry until the time has
|
|
|
|
ticked over to the next second. Naturally, reverts and deploys will
|
|
|
|
be a little slower on versions of MySQL before 5.6.4, but accurate.
|
|
|
|
* Versions earlier than 5.5.0 lose the `checkit()` functions, which
|
|
|
|
would otherwise be used to emulate CHECK constraints in the registry,
|
|
|
|
as well as in user-created verify scripts, as recommended in the
|
|
|
|
MySQL tutorial, `sqitchtutorial-mysql`.
|
|
|
|
- Added a script to update the `DATETIME` columns in a MySQL Sqitch
|
|
|
|
registry that was upgraded to MySQL 5.6.4 or higher. It will be
|
|
|
|
installed as `tools/upgrade-registry-to-mysql-5.6.4.sql` in the
|
|
|
|
directory returned by `sqitch --etc`.
|
|
|
|
- Added a script to add the `checkit()` function and registry triggers to
|
|
|
|
emulate CHECK constraints to a MySQL Sqitch registry that was upgraded
|
|
|
|
to MySQL 5.5.0 or higher. It will be installed as
|
|
|
|
`tools/upgrade-registry-to-mysql-5.5.0.sql` in the directory returned
|
|
|
|
by `sqitch --etc`.
|
|
|
|
- The `init` command now throws an error when the plan file already
|
|
|
|
exists and is invalid or defined for a different project. Thanks to
|
|
|
|
Gabriel Potkány for the suggestion (Issue #214).
|
|
|
|
- All commands that take target arguments can now specify them as engine
|
|
|
|
names or plan file paths as well as target names and URIs.
|
|
|
|
- Added the `--all` option and the `$command.all` configuration variable
|
|
|
|
to the `add`, `rework`, `tag`, and `bundle` commands. This option tells
|
|
|
|
the commands to do their thing for all plans known from the
|
|
|
|
configuration, not just the default plan.
|
|
|
|
- Pass engine, target, or plan file names to the `add`, `rework`, `tag`,
|
|
|
|
and `bundle` commands` commands to specify specify one or more targets,
|
|
|
|
engines, and plans to act on.
|
|
|
|
- Added the `--change` option to the `add`, `rework`, and `tag` commands
|
|
|
|
to distinguish the change to be added, reworked, or tagged from
|
|
|
|
plan-specifying arguments, if necessary.
|
|
|
|
- Added the `--tag` option to the `tag` command to distinguish the tag to
|
|
|
|
be added from plan-specifying arguments, if necessary.
|
|
|
|
- Changed the short variant of the `--conflicts` option to the `add` and
|
|
|
|
`rework` commands from `-c` to `-x`. The `-c` option is now used as the
|
|
|
|
short variant for `--change` (and `--conflicts` has almost certainly
|
|
|
|
never been used, anyway).
|
|
|
|
- Added the `engine` and `project` variables to the execution of script
|
|
|
|
templates by the `add` command. The default templates now use it to
|
|
|
|
make their first lines one of:
|
|
|
|
* -- Deploy [% project %]:[% change %] to [% engine]
|
|
|
|
* -- Revert [% project %]:[% change %] from [% engine]
|
|
|
|
* -- Verify [% project %]:[% change %] on [% engine]
|
|
|
|
[Bug Fixes]
|
|
|
|
- DateTime::TimeZone::Local::Win32 is now required on Windows.
|
|
|
|
- The MySQL engine no longer passes `--skip-pager` on Windows, since
|
|
|
|
it is not supported there. Thanks to Gabriel Potkány for the report
|
|
|
|
(Issue #213).
|
|
|
|
- Fixed "no such table: changes" error when upgrading the SQLite
|
|
|
|
registry.
|
|
|
|
- Fixed upgrade failure on PostgreSQL 8.4. Thanks to Phillip Smith for
|
|
|
|
the report!
|
|
|
|
- Fixed an error when the `status` command `show_changes` and `show_tags`
|
|
|
|
configuration variables were set. Thanks to Adrian Klaver for the
|
|
|
|
report (Issue #219).
|
|
|
|
- Fixed `log` and `plan` usage statements to properly spell `--abbrev`.
|
|
|
|
Thanks to Adrian Klaver for the report (Issue #220).
|
|
|
|
- Fixed the formatting of change notes so that a space precedes the `#`
|
|
|
|
character whether the note was added by the `--note` option or via an
|
|
|
|
editor.
|
|
|
|
- Fixed a bug when parsing plan files with DOS/Windows line endings.
|
|
|
|
Thanks to Timothy Procter for the report (Issue #212).
|
|
|
|
- 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. Thanks to BryLo for the report!
|
|
|
|
[Documentation]
|
|
|
|
- Updated docs to be consistent in referring to the location of the system
|
|
|
|
configuration and template location as `$(prefix)/etc/sqitch`. Also
|
|
|
|
added notes pointing to the `--etc-dir` to find out exactly what that
|
|
|
|
resolves to. Suggested by Joseph Anthony Pasquale Holsten (Issue #167).
|
|
|
|
[Deprecations]
|
|
|
|
- Reverted deprecation of the database connection options. Target URIs
|
|
|
|
are still generally preferred, but sometimes you want to use a target
|
|
|
|
but just change the user name or database name. Retaining the options
|
|
|
|
is the easiest way to do this. Plus, a fair number of people have
|
|
|
|
scripts that use these options, and it seems petty to break them. Sorry
|
|
|
|
for the double-take here! The list of un-deprecated options is:
|
|
|
|
* `--db-client`
|
|
|
|
* `--db-host`
|
|
|
|
* `--db-port`
|
|
|
|
* `--db-username`
|
|
|
|
* `--db-password`
|
|
|
|
* `--db-name`
|
|
|
|
|
|
|
|
0.999 2015-02-12T19:43:45Z
|
|
|
|
- Improved MySQL missing table error detection by relying on error codes
|
|
|
|
instead of matching a (possibly localized) error string.
|
|
|
|
- Made the registry upgrade more transparent when deploying. Sqitch is
|
|
|
|
now is a little more vigilent in checking for things being out-of-date
|
|
|
|
and updating them.
|
|
|
|
- Fixed an issue where the `status` command would return an error when
|
|
|
|
run against a an older version of the registry.
|
|
|
|
- Fixed a Postgres test failure when DBD::Pg is installed but psql is not
|
|
|
|
in the path.
|
|
|
|
- Now require Config::GitLike 1.15 to build on Windows in order to avoid
|
|
|
|
test failures when Cwd::abs_path dies on non-existant paths.
|
|
|
|
- Clarified the behavior of each `deploy` reversion mode with regard to
|
|
|
|
deploy script vs. verify script failures, and with the expectation that
|
|
|
|
deploy scripts are atomic.
|
|
|
|
- Target passwords can now be set via a single environment variable,
|
|
|
|
`$SQITCH_PASSWORD`. Its value will override URI-specified password.
|
|
|
|
- Added the sqitch-passwords and sqitch-environment guides.
|
|
|
|
|
|
|
|
0.998 2015-01-15T22:17:44Z
|
|
|
|
- Fixed a bug in `sqitch engine update-config` where it would add data to
|
|
|
|
config files that did not previously have them, or report that data was
|
|
|
|
present in nonexistent config files.
|
|
|
|
- Added the `releases` table to the databases. This table will keep track
|
|
|
|
of releases of the Sqitch registry schema.
|
|
|
|
- The Oracle `registry` variable is now always `DEFINE`d when Oracle
|
|
|
|
scripts run.
|
|
|
|
- Added the `upgrade` command, which upgrades the schema for the Sqitch
|
|
|
|
registry for a target database.
|
|
|
|
- Added the `script_hash` column to the `changes` registry table. This
|
|
|
|
column contains a SHA-1 hash of the deploy script for the change at the
|
|
|
|
time it was deployed. For existing registries, the upgrade script sets
|
|
|
|
its value to be the same as the change ID. This value is update the
|
|
|
|
next time a project is deployed to the database.
|
|
|
|
- The error message when `deploy` cannot find the currently-deployed
|
|
|
|
change ID in the plan now includes more contextual information,
|
|
|
|
including the change name, associated tags, and the plan file name.
|
|
|
|
Suggested by Curtis Poe (Issue #205).
|
|
|
|
- Comments on Firebird registry objects are now created with the
|
|
|
|
`COMMENT` command, rather than INSERTs into catalog tables.
|
|
|
|
- Added support for "merge" events, though none are logged, yet.
|
|
|
|
|
|
|
|
0.997 2014-11-04T22:52:23Z
|
|
|
|
[New Features]
|
|
|
|
- Added support for new target properties. In addition to the existing
|
|
|
|
`uri`, `client`, and `registry` properties, targets may also configure
|
|
|
|
these properties via the new `--set` option to and `set-*` actions on
|
|
|
|
the `target` command:
|
|
|
|
* `top_dir`
|
|
|
|
* `plan_file`
|
|
|
|
* `extension`
|
|
|
|
* `deploy_dir`
|
|
|
|
* `revert_dir`
|
|
|
|
* `verify_dir`
|
|
|
|
- Added support for new engine configuration variables. In addition to
|
|
|
|
the existing `target`, `client`, and `registry` variables, engine
|
|
|
|
configuration may also include these variables:
|
|
|
|
* `top_dir`
|
|
|
|
* `plan_file`
|
|
|
|
* `extension`
|
|
|
|
* `deploy_dir`
|
|
|
|
* `revert_dir`
|
|
|
|
* `verify_dir`
|
|
|
|
- Rationalized the hierarchical configuration of deployment targets. The
|
|
|
|
properties of any given target will now be determined by examining
|
|
|
|
values in the following order:
|
|
|
|
* Command-line options
|
|
|
|
* Target configuration
|
|
|
|
* Engine configuration
|
|
|
|
* Core configuration
|
|
|
|
* Reasonable engine-specific defaults
|
|
|
|
- Added the `engine` command to simplify engine configuration. This
|
|
|
|
complements the newly-improved `target` command. Run `sqitch engine
|
|
|
|
update-config` to update deprecated engine configurations and start
|
|
|
|
using it.
|
|
|
|
- Added the sqitch-configuration guide to provide an overview of core,
|
|
|
|
engine, and target configuration. Includes some use-case examples and
|
|
|
|
best suggested practices.
|
|
|
|
[Improvements]
|
|
|
|
- Simplified the output of `sqitch help`, and added the more important
|
|
|
|
options to it.
|
|
|
|
- Added the `--guide` option to `sqitch help` to list Sqitch guides.
|
|
|
|
- Renamed the `--db-client` option to `--client`. `--db-client` still
|
|
|
|
works, but is deprecated.
|
|
|
|
- Added the `--registry` core option for parity with `--client`,
|
|
|
|
`--top-dir`, `--plan-file`, and the rest of the hierarchical
|
|
|
|
configuration properties.
|
|
|
|
- Updated the `init` documentation to better cover all the options
|
|
|
|
processed.
|
|
|
|
- Incremented the version plan file format version to v1.0.0. No changes;
|
|
|
|
it has been stable for at least a year, so it's time.
|
|
|
|
[Bug Fixes]
|
|
|
|
- At runtime, the Vertica engine now properly requires DBD::ODBC
|
|
|
|
instead of DBD::Pg.
|
|
|
|
- The Vertica engine now supports Vertica 6, as documented.
|
|
|
|
- Fixed a warning from Type::Utils, thanks to a report from Géraud
|
|
|
|
CONTINSOUZAS.
|
|
|
|
- The `status` command once again notices if the specified database is
|
|
|
|
uninitialized and says as much, rather than dying with an SQL error.
|
|
|
|
- The `--etc-path` option works again.
|
|
|
|
[Deprecations]
|
|
|
|
- Deprecated `core.$engine` configuration in favor of `engine.$engine`. A
|
|
|
|
warning will be emitted if Sqitch sees the former. Run `sqitch engine
|
|
|
|
update-config` to update your configurations. Existing `core.$engine`
|
|
|
|
configurations will be left in place for compatibility with older
|
|
|
|
versions of Sqitch, but the `sqitch engine` command will not modify
|
|
|
|
them, so they can get out-of-sync. Run `sqitch config --remove-section
|
|
|
|
core.$engine` to remove them.
|
|
|
|
- Formally deprecated the database connection options in favor of target
|
|
|
|
URIs. If any of these options is used, a warning will be issued. They
|
|
|
|
will be dropped in v1.0:
|
|
|
|
* `--db-host`
|
|
|
|
* `--db-port`
|
|
|
|
* `--db-username`
|
|
|
|
* `--db-password`
|
|
|
|
* `--db-name`
|
|
|
|
- Formally deprecated the database connection configuration variables in
|
|
|
|
favor of target URIs. If any of these variables is used, a warning will
|
|
|
|
be issued. Run `sqitch engine update-config` to update your
|
|
|
|
configurations. Existing `core.$engine` configurations will be left in
|
|
|
|
place for compatibility with older versions of Sqitch, but the `sqitch
|
|
|
|
engine` command will not modify them, so they can get out-of-sync. Run
|
|
|
|
`sqitch config --remove-section core.$engine` to remove them. Sqitch
|
|
|
|
will cease to support them in v1.0:
|
|
|
|
* `core.$engine.host`
|
|
|
|
* `core.$engine.port`
|
|
|
|
* `core.$engine.username`
|
|
|
|
* `core.$engine.password`
|
|
|
|
* `core.$engine.db_name`
|
|
|
|
- Deprecated the `--registry` and `--client` options of the `target`
|
|
|
|
command. All target properties should now be set via the new `--set`
|
|
|
|
option, such as `--set registry=reg`.
|
|
|
|
- Formally deprecated the following options of the `add` command. They
|
|
|
|
have been replaced with the `--with`, `--without`, and `--use` options
|
|
|
|
since v0.991. Their use will emit a warning, and they will be removed
|
|
|
|
in v1.0:
|
|
|
|
* `--deploy-template`
|
|
|
|
* `--revert-template`
|
|
|
|
* `--verify-template`
|
|
|
|
* `--deploy`
|
|
|
|
* `--no-deploy`
|
|
|
|
* `--revert`
|
|
|
|
* `--no-revert`
|
|
|
|
* `--verify`
|
|
|
|
* `--no-verify`
|
|
|
|
- Dropped support for the long-deprecated (and likely never used outside
|
|
|
|
ancient tests long deleted) engine configuration variables
|
|
|
|
`core.sqlite.sqitch_db` and `core.pg.sqitch_schema`. Both have been
|
|
|
|
replaced with `engine.$engine.registry`, which applies to all engines.
|
|
|
|
- Formally deprecated the `@FIRST` and `@LAST` symbolic tags. Their use
|
|
|
|
will trigger a warning to use `@ROOT` and `@HEAD`, instead. They will
|
|
|
|
be removed in v1.0.
|
|
|
|
[Internals]
|
|
|
|
- Moved target and engine configuration from App::Sqitch and
|
|
|
|
App::Sqitch::Engine to a new class, App::Sqitch::Target. This class is
|
|
|
|
solely responsible for finding the appropriate values for attributes on
|
|
|
|
every run. The target knows what plan and engine to use, based on those
|
|
|
|
properties. App::Sqitch is now responsible solely for encapsulating
|
|
|
|
command-line options, configuration, and utilities. Classes are now
|
|
|
|
responsible for instantiating both an App::Sqitch and
|
|
|
|
App::Sqitch::Target options as appropriate.
|
|
|
|
- Updated all classes to create both Sqitch and Target objects as
|
|
|
|
appropriate. This change touched almost every class.
|
|
|
|
- Replaced attributes in App::Sqitch that were previously set from
|
|
|
|
command-line options or configuration with a single attribute,
|
|
|
|
`options`, which is a hash only of the command-line options. Classes
|
|
|
|
are now responsible for finding the proper values in config or options.
|
|
|
|
Mostly this requirement is encapsulated by the new App::Sqitch::Target
|
|
|
|
class.
|
|
|
|
- Updated the command classes to use either a "default target" derived
|
|
|
|
from command-line options, engine configuration, and core
|
|
|
|
configuration, or a target looked up by name in the configuration
|
|
|
|
maintained by the `target` command.
|
|
|
|
|
|
|
|
0.996 2014-09-05T21:11:00Z
|
|
|
|
- Fixed one more test failure due to the introduction of "Negative repeat
|
|
|
|
count does nothing" warning in Perl 5.21.1.
|
|
|
|
- Fixed "Redundant argument in printf" warning on Perl 5.21.2.
|
|
|
|
- Switched from Digest::SHA1, which is deprecated, to Digest::SHA for
|
|
|
|
generating SHA-1 IDs.
|
|
|
|
- Switched from Mouse and Moose to Moo. Sqitch no longer depends on any
|
|
|
|
modules that use Moose, either. This results in an approximately 40%
|
|
|
|
startup time speedup.
|
|
|
|
- Loading of App::Sqitch::DateTime is now deferred until it's needed.
|
|
|
|
This is because DateTime is rather expensive to load. Since a number of
|
|
|
|
commands don't need it, it seems silly to load it in those cases.
|
|
|
|
- Now recommend Type::Tiny::XS and Class::XSAccessor for improved
|
|
|
|
performance.
|
|
|
|
- The `check` command now properly fails on a plan parse error, instead
|
|
|
|
of blindly continuing on.
|
|
|
|
- Fixed a failing test on PostgreSQL due to localization issues. Thanks
|
|
|
|
to Sven Schoberf for the report (Issue #171).
|
|
|
|
- Added the `revert.prompt_accept`, `rebase.prompt_accept`, and
|
|
|
|
`checkout.prompt_accept` boolean configuration variables. Set these
|
|
|
|
variables to false to change the default answer to the revert prompt to
|
|
|
|
"No". When rebasing or checking out, if the variables specific to those
|
|
|
|
commands are not set, Sqitch will fall back on the value of
|
|
|
|
`revert.prompt_accept`. Suggested by Graeme Lawton (Issue #164).
|
|
|
|
- The MySQL engine now sets the `$MYSQL_PWD` environment variable if a
|
|
|
|
password is provided in a target. This should simplify authentication
|
|
|
|
when running MySQL change scripts through the `mysql` client client
|
|
|
|
(Issue #150).
|
|
|
|
- The MySQL engine now reads `client` and `mysql` groups in the MySQL
|
|
|
|
configuration files for a password when connecting to the registry
|
|
|
|
database, and when the target URI includes no password. The MySQL
|
|
|
|
client already read those files, of course, but now the internal
|
|
|
|
database connection does as well (Issue #150).
|
|
|
|
- The Firebird engine now sets the `$ISC_PASSWORD` environment variable
|
|
|
|
if a password is provided in a target. This should simplify
|
|
|
|
authentication when running Firebird change scripts through the `isql`
|
|
|
|
client client. Patch from Ștefan Suciu.
|
|
|
|
- No longer passing URI query params as DBI params, because they are
|
|
|
|
already included in the DSN provided by URI::db.
|
|
|
|
- Added the Vertica engine.
|
|
|
|
|
|
|
|
0.995 2014-07-13T22:24:53Z
|
|
|
|
- Fixed test failures due to the introduction of "Negative repeat count
|
|
|
|
does nothing" warning in Perl 5.21.1.
|
|
|
|
- Fixed more test failures when DBD::Firebird is installed but Firebird
|
|
|
|
isql cannot be found.
|
|
|
|
- Fixed registry file naming issues on Win32 for the SQLite engine, and
|
|
|
|
as well as the tests that failed because of it.
|
|
|
|
- Worked around Config::GitLike bug on Windows in the target test.
|
|
|
|
- Changed the exit value for an attempt to deploy to an up-to-date
|
|
|
|
database from 1 to 0. In other words, it no longer looks like an error
|
|
|
|
(Issue #147).
|
|
|
|
|
|
|
|
0.994 2014-06-20T02:58:10Z
|
|
|
|
- Fixed installation failure due to missing IO::File module on Windows.
|
|
|
|
- Fixed file test failure for the Oracle engine on Windows.
|
|
|
|
- Fixed bug where namespace-autoclean: 0.16 caused errors such as
|
|
|
|
"Invalid object instance: 'yellow'".
|
|
|
|
- Fixed Oracle SQL*Plus capture test failure on Windows.
|
|
|
|
|
|
|
|
0.993 2014-06-04T20:14:34Z
|
|
|
|
- Fixed engine loading to prefer the engine implied by the target URI
|
|
|
|
over the `core.engine` configuration variable. This means that you no
|
|
|
|
longer have to pass `--engine` when using commands that accept a target
|
|
|
|
option or argument, such as `deploy`.
|
|
|
|
- Fixed test failure when DBD::Firebird is installed but Firebird isql
|
|
|
|
cannot be found.
|
|
|
|
- Fixed issue where the revert command fails to execute the proper revert
|
|
|
|
script. This can occur when a change has been reworked in the plan, but
|
|
|
|
the reworked version of the change has not been deployed to the
|
|
|
|
database. Thanks to Timothy Procter for the report (Issue #166).
|
|
|
|
- Fixed issue with aggregating text values with `COLLECT()` on Oracle.
|
|
|
|
Thanks to Timothy Procter for the digging and invocation of an Oracle
|
|
|
|
support request (Issue #91).
|
|
|
|
- Fixed issue where SQL*Plus could not run rework scripts because of the
|
|
|
|
`@` in the file name. It now uses a symlink (or copied file on Windows)
|
|
|
|
to circumvent the problem. Thanks to Timothy Procter for the report
|
|
|
|
(Issue #165).
|
|
|
|
- Fix issue where, on first deploy, the MySQL engine would fail to notice
|
|
|
|
that the server was not the right version of MySQL. Thanks to Luke
|
|
|
|
Young for the report (Issue #158).
|
|
|
|
- Made the `checkit()` MySQL function DETERMINISTIC, to improve
|
|
|
|
compatability with MariaDB. Thanks to Jesse Luehrs for the report
|
|
|
|
(Issue #158).
|
|
|
|
- Fixed deployment to PostgreSQL 8.4 so that it no longer chokes on the
|
|
|
|
`:tableopts`. Thanks to Justin Hawkins for the report!
|
|
|
|
|
|
|
|
0.992 2014-03-05T00:34:49Z
|
|
|
|
- Fixed target test failures on Windows.
|
|
|
|
- Added support for Postgres-XC to the PostgreSQL engine. Sqitch registry
|
|
|
|
tables are distributed by replication to all data nodes.
|
|
|
|
- Added support to MariaDB 5.3 and higher to the MySQL engine, thanks to
|
|
|
|
Ed Silva.
|
|
|
|
|
|
|
|
0.991 2014-01-16T23:24:33Z
|
|
|
|
- Greatly simplified determining the Firebird ISQL client. It no longer
|
|
|
|
tries so hard to find a full path, but does seach through the path list
|
|
|
|
for a likely candidate between fbsql, isql-fb, and isql (or equivalents
|
|
|
|
ending in .exe on Windows).
|
|
|
|
- Removed a bunch of inappropriately pasted stuff from the Firebird
|
|
|
|
tutorial, and updated it a bit.
|
|
|
|
- `HEAD` and `ROOT` are now recognized as aliases for `@HEAD` and
|
|
|
|
`@ROOT`, when querying the database, too. That means that `revert --to
|
|
|
|
HEAD` now works the same as `revert --to @HEAD`, as had been expected
|
|
|
|
in v0.990.
|
|
|
|
- Eliminated "use of uninitialized value" warnings when database
|
|
|
|
connections fail.
|
|
|
|
- Reduced the minimum required DBD::Firebird to v1.11.
|
|
|
|
- Fixed the `--verbose` option to the `target` command.
|
|
|
|
- Eliminated more user-configuration issues in tests, thanks to
|
|
|
|
chromatic.
|
|
|
|
- Fixed test failures when the `$PGPASSWORD` environment variable is set,
|
|
|
|
thanks to Ioan Rogers's test smoker.
|
|
|
|
|
|
|
|
0.990 2014-01-04T01:14:24Z
|
|
|
|
[New Features]
|
|
|
|
- Added new command and feature: `target`. Use it to manage multiple
|
|
|
|
database targets, each with an associated URI and, optionally, a
|
|
|
|
registry name and command-line client. Inspired by Git remotes.
|
|
|
|
- Added Firebird engine. Three cheers to Ștefan Suciu for this
|
|
|
|
contribution!
|
|
|
|
- Added support for the generation of arbitrary scripts from templates to
|
|
|
|
the `add` command. Just add template files to subdirectories of the
|
|
|
|
`templates` directory, and scripts will be created in a directory of
|
|
|
|
the same name based on those templates.
|
|
|
|
- Added `--open-editor` option (and aliases) to the `add` and `rework`
|
|
|
|
commands. This option will open the newly-added change scripts in the
|
|
|
|
preferred editor. Thanks to Thomas Sibley for the patch!
|
|
|
|
|
|
|
|
[Improvements]
|
|
|
|
- Improved database driver loading to ensure the proper version of the
|
|
|
|
driver is required.
|
|
|
|
- Non-fatal but possibly unexpected messages -- which correspond to exit
|
|
|
|
value 1 -- now send their messages to STDOUT instead of STDERR, and
|
|
|
|
respect the `--quiet` option. Thanks to @giorgio-v for the report!
|
|
|
|
- Added or replaced the `--target` option to commands that connect to a
|
|
|
|
database to specify the name of target managed by the new `target`
|
|
|
|
command or a database URI.
|
|
|
|
- `HEAD` and `ROOT` are now recognized as aliases for `@HEAD` and
|
|
|
|
`@ROOT`, respectively, since they are disallowed as change names,
|
|
|
|
anyway, and folks often use them out of habit from Git.
|
|
|
|
|
|
|
|
[Internals]
|
|
|
|
- Replaced the engine-specific connection attributes with three
|
|
|
|
attributes use by every engine:
|
|
|
|
* `target`: The name of a target managed by the new `target` command.
|
|
|
|
Defaults to a value stored for the `core.$engine.target`
|
|
|
|
configuration variable. If that variable does not exist, the target
|
|
|
|
falls back on the stringification of `uri`.
|
|
|
|
* `uri`: a database URI with the format `db:{engine}:{dbname}` or
|
|
|
|
`db:{engine}://{user}:{password}@{host}:{port}/{dbname}`. If its
|
|
|
|
value is not passed to the constructor, a `uri` value is looked up
|
|
|
|
for the associated `target`. If `target` is not passed or configured,
|
|
|
|
or if it has no URI associated with it, the `config.$engine.uri`
|
|
|
|
configuration variable is used. If that value does not exist, the URI
|
|
|
|
defaults to `db:$engine:`. In any of these cases, if any of the
|
|
|
|
`--db-*` options are passed, they will be merged into the URI.
|
|
|
|
* `registry`: the name to use for the Sqitch registry schema or
|
|
|
|
database, where Sqitch's own data will be stored, as appropriate to
|
|
|
|
each engine. If its value is not passed to the constructor, a
|
|
|
|
`registry` value is looked up for the associated `target`. If
|
|
|
|
`target` is not passed or configured, or if it has no registry
|
|
|
|
associated with it, the `config.$engine.registry` configuration
|
|
|
|
variable is used. If no value is found there, it defaults to an
|
|
|
|
engine-specific value, usually "sqitch".
|
|
|
|
|
|
|
|
[Bug Fixes]
|
|
|
|
- Fixed a bug when installing under local::lib. Thanks to Thomas Sibley
|
|
|
|
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.
|
|
|
|
|
2013-08-14 06:47:02 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Aug 12 12:37:59 UTC 2013 - darin@darins.net
|
|
|
|
|
|
|
|
- Initial packaging
|