Repository navigation
TrainKit v1.3.0
[1.3.0] - 2026-10-07
TrainKit 1.3.0 adds Claude and OpenAI captioning through your own API keys and improves batch safety and desktop reliability.
Added
- API connections tab with masked key entry, session-only keys by default, optional OS-encrypted persistence, editable vision model IDs, removal, and an explicit connection test that sends no images.
- Caption provider selection with unavailable providers disabled.
- Anthropic Messages and OpenAI Responses image captioning with resized, metadata-free JPEGs, bounded responses, cancellable requests, and safe errors without automatic paid retries.
Changed
- Local and cloud captioning reuse the same collision-safe batch loop, atomic output writes, and optional resumable manifests.
- Cloud batches stop on provider failures, refusals, or incomplete output; dry runs and fully skipped or completed batches make no provider requests.
- Updated Electron to 44.6.0, Electron Forge to 8, ESLint to 10, Vitest to 5, and Lucide to 1; refreshed both dependency lockfiles and raised the development Node.js minimum to 22.17.
- Removed unused comparison-slider and import-lint dependencies. TypeScript stays on 5.9 to match the supported range of the ESLint parser.
- Removed dry-run controls from the desktop panels and aligned the manifest checkbox with the collision policy selector.
Fixed
- Failed model switches no longer retain a cleaned-up service in the model cache.
- Queued cancellation prevents the runner from starting, and missed job events are recovered after reconnecting.
- Caption model controls stay consistent during loading, unloading, and completed runs; duplicate submissions and cancellation errors are handled centrally.
- Backend spawn failures no longer hang shutdown, and empty error responses produce useful messages.
- New output directories and generated manifests resolve existing junctions; dangling folder links are rejected.
- Unreadable remembered API keys can be removed without entering a replacement key.
- Cloud captioning applies photo rotation and mirroring before removing metadata.
- Cloud captioning distinguishes local file-save failures from provider errors.
- Rename batches reject invalid images, restrict duplicate detection to supported images, and use deterministic tie-breakers for natural ordering.
- Single-channel NCNN output is converted to RGB and invalid tiled overlap is rejected before processing.
- Failed atomic text writes remove their temporary files, and damaged provider records do not discard another provider's remembered key.
- Development setup preserves test tools and excludes backend environments from frontend file watching.
- Setup and startup windows have small top-right minimize and quit buttons. Minimizing setup keeps the main window minimized when it opens; quitting stops setup.
Warning
This release is currently unsigned. Windows SmartScreen or antivirus software may display a warning or false-positive detection. Download only from this GitHub release and verify the ZIP against SHA256SUMS.txt before running it.
Download the Windows ZIP, extract the entire archive to a writable folder on the drive where you want TrainKit stored, then run TrainKit.exe. The ZIP is the standard Windows distribution; there is no installer.
The ZIP is accompanied by a SHA-256 checksum and GitHub build-provenance attestation.