Skip to content

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 23 Aug 06:19
· 10 commits to main since this release
f266be6

Added

  • Prebuilt binaries on every release, for Linux, macOS and Windows on both
    x86-64 and arm64 — so using mossaic no longer needs a Rust toolchain.

    The reason is not convenience. The pitch for contributing a template is that
    it needs no Rust, because a template is a text file — and that pitch is false
    if the only way to see what you drew is cargo install. Somebody who does
    not write Rust should not have to install a compiler to draw a picture.

    Linux builds are musl, so they are statically linked and run on any
    distribution whatever its glibc: a binary downloaded today still starts next
    year. Every target builds on its own architecture rather than
    cross-compiling.

    Each archive carries the three binaries, both licences, the changelog, and a
    templates/ directory to start from, with a .sha256 beside it. Assets are
    uploaded under two names: the versioned one, which cargo binstall and the
    Homebrew formula look for, and an unversioned alias, because
    releases/latest/download/<asset> resolves by exact file name and a URL that
    is stable across releases therefore cannot contain the version.

Changed

  • The termlens dev-dependency moves to 0.6.1, which carries an
    openpty retry that had been written, merged and left unreleased. Without
    it this suite fails on macOS at sixteen threads with Device not configured — a PTY device the kernel has not finished recycling — at
    roughly one shard in ten. It is a test-harness fix and touches nothing that
    ships.

  • Refreshed the lockfile. cc 1.4.3 → 1.4.4, darling 0.24.0 → 0.24.1
    (with _core and _macro), either 1.17.0 → 1.18.0, log 0.4.33 → 0.4.34,
    uuid 1.24.1 → 1.25.0. Four of those — cc, darling, either, log
    are genuinely compiled; uuid is in the resolution but not the build.

    This matters only to the binaries. cargo install mossaic --locked builds
    what this file names, so refreshing it is what puts those versions in an
    installed mossaic. A library consumer resolves its own dependencies and is
    unaffected either way.

    cargo deny check passes on the new lockfile: advisories, bans, licences and
    sources all clean.

  • generic-array stays at 0.14.7, and cannot move. cargo update reports
    0.14.9 as available, but crypto-common 0.1.7 requires it exactly:

    generic-array = "=0.14.7"
        required by crypto-common 0.1.7
        ... digest 0.10.7 -> sha2 0.10.9 -> termwiz 0.23.3
        ... -> ratatui-termwiz 0.1.2 -> ratatui 0.30.2 -> mossaic
    

    0.1.7 is the newest of the 0.1 line, and the relaxed requirement only arrives
    in crypto-common 0.2, which needs digest 0.11, which needs sha2 0.11,
    which needs a termwiz that depends on it. None of that is this crate's to
    move.

    It is also never compiled here. ratatui-termwiz is an optional backend and
    mossaic uses crossterm, so nothing in that subtree — generic-array, sha2,
    digest, termwiz — reaches a build: cargo tree does not list it, and a
    full build produces zero artefacts from it against ratatui's ninety. The
    entry is in the lockfile because a lockfile records the whole resolution,
    optional branches included.