The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.80 - 2012-08-01

  • Added the `log` command to `sqitchcommands.pod`, which is shown as the output of `sqitch help`.
  • Added `user.name` and `user.email` configuration variables.
  • Now using `user.name` and `user.email`, rather than the system or database user name, to log the user committing changes to a database.
  • Database-specific options are now prefixed with `--db-`.
  • Added "raw" format to App::Sqitch::DateTime. It is ISO-8601 format in UTC.
  • Modified the "raw" log format to use the raw DateTime format.
  • Added timestamp and planner info to the plan. This is additional metadata included in every change and tag: The planner's name and email address and the current timestamp. This makes it easier to audit who added changes to a plan and when.
  • Added the `--note` option to the `add`, `rework`, and `tag` commands.
  • For consistency throughout, renamed all attributes and options from "message" and "comment" to "note", which is shorter and better reflects their purpose.
  • The planner's name and email address, as well as the plan time and note, are now stored in the database whenever changes or tags are committed and logged.
  • Renamed various database columns to be more consistent, with the terms "commit", "plan", and "note".
  • Added `requires` and `conflicts` columns to the events table, so that they can become available to the `log` command.
  • Various `log` format changes:
    • Renamed %n (newline) to %v (vertical space)
    • Renamed %c to %n (change name)
    • Replaced %a (committer name) with %c (committer info). It takes an optional argument:
      • "name" or "n" for committer name
      • "email" or "e" for committer email
      • "d" or "date" for commit date
      • "d:$format" or "date:$format" for formatted commit date
    • Added %p (planner info). It takes an optional argument just like "%c" does:
      • "name" or "n" for planner name
      • "email" or "e" for planner email
      • "d" or "date" for plan date
      • "d:$format" or "date:$format" for formatted plan date
    • Added special argument to "%C", `:event", which returns a color based on the value of the event type:
      • Green for "deploy"
      • Blue for "revert"
      • Red for "fail"
    • Added "%r" and "%R" for lists of required changes.
    • Added "%x" and "%X" for lists of conflicting changes.
    • Added "%a" to display an unlocalized attribute name and value.
    • Added "planner", "committer", "planned", and "email" arguments to %_.
    • Documented that the dates can take CLDR or strftime formats, too.
    • Added the %s, %b, and %B format for "subject", "body", and raw body akin to Git. The values are taken from the note value, if available.
    • Added committer email addresses to default formats.
    • Added plan data to default formats.
    • Added note data to default formats.
    • Added lists of required and conflicting changes to the "raw" and "full" formats.
    • Switched to event-driven colors for event types and change IDs in default formats.
    • Added color to the event type and change ID output in the "raw" format.
  • Added detailed descriptions of the default formats to `sqitch-log.pod`.
  • Updated the Change object to encode and decode vertical whitespace in a note, so that all data remains on a single line for each object in the plan file.
  • Now require a note when adding, reworking, or tagging a change. If `--note` is not specified, an editor will be launched and the user prompted to write a note. This is similar to how `git commit` behaves, and encourages documentation of changes.
  • Added required "project" and optional "uri" pragmas to the plan.
  • Added `--project` and `--uri` attributes to the `init` command.
  • Removed the `core.uri` configuration variable and corresponding core `--uri` option (since it has been replaced with the `init` command's `--uri` option.
  • Command-line arguments are now all assumed to be UTF-8, and are parsed as such.
  • Added workaround to force the configuration file to be written and read as UTF-8. Requires an unreleased version of Config::GitLike to actually work properly.
  • Text passed to a pager (as when running `sqitch log`) is now encoded in UTF-8.
  • Fixed `--quiet` option so that it properly trumps `--verbose`.

Documentation

Sqitch add usage statement
Add a database change to the plan
Sqitch config usage statement
Get and set local, user, or system Sqitch options
Sqitch deploy usage statement
Deploy changes to a database
Sqitch help usage statement
Display help for Sqitch and Sqitch commands
Sqitch init usage statement
Create a new Sqitch project
Sqitch log usage statement
Show database change logs
Sqitch revert usage statement
Revert changes to a database
Sqitch rework usage statement
Rework a database change
Sqitch status usage statement
Show the current deployment status of a database
Sqitch tag usage statement
Create or list tag objects
Sane database change management
List of common sqitch commands
A tutorial introduction to Sqitch

Modules

Sane database change management
Sqitch Command support
Add a new change to a Sqitch plan
Get and set local, user, or system Sqitch options
Deploy Sqitch changes to a database
Display help information about Sqitch
Initialize a Sqitch project
Show a database event log
Revert Sqitch changes from a database
Rework a Sqitch change
Display status information about Sqitch
Add or list tags in a Sqitch plan
Sqitch configuration management
Sqitch DateTime object
Sqitch Deployment Engine
Sqitch PostgreSQL Engine
Sqitch SQLite Engine
Sqitch Deployment Plan
Sqitch deployment plan blank line
Sqitch deployment plan tag
Sqitch deployment plan change list
Sqitch deployment plan line
Sqitch deployment plan line list
Sqitch deployment plan blank line
Sqitch deployment plan tag
Sqitch Exception class