All Versions
28
Latest Version
Avg Release Cycle
78 days
Latest Release
205 days ago

Changelog History
Page 1

  • v0.12.0

    August 05, 2020

    ๐Ÿ›  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

    June 08, 2020

    ๐Ÿ›  Fixes:

    • ๐Ÿ‘Œ Support crystal: x.y values (without patch). (#404, thanks @bcardiff)
  • v0.11.0

    June 05, 2020

    ๐Ÿ”‹ 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

    April 01, 2020

    ๐Ÿ”‹ 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

    June 12, 2019

    ๐Ÿ›  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

    May 07, 2019

    ๐Ÿ›  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

    February 09, 2019

    ๐Ÿ’ฅ 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

    January 11, 2019

    ๐Ÿš€ 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

    June 17, 2018

    ๐Ÿ›  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.
  • v0.8.0

    June 05, 2018

    This release incorrectly clones Git repositories. Please upgrade to v0.8.1!

    ๐Ÿ”‹ Features:

    • Install shard executables inside project bin folder on shard install.
      ๐Ÿ‘€ See #126.

    ๐Ÿ”„ Changes:

    • ๐Ÿ‘ฏ Global cache for cloned Git repositories, aside crystal cache
      (e.g. ~/.cache/shards). Customizable with SHARDS_CACHE_PATH.
    • ๐Ÿ‘ฏ Clone bare Git repositories instead of creating mirrors (fetch should be
      faster, and less space required on disk).
    • Man pages are now in the man folder.
    • ๐Ÿ‘ Allow loose shard versioning, accepting semver-like versions and alternatives
      such as calver.

    ๐Ÿ›  Fixes:

    • Compatibility with Crystal 0.25.