|
1 | | -## OpenCore CLI v0.5.2 |
| 1 | +## OpenCore CLI v1.0.0 |
2 | 2 |
|
3 | 3 | ### Highlights |
4 | | -- **Platform-Specific Binary Support**: Introduced `serverBinaryPlatform` and `serverBinaries` configuration for automated, platform-aware management of server-side binaries (Windows, Linux, Darwin). |
5 | | -- **Astro Framework Support**: Added support for Astro in views with static-only output mode, including custom build commands and automatic framework detection. |
6 | | -- **Tailwind support (v3, v4)**: added support for tailwind, Tailwind is automatically detected and managed. **(Testing)** |
| 4 | + |
| 5 | +- **Automatic controller autoloading**: automatic controller discovery and autoload import generation. |
| 6 | +- **More robust CI/non-TTY builds**: new simple output mode for workflows (for example GitHub Actions). |
| 7 | +- **Improved source/controller validation**: less ambiguity with generic decorators and framework imports. |
| 8 | +- **Configurable package manager support**: npm, yarn, or pnpm across init/build. |
| 9 | +- **Template and DX upgrades**: Node 22 + ES2022 target for generated templates. |
| 10 | + |
| 11 | +### New Features |
| 12 | + |
| 13 | +- **Controller autoload generation** |
| 14 | + - Added build-time autoload generation with automatic controller discovery. |
| 15 | + - Generates files in `.opencore`/`src/.opencore` depending on project context. |
| 16 | + - Skips autoload generation for view-only builds to avoid unnecessary work. |
| 17 | +- **Autoload split server/client** |
| 18 | + - Autoload generation is now split by side (server/client) instead of a single combined file. |
| 19 | + - Improved dynamic import resolution plugin for autoload imports. |
| 20 | +- **Package manager selection** |
| 21 | + - Added a unified flow to resolve and use `npm`, `yarn`, or `pnpm` consistently for install/run commands. |
| 22 | + - Integrated package manager selection with scaffolding and build commands. |
| 23 | +- **Clone command enhancements** |
| 24 | + - Added `--branch` flag to `opencore clone` to list/clone templates from a specific branch. |
| 25 | +- **No-TTY / workflow mode** |
| 26 | + - Added non-interactive environment detection and simple output mode. |
| 27 | + - Added explicit `build --output auto|tui|plain` support. |
| 28 | + - Improved CI behavior by avoiding TUI/spinner output in logs. |
7 | 29 |
|
8 | 30 | ### Changes |
9 | | -- **Server Binaries Management**: |
10 | | - - Added `serverBinaryPlatform` option to support platform-specific binary selection from `bin/<platform>` folders. |
11 | | - - Added `serverBinaries` configuration to explicitly list paths for copying server-side binaries. |
12 | | - - Implemented automatic detection and copying of the `bin/` directory if present and not otherwise specified. |
13 | | -- **Astro Integration**: |
14 | | - - Added 'astro' to framework options in `ViewsConfig`. |
15 | | - - Added `buildCommand` and `outputDir` fields to `ViewsConfig` for advanced static framework customization. |
16 | | -- **Static Asset Control**: |
17 | | - - Added `forceInclude` option to `ViewsConfig` to explicitly include static files by filename pattern, even if they aren't imported in JS/CSS. |
18 | | - |
19 | | -### Fixes |
20 | | -- Improved platform normalization and auto-detection logic for binary resolution. |
21 | | -- Enhanced reliability of static asset inclusion during the build process. |
| 31 | + |
| 32 | +- **Templates/runtime target** |
| 33 | + - Updated templates to Node.js 22 (`fxmanifest`). |
| 34 | + - Updated TypeScript target to `ES2022` and module mode to `preserve` for new projects. |
| 35 | +- **Build validation** |
| 36 | + - Added validation to prevent invalid mixed server/client build configurations. |
| 37 | + - Strengthened controller detection to prevent ambiguous decorator usage. |
| 38 | +- **Starter/project defaults** |
| 39 | + - Simplified starter project default configuration. |
| 40 | + - Updated `.gitignore` defaults to exclude generated `.opencore` files. |
| 41 | + |
| 42 | +### Breaking Changes |
| 43 | + |
| 44 | +- New projects now default to **Node 22** and **TypeScript ES2022** in templates. |
| 45 | +- Autoload flow changed (server/client split), which may affect internal customizations relying on the previous combined layout. |
| 46 | +- Decorator/controller validation is stricter and may flag previously tolerated ambiguous cases. |
| 47 | + |
| 48 | +### Notes |
| 49 | + |
| 50 | +- This release establishes the `v1.0` CLI foundation: reliable autoloading, safer builds, and better CI compatibility. |
| 51 | +- Recommended for CI: |
| 52 | + - `opencore build --output=plain` |
| 53 | + - `OPENCORE_DISABLE_UPDATE_CHECK=1` for cleaner logs. |
0 commit comments