Skip to content

Releases: StanzaOrg/slm

0.6.1

12 Apr 16:24
Compare
Choose a tag to compare
0.6.1 Pre-release
Pre-release
[Bump] Updated version to v0.6.1

0.6.0

08 Apr 22:24
Compare
Choose a tag to compare

What's Changed

  • Refactor Git Dependencies to use standardized format by @callendorph
  • Add PkgDependency for pre-compiled binary conan dependencies by @jwatson0
  • Remove lock file support until it can be revisited by @jwatson0

Full Changelog: v0.2.3...0.6.0

0.5.5

12 Feb 16:25
Compare
Choose a tag to compare
0.5.5 Pre-release
Pre-release
Bump version to 0.5.5

v0.2.3

02 Aug 22:32
6f8e07c
Compare
Choose a tag to compare

Rename tool to "Stanza Library Manager" (slm). Despite the minor version bump this is a breaking change: existing projects will need to rename poet.toml to slm.toml, remove their .poet/ directory, and depend only on slm-compatible projects.

v0.2.0

08 Apr 01:34
Compare
Choose a tag to compare

This release adds initial support for path dependencies. These can be used by specifying the path of the dependency, rather than the locator/version, e.g:

# example poet.toml
name = "foo"
version = "1.0.0"
[dependencies]
bar = { path = "../path/to/bar" }

When such a dependency is specified, no versioning is enforced. This is useful for iterating on a dependent package, as it means you can make changes locally, without having to publish intermediate (potentially buggy) versions (just for the sake of being able to observe the change in the parent package.)

v0.1.2

20 Nov 10:38
Compare
Choose a tag to compare

Bugfixes, but also colors!

Additions

  • Now colorize info, build and debug output when possible, with term-colors.
  • Add environment variable POET_COLOR to control whether or not colorization is attempted. Two values are recognized:
    • always: colorization is always attempted.
    • never: colorization is never attempted.
      If the variable is unset or set to an invalid value, colorization is always attempted. In the future some level of detection should be employed rather than always colorizing.

Changes

  • Fix initial poet.toml being written out as [TomlFile object] because the printer for TomlFile was removed in [email protected].

v0.1.0

20 Nov 01:46
Compare
Choose a tag to compare

This is sort of a real release, which is pretty cool! This is the first release that actually incorporates some level of dependency resolution and attempts to do lockfiles correctly. This means a bunch of breaking changes, but those are pretty easy to manage when your user count is 1.

Additions:

build:

  • Add an env var POET_PROTOCOL that allow you to control the protocol with which poet attempts to fetch your dependencies. Supports the values: git and https at the moment.
  • Allow passing arguments to poet build that get forwarded to stanza build

Changes:

build:

  • Completely re-write poet.lock format to be self-contained. They now contain a complete snapshot of the dependencies and their versions during the build that created the poet.lock.

    This means that the exact build can be recreated using just a poet.lock file. It also means we can bypass the usual fetch & sync process after one has been generated, meaning poet builds now have almost zero overhead after the initial fetch & sync.

  • Completely re-write the poet build dependency resolution algorithm to use semantic versioning.

    Now, as packages are fetched, the requested version is compared against previously-resolved versions, and the greatest compatible package used for each dependency after resolution is finished. If resolution cannot identify a greatest compatible package for each dependency, an error will occur.

    This means more projects can be compiled when their dependencies can be resolved to a common compatible version. It also means dependency resolution errors are properly reported, rather than becoming confusing compile errors in the resulting stanza build.

misc:

  • Print out only the executable name instead of the whole path when printing messages, e.g:
    ./poet: build: foo # before
    poet: build: foo   # now
    

v0.0.5

10 Nov 09:27
Compare
Choose a tag to compare

More improvements!

publish:

  • Check for a poet.toml and parse a valid version first before checking if the repo is clean. This provides a better experience when first getting started, and isn't any slower, as this needs to be done anyways.

init:

  • Resolve relative paths in the given project path (e.g. poet init ../foo)
  • Create the given project path if it doesn't exist (e.g. poet init not-exist)
  • Print a message when a new project is init'd successfully.
  • Suppress git init message.

build:

  • Fix bug with checking out version tags on initial poet build (e.g. when a dependency in poet.toml specifies a specific version tag)
  • Fix fatal when poet.lock is out of sync with a dependency in .poet/deps.

v0.0.4

27 Oct 08:42
Compare
Choose a tag to compare

Add:

  • poet.lock files:
    After a poet build, a poet.lock file is created that captures the state of your dependencies at that moment. For subsequent builds, this state will be enforced. Library packages should commit this file to their package so that poet can enforce the correct hash and version for their dependencies.
    Remove:
  • poet add:
    This is a nice feature to have, but the TOML parser I have just isn't good enough to make it good. Manually editing poet.toml isn't that bad, for now, and will get better with registries.

v0.0.2

26 Oct 21:58
Compare
Choose a tag to compare

It works, better!

Requires a minimum of Stanza 0.14.27 or higher to build.