Skip to content

Releases: WireCatLabs/cli-base

0.35.0

Choose a tag to compare

@leemour leemour released this 15 Oct 21:07
f17ee07

Added

  • Bounded batches share parsing, correlation and sequential execution. prepareBatch, readBatchInput and
    runBatch accept explicit registered handlers, cap input/count/read reservations and retained output, and keep
    a result for every input on budget refusal. Failed reads never refund their reserved ceiling; it is not a byte
    consumption measurement. Hosts retain account authorization, cancellation, final rendering and resource cleanup.
    projectBatchAnswers selects nested answer fields while retaining ids, errors and completeness.

Full changelog

0.31.1

Choose a tag to compare

@leemour leemour released this 15 Oct 01:46
ee9a38f

Fixed

  • Nested field selection traverses arrays and retains report coverage. Item/list envelopes, continuation, missing data and operation identifiers are handled by one shared projector; consumers no longer need to unwrap item answers.

Full changelog

0.20.0

Choose a tag to compare

@leemour leemour released this 11 Oct 14:59

Changed — may break callers

  • resolvePaths gives the XDG layout on macOS too — ~/.config/<app>, ~/.local/share/<app> and
    ~/.cache/<app>, or the XDG_* variables when set — instead of ~/Library/Preferences,
    ~/Library/Application Support and ~/Library/Caches. One layout on every Unix is one set of
    documentation and one place to look. Linux and Windows paths do not change, and the *_DIR overrides
    still win. It now reads HOME, the XDG_* variables, USERPROFILE, APPDATA and LOCALAPPDATA
    from the env it is given, not from the global process.env, and takes an optional platform.
    On macOS, a CLI that adopts this release finds none of its existing files until it calls
    migrateLegacyMacPaths at start. A keyring service name built from the config path changes with it.

Added

  • migrateLegacyMacPaths moves an older release's ~/Library folders to the new ones, once.
    On macOS, with no *_DIR override set, it moves each old folder whose new one is missing or empty,
    all of them or none, and returns what moved. It never merges into a folder that has files, and
    across file systems it copies, checks the copy and keeps the old folder. It throws a
    configuration_error naming the processes when lsof shows a file open in a pending folder — stop a
    running serve or MCP server and run again. lsof sees only files open at that moment, so a caller
    that knows its own lock files should report their holders through holders. Call it at program start, before anything resolves a
    path; with nothing to move it costs one lstat per folder. legacyMacPaths gives the old folders.

Removed

  • The env-paths dependency. The paths it gave on Windows are kept as they were.

0.19.4

Choose a tag to compare

@leemour leemour released this 11 Oct 14:59
769b256

Fixed

  • Package references, documentation and fixtures use the WireCat namespace throughout.

  • The owner-migration helper covers meetings, testing, Zoom and the shared organization repositories, so their links and package names migrate with the original CLIs.

0.19.3

Choose a tag to compare

@leemour leemour released this 11 Oct 14:59
89f6fee

Fixed

  • Zero command deadlines abort synchronously before a body can execute, matching the documented
    immediate deadline instead of scheduling a timer that could lose to a fast command. They create
    no sleep or timer; an already aborted parent retains its cancellation reason.

0.19.2

Choose a tag to compare

@leemour leemour released this 11 Oct 14:59
95f4bec

Added

  • Portable command control helpers expose fieldsOf, projectFields, createOutputBuffer
    and createDeadline from the root export. Field projection retains list and operation metadata;
    a bounded UTF-8 buffer delays data until hosts finish cleanup. Deadlines use injected sleep and
    cancellation, waiting for the body to settle before callers close resources. Callers must propagate
    the signal, dispose the deadline and discard buffered output on failure; no provider/store lifecycle
    or automatic retries are imported.

Fixed

  • Windows maintenance commands support portable relative PATH entries and custom or sanitized command-processor environments while preserving separate arguments.

Security

  • Release checks include source and secret analysis; critical production advisories and critical source findings block publication. Workflow findings are reported for review. PR security remains the fast secret scan.

0.19.0

Choose a tag to compare

@leemour leemour released this 11 Oct 14:59
17583d2

Fixed

  • Windows updater and MCP setup commands resolve through absolute PATH entries and use an explicit command processor, avoiding accidental execution from the current folder. POSIX resolution is unchanged.

Added

  • /update exports executableOnPath and executableEnvironment for consumers using the same Windows command resolution.

0.18.2

Choose a tag to compare

@leemour leemour released this 11 Oct 14:59
17e76a1

Changed — may break callers

  • The project is now licensed under Apache License 2.0. See LICENSE for the terms.

0.18.1

Choose a tag to compare

@leemour leemour released this 11 Oct 14:59
5940608

Fixed

  • The shared spelling list knows wirecat. cspell no longer flags the new package scope in READMEs.

0.18.0

Choose a tag to compare

@leemour leemour released this 11 Oct 14:59
079a2db

Changed — may break callers

  • The package is now @wirecat/cli-core, and the repository is WireCatLabs/cli-core. Install
    @wirecat/cli-core and change imports from @wirecat/cli-core (and its subpaths) to @wirecat/cli-core;
    the code is the same as 0.17.3. @wirecat/cli-core gets no new versions. Call the reusable workflows
    as WireCatLabs/cli-core/.github/workflows/....