Skip to content

Releases: wshaddix/sqlci

2.1.2

Choose a tag to compare

@github-actions github-actions released this 29 Jul 01:20

Full Changelog: v2.1.1...v2.1.2

2.1.1

Choose a tag to compare

@github-actions github-actions released this 29 May 16:02

[2.1.1] - 2026-05-29

Security

  • Validate ScriptTable as a safe SQL identifier (reject names with spaces, semicolons, etc.) before interpolation into DDL/DML across all providers. Invalid names now produce a clear error at config validation time rather than failing at the database level.
  • Harden connection-string secret redaction: the Pwd keyword is now recognized, arbitrary whitespace around = is handled, and password values without a trailing semicolon are redacted.

Fixed

  • Each change script and its tracking-table audit row now execute inside a single transaction. If the script fails, its audit is rolled back — previously a crash between script execution and audit insertion would cause the script to re-run on the next deploy.
  • Configuration validation now runs the full suite of checks (ScriptTable, Version, ScriptsFolder existence) at deploy time rather than only validating the target environment. Previously, a missing scripts folder would surface as a cryptic DirectoryNotFoundException mid-deploy.
  • ExtractIdFromFileName no longer crashes on filenames without an underscore; it now throws a clear message describing the required naming convention.
  • SQL Server GO batch separator is now anchored to the start of the line (^\s*GO\s*$) so words ending in "GO" (e.g. CARGO) are not accidentally split.
  • Generated script timestamps now use UTC instead of local time, producing monotonic, timezone-independent sequence prefixes.
  • Script run history (sqlci history) no longer creates the tracking table as a side effect — it only reads.

Changed

  • Executor now implements IDisposable and holds a single connection per phase (deploy / reset / history) rather than opening and closing one per operation.
  • Provider alias handling (SqlServer/MSSQL, PostgreSql/pgsql, etc.) is centralized in DatabaseProviderFactory.Normalize, and sqlci init now writes the canonical provider name into config.
  • Unused ExceptionMessages removed and remaining constants converted to const. Default assembly version set to 0.0.0-dev so un-versioned builds are obvious.

Removed

  • Dead code: unused _database field in Executor, unused LogError method, unused MissingResetFolder / NotVerified / ResetFolderDoesNotExist exception messages.

Full Changelog: v2.1.0...v2.1.1

2.1.0

Choose a tag to compare

@github-actions github-actions released this 29 May 04:00

Release 2.1.0

Highlights

  • Interactive init command: Running sqlci init without the --provider flag now shows a nice selection prompt in interactive terminals, letting you choose between Sqlite, SqlServer, or PostgreSql.
  • Better defaults: Sqlite is now the default provider. init generates a ready-to-use Data Source=local.db;Cache=Shared connection string instead of a SQL Server LocalDB placeholder.
  • Major documentation refresh: The README has been completely rewritten with a much clearer flow (Features → Installation → Getting Started happy path first, reference material later). New CONTRIBUTING.md added for developers.

What's Changed

  • feat(cli): add interactive database provider selection to init command
  • docs: major README overhaul and add CONTRIBUTING.md with release process
  • chore(docs): remove outdated internal documentation
  • chore: migrate to .slnx solution and update build configuration
  • chore: remove legacy SqlCi project and old solution file
  • chore: update release workflow and gitignore
  • ci: update workflow to use SqlCi.slnx instead of deleted .sln
  • docs: prepare CHANGELOG for v2.1.0

Full Changelog: v2.0.0...v2.1.0

sqlci v2.0.0

Choose a tag to compare

@github-actions github-actions released this 29 May 00:17

What's Changed

  • initial pass at the init command for multiple databases and environments by @wshaddix in #7

Full Changelog: v1.0.0...v2.0.0

sqlci v2.0.0-beta.4

sqlci v2.0.0-beta.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 May 00:09

What's Changed

  • initial pass at the init command for multiple databases and environments by @wshaddix in #7

Full Changelog: v1.0.0...v2.0.0-beta.4

v1.0.0

Choose a tag to compare

@wshaddix wshaddix released this 15 Aug 13:27
  • Uses a json based configuration.
  • Added support for initializing a new project
  • Updated help documentation

0.9.1

Choose a tag to compare

@wshaddix wshaddix released this 02 Feb 05:55

Switching to json based configs

0.9.0

Choose a tag to compare

@wshaddix wshaddix released this 01 Feb 17:52
v0.9.0

fixed bug while showing history and updated help content output