Skip to content

Releases: crystal-lang/shards

v0.13.0

21 Jan 20:30
dfb6a87
Compare
Choose a tag to compare

Fixes:

Features:

  • Add a fallback to alternate shards commands. (#202, thanks @Willamin)

Others:

  • Use git's checkout feature directly to write out repo files. (#435, thanks @oprypin)
  • Use Process.quote instead of the old platform-specific helper. (#437, thanks @oprypin)
  • Don't use POSIX-specific shell constructs. (#436, thanks @oprypin)
  • Don't use compile-time shell commands to determine build timestamp. (#438, thanks @oprypin)
  • Expand Windows support + fix all specs. (#447, thanks @oprypin)
  • Add continuous testing (including Windows) using GitHub Actions. (#448, thanks @oprypin)
  • Cleanup unused code. (#460, thanks @f-fr)
  • Fix outdated content in the README.md and SPEC.md. (#434, #461, #462, thanks @kojix2, @straight-shoota, @kimburgess)

v0.12.0

05 Aug 21:26
218eb62
Compare
Choose a tag to compare

Fixes:

  • Disable interactive credential prompt for git resolver. (#411, thanks @straight-shoota)
  • Display dependency name on parsing errors of shard.yml. (#408, thanks @straight-shoota)
  • Handle ambiguous dependencies and update shard.lock if source of dependency change. (#419, #429, thanks @bcardiff)
  • Reinstall when resolver changes. (#425, thanks @waj)

Features:

  • Shards overrides. (#422, #429, thanks @bcardiff)
  • Add --ignore-crystal-version related suggestion and warnings to guide user. (#418, thanks @bcardiff)
  • Allow shards to read SHARDS_OPTS for addition command options. (#417, #420, thanks @bcardiff)
  • Add convenient makefile arguments for packaging. (#414, thanks @bcardiff)

Others:

  • Bump required Crystal to 0.35. (#424, thanks @bcardiff)
  • Refactor: Move install responsibilities from Resolver to Package. (#426, thanks @waj)
  • Refactor: Use Package for locks and installed shards. (#428, thanks @waj)
  • Spec: Add stdout and stderr to FailedCommand message. (#410, thanks @straight-shoota)
  • Spec: Fix failure under 32-bit Linux. (#416, thanks @lugia-kun)
  • Fix builds. (#421, #423, thanks @bcardiff)

v0.11.1

08 Jun 19:22
3b7d490
Compare
Choose a tag to compare

Fixes:

  • Support crystal: x.y values (without patch). (#404, thanks @bcardiff)

v0.11.0

05 Jun 17:39
852947d
Compare
Choose a tag to compare

Features:

  • (breaking-change) Use crystal: property to filter candidates version. (#395, thanks @waj, @bcardiff)
  • Introduce shard.lock 2.0 format, run shards install to migrate. (#349, #400, thanks @waj)
  • Support intersection in requirements version: >= 1.0.0, < 2.0. (#394, thanks @waj)
  • Install dependencies in reverse topological order. (#369, thanks @waj)
  • Use less bright colors for output. (#373, thanks @waj)
  • Add error on duplicate arguments in shard.yml. (#387, thanks @straight-shoota)
  • Replace .sha1 files with a single .shards.info. (#349, #366, #368, #401, thanks @waj)

Fixes:

  • Improve GitRef dependencies and locks. (#388, #389, thanks @waj, @straight-shoota)
  • Fix crash when a shard version didn't contain a shard.yml. (#362, thanks @waj)
  • Avoid shard.lock being overwritten when dependencies are up to date. (#370, thanks @waj)
  • Detect version mismatches between shard.yml and git tags . (#341, thanks @RX14)

Others:

v0.10.0

01 Apr 17:33
4091ac5
Compare
Choose a tag to compare

Features:

  • Use crystal-molinillo to resolve dependencies, drop the SAT solver. #322, #329, #336.
  • Automatic unlock on install and update. #337
  • Show the shard's name when running scripts. #326
  • Support shard renames. #327
  • Add SPEC for repository, homepage, documentation properties. #265

Fixes:

  • Allow changes in the source protocol without triggering an actual change in the source. #315
  • Make shards reproducible via SOURCE_DATE_EPOCH environment variable. #314
  • Check non hidden files are not pruned. #330
  • Validation of changes in production mode for dependencies referenced by commit. #340

Others:

v0.9.0 Magnificent Duck

12 Jun 21:16
Compare
Choose a tag to compare

Fixes:

  • Allow resolving pre-release when installing git refs;
  • Report all available versions (Git resolver);
  • Don't prune everything in lib directory.

v0.9.0.rc2 Flaky Duck

07 May 14:04
Compare
Choose a tag to compare
v0.9.0.rc2 Flaky Duck Pre-release
Pre-release

Fixes:

  • Exit with non-zero status on dependency resolve error;
  • Install dependency at HEAD when no version tags are defined;
  • Install executables using shard.yml at commit (not version).

v0.9.0.rc1 Corpulent Duck

09 Feb 15:21
Compare
Choose a tag to compare
Pre-release

Breaking changes:

  • Dependency solver was overhauled, it may resolve dependencies in a
    completely different way, succeed better, or just fail;
  • Git tag refs that match a version number are now an actual version (i.e.
    tag: v1.0.0 is converted to version: 1.0.0).

Features:

  • Update specified shards only, trying to keep other shards to their locked
    version if possible;
  • Add --local argument to use the cache as-is, allowing to skip git fetches
    when you know the cache is up-to-date;
  • Add the outdated command to list dependencies that could be updated
    (matching constraints) as well as their latest version; including pre-release
    versions on demand.
  • Add the lock command that behaves like the install and update commands
    but that only creates a lockfile, and doesn't install anything.

Fixes:

  • Transitive dependencies are now available to all installed shards, allowing
    postinstall scripts to compile any Crystal application;
  • Don't consider metadata when considering a pre-release version number.

v0.9.0.beta - Monumental Duck

11 Jan 13:40
Compare
Choose a tag to compare
Pre-release

This is pre-release for the next version of Shards that will support pre-releases! See the v0.9.0 milestone for what's still missing (e.g. --local and the outdated command).

The version number resolver got an overhaul and fixed some issues (see below). Please check that everything is still working fine and report any issues you may have!

Breaking changes:

  • A shard.yml spec is now required in libraries.
  • Drop support for obsolete Projectfile.

Features:

  • Experimental support for prereleases. Add a letter to a version number to declare a pre-release. For example 1.2.3.alpha or 1.0.0-rc1. Note that semver whole number prereleases such as 1.0.0-1 aren't supported, and even have higher precedence (1.0-1 > 1.0).
  • Ignore semver metadata (1.0+abc has same precedence than 1.0).

Fixes:

  • Approximate operator used to match invalid version numbers (e.g. ~> 0.1.0 wrongly matched 0.10.0).
  • Unbalanced version numbers, such as 1.0.0 and 1.0.0.1 are now correctly ordered and compared as 1.0.0.1 > 1.0.0.
  • Force the 'v' prefix in version tags.
  • install -t isn't supported on macOS.

v0.8.1 - Amusing Muskrat

17 Jun 15:01
Compare
Choose a tag to compare

Fixes:

  • Git repositories cloned with v0.8.0 can't fetch new remote refs anymore, which totally broke the update command.
  • The Path resolver incorrectly handled invalid symlinks.