# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.0.78](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.77...iocd-cli-v0.0.78) (2026-03-16)


### Features

* support dev prerelease tag in component versions ([#45](https://github.com/InteropIO/iocd-cli/issues/45)) ([c413bea](https://github.com/InteropIO/iocd-cli/commit/c413bea7ece6228253b977d8397a04f5865658e2))

## [0.0.77](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.76...iocd-cli-v0.0.77) (2026-03-16)


### Bug Fixes

* **ci:** match release workflow auth for prerelease publishing ([bb676be](https://github.com/InteropIO/iocd-cli/commit/bb676be88ead50cfe55b76b1096ea1618c979f74))
* **ci:** merge prerelease into release workflow for npm trusted publisher ([93d7dfa](https://github.com/InteropIO/iocd-cli/commit/93d7dfa67301c8a1997c7b7b692c9abea025df2f))
* **ci:** restore node_auth_token override for npm publish ([326a98f](https://github.com/InteropIO/iocd-cli/commit/326a98fe7cc7ab620e16a4acde36369dbcb94411))
* **ci:** use --provenance for oidc-based npm publishing ([9773075](https://github.com/InteropIO/iocd-cli/commit/9773075a8b13f2ed3513e15ba49537cbdb1e33c6))
* match prerelease versions via fullVersion in version selector ([#48](https://github.com/InteropIO/iocd-cli/issues/48)) ([b2b1c5d](https://github.com/InteropIO/iocd-cli/commit/b2b1c5d1ba873da47e60546d5f20acedc56804e4))

## [0.0.76](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.75...iocd-cli-v0.0.76) (2026-03-10)


### Features

* download command defaults to latest versions only ([#43](https://github.com/InteropIO/iocd-cli/issues/43)) ([1963b9b](https://github.com/InteropIO/iocd-cli/commit/1963b9b7a436af66819c2bd30cbbed6d8368016a))

## [0.0.75](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.74...iocd-cli-v0.0.75) (2026-03-10)


### Feature

* do not create empty components folder in iocd upon build, if no other components than iocd are included in the project ([#37](https://github.com/InteropIO/iocd-cli/pull/37)) ([8eeaab9](https://github.com/InteropIO/iocd-cli/commit/8eeaab99549a308c2c4bac8f528ff9f30b2166ab))

## [0.0.74](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.73...iocd-cli-v0.0.74) (2026-03-02)


### Features

* win codesign exclude folders ([#31](https://github.com/InteropIO/iocd-cli/issues/31)) ([22d7552](https://github.com/InteropIO/iocd-cli/commit/22d75524715b4003802c28d307e71c4dc9f526ca))

## [0.0.73](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.72...iocd-cli-v0.0.73) (2026-02-27)

### Features

* skip code signing for binaries that are already signed, reducing build time and avoiding re-signing issues ([#32](https://github.com/InteropIO/iocd-cli/pull/32)) ([c6f01e4f](https://github.com/InteropIO/iocd-cli/commit/c6f01e4ff639623b4176d8826fb4459b437b593a))

### Bug Fixes

* apply npm audit fixes to test template package-lock files to resolve security vulnerabilities ([#34](https://github.com/InteropIO/iocd-cli/issues/34)) ([7577447](https://github.com/InteropIO/iocd-cli/commit/7577447d2d647de140079d15b0be3b81d49c93e2))

## [0.0.72](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.71...iocd-cli-v0.0.72) (2026-01-30)


### Features

* register adapter components (bbg-mdf, excel, fidessa, outlook, word) in the CLI component registry with platform support metadata ([#29](https://github.com/InteropIO/iocd-cli/issues/29)) ([4cecdff](https://github.com/InteropIO/iocd-cli/commit/4cecdffa8492484969c39d0447a96ad1604535b1))

## [0.0.71](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.70...iocd-cli-v0.0.71) (2026-01-29)


### Features

* add array merge directives (`$replace`, `$prepend`, `$append`, `$remove`) for `.json.merge` files, giving fine-grained control over how arrays are combined during modifications ([#27](https://github.com/InteropIO/iocd-cli/issues/27)) ([7b86d55](https://github.com/InteropIO/iocd-cli/commit/7b86d55b9a695e1a975d720b511b8f68b637a81e))

## [0.0.70](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.69...iocd-cli-v0.0.70) (2026-01-27)


### Bug Fixes

* trigger a version ([#25](https://github.com/InteropIO/iocd-cli/issues/25)) ([189a93d](https://github.com/InteropIO/iocd-cli/commit/189a93d66148982924696044f3df27f29da03ddb))

## [0.0.69](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.68...iocd-cli-v0.0.69) (2026-01-22)


### Features

* enable cross-compilation of Windows installers on Linux by adding rcedit support and removing platform-specific OS calls ([#22](https://github.com/InteropIO/iocd-cli/issues/22)) ([3a93303](https://github.com/InteropIO/iocd-cli/commit/3a9330348f6e3e47ddf284092e5b20ff83a75a27))

## [0.0.68](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.67...iocd-cli-v0.0.68) (2026-01-21)


### Bug Fixes

* change platform default to win32 for components (was darwin) ([783b135](https://github.com/InteropIO/iocd-cli/commit/783b13569abbd6d7e47766e0146ccf2049399286))

## [0.0.67](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.66...iocd-cli-v0.0.67) (2026-01-21)


### Bug Fixes

* change platform default to win32 for components (was darwin) ([#18](https://github.com/InteropIO/iocd-cli/issues/18)) ([04be621](https://github.com/InteropIO/iocd-cli/commit/04be6217ed8b072b0f245e6c6ba5308f066d8d9f))

## [0.0.66](https://github.com/InteropIO/iocd-seed-temp/compare/iocd-cli-v0.0.65...iocd-cli-v0.0.66) (2026-01-14)


### Bug Fixes

* fix Windows executable icon patching to source the icon from the modifications folder instead of the default location ([#16](https://github.com/InteropIO/iocd-seed-temp/issues/16)) ([042eacd](https://github.com/InteropIO/iocd-seed-temp/commit/042eacd586be2fe79c0aed9c4c7623d3a41b64f0))

## [0.0.65](https://github.com/InteropIO/iocd-seed-temp/compare/iocd-cli-v0.0.64...iocd-cli-v0.0.65) (2026-01-13)


### Bug Fixes

* fix modification tracker so that deleting a modification source file correctly removes the corresponding output file from the component ([#14](https://github.com/InteropIO/iocd-seed-temp/issues/14)) ([767ce7c](https://github.com/InteropIO/iocd-seed-temp/commit/767ce7ca450ae08c0cd7d947e831c44b0718e962))

## [0.0.64](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.63...iocd-cli-v0.0.64) (2026-01-10)


### Bug Fixes

* replace OS-specific shell-based ZIP extraction (PowerShell on Windows, unzip on macOS) with the cross-platform `extract-zip` npm package ([ad6f476](https://github.com/InteropIO/iocd-cli/commit/ad6f4769142bfca28c8551e40b6929c1bbc10e82))

## [0.0.63](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.62...iocd-cli-v0.0.63) (2026-01-09)


### Features

* **Read entitlements.mac.plist and .nuspectemplate from the cli**: These files were previously in the templates dir, now are bundled with the CLI and read from there. This allows easier updates and less confusion when users create new projects.

## [0.0.62](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.61...iocd-cli-v0.0.62) (2026-01-05)


### Features

* **Custom tests directory**: Support for specifying a custom tests directory in the CLI configuration

## [0.0.61](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.60...iocd-cli-v0.0.61) (2026-01-05)

_Do not use_

## [0.0.60](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.59...iocd-cli-v0.0.60) (2025-12-31)


### Features

* **Modifications reset**: Automatically reset all modifications before running `dev` or `build` commands to ensure a clean state
* **Version check**: Display notification when a newer version of the CLI is available

### Miscellaneous Chores

* Relaxed config schema validation to allow partial configuration files
* Updated `.gitignore` handling to only ignore the top-level `components` folder, not nested ones

## [0.0.59](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.57...iocd-cli-v0.0.59) (2025-12-12)


### Features

* **Extra launch arguments**: Support passing additional arguments to the Electron process in `dev` mode
* **Build output path**: New `--output` argument for the `build` command to specify a custom output directory
* **Programmatic API**: Export CLI commands for use as a library in other projects

### Miscellaneous Chores

* Automatically install dependencies when adding new apps to a project
* Updated Launchpad Vite configuration for improved build performance

## [0.0.57](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.56...iocd-cli-v0.0.57) (2025-12-09)


### Features

* Auto include tests when setting up a new project with `create` command

## [0.0.56](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.55...iocd-cli-v0.0.56) (2025-12-06)


### Bug Fixes

* Improved error logging message

## [0.0.55](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.54...iocd-cli-v0.0.55) (2025-12-06)


### Bug Fixes

* Fix for versions that contain a letter in the build timestamp

## [0.0.54](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.53...iocd-cli-v0.0.54) (2025-12-04)


### Features

* add HTTP/HTTPS proxy support for all CLI network requests, enabling use behind corporate proxies and firewalls

### Miscellaneous Chores

* Clean up log messages

## [0.0.53](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.52...iocd-cli-v0.0.53) (2025-12-01)


### Features

* log Node.js and CLI versions at the beginning of each log file for easier debugging

## [0.0.52](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.51...iocd-cli-v0.0.52) (2025-11-30)


### Features

* register the Bloomberg (BBG) component in the CLI component registry for download and inclusion in builds

## [0.0.51](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.50...iocd-cli-v0.0.51) (2025-11-28)


### Features

* add an overwrite mode for component modifications, allowing files to completely replace targets instead of being merged

## [0.0.50](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.49...iocd-cli-v0.0.50) (2025-11-26)


### Miscellaneous Chores

* Revert "lint fixes; docs update"

## [0.0.49](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.48...iocd-cli-v0.0.49) (2025-11-26)


### Bug Fixes

* Updates in wdio.config for tests
* Fix for eslint setup

### Miscellaneous Chores

* Change configs to rely on package.json where possible
* Add UI version
* Lint fixes; docs update
* Audit fix

## [0.0.48](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.47...iocd-cli-v0.0.48) (2025-11-21)


### Miscellaneous Chores

* Updates in wdio-iocd-service version and renames in wdio.config

## [0.0.47](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.46...iocd-cli-v0.0.47) (2025-11-21)


### Miscellaneous Chores

* Remove components that are not available
* Copy license on tests

## [0.0.46](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.45...iocd-cli-v0.0.46) (2025-11-20)


### Miscellaneous Chores

* Update forge config

## [0.0.45](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.44...iocd-cli-v0.0.45) (2025-11-20)


### Miscellaneous Chores

* DMG naming improvements

## [0.0.44](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.43...iocd-cli-v0.0.44) (2025-11-20)


### Miscellaneous Chores

* Clean up dist folder after completion

## [0.0.43](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.42...iocd-cli-v0.0.43) (2025-11-20)


### Features

* support variable substitution of product slug and product name in modification files, enabling dynamic per-product configuration

## [0.0.42](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.39...iocd-cli-v0.0.42) (2025-11-20)


### Features

* add OS-specific modification folders (`modifications-win32`, `modifications-darwin`) so different platforms can have distinct configuration overrides
* embed product version in the Windows setup executable filename

### Bug Fixes

* Various fixes; fix build

### Miscellaneous Chores

* Remove init command

## [0.0.39](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.38...iocd-cli-v0.0.39) (2025-11-17)


### Miscellaneous Chores

* Updates

## [0.0.38](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.37...iocd-cli-v0.0.38) (2025-11-17)


### Miscellaneous Chores

* Release update

## [0.0.37](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.36...iocd-cli-v0.0.37) (2025-11-17)


### Miscellaneous Chores

* Change path to iocd-components
* Update .gitignore

## [0.0.36](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.35...iocd-cli-v0.0.36) (2025-11-16)


### Miscellaneous Chores

* Tests to depend on wdio-service package

## [0.0.35](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.34...iocd-cli-v0.0.35) (2025-11-16)


### Bug Fixes

* Minor fix

### Miscellaneous Chores

* Update Node.js requirement to 22.0.0

## [0.0.34](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.33...iocd-cli-v0.0.34) (2025-11-16)


### Miscellaneous Chores

* Release update

## [0.0.33](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.30...iocd-cli-v0.0.33) (2025-11-16)


### Miscellaneous Chores

* Updated README
* Apps start → apps dev
* README.md phase 1
* Simplify config
* Update GitHub workflows
* Changed pfx to signtool

## [0.0.30](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.29...iocd-cli-v0.0.30) (2025-11-13)


### Miscellaneous Chores

* Revert shell:true

## [0.0.29](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.28...iocd-cli-v0.0.29) (2025-11-13)


### Features

* enable shell mode for child process execution to support system PATH resolution

## [0.0.28](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.27...iocd-cli-v0.0.28) (2025-11-13)


### Miscellaneous Chores

* Using signtool for signing; remove explicit digicert support

## [0.0.27](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.26...iocd-cli-v0.0.27) (2025-11-10)


### Features

* add `license.copyLicenseToOutput` config option to automatically include the license file in the build output

## [0.0.26](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.25...iocd-cli-v0.0.26) (2025-11-06)


### Features

* add end-to-end test infrastructure for CLI commands
* add license file handling and validation
* add JSON schema for CLI configuration file (`iocd.cli.config.json`) validation

## [0.0.25](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.24...iocd-cli-v0.0.25) (2025-11-04)


### Miscellaneous Chores

* Replace bbgv2 with ppt
* Add info about GitHub token
* Presentation update

## [0.0.24](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.23...iocd-cli-v0.0.24) (2025-10-30)


### Features

* Tests + small tweaks
* Simple tests
* Download all components

### Miscellaneous Chores

* Updates to Windows signing
* Removed all tests (refactoring)

## [0.0.23](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.22...iocd-cli-v0.0.23) (2025-10-15)


### Bug Fixes

* Logger fix
* Setup Apple code-signing

## [0.0.22](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.21...iocd-cli-v0.0.22) (2025-10-13)


### Bug Fixes

* Fix icons and ability to sign using certificate on Mac

### Miscellaneous Chores

* Logging improvements

## [0.0.21](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.20...iocd-cli-v0.0.21) (2025-10-13)


### Miscellaneous Chores

* Include scripts into the package as well

## [0.0.20](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.19...iocd-cli-v0.0.20) (2025-10-12)


### Features

* automatically generate and manage `.gitignore` files for new projects

## [0.0.19](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.18...iocd-cli-v0.0.19) (2025-10-12)


### Miscellaneous Chores

* Rework current folder for create

## [0.0.18](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.17...iocd-cli-v0.0.18) (2025-10-12)


### Features

* allow the `create` command to initialize a project in the current directory if it is empty

## [0.0.17](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.16...iocd-cli-v0.0.17) (2025-10-12)


### Features

* add build configuration templates for Windows and macOS installers

### Miscellaneous Chores

* start → dev

## [0.0.16](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.15...iocd-cli-v0.0.16) (2025-10-11)


### Miscellaneous Chores

* Refactor: consolidate modifications structure and remove backward compatibility

## [0.0.15](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.14...iocd-cli-v0.0.15) (2025-10-11)


### Features

* add `--skip-components` CLI flag to the build command, allowing builds without downloading or updating components

## [0.0.14](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.13...iocd-cli-v0.0.14) (2025-10-11)


### Bug Fixes

* Add GitHub token to the GitHub request

## [0.0.13](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.12...iocd-cli-v0.0.13) (2025-10-11)


### Miscellaneous Chores

* Release update

## [0.0.12](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.11...iocd-cli-v0.0.12) (2025-10-11)


### Miscellaneous Chores

* Cleanup
* GitHub store retries
* Latest splash app

## [0.0.11](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.10...iocd-cli-v0.0.11) (2025-10-10)


### Bug Fixes

* Fix start mode

### Features

* Some tests
* Update README header

## [0.0.10](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.9...iocd-cli-v0.0.10) (2025-10-09)


### Bug Fixes

* Fix iocd cwd

## [0.0.9](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.8...iocd-cli-v0.0.9) (2025-10-09)


### Features

* add support for top-level modifications that apply across all components, in addition to per-component modifications

## [0.0.8](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.7...iocd-cli-v0.0.8) (2025-10-08)


### Miscellaneous Chores

* Small updates
* Renames

## [0.0.7](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.6...iocd-cli-v0.0.7) (2025-10-08)


### Miscellaneous Chores

* Use prereleases for now
* PPT update

## [0.0.6](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.5...iocd-cli-v0.0.6) (2025-10-07)


### Features

* integrate Sentry error tracking for automatic crash reporting and diagnostics
* add internal presentation materials

### Miscellaneous Chores

* Rename templates and logging improvements
* installer → build

## [0.0.5](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.4...iocd-cli-v0.0.5) (2025-10-06)


### Miscellaneous Chores

* Updated groups JSON
* Moved group apps
* Components updates
* Cleanup

## [0.0.4](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.3...iocd-cli-v0.0.4) (2025-10-04)


### Features

* pin component versions after initial project setup to ensure reproducible builds
* add per-component modification folders (`modifications-xxx`) for targeted config overrides
* auto-update support with `system.json.merge` template generation
* add documentation for project structure and configuration

### Miscellaneous Chores

* prod → installer in app config
* Use UI version

## [0.0.3](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.2...iocd-cli-v0.0.3) (2025-09-28)


### Features

* Added demos component support
* Add flag for prerelease
* Added doc about components storage

### Miscellaneous Chores

* Changes in components versioning
* Store settings refactoring
* License update

## [0.0.2](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.1...iocd-cli-v0.0.2) (2025-09-26)


### Features

* License checks
* Licensing

## 0.0.1 (2025-09-22)


### Features

* Initial release
* CLI project setup with create command
* Components selection in the create phase
* Ability to add apps
* S3 support for components storage
* Local storage support with same structure as S3
* Launchpad component
* Components remove functionality
* Installer/build command for Windows and macOS
* Code signing support for macOS and Windows
* Splash screen template
* Auto-update configuration support
* GitHub workflow for CI/CD

### Miscellaneous Chores

* Renamed to iocd-cli
* Various configuration improvements
