Skip to content

Releases: Heapy/ktc-plugins

ktc-plugins 0.3.1

Choose a tag to compare

@github-actions github-actions released this 18 Oct 00:37
305e871

Fixed

  • Windows wrapper bootstrap clears the inherited PSModulePath before starting
    Windows PowerShell, so launches from PowerShell 7 can resolve Get-FileHash
    and verify the downloaded or cached executable. The change is local to the wrapper.
  • Windows wrapper tests run through both cmd.exe and pwsh, covering cached
    launches, argument forwarding, empty-cache downloads, concurrent bootstrap and
    corrupt-download rejection.

Compatibility

  • CLI commands, plugin manifests and lockfiles are unchanged. Update both consumer
    launchers to receive the Windows bootstrap fix.

Upgrade

Update both project launchers:

./ktc-plugins wrapper update --version 0.3.1

If the previous Windows launcher fails before the updater starts, download both
ktc-plugins and ktc-plugins.bat from this release into the consumer project.
Unix users should run chmod +x ktc-plugins.

The release includes native executables for macOS ARM64, Linux x64, Linux ARM64
and Windows x64, checksum-pinned launchers, and SHA256SUMS.

ktc-plugins 0.3.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 19:30

Changed

  • Exported libraries preserve producer version.ref aliases in managed [versions]
    entries under the plugin prefix instead of repeating literal versions. Libraries
    sharing an alias share its version; independent aliases remain separate even when
    their values match. Inline versions remain inline.
  • Catalog updates, removal, collision checks and drift detection cover managed
    version entries as well as libraries, preserving user entries and comments.
  • SQLDelight runtime smoke checks compile a consumer using exported catalog version
    references from the pinned Heapy/ktc-sqldelight producer.
  • Verification, packaging and CI scripts now use Kotlin .main.kts with the
    checksum-pinned Kotlin 2.4.21 runner instead of Python.

Fixed

  • Producer validation checks dependencies and nested apply references in copied
    plugin templates, rejecting unavailable helper files and unresolved catalog references.
  • Wrapper updates accept additional release assets only when every checksum entry
    agrees with the verified GitHub asset inventory.
  • Windows wrapper tests cover empty-cache downloads, concurrent bootstrap and
    corrupt downloads; runner checksum validation handles Windows path escaping.

Compatibility

  • Existing lockfiles remain supported. sync preserves their literal catalog format;
    an explicit update adopts producer version references. Locks using references
    record a new catalog.versionRefs field, which older installers reject; update
    consumer launchers before adopting this format.

Downloads

Download ktc-plugins and ktc-plugins.bat into your consumer project and commit them. Unix users should run chmod +x ktc-plugins. The launchers download the matching executable and verify its pinned SHA-256.

Native binaries are provided for macOS ARM64, Linux x64, Linux ARM64, and Windows x64. SHA256SUMS covers all executables and both launchers. The installer requires curl and, inside Git projects, Git; it does not require Java. Linux binaries require glibc; Alpine/musl and Intel macOS remain unsupported.

Existing 0.2.0 users can update both launchers with:

./ktc-plugins wrapper update --version 0.3.0

This release retains the four-platform inventory so the published 0.2.0 updater can install it. Update consumer launchers before adopting locks with catalog.versionRefs.

See the README for usage and the full changelog for release history.

ktc-plugins 0.2.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 17:13

Added

  • diff NAME and diff --all to preview plugin updates without changing project files.
  • outdated to compare locked commits with declared branches or tags without
    downloading source archives.
  • remove with transactional cleanup of managed sources, declarations, registrations
    and ignore entries. Explicit --disable-in selections retain module configuration
    as comments.
  • wrapper update --version to update both project launchers after verifying release
    metadata, checksums and native binary pins, while refusing local launcher edits.
  • Offline, read-only validate for producer packaging, including Git ignore checks.
  • Opt-in producer catalog support through catalog.file and catalog.export.
    Producer $libs.* references in plugin configuration and copied module templates
    resolve to fixed Maven coordinates from the locked producer catalog.
  • Explicit library exports into the consumer catalog under ktc-<pluginId>-<alias>
    names, with alias collision checks, managed-block drift detection and preservation
    of user entries and comments.
  • Lockfile catalog metadata recording the producer catalog path and digest, consumer
    catalog location and resolved exports. Catalog, source and lockfile changes share
    one transaction, including updates and removal.

Changed

  • Mutation dry-runs show unified source, configuration and lockfile diffs instead of
    only paths and file counts. Binary and large-file changes show sizes and digests.
  • Acceptance and runtime checks install pinned producer commits through their
    manifests without client-side path or catalog substitution.

Fixed

  • Patch-application tests no longer depend on the host's Git newline conversion.
  • Negative producer catalog tests preserve unrelated valid aliases and check the
    expected failure reason, preventing unrelated missing-alias errors from masking
    validation regressions.

Compatibility

  • Existing manifests and lockfiles without catalogs remain supported with schema
    version 1. Older installers reject the new catalog fields; update consumer
    launchers before adopting catalog support.
  • Exported libraries are catalog entries only. Consumer module dependencies remain
    explicitly managed by the user.

Downloads

Download ktc-plugins and ktc-plugins.bat into your consumer project and commit them. Unix users should run chmod +x ktc-plugins. The launchers download the matching executable and verify its pinned SHA-256.

Native binaries are provided for macOS ARM64, Linux x64, Linux ARM64, and Windows x64. SHA256SUMS covers all executables and both launchers. The installer requires curl and, inside Git projects, Git; it does not require Java. Linux binaries require glibc; Alpine/musl and Intel macOS remain unsupported.

See the README for usage and the full changelog for release history.

ktc-plugins 0.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 01:05

First release of ktc-plugins, a Kotlin/Native source installer for JetBrains Kotlin Toolchain build plugins.

  • Install plugins from exact GitHub tags, branches, or full commit SHAs.
  • Update pristine sources, restore locked sources with sync, and inspect installations with status / verify.
  • Keep plugin sources committed (vendored) or downloaded and Git-ignored.
  • Use producer/client manifests, a reproducible lockfile, source hashes, and preserved license material.
  • Protect local changes with drift detection, bounded archive handling, mutation locks, and transaction recovery.

Downloads

Download ktc-plugins and ktc-plugins.bat into the consumer project and commit them. The launchers fetch the matching executable and verify its embedded SHA-256. Unix users should run chmod +x ktc-plugins.

Native binaries are available for macOS ARM64, Linux x64, Linux ARM64, and Windows x64. SHA256SUMS covers the executables and launchers. Running the installer requires curl and, inside Git projects, Git; Java is not required by the installer.

See the README for usage and the design for the manifest format and plugin compatibility audit.

Initial limitations

Linux binaries require glibc; Alpine/musl and Intel macOS are outside this release. Plugins must be self-contained: producer $libs.* catalogs and external local helper modules are rejected. Semver ranges, uninstall, force/merge, and mode/repository/destination migration are not supported. Installation does not execute plugin code; subsequent builds do.