# Changelog ## 2025-10-24 - 1.2.3 - fix(deps) Update Deno dependencies and configuration, commit lockfile, and adjust plugins exports - Add deno.lock with pinned std library versions for reproducible Deno builds - Remove deno.lock from .gitignore so the lockfile is committed - Remove unused @std/fmt export from ts/plugins.ts and from deno.json imports - Adjust deno.json compiler options (remove allowJs) - Add local .claude/settings.local.json (local permissions/config) ## 2025-10-24 - 1.2.2 - fix(logging) Refactor logging and plugin imports: remove push.rocks dependencies and provide a simple console-based logger with a compatibility shim - Replaced smartlog-based logger with a simple console-based log utility in ts/logging.ts; added a small logger shim (logger.log) for compatibility. - Removed push.rocks exports from ts/plugins.ts and consolidated external imports to std modules (@std/*); updated deno.json to remove push.rocks packages and keep @std/cli. - Updated code to use the new console logger and simplified plugin surface; this reduces external dependencies and simplifies runtime footprint. - Added .claude/settings.local.json (local settings file) — development/local config only, no runtime change. ## 2025-10-24 - 1.2.1 - fix(deno) Set Deno nodeModulesDir to 'auto' and add local .claude settings - Add nodeModulesDir: "auto" to deno.json to enable automatic node_modules handling for compatibility with npm-scoped imports. - Add .claude/settings.local.json with local tooling permissions for development environments (non-functional, local config only). - This is a tooling/config change only — no runtime code paths were modified. ## 2025-10-24 - 1.2.0 - feat(ci) Improve release workflow: compile multi-platform binaries, generate checksums, create Gitea release and upload assets, and add local settings - Rename workflow job to build-and-release and set up Deno v2 - Verify deno.json version matches the Git tag before building - Compile pre-built binaries for Linux (x64, arm64), macOS (x64, arm64) and Windows (x64) - Generate SHA256 checksums (SHA256SUMS.txt) for all compiled binaries - Extract or generate release notes and create a Gitea release via API - Upload compiled binaries and checksums as release assets - Delete existing release if present and clean up old releases (keep last 3) - Add local .claude/settings.local.json for developer environment permissions ## 2025-10-24 - 1.1.0 - feat(core) Initial project scaffold and implementation: Deno CLI, ISO tooling, cloud-init generation, packaging and installer scripts - Add Deno-based CLI (commands: build, cache, template, validate) and entry point (mod.ts) - Implement ISO management classes: iso-downloader, iso-cache, iso-extractor, iso-packer, iso-builder - Add cloud-init generator and configuration manager with YAML template and validation - Add packaging/distribution tooling: npm wrapper, postinstall installer, binary wrapper, compile script, install/uninstall scripts - Add CI release workflow, changelog, README, license, and configuration files (deno.json, package.json, templates) All notable changes to isocreator will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - Initial project structure - Deno-based CLI framework - Binary compilation for multiple platforms - npm distribution with postinstall binary download - Direct installation script ## [1.0.0] - TBD ### Added - Ubuntu ISO customization for PC (x86_64) and Raspberry Pi (ARM64) - Cloud-init configuration support - WiFi pre-configuration via cloud-init network-config - User account and SSH key injection - Package installation via cloud-init - Custom boot script support - ISO caching system with multi-version support - Interactive mode for guided setup - Config file support (YAML) - CLI flag support for quick customization - Template generation for configuration files