All Versions
28
Latest Version
Avg Release Cycle
78 days
Latest Release
7 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.