# Changelog

Source: https://docs.interop.io/desktop/developers/seed-project/changelog/index.html

## 2.1

> ### 2.1.0
>
> *Release date: 18.10.2026*
>
> #### New Features
>
> - Added automated tests to the generated [build workflow](https://docs.interop.io/desktop/developers/seed-project/building-for-production/index.md#cicd_automation) on Windows and macOS. The `run_tests` input defaults to `true`.

## 2.0

> ### 2.0.0
>
> *Release date: 13.10.2026*
>
> #### Breaking Changes
>
> - Requires Node.js v22.13.0 or later for the CLI and seed projects. Existing seeds must also upgrade `@electron-forge/core` and their Forge makers, publishers, and plugins to versions compatible with `^8.0.1`. See [Upgrading](https://docs.interop.io/desktop/developers/seed-project/cli/index.md#upgrading).
>
> #### New Features
>
> - Added project compatibility checks with repair instructions before command actions. Incompatible Forge dependencies block packaging while unrelated commands can continue with advice. Added [`iocd doctor`](https://docs.interop.io/desktop/developers/seed-project/cli/index.md#commands-doctor) for an offline dependency report and `iocd doctor --target <version-or-tag>` for checking a published release before upgrading.
> - Added `mac.codeSign.entitlements` to customize the default macOS signing entitlements for both keychain and certificate signing. Use `set` to add or replace values and `remove` to delete keys. The overlay accepts booleans, strings, safe integers, arrays, and nested dictionaries. Added `com.apple.security.device.audio-input` to the defaults for microphone access with the hardened runtime. See [macOS Code Signing](https://docs.interop.io/desktop/developers/seed-project/code-signing/index.md#macos) for configuration and the full default-key list.
>
> #### Improvements & Bug Fixes
>
> - Fixed Windows installer builds on Linux by preserving the original unsigned executable for modification and signing.
> - Updated packaging and publishing for Forge 8, signing the produced artifacts and publishing the same files without rebuilding them.
> - Upgraded Forge and command-runner dependencies to address vulnerable transitive dependencies. Updated development dependencies, including Handlebars, brace-expansion, fast-uri, Browserslist, and baseline-browser-mapping.
> - Ensured automated security dependency updates can trigger CLI patch releases.

## 1.1

> ### 1.1.3
>
> *Release date: 06.10.2026*
>
> #### Improvements & Bug Fixes
>
> - Improved the generated test examples and coding agent guidance for configuration, synchronization, and cleanup.

> ### 1.1.2
>
> *Release date: 23.09.2026*
>
> #### Improvements & Bug Fixes
>
> - Improved recovery when GitHub release assets are missing from component download results.

> ### 1.1.1
>
> *Release date: 21.09.2026*
>
> #### Improvements & Bug Fixes
>
> - Improved component download retries and validation after installation.
> - Fixed ZIP packaging compatibility with newer Node.js versions by using a ZIP maker supplied with the CLI.
> - Improved error handling for invalid merge files, missing external tools, locked executables, invalid licenses, and interrupted terminals.
> - Improved test command and service logging, and excluded failed test runs and expected confirmation or validation failures from automatic error reports.

> ### 1.1.0
>
> *Release date: 26.08.2026*
>
> #### New Features
>
> - Added the [`apps update`](https://docs.interop.io/desktop/developers/seed-project/apps/index.md#using_template_apps-updating_a_template) command for replacing an app with the template supplied by the CLI.
> - Added the [`skills update`](https://docs.interop.io/desktop/developers/seed-project/testing/index.md#using_coding_agents-updating_agent_skills) command for updating CLI-managed Agent Skills.
>
> #### Improvements & Bug Fixes
>
> - Updated the Launchpad and test templates.
> - The generated test package now requests `@interopio/wdio-iocd-service` via the `next` tag instead of a pinned version.

## 1.0

> ### 1.0.3
>
> *Release date: 19.08.2026*
>
> #### Improvements & Bug Fixes
>
> - Prepared the seed project before running the generated tests.
> - Updated `@interopio/wdio-iocd-service` in the generated test package to version `1.0.0-next.4`.

> ### 1.0.2
>
> *Release date: 18.08.2026*
>
> #### Improvements & Bug Fixes
>
> - Pinned `@interopio/wdio-iocd-service` to version `1.0.0-next.3` in the generated test package and added guidance for automating an SSO login during platform startup.

> ### 1.0.1
>
> *Release date: 16.08.2026*
>
> #### Improvements & Bug Fixes
>
> - Fixed the generated Workspace test specification.

> ### 1.0.0
>
> *Release date: 14.08.2026*
>
> #### Breaking Changes
>
> - Seed projects now generate a WebdriverIO 9 test package and expose the `iocd test` and `iocd test setup` commands. Existing seeds with an older test setup must back up or remove their test directory and run `iocd test setup` to regenerate it. See [Replacing an Existing Test Package](https://docs.interop.io/desktop/developers/seed-project/testing/index.md#setting_up_tests-replacing_an_existing_test_package).
>
> #### New Features
>
> - Added the E2E test infrastructure for seed projects: a generated WebdriverIO test package based on `@interopio/wdio-iocd-service`, the `iocd test` and `iocd test setup` commands, and an Agent Skill for coding agents. See [Testing](https://docs.interop.io/desktop/developers/seed-project/testing/index.md).

## 0.0

> ### 0.0.92
>
> *Release date: 11.08.2026*
>
> #### Improvements & Bug Fixes
>
> - Updated dependencies to resolve `npm audit` vulnerabilities.

> ### 0.0.91
>
> *Release date: 11.08.2026*
>
> #### Improvements & Bug Fixes
>
> - Updated component downloads on macOS to prefer ZIP archives.

> ### 0.0.90
>
> *Release date: 18.06.2026*
>
> #### Improvements & Bug Fixes
>
> - Upgraded the `concurrently` dependency to v10.

> ### 0.0.89
>
> *Release date: 03.06.2026*
>
> #### Improvements & Bug Fixes
>
> - Removed the original executable before restoring the unsigned executable during code signing.

> ### 0.0.88
>
> *Release date: 02.06.2026*
>
> #### Improvements & Bug Fixes
>
> - Moved the unsigned executable storage from `/components/_temp` to `/.iocd-cli/unsigned-exe`, keeping the components folder free of signing artifacts.

> ### 0.0.87
>
> *Release date: 01.06.2026*
>
> #### Improvements & Bug Fixes
>
> - Replaced `extract-zip` with `adm-zip` for Node.js 24 compatibility.

> ### 0.0.86
>
> *Release date: 01.06.2026*
>
> #### Improvements & Bug Fixes
>
> - Replaced `extract-zip` with `adm-zip` for Node.js 24 compatibility.

> ### 0.0.85
>
> *Release date: 26.05.2026*
>
> #### New Features
>
> - Added support for selecting extra components in the `create` command.
>
> #### Improvements & Bug Fixes
>
> - Cleared temporary folders on macOS when the package name changes.
> - Updated dependencies to resolve `npm audit` vulnerabilities.
> - Signed the `rcedit` executable.

> ### 0.0.84
>
> *Release date: 07.05.2026*
>
> #### New Features
>
> - Added selection of specific components and versions to the `components download` command.
>
> #### Improvements & Bug Fixes
>
> - Improved build performance by caching unsigned executables during component installation.
> - Updated automated tests to use the component download command.

> ### 0.0.83
>
> *Release date: 21.04.2026*
>
> #### New Features
>
> - Added support for forwarding arguments to the test script, allowing users to pass additional options (e.g., `--spec`, `--suite`) directly to the underlying test runner when executing `npm run test`.

> ### 0.0.82
>
> *Release date: 08.04.2026*
>
> #### Improvements & Bug Fixes
>
> - Added schema validation for `iocd.cli.config.json`, with warnings in editors and during CLI execution.
> - Updated dependencies to resolve `npm audit` vulnerabilities.

> ### 0.0.81
>
> *Release date: 20.03.2026*
>
> #### Improvements & Bug Fixes
>
> - Fixed component version selection excluding stable releases with build metadata.

> ### 0.0.80
>
> *Release date: 19.03.2026*
>
> #### New Features
>
> - Added support for `nightly` prerelease tag in component versions (e.g., `v10.0.0-nightly.20250927121929`), in addition to the existing `build` and `dev` tags.
> - Added the `"prereleaseChannels"` configuration option to restrict which prerelease channels are allowed when resolving `"latest"` (e.g., `["build"]` to only use build tags). See [Pre-Release Channels](https://docs.interop.io/desktop/developers/seed-project/components/index.md#using_prereleases-prerelease_channels) for details.

> ### 0.0.79
>
> *Release date: 17.03.2026*
>
> #### Improvements & Bug Fixes
>
> - Resolved `npm audit` vulnerabilities.

> ### 0.0.78
>
> *Release date: 16.03.2026*
>
> #### New Features
>
> - Added support for `dev` prerelease tag in component versions (e.g., `v10.0.0-dev.20250927121929`), in addition to the existing `build` tag.

> ### 0.0.77
>
> *Release date: 16.03.2026*
>
> #### Improvements & Bug Fixes
>
> - Matched prerelease versions via `fullVersion` in the version selector, allowing exact prerelease version requests (e.g., `iocd@10.1.0-dev.260314T1935`).
> - Fixed CI publishing via NPM trusted publishing and pre-release publishing.

> ### 0.0.76
>
> *Release date: 10.03.2026*
>
> #### New Features
>
> - The `components download` command now downloads only the latest version of each component by default.

> ### 0.0.75
>
> *Release date: 10.03.2026*
>
> #### New Features
>
> - Stopped creating an empty `/components` folder in the packaged `iocd` output when no components other than `iocd` are included in the project.

> ### 0.0.74
>
> *Release date: 02.03.2026*
>
> #### New Features
>
> - Added the `"excludeFolders"` option for excluding folders from Windows code signing. Supports `**`, `*`, `?` wildcards and `!` negation patterns (last matching pattern wins). By default, no folders are excluded.

> ### 0.0.73
>
> *Release date: 27.02.2026*
>
> #### New Features
>
> - Skipped code signing for binaries that are already signed, reducing build time and avoiding re-signing issues.
>
> #### Improvements & Bug Fixes
>
> - Updated test template dependencies to resolve security vulnerabilities.

> ### 0.0.72
>
> *Release date: 30.01.2026*
>
> #### New Features
>
> - Registered adapter components (bbg-mdf, excel, fidessa, outlook, word) in the CLI component registry with platform support metadata.

> ### 0.0.71
>
> *Release date: 29.01.2026*
>
> #### New Features
>
> - Added array merge directives (`$replace`, `$prepend`, `$append`, `$remove`) for `.json.merge` files, for controlling how arrays are combined during modifications.

> ### 0.0.70
>
> *Release date: 27.01.2026*
>
> #### Improvements & Bug Fixes
>
> - Published a maintenance release.

> ### 0.0.69
>
> *Release date: 22.01.2026*
>
> #### New Features
>
> - Enabled cross-compilation of Windows installers on Linux by adding rcedit support and removing platform-specific OS calls.

> ### 0.0.68
>
> *Release date: 21.01.2026*
>
> #### Improvements & Bug Fixes
>
> - Changed the default component platform from `darwin` to `win32`.

> ### 0.0.67
>
> *Release date: 21.01.2026*
>
> #### Improvements & Bug Fixes
>
> - Changed the default component platform from `darwin` to `win32`.

> ### 0.0.66
>
> *Release date: 14.01.2026*
>
> #### Improvements & Bug Fixes
>
> - Fixed Windows executable icon patching to source the icon from the modifications folder instead of the default location.

> ### 0.0.65
>
> *Release date: 13.01.2026*
>
> #### Improvements & Bug Fixes
>
> - Fixed modification tracker so that deleting a modification source file correctly removes the corresponding output file from the component.

> ### 0.0.64
>
> *Release date: 10.01.2026*
>
> #### Improvements & Bug Fixes
>
> - Replaced OS-specific shell-based ZIP extraction (PowerShell on Windows, unzip on macOS) with the cross-platform `extract-zip` NPM package.

> ### 0.0.63
>
> *Release date: 09.01.2026*
>
> #### New Features
>
> - Bundled `entitlements.mac.plist` and `.nuspectemplate` with the CLI so that projects receive updates to these files when upgrading the CLI.

> ### 0.0.62
>
> *Release date: 05.01.2026*
>
> #### New Features
>
> - Added support for specifying a custom tests directory in the CLI configuration.

> ### 0.0.60
>
> *Release date: 31.12.2025*
>
> #### New Features
>
> - Automatically reset all modifications before running `dev` or `build` commands to ensure a clean state.
> - Added a notification when a newer CLI version is available.
>
> #### Improvements & Bug Fixes
>
> - 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
>
> *Release date: 12.12.2025*
>
> #### New Features
>
> - Added support for passing additional arguments to the Electron process in `dev` mode.
> - Added the `--output` argument for the `build` command to specify a custom output directory.
> - Exported CLI commands for use as a library in other projects.
>
> #### Improvements & Bug Fixes
>
> - Automatically installed dependencies when adding new apps to a project.
> - Updated Launchpad Vite configuration for improved build performance.

> ### 0.0.57
>
> *Release date: 09.12.2025*
>
> #### New Features
>
> - Automatically included tests when setting up a new project with `create` command.

> ### 0.0.56
>
> *Release date: 06.12.2025*
>
> #### Improvements & Bug Fixes
>
> - Improved error logging message.

> ### 0.0.55
>
> *Release date: 06.12.2025*
>
> #### Improvements & Bug Fixes
>
> - Fixed handling of versions containing a letter in the build timestamp.

> ### 0.0.54
>
> *Release date: 04.12.2025*
>
> #### New Features
>
> - Added HTTP/HTTPS proxy support for all CLI network requests, enabling use behind corporate proxies and firewalls.

> ### 0.0.53
>
> *Release date: 01.12.2025*
>
> #### New Features
>
> - Logged Node.js and CLI versions at the beginning of each log file for easier debugging.

> ### 0.0.52
>
> *Release date: 30.11.2025*
>
> #### New Features
>
> - Registered the Bloomberg (BBG) component in the CLI component registry for download and inclusion in builds.

> ### 0.0.51
>
> *Release date: 28.11.2025*
>
> #### New Features
>
> - Added an overwrite mode for component modifications, allowing files to completely replace targets instead of being merged.

> ### 0.0.49
>
> *Release date: 26.11.2025*
>
> #### Improvements & Bug Fixes
>
> - Changed configuration to rely on `package.json` where possible.
> - Added UI version.
> - Updated the WebdriverIO test configuration.
> - Fixed the ESLint setup.

> ### 0.0.43
>
> *Release date: 20.11.2025*
>
> #### New Features
>
> - Added support for variable substitution of product slug and product name in modification files, enabling dynamic per-product configuration.

> ### 0.0.42
>
> *Release date: 20.11.2025*
>
> #### New Features
>
> - Added OS-specific modification folders (`/modifications-win32`, `/modifications-darwin`) so different platforms can have distinct configuration overrides.
> - Included the product version in the Windows setup executable filename.
>
> #### Improvements & Bug Fixes
>
> - Fixed build issues.

> ### 0.0.35
>
> *Release date: 16.11.2025*
>
> #### Improvements & Bug Fixes
>
> - Updated Node.js requirement to 22.0.0.
> - Included maintenance fixes.

> ### 0.0.33
>
> *Release date: 16.11.2025*
>
> #### Improvements & Bug Fixes
>
> - Updated the README.
> - Simplified configuration.
> - Changed Windows certificate signing to use `signtool`.

> ### 0.0.29
>
> *Release date: 13.11.2025*
>
> #### New Features
>
> - Enabled shell mode for child process execution to support system PATH resolution.

> ### 0.0.28
>
> *Release date: 13.11.2025*
>
> #### Improvements & Bug Fixes
>
> - Changed Windows signing to use `signtool` instead of a separate DigiCert integration.

> ### 0.0.27
>
> *Release date: 10.11.2025*
>
> #### New Features
>
> - Added the `"license.copyLicenseToOutput"` configuration option to automatically include the license file in the build output.

> ### 0.0.26
>
> *Release date: 06.11.2025*
>
> #### New Features
>
> - Added end-to-end test infrastructure for CLI commands.
> - Added license file handling and validation.
> - Added JSON schema for CLI configuration file (`iocd.cli.config.json`) validation.

> ### 0.0.24
>
> *Release date: 30.10.2025*
>
> #### New Features
>
> - Added end-to-end test support with small improvements.
> - Added initial test templates.
> - Added downloading of all components.

> ### 0.0.23
>
> *Release date: 15.10.2025*
>
> #### Improvements & Bug Fixes
>
> - Fixed logging issues.
> - Added macOS code signing configuration.

> ### 0.0.22
>
> *Release date: 13.10.2025*
>
> #### Improvements & Bug Fixes
>
> - Fixed icons and certificate signing on macOS.

> ### 0.0.20
>
> *Release date: 12.10.2025*
>
> #### New Features
>
> - Automatically generated and managed `.gitignore` files for new projects.

> ### 0.0.18
>
> *Release date: 12.10.2025*
>
> #### New Features
>
> - Allowed the `create` command to initialize a project in the current directory if it is empty.

> ### 0.0.17
>
> *Release date: 12.10.2025*
>
> #### New Features
>
> - Added build configuration templates for Windows and macOS installers.

> ### 0.0.15
>
> *Release date: 11.10.2025*
>
> #### New Features
>
> - Added `--skip-components` CLI flag to the build command, allowing builds without downloading or updating components.

> ### 0.0.14
>
> *Release date: 11.10.2025*
>
> #### Improvements & Bug Fixes
>
> - Added GitHub token to the GitHub request.

> ### 0.0.9
>
> *Release date: 09.10.2025*
>
> #### New Features
>
> - Added support for top-level modifications that apply across all components, in addition to per-component modifications.

> ### 0.0.6
>
> *Release date: 07.10.2025*
>
> #### New Features
>
> - Integrated Sentry error tracking for automatic crash reporting and diagnostics.
> - Added project reference materials.

> ### 0.0.4
>
> *Release date: 04.10.2025*
>
> #### New Features
>
> - Pinned component versions after initial project setup to ensure reproducible builds.
> - Added per-component modification folders (`/modifications-xxx`) for targeted config overrides.
> - Added auto update support with a generated `system.json.merge` template.

> ### 0.0.3
>
> *Release date: 28.09.2025*
>
> #### New Features
>
> - Added demos component support.
> - Added a flag for selecting pre-release components.
> - Added component storage documentation.

> ### 0.0.2
>
> *Release date: 26.09.2025*
>
> #### New Features
>
> - Added license validation.

> ### 0.0.1
>
> *Release date: 22.09.2025*
>
> #### New Features
>
> - Initial release.
> - Added project creation via the `create` command.
> - Added component selection during project creation.
> - Added app template installation.
> - Added S3 component storage.
> - Added local component storage using the same structure as S3.
> - Added the Launchpad component.
> - Added component removal.
> - Added installer builds for Windows and macOS.
> - Added code signing for macOS and Windows.
> - Added a splash screen template.
> - Added auto update configuration.
> - Added a GitHub Actions workflow for CI/CD.
