Repository navigation
Releases: Heapy/ktc-plugins
Release list
ktc-plugins 0.3.1
Fixed
- Windows wrapper bootstrap clears the inherited
PSModulePathbefore starting
Windows PowerShell, so launches from PowerShell 7 can resolveGet-FileHash
and verify the downloaded or cached executable. The change is local to the wrapper. - Windows wrapper tests run through both
cmd.exeandpwsh, 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.1If 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
Changed
- Exported libraries preserve producer
version.refaliases 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 pinnedHeapy/ktc-sqldelightproducer. - Verification, packaging and CI scripts now use Kotlin
.main.ktswith the
checksum-pinned Kotlin 2.4.21 runner instead of Python.
Fixed
- Producer validation checks dependencies and nested
applyreferences 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.
syncpreserves their literal catalog format;
an explicitupdateadopts producer version references. Locks using references
record a newcatalog.versionRefsfield, 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.0This 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
Added
diff NAMEanddiff --allto preview plugin updates without changing project files.outdatedto compare locked commits with declared branches or tags without
downloading source archives.removewith transactional cleanup of managed sources, declarations, registrations
and ignore entries. Explicit--disable-inselections retain module configuration
as comments.wrapper update --versionto update both project launchers after verifying release
metadata, checksums and native binary pins, while refusing local launcher edits.- Offline, read-only
validatefor producer packaging, including Git ignore checks. - Opt-in producer catalog support through
catalog.fileandcatalog.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 newcatalogfields; 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
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 withstatus/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.