@equinor/fusion-framework-cli 13.3.18 → 13.3.19-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Change Log
2
2
 
3
+ ## 13.3.19-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#3820](https://github.com/equinor/fusion-framework/pull/3820) [`f647825`](https://github.com/equinor/fusion-framework/commit/f647825cb5712763b09dafda21fd996211c78b78) Thanks [@odinr](https://github.com/odinr)! - relase next
8
+
9
+ - Updated dependencies [[`f647825`](https://github.com/equinor/fusion-framework/commit/f647825cb5712763b09dafda21fd996211c78b78), [`fa89ed8`](https://github.com/equinor/fusion-framework/commit/fa89ed8aeed919950ef6a6775e60eb6904ec7946)]:
10
+ - @equinor/fusion-framework-vite-plugin-raw-imports@1.1.0-next.1
11
+ - @equinor/fusion-imports@1.1.12-next.0
12
+ - @equinor/fusion-framework-dev-portal@5.0.0-next.0
13
+ - @equinor/fusion-framework-dev-server@1.1.32-next.0
14
+ - @equinor/fusion-framework-module-msal-node@3.0.2-next.0
15
+
3
16
  ## 13.3.18
4
17
 
5
18
  ### Patch Changes
@@ -170,7 +183,6 @@
170
183
  This streamlines the deployment workflow by combining bundle upload and config upload in a single command.
171
184
 
172
185
  **Internal changes:**
173
-
174
186
  - Refactored `publishAppConfig` to accept pre-resolved config and framework instance, improving modularity and reusability
175
187
  - Updated `generateApplicationConfig` to return both config and package metadata, with graceful fallback when package resolution fails
176
188
  - Simplified `app config` command flow by handling config generation and manifest loading before publishing
@@ -202,7 +214,6 @@
202
214
  The CLI publish command now supports validating applications using metadata extracted from bundle artifacts instead of requiring local package.json and manifest files. This enables publishing applications from any directory in CI/CD pipelines without maintaining the full project structure.
203
215
 
204
216
  **New capabilities:**
205
-
206
217
  - Extract app information from bundle's `metadata.json`
207
218
  - Validate app registration using artifact metadata when bundle path is provided
208
219
  - Maintain backward compatibility with existing package.json-based validation
@@ -235,7 +246,6 @@
235
246
  - [#3922](https://github.com/equinor/fusion-framework/pull/3922) [`d34ebd8`](https://github.com/equinor/fusion-framework/commit/d34ebd82c93acabc88f88e44a725f084af3af5ec) Thanks [@odinr](https://github.com/odinr)! - Enable AG Grid Enterprise license injection for the dev-portal by setting a global window key produced from the SPA template environment. The portal reads `window.FUSION_AG_GRID_KEY` to configure the AG Grid module and silence license warnings when a valid key is present. CLI docs now mention the license key setup.
236
247
 
237
248
  **Usage:**
238
-
239
249
  - In your SPA environment file, set `FUSION_SPA_AG_GRID_KEY=your-license-key-here`.
240
250
  - The SPA HTML template injects `window.FUSION_AG_GRID_KEY` before bootstrap runs, and the dev-portal picks it up automatically.
241
251
 
@@ -281,7 +291,6 @@
281
291
  - [#3932](https://github.com/equinor/fusion-framework/pull/3932) [`15aaa87`](https://github.com/equinor/fusion-framework/commit/15aaa87e6a8b391c0672db0dcdca4c1cac3b50a7) Thanks [@dependabot](https://github.com/apps/dependabot)! - Internal: update rollup build dependency from 4.52.5 to 4.55.2.
282
292
 
283
293
  This update includes:
284
-
285
294
  - Improved circular dependency handling for manual chunks
286
295
  - Enhanced tree-shaking for Symbol properties
287
296
  - Performance improvements via variable name caching
@@ -313,7 +322,6 @@
313
322
  - [`e2d2a76`](https://github.com/equinor/fusion-framework/commit/e2d2a76d08b86c3a9d8783fed1606551df9d5633) Thanks [@odinr](https://github.com/odinr)! - Add plugin system for extensible CLI architecture and new framework configuration utilities.
314
323
 
315
324
  **Plugin System:**
316
-
317
325
  - Support for optional plugins via `fusion-cli.config.ts` configuration file
318
326
  - Automatic plugin discovery and loading from project root or CLI package directory
319
327
  - Plugin registration via package name or direct function imports
@@ -321,23 +329,19 @@
321
329
  - Multiple plugin resolution strategies for different installation methods
322
330
 
323
331
  **New Exports:**
324
-
325
332
  - `configureFramework` - Separated framework configuration from initialization for advanced use cases
326
333
  - `defineFusionCli` - Type-safe utility for defining CLI plugin configurations
327
334
 
328
335
  **Enhancements:**
329
-
330
336
  - Non-interactive mode support for `create app` command with `--git-protocol`, `--cleanup`/`--no-cleanup`, and `--no-open` options
331
337
  - Automatic `.env` file loading via dotenv for environment variable support
332
338
  - Improved error handling and plugin resolution strategies
333
339
 
334
340
  **Documentation:**
335
-
336
341
  - Added comprehensive AI commands documentation (internal use only)
337
342
  - Updated README with plugin system usage instructions
338
343
 
339
344
  **Quick Usage:**
340
-
341
345
  1. Install a plugin package:
342
346
 
343
347
  ```sh
@@ -461,7 +465,6 @@
461
465
  Portal tagging functionality has been enhanced to accept any string value for tags instead of being restricted to predefined enum values.
462
466
 
463
467
  **Breaking Changes**
464
-
465
468
  - **Removed `AllowedPortalTags` enum**: The enum that previously restricted portal tags to only `'latest'` and `'preview'` has been removed.
466
469
  - **No longer exported**: `AllowedPortalTags` is no longer exported from `@equinor/fusion-framework-cli/bin`.
467
470
 
@@ -496,13 +499,11 @@
496
499
  ```
497
500
 
498
501
  **Enhanced Documentation**
499
-
500
502
  - Updated CLI help text with practical examples
501
503
  - Added common tag examples (`latest`, `preview`, `next`, `stable`) in documentation
502
504
  - Maintained guidance while showing flexibility
503
505
 
504
506
  **Validation**
505
-
506
507
  - Tags must be non-empty strings
507
508
  - No other restrictions on tag format or content
508
509
  - Backward compatibility maintained for existing tag values
@@ -572,20 +573,17 @@
572
573
  This update addresses a security vulnerability in Vite's development server and includes bug fixes for improved compatibility. The update ensures secure development environments and better plugin ecosystem compatibility.
573
574
 
574
575
  **Changes:**
575
-
576
576
  - Updated Vite from v7.1.10 to v7.1.12
577
577
  - Includes security fix for development server file system checks
578
578
  - Includes compatibility fix for CommonJS plugin
579
579
  - No breaking changes or API modifications
580
580
 
581
581
  **Security Fix (v7.1.11):**
582
-
583
582
  - **dev**: trim trailing slash before `server.fs.deny` check ([#20968](https://github.com/vitejs/vite/issues/20968))
584
583
  - Prevents potential path traversal vulnerability in development server
585
584
  - Only affects development environment, not production builds
586
585
 
587
586
  **Bug Fix (v7.1.12):**
588
-
589
587
  - **deps**: downgrade commonjs plugin to 28.0.6 to avoid rollup/plugins issues ([#20990](https://github.com/vitejs/vite/issues/20990))
590
588
  - Improves compatibility with Rollup plugin ecosystem
591
589
  - Prevents potential build issues
@@ -607,12 +605,10 @@
607
605
  Fixed a bug in the `app config` command where the `config` parameter was incorrectly referenced as `options.config` when calling `publishAppConfig`. This was causing the publish functionality to fail when a custom config file path was provided.
608
606
 
609
607
  ### What Changed
610
-
611
608
  - Corrected parameter passing in `packages/cli/src/cli/commands/app/config.ts`
612
609
  - Changed `config: options.config` to `config` in the `publishAppConfig` call
613
610
 
614
611
  ### Impact
615
-
616
612
  - The `ffc app config --publish` command now correctly uses the provided config file argument
617
613
  - Fixes the issue where custom config files were not being passed to the publish function
618
614
  - No breaking changes to the CLI interface
@@ -627,7 +623,6 @@
627
623
  - [#3584](https://github.com/equinor/fusion-framework/pull/3584) [`0dd31cd`](https://github.com/equinor/fusion-framework/commit/0dd31cd1078b383ddab4a8cf1bb03d502e214715) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore: bump @rollup/plugin-node-resolve from 16.0.1 to 16.0.3
628
624
 
629
625
  Bug fixes:
630
-
631
626
  - fix: resolve bare targets of package "imports" using export maps; avoid fileURLToPath(null)
632
627
  - fix: error thrown with empty entry
633
628
 
@@ -661,11 +656,9 @@
661
656
  Added `is-mergeable-object` as a direct dependency to resolve runtime errors when using the CLI's app development features. This package is required by `deepmerge` but was not explicitly declared as a dependency, causing module resolution failures during app development.
662
657
 
663
658
  **Changes:**
664
-
665
659
  - Added `is-mergeable-object@^1.1.1` to dependencies in `packages/cli/package.json`
666
660
 
667
661
  **Impact:**
668
-
669
662
  - Fixes "Cannot find module 'is-mergeable-object'" errors during app development
670
663
  - Ensures proper dependency resolution for CLI tools that use deepmerge functionality
671
664
  - No breaking changes - this is purely a dependency fix
@@ -675,13 +668,11 @@
675
668
  ### Patch Changes
676
669
 
677
670
  - [#3559](https://github.com/equinor/fusion-framework/pull/3559) [`6667a4e`](https://github.com/equinor/fusion-framework/commit/6667a4ee24a5374a02ec76952f440d495d62dbc3) Thanks [@eikeland](https://github.com/eikeland)! - Added default headers to CLI REST API requests for better identification and tracking.
678
-
679
671
  - Created new `defaultHeaders` utility that includes CLI name, version, and user-agent
680
672
  - Updated app upload/tag operations to include default headers
681
673
  - Updated portal upload/tag operations to include default headers
682
674
 
683
675
  All HTTP requests from the CLI now include:
684
-
685
676
  - `X-Fusion-CLI-Name`: Identifies the CLI tool name
686
677
  - `X-Fusion-CLI-Version`: Specifies the CLI version making the request
687
678
  - `User-Agent`: Standard user agent header with CLI name and version
@@ -691,7 +682,6 @@
691
682
  Closes: #3539
692
683
 
693
684
  - [#3552](https://github.com/equinor/fusion-framework/pull/3552) [`8694e5b`](https://github.com/equinor/fusion-framework/commit/8694e5bb9bb1249dc52853dc6a5048f81ed9ab9c) Thanks [@eikeland](https://github.com/eikeland)! - Fixed release annotations to always include CLI version and required metadata.
694
-
695
685
  - Added `cliVersion` property to `ReleaseAnnotations` type
696
686
  - Ensured annotations are always returned (removed undefined return type)
697
687
  - Added fallback annotations for local builds with default values
@@ -709,7 +699,6 @@
709
699
  ### Minor Changes
710
700
 
711
701
  - [#3547](https://github.com/equinor/fusion-framework/pull/3547) [`99a3c26`](https://github.com/equinor/fusion-framework/commit/99a3c26275c2089c3708124f5819ce383d8dc3dc) Thanks [@odinr](https://github.com/odinr)! - Enhanced CLI with portal proxy support for testing apps in real portal environments ([Issue #3546](https://github.com/equinor/fusion-framework/issues/3546)).
712
-
713
702
  - Added `/portal-proxy` service worker resource configuration to CLI dev server
714
703
  - Routes portal proxy requests to Fusion portal service API (`/@fusion-api/portal-config`)
715
704
  - Enhanced dev server creation with improved logging and error handling
@@ -721,7 +710,6 @@
721
710
  ### Patch Changes
722
711
 
723
712
  - [`4717aab`](https://github.com/equinor/fusion-framework/commit/4717aab6b50d0a795255f7615bb334eae8dc9d3f) Thanks [@Noggling](https://github.com/Noggling)! - Enhanced dev server host configuration to respect Vite config settings.
724
-
725
713
  - Modified `startAppDevServer` function in `app-dev.ts` to use host configuration from local Vite config
726
714
  - Changed hardcoded 'localhost' host to respect `localViteConfig.server?.host` with 'localhost' as fallback
727
715
  - Improved configuration loading by storing `localViteConfig` in a variable to avoid duplicate loading
@@ -746,7 +734,6 @@
746
734
  ref: [3548](https://github.com/equinor/fusion-framework/issues/3548)
747
735
 
748
736
  - [#3547](https://github.com/equinor/fusion-framework/pull/3547) [`99a3c26`](https://github.com/equinor/fusion-framework/commit/99a3c26275c2089c3708124f5819ce383d8dc3dc) Thanks [@odinr](https://github.com/odinr)! - Enhanced CLI documentation with comprehensive portal proxy configuration guide.
749
-
750
737
  - Added detailed portal proxy configuration section in dev-server-config.md
751
738
  - Documented portal proxy behavior, use cases, and benefits
752
739
  - Provided complete code examples for portal proxy setup
@@ -764,7 +751,6 @@
764
751
  ### Minor Changes
765
752
 
766
753
  - [#3512](https://github.com/equinor/fusion-framework/pull/3512) [`6f17817`](https://github.com/equinor/fusion-framework/commit/6f17817d3e1290d0befca8bb528728128612f8f1) Thanks [@eikeland](https://github.com/eikeland)! - Enhanced app management commands with pre-flight registration checks.
767
-
768
754
  - Modified `checkApp` function to return boolean values instead of log results for better programmatic usage
769
755
  - Added handling for HTTP 410 status (deleted apps) in app registration checks
770
756
  - Added pre-flight app registration validation to `publish` and `upload` commands
@@ -780,7 +766,6 @@
780
766
  ### Patch Changes
781
767
 
782
768
  - [#3534](https://github.com/equinor/fusion-framework/pull/3534) [`8049b43`](https://github.com/equinor/fusion-framework/commit/8049b43847370c73814939f258a86723329b6b3c) Thanks [@odinr](https://github.com/odinr)! - Enhanced dev-server documentation with comprehensive configuration guide.
783
-
784
769
  - Added detailed `dev-server-config.md` documentation covering configuration options, API mocking, service discovery customization, and template environment overrides
785
770
  - Updated main `dev-server.md` documentation with improved architecture overview and configuration reference
786
771
  - Provided practical examples and troubleshooting guidance for dev-server configuration
@@ -807,7 +792,6 @@
807
792
  ### Patch Changes
808
793
 
809
794
  - [`56c27ec`](https://github.com/equinor/fusion-framework/commit/56c27ec9de03e07e725eecfdf2c028a1e29b6ece) Thanks [@odinr](https://github.com/odinr)! - Updated workspace dependencies to use exact version specifiers for consistent release behavior.
810
-
811
795
  - Changed workspace dependencies from `workspace:^` to `workspace:*` across CLI, dev-server, and SPA vite plugin packages
812
796
  - Ensures exact version resolution within the monorepo for predictable builds and releases
813
797
  - Affects both dependencies and devDependencies where applicable
@@ -828,7 +812,6 @@
828
812
  ### Minor Changes
829
813
 
830
814
  - [#3459](https://github.com/equinor/fusion-framework/pull/3459) [`58b5cee`](https://github.com/equinor/fusion-framework/commit/58b5ceeba5c6488a459ecaa22013823d3310ebc9) Thanks [@odinr](https://github.com/odinr)! - Enhanced Git repository cloning with user-controlled protocol selection.
831
-
832
815
  - Added interactive prompt for users to choose between HTTPS and SSH protocols
833
816
  - Implemented intelligent SSH detection using both git config and filesystem checks
834
817
  - Removed automatic SSH-to-HTTPS fallback in favor of explicit user choice
@@ -856,7 +839,6 @@
856
839
  - [#3425](https://github.com/equinor/fusion-framework/pull/3425) [`41cc520`](https://github.com/equinor/fusion-framework/commit/41cc520707c37672c59855ed53a0d4cedae0ec61) Thanks [@dependabot](https://github.com/apps/dependabot)! - Updated pretty-bytes from 7.0.1 to 7.1.0, adding `fixedWidth` and `nonBreakingSpace` options for enhanced CLI output formatting.
857
840
 
858
841
  - [#3428](https://github.com/equinor/fusion-framework/pull/3428) [`1700ca8`](https://github.com/equinor/fusion-framework/commit/1700ca8851fa108e55e9729fd24f595272766e63) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update zod from 4.1.9 to 4.1.11
859
-
860
842
  - **v4.1.10**: Fixed shape caching issue (#5263) improving validation performance for complex schemas
861
843
  - **v4.1.11**: Maintenance release with general improvements
862
844
 
@@ -877,7 +859,6 @@
877
859
  Updated source code to migrate from zod v3 to v4. Updated zod dependency from v3.25.76 to v4.1.8 and modified schema definitions in the CLI package to use explicit key and value types for records, updated error message format, and changed ZodError `.errors` property to `.issues` for zod v4 compatibility.
878
860
 
879
861
  Key changes in source code:
880
-
881
862
  - Fixed record schema definitions to use explicit key and value types (`z.record(z.string(), z.any())`)
882
863
  - Updated portal manifest schemas to use `message` instead of `description` for error messages
883
864
  - Simplified error message options format (removed `required_error`, `invalid_type_error` from options object)
@@ -887,14 +868,12 @@
887
868
  Breaking changes: Record schemas must specify both key and value types explicitly. Error message format has changed from zod v3 to v4 format. Function schema definitions now require explicit typing.
888
869
 
889
870
  Links:
890
-
891
871
  - [Zod v4 Migration Guide](https://github.com/colinhacks/zod/releases/tag/v4.0.0)
892
872
  - [Zod v4.1.8 Release Notes](https://github.com/colinhacks/zod/releases/tag/v4.1.8)
893
873
 
894
874
  ### Patch Changes
895
875
 
896
876
  - [#3418](https://github.com/equinor/fusion-framework/pull/3418) [`6426d40`](https://github.com/equinor/fusion-framework/commit/6426d4051d153a01f2bc37ba7e7f4d0e85a82753) Thanks [@odinr](https://github.com/odinr)! - Improve publish command documentation clarity
897
-
898
877
  - Update app publish command description to clearly explain conditional building behavior
899
878
  - Add prominent note explaining when building occurs vs when it doesn't
900
879
  - Add complete portal publish command documentation (was missing)
@@ -915,24 +894,20 @@
915
894
  - [#3369](https://github.com/equinor/fusion-framework/pull/3369) [`bd8360e`](https://github.com/equinor/fusion-framework/commit/bd8360e6b93704b3f8ba4eb0d7fd142e27c01ef9) Thanks [@dependabot](https://github.com/apps/dependabot)! - Updated commander from v13 to v14 with improved help system and Node.js v20+ requirement.
916
895
 
917
896
  ### Breaking Changes
918
-
919
897
  - Commander 14 requires Node.js v20 or higher (compatible with existing project requirements)
920
898
 
921
899
  ### New Features
922
-
923
900
  - Support for groups of options and commands in help
924
901
  - Support for unescaped negative numbers as arguments
925
902
  - Enhanced TypeScript support with parseArg property
926
903
 
927
904
  ### Links
928
-
929
905
  - [GitHub releases](https://github.com/tj/commander.js/releases/tag/v14.0.1)
930
906
  - [Changelog](https://github.com/tj/commander.js/blob/master/CHANGELOG.md)
931
907
 
932
908
  - [#3349](https://github.com/equinor/fusion-framework/pull/3349) [`c511123`](https://github.com/equinor/fusion-framework/commit/c511123c835e24e9ddefcc4c47c2455f5df12087) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore: bump vite from 6.x to 7.1.5
933
909
 
934
910
  Major version update of Vite build tool across all packages. This update includes:
935
-
936
911
  - Enhanced build performance and caching
937
912
  - Better error reporting with code frames
938
913
  - Improved TypeScript integration
@@ -940,7 +915,6 @@
940
915
  - New development server features
941
916
 
942
917
  ### Links
943
-
944
918
  - [Vite 7.1.5 Release Notes](https://github.com/vitejs/vite/releases/tag/v7.1.5)
945
919
  - [Vite 7.x Migration Guide](https://vitejs.dev/guide/migration)
946
920
 
@@ -949,17 +923,14 @@
949
923
  - [#3389](https://github.com/equinor/fusion-framework/pull/3389) [`db19291`](https://github.com/equinor/fusion-framework/commit/db192912ec35b41a10f0324ee70ecc85a686d4fa) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore: bump ora from 8.2.0 to 9.0.0
950
924
 
951
925
  ### Breaking Changes
952
-
953
926
  - ora v9.0.0 now requires Node.js 20+ (previously supported older versions)
954
927
 
955
928
  ### New Features
956
-
957
929
  - Fix clearing in some cases
958
930
  - Fix `frame()` not displaying dynamic `prefixText`/`suffixText` from functions
959
931
  - Fix multiline text exceeding console height leaving garbage when scrolling
960
932
 
961
933
  ### Links
962
-
963
934
  - [GitHub releases](https://github.com/sindresorhus/ora/releases/tag/v9.0.0)
964
935
  - [npm changelog](https://www.npmjs.com/package/ora?activeTab=versions)
965
936
 
@@ -968,18 +939,15 @@
968
939
  Major version update of Vitest coverage package for CLI testing.
969
940
 
970
941
  ### Breaking Changes
971
-
972
942
  - Updated from @vitest/coverage-v8 v2 to v3
973
943
  - Coverage reporting may have configuration changes
974
944
 
975
945
  ### New Features
976
-
977
946
  - Enhanced coverage reporting capabilities
978
947
  - Improved test performance
979
948
  - Better error handling and reporting
980
949
 
981
950
  ### Links
982
-
983
951
  - [Vitest v3.2.4 Release Notes](https://github.com/vitest-dev/vitest/releases/tag/v3.2.4)
984
952
  - [Vitest v3 Migration Guide](https://vitest.dev/guide/migration.html)
985
953
  - [Coverage v8 Documentation](https://vitest.dev/guide/coverage.html)
@@ -994,13 +962,11 @@
994
962
  ### Patch Changes
995
963
 
996
964
  - [#3379](https://github.com/equinor/fusion-framework/pull/3379) [`96d319c`](https://github.com/equinor/fusion-framework/commit/96d319c64e2ccb0ad080d633b74b76cbc4f48083) Thanks [@dependabot](https://github.com/apps/dependabot)! - Updated inquirer dependency from 12.9.4 to 12.9.6
997
-
998
965
  - Updated inquirer to latest patch version 12.9.6
999
966
  - Includes bug fixes and performance improvements
1000
967
  - No breaking changes in this patch update
1001
968
 
1002
969
  - [#3381](https://github.com/equinor/fusion-framework/pull/3381) [`bae9c95`](https://github.com/equinor/fusion-framework/commit/bae9c9554f335d0384b864436874bded47d00ed8) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update rollup from 4.46.3 to 4.50.2
1003
-
1004
970
  - Updated rollup dependency to latest patch version
1005
971
  - Includes bug fixes for tree-shaking array destructuring patterns
1006
972
  - Performance improvements and platform support updates
@@ -1009,7 +975,6 @@
1009
975
  - [#2910](https://github.com/equinor/fusion-framework/pull/2910) [`07cc985`](https://github.com/equinor/fusion-framework/commit/07cc9857e1427b574e011cc319518e701dba784d) Thanks [@dependabot](https://github.com/apps/dependabot)! - Updated vitest from 2.1.9 to 3.2.4 across all packages.
1010
976
 
1011
977
  ## Breaking Changes
1012
-
1013
978
  - **Node.js Requirements**: Requires Node.js 18+ (already satisfied)
1014
979
  - **Vite Compatibility**: Updated to work with Vite 7.x (already using Vite 7.1.5)
1015
980
  - **Snapshot Format**: Snapshots now use backtick quotes (\`) instead of single quotes
@@ -1017,18 +982,15 @@
1017
982
  - **TypeScript Support**: Enhanced TypeScript integration and type definitions
1018
983
 
1019
984
  ## Security Updates
1020
-
1021
985
  - CVE-2025-24963: Browser mode serves arbitrary files (fixed in 2.1.9)
1022
986
  - CVE-2025-24964: Remote Code Execution vulnerability (fixed in 2.1.9)
1023
987
 
1024
988
  ## Migration Notes
1025
-
1026
989
  - Test snapshots may need regeneration due to quote format changes
1027
990
  - Some test configurations might need updates for new TypeScript support
1028
991
  - Peer dependency warnings for @vitest/coverage-v8 are expected and safe to ignore
1029
992
 
1030
993
  ## Links
1031
-
1032
994
  - [Vitest 3.0 Migration Guide](https://vitest.dev/guide/migration)
1033
995
  - [Vitest 3.2.4 Release Notes](https://github.com/vitest-dev/vitest/releases/tag/v3.2.4)
1034
996
 
@@ -1045,7 +1007,6 @@
1045
1007
  - [#3377](https://github.com/equinor/fusion-framework/pull/3377) [`70638da`](https://github.com/equinor/fusion-framework/commit/70638da56c0dad3f349a2d063e8d8bcea3b71b12) Thanks [@odinr](https://github.com/odinr)! - Add comprehensive create app command for generating Fusion applications from templates.
1046
1008
 
1047
1009
  **New Features**
1048
-
1049
1010
  - Added `ffc create app <name>` command with interactive template selection
1050
1011
  - Supports both `ffc create app` and `ffc app create` command patterns for improved flexibility
1051
1012
  - Includes template validation and interactive prompts using inquirer
@@ -1053,13 +1014,11 @@
1053
1014
  - Implemented modular helper functions for each step of app creation
1054
1015
 
1055
1016
  **Template Support**
1056
-
1057
1017
  - Supports both bare and basic application templates from fusion-app-template repository
1058
1018
  - Includes template validation and interactive prompts using inquirer
1059
1019
  - Added comprehensive template repository system with schema validation
1060
1020
 
1061
1021
  **Developer Experience**
1062
-
1063
1022
  - Added IDE integration with automatic project opening
1064
1023
  - Includes dependency management and dev server startup
1065
1024
  - Added comprehensive documentation with examples and best practices
@@ -1067,7 +1026,6 @@
1067
1026
  - Added GitHub template integration links for alternative app creation methods
1068
1027
 
1069
1028
  **Error Handling & Reliability**
1070
-
1071
1029
  - Enhanced error handling for spawn operations in IDE opening and dev server startup
1072
1030
  - Migrated to execa for automatic process cleanup and better signal handling
1073
1031
  - Fixed misleading success messages by wrapping template copy operations in try-catch blocks
@@ -1076,14 +1034,12 @@
1076
1034
  - Enhanced TSDoc documentation and inline comments across helper functions
1077
1035
 
1078
1036
  **Dependencies**
1079
-
1080
1037
  - Added new dependencies: `inquirer`, `@types/inquirer`, and `execa` for enhanced CLI experience
1081
1038
  - Migrated process spawning from native child_process to execa for better process management
1082
1039
 
1083
1040
  The new command provides an intuitive way for developers to bootstrap new Fusion applications using predefined templates from the ecosystem while maintaining backward compatibility and providing robust error handling.
1084
1041
 
1085
1042
  - [#3377](https://github.com/equinor/fusion-framework/pull/3377) [`70638da`](https://github.com/equinor/fusion-framework/commit/70638da56c0dad3f349a2d063e8d8bcea3b71b12) Thanks [@odinr](https://github.com/odinr)! - Add workspace dependency resolution to create app command
1086
-
1087
1043
  - Added `updatePackageJson` helper for updating package.json with app name and resolving workspace dependencies
1088
1044
  - Added `resolve-workspace-dependencies` helper to convert workspace:^ dependencies to npm versions
1089
1045
  - Added `package-info` utility for fetching package metadata from npm registry
@@ -1098,25 +1054,21 @@
1098
1054
  - [#3377](https://github.com/equinor/fusion-framework/pull/3377) [`70638da`](https://github.com/equinor/fusion-framework/commit/70638da56c0dad3f349a2d063e8d8bcea3b71b12) Thanks [@odinr](https://github.com/odinr)! - Enhanced CLI security with path validation and improved error handling for create command.
1099
1055
 
1100
1056
  ## New Features
1101
-
1102
1057
  - **Path Security Validation**: Added `validateSafePath()` function to prevent path traversal attacks
1103
1058
  - **Safe Directory Operations**: Added `safeRmSync()` function for secure directory removal
1104
1059
  - **Enhanced Error Messages**: Improved user-friendly error messages with visual indicators
1105
1060
 
1106
1061
  ## Security Improvements
1107
-
1108
1062
  - **Path Traversal Protection**: Prevents users from specifying paths outside the current working directory
1109
1063
  - **Input Validation**: Validates target paths before performing file system operations
1110
1064
  - **Safe Cleanup**: Directory removal operations now validate paths before execution
1111
1065
 
1112
1066
  ## User Experience
1113
-
1114
1067
  - **Better Error Messages**: Clear, actionable error messages with ❌ and 💡 indicators
1115
1068
  - **Helpful Guidance**: Users get specific suggestions when path validation fails
1116
1069
  - **Clean Error Handling**: No more messy stack traces for path-related errors
1117
1070
 
1118
1071
  ## Technical Details
1119
-
1120
1072
  - Uses `is-path-inside` library for robust path validation
1121
1073
  - Integrates path security into `checkTargetDirectory` helper
1122
1074
  - Maintains backward compatibility with existing functionality
@@ -1125,7 +1077,6 @@
1125
1077
  - [`7983d30`](https://github.com/equinor/fusion-framework/commit/7983d302f5269d70646c3c5231944b8081844e86) Thanks [@odinr](https://github.com/odinr)! - **Note:** This changeset documents changes that were already implemented and released in [PR #3341](https://github.com/equinor/fusion-framework/pull/3341) (merged 2025-09-05) and included in the [🤖 Bip Bop - Fusion Framework Release](https://github.com/equinor/fusion-framework/pull/3342) (merged 2025-09-08). This changeset serves as a historical record and comprehensive documentation of the CLI tag command improvements, ensuring the changelog contains detailed information about the breaking changes, migration path, and technical details that may be referenced by users upgrading or troubleshooting CLI issues.
1126
1078
 
1127
1079
  Fixed `--version` flag conflict in CLI tag commands and improved API consistency.
1128
-
1129
1080
  - **Fixed:** Resolved conflict between custom `--version` option and Commander's built-in `--version` flag that displays CLI version
1130
1081
  - **Refactored:** Replaced separate `--appKey`/`--version` options with unified `--package name@version` syntax for both `app tag` and `portal tag` commands
1131
1082
  - **Improved:** Enhanced error handling with clear validation messages for package format
@@ -1134,7 +1085,6 @@
1134
1085
 
1135
1086
  **Breaking Changes:**
1136
1087
  This introduces a breaking change to the CLI API by removing the `--version` and `--appKey` options in favor of the `--package` option. However, we're releasing this as a patch since:
1137
-
1138
1088
  1. The `--version` flag never worked properly due to the conflict with Commander's built-in version flag
1139
1089
  2. The old API was fundamentally broken and unusable
1140
1090
  3. Limited adoption in production environments means minimal impact
@@ -1143,7 +1093,6 @@
1143
1093
  - The Fusion App Admin UI (graphical interface for release management)
1144
1094
 
1145
1095
  **Migration:**
1146
-
1147
1096
  - Old: `fusion-framework-cli app tag --appKey my-app --version 1.2.3 latest`
1148
1097
  - New: `fusion-framework-cli app tag --package my-app@1.2.3 latest`
1149
1098
 
@@ -1154,7 +1103,6 @@
1154
1103
  **Fixes:** https://github.com/equinor/fusion/issues/652
1155
1104
 
1156
1105
  - [#3377](https://github.com/equinor/fusion-framework/pull/3377) [`70638da`](https://github.com/equinor/fusion-framework/commit/70638da56c0dad3f349a2d063e8d8bcea3b71b12) Thanks [@odinr](https://github.com/odinr)! - Add git repository validation utilities to CLI package.
1157
-
1158
1106
  - Added `isGitDir` utility function to check if a directory is a valid git repository
1159
1107
  - Added `assertGitRepository` assertion function for git repository validation
1160
1108
  - Enhanced assert utilities with git repository checking capabilities
@@ -1166,7 +1114,6 @@
1166
1114
  ### Minor Changes
1167
1115
 
1168
1116
  - [#3362](https://github.com/equinor/fusion-framework/pull/3362) [`6151ff4`](https://github.com/equinor/fusion-framework/commit/6151ff429fc5dc221a4cb43f11362cf39c2a3136) Thanks [@odinr](https://github.com/odinr)! - Added comprehensive dev-server documentation with architecture overview and configuration guide.
1169
-
1170
1117
  - Added new `docs/dev-server.md` with complete dev-server documentation
1171
1118
  - Updated README.md to include dev-server documentation link
1172
1119
  - Covers dev-server features, architecture, configuration, and troubleshooting
@@ -1174,7 +1121,6 @@
1174
1121
  ### Patch Changes
1175
1122
 
1176
1123
  - [#3345](https://github.com/equinor/fusion-framework/pull/3345) [`0b53fa8`](https://github.com/equinor/fusion-framework/commit/0b53fa8dcd31b0b333a172bfcc15b342c5548bf9) Thanks [@odinr](https://github.com/odinr)! - Documented missing breaking change for Vite configuration file naming in CLI v11 migration guide and changelog.
1177
-
1178
1124
  - Added detailed explanation of `app.vite.config.ts` → `vite.config.ts` file naming change
1179
1125
  - Emphasized that `vite.config.ts` should be a last resort for custom setups
1180
1126
  - Recommended using `dev-server.config.js` instead to avoid unexpected behavior
@@ -1191,7 +1137,6 @@
1191
1137
  ### Patch Changes
1192
1138
 
1193
1139
  - [#3356](https://github.com/equinor/fusion-framework/pull/3356) [`2e47652`](https://github.com/equinor/fusion-framework/commit/2e47652aba8ab14dea62307953666d8f136d7ca0) Thanks [@odinr](https://github.com/odinr)! - Fix SemVer 2.0 compliance issue where build metadata was stripped from package versions.
1194
-
1195
1140
  - Disabled built-in normalization in `read-package-up` to preserve version build metadata
1196
1141
  - Added manual package data normalization using `normalize-package-data` library
1197
1142
  - Preserves original version with build metadata (e.g., `11.8.0+commit`) in app manifests
@@ -1209,7 +1154,6 @@
1209
1154
  ### Patch Changes
1210
1155
 
1211
1156
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Added `--silent` option to the `disco resolve` command to disable CLI logger output and only output structured JSON results for piping.
1212
-
1213
1157
  - Added `--silent` flag that completely disables the CLI logger and all logging output
1214
1158
  - Only outputs the resolved service details as JSON when silent mode is enabled
1215
1159
  - Enables piping the command output to other tools (e.g., `jq`, `grep`, etc.)
@@ -1217,31 +1161,26 @@
1217
1161
  - Cleaned up debug console.log statements
1218
1162
 
1219
1163
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Aligned portal dev command options with app dev command for consistency.
1220
-
1221
1164
  - Standardized option format from short flags to long flags (--debug, --port)
1222
1165
  - Added --env option support for runtime environment configuration
1223
1166
  - Updated logging message to be portal-specific ("Starting portal in development mode...")
1224
1167
  - Enhanced startPortalDevServer function call to include env parameter
1225
1168
 
1226
1169
  - [#3343](https://github.com/equinor/fusion-framework/pull/3343) [`33054ac`](https://github.com/equinor/fusion-framework/commit/33054ac27b309e9d0301dd1f1d63639dac27f00b) Thanks [@odinr](https://github.com/odinr)! - Reorganized authentication documentation to improve maintainability and user experience.
1227
-
1228
1170
  - Removed local `libsecret.md` documentation file
1229
1171
  - Updated all libsecret references to point to centralized MSAL Node module documentation
1230
1172
  - Enhanced authentication guide with cross-references to underlying module documentation
1231
1173
  - Improved documentation structure by consolidating authentication docs in the appropriate module packages
1232
1174
 
1233
1175
  **Migration Notes:**
1234
-
1235
1176
  - libsecret installation guide is now available at: https://equinor.github.io/fusion-framework/modules/auth/msal-node/docs/libsecret.html
1236
1177
  - All authentication-related documentation is now centralized in the MSAL Node module package
1237
1178
 
1238
1179
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Fixed missing `env` parameter in `buildApplication` call within `bundleApp` function.
1239
-
1240
1180
  - Added the required `env` parameter to the `buildApplication` function call in `packages/cli/src/bin/app-pack.ts`
1241
1181
  - This ensures the build process receives the correct runtime environment configuration
1242
1182
 
1243
1183
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Fixed stdout concatenation issues in CLI commands that output JSON to stdout.
1244
-
1245
1184
  - Replaced `stdout.write()` with `console.log()` for proper newline handling in:
1246
1185
  - `ffc app manifest` command
1247
1186
  - `ffc app config` command
@@ -1253,7 +1192,6 @@
1253
1192
  These changes ensure that shell prompts no longer concatenate to JSON output, making the commands safe to pipe to tools like `jq`.
1254
1193
 
1255
1194
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Enhanced CLI command documentation and help text across all commands.
1256
-
1257
1195
  - Updated command examples to use `ffc` (alias) instead of `fusion-framework-cli`
1258
1196
  - Improved TSDoc comments with comprehensive descriptions and examples
1259
1197
  - Streamlined help text by removing redundant information and improving formatting
@@ -1273,7 +1211,6 @@
1273
1211
  ### Patch Changes
1274
1212
 
1275
1213
  - [#3330](https://github.com/equinor/fusion-framework/pull/3330) [`3590104`](https://github.com/equinor/fusion-framework/commit/3590104bdf3bba3386cdec7e2692078e6a92bd01) Thanks [@odinr](https://github.com/odinr)! - Enhanced Vite configuration with improved TypeScript path resolution and centralized config loading.
1276
-
1277
1214
  - Added `vite-tsconfig-paths` plugin for better TypeScript path resolution in development
1278
1215
  - Refactored app and portal dev servers to use centralized `loadViteConfig` function
1279
1216
  - Improved Vite config merging with `mergeConfigVite` for better configuration management
@@ -1372,14 +1309,12 @@
1372
1309
  ### Patch Changes
1373
1310
 
1374
1311
  - [#3271](https://github.com/equinor/fusion-framework/pull/3271) [`7832bd7`](https://github.com/equinor/fusion-framework/commit/7832bd78843621ca95373596761bec29d4bdbbb8) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependency `chalk` to ^5.6.0
1375
-
1376
1312
  - Updated `chalk` to version ^5.6.0 in root, CLI, and log utils packages.
1377
1313
  - No breaking changes expected.
1378
1314
 
1379
1315
  See [chalk changelog](https://github.com/chalk/chalk/releases) for details.
1380
1316
 
1381
1317
  - [#3309](https://github.com/equinor/fusion-framework/pull/3309) [`29efd10`](https://github.com/equinor/fusion-framework/commit/29efd10c48f9d11ba5aa7246d3217c5ea81ddc14) Thanks [@odinr](https://github.com/odinr)! - - Removed all YAML/Markdown frontmatter blocks from CLI documentation files in `/packages/cli/docs` and `/packages/cli/README.md` for a cleaner, more maintainable documentation source.
1382
-
1383
1318
  - Updated all internal documentation links to use relative paths without leading `./` for consistency and compatibility with VuePress.
1384
1319
  - Updated the `TODO.md` file to remove completed or obsolete tasks and clarify remaining todos.
1385
1320
 
@@ -1394,7 +1329,6 @@
1394
1329
  ### Major Changes
1395
1330
 
1396
1331
  - [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253) Thanks [@odinr](https://github.com/odinr)! - **Major Changes**
1397
-
1398
1332
  - **Rewrite:** The CLI has been rewritten to use Fusion Framework internally, minimizing dependencies and improving performance. It is now a first-class citizen in the Fusion Framework ecosystem, providing a more consistent and integrated experience.
1399
1333
  - **Dev Portal Modularization:** The dev portal has been moved to a separate package `@equinor/fusion-framework-dev-server`, enabling modular architecture and independent updates. The dev portal can be configured via `dev-server.config.js` and supports live preview and API mocking.
1400
1334
  - **Command Structure:** CLI is now divided into three main groups: `bin` (executable functions), `commands` (CLI commands), and `lib` (for consumers, config, and utilities). This improves organization and modularity.
@@ -1406,22 +1340,18 @@
1406
1340
  - **New Utility Functions:** The CLI now includes new utility modules for resolving CI/CD metadata (GitHub Actions, Azure DevOps), git commit and remote info, and package metadata. These utilities support advanced scripting and automation scenarios.
1407
1341
 
1408
1342
  **Minor Changes**
1409
-
1410
1343
  - **Portal Config Support:** Added helpers for loading and resolving portal configuration files, with new types and utilities for authoring static or dynamic portal configs. Dev server logic updated to use resolved portal config.
1411
1344
  - **Manifest Refactor:** Portal manifest now uses `name` and `templateEntry` for consistency with app manifests. Dev server config and routing updated. Asset paths now use `/@fs` for local development. Improved type safety and schema validation.
1412
1345
  - **ESM Modernization:** Refactored CLI to use deepmerge instead of lodash.mergewith, updated all imports to use explicit `.js` extensions, and re-exported all bin entrypoints for ESM compatibility. Updated package.json and tsconfig.json for ESM.
1413
1346
 
1414
1347
  **Patch Changes**
1415
-
1416
1348
  - **Dev Server Config:** Refactored config loading and merging, added `RecursivePartial` type, custom array merge strategy, and improved documentation. Arrays of route objects are now merged by `match` property to ensure uniqueness.
1417
1349
  - **Node Version Check:** Added Node.js version check and LTS recommendation to CLI entrypoint. Build config injects version info via environment variables.
1418
1350
 
1419
1351
  **Other**
1420
-
1421
1352
  - Improved maintainability, type safety, and developer experience throughout the CLI and dev server packages.
1422
1353
 
1423
1354
  **Note:**
1424
-
1425
1355
  - The removal of Vite config and schema utilities is a breaking change for users who previously relied on CLI-provided defaults. Please migrate to custom configuration as needed.
1426
1356
  - The new utility modules are available for advanced use cases and automation, but do not affect most standard CLI usage.
1427
1357
  - If you are authoring an `app.config.ts` file, you now need to import the config helper as follows:
@@ -1435,14 +1365,12 @@
1435
1365
 
1436
1366
  +- See the CLI's [README](https://github.com/equinor/fusion-framework/blob/main/packages/cli/README.md) for a full overview, installation, and command reference.
1437
1367
  +- The [docs folder](https://github.com/equinor/fusion-framework/tree/main/packages/cli/docs) contains:
1438
-
1439
1368
  - - [Developing Apps](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md): Step-by-step guide to app setup, config, CI/CD, and best practices.
1440
1369
  - - [Developing Portals](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/portal.md): Portal template development, manifest/schema, and deployment.
1441
1370
  - - [Authentication](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md): Local and CI/CD authentication, MSAL, and secure token storage.
1442
1371
  - - [Migration Guide: v10 to v11](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/migration-v10-to-v11.md): Breaking changes, deprecated commands, and upgrade steps.
1443
1372
  - - [libsecret setup](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/libsecret.md): Secure credential storage for Linux users.
1444
1373
  +- For real-world examples, see the [cookbooks/](https://github.com/equinor/fusion-framework/tree/main/cookbooks) directory.
1445
-
1446
1374
  * Key usage notes:
1447
1375
  - All config and manifest files must use helpers from `@equinor/fusion-framework-cli/app`.
1448
1376
  - Use `fusion-framework-cli auth login` for local authentication; use `FUSION_TOKEN` for CI/CD.
@@ -1469,7 +1397,6 @@
1469
1397
  ### Patch Changes
1470
1398
 
1471
1399
  - [#3268](https://github.com/equinor/fusion-framework/pull/3268) [`7ef5afc`](https://github.com/equinor/fusion-framework/commit/7ef5afc96a8c2cebecedc85703be820d84e3885a) Thanks [@odinr](https://github.com/odinr)! - Fix: Improve type safety and error handling in `AppAssetExportPlugin` (app-assets plugin).
1472
-
1473
1400
  - Use `unknown as PluginContext` for type casting in `resolveId` and `emitAssetSync` calls.
1474
1401
  - Add null check and warning if asset emission fails.
1475
1402
  - Minor code style and safety improvements.
@@ -1516,18 +1443,15 @@
1516
1443
  ### Minor Changes
1517
1444
 
1518
1445
  - [#2930](https://github.com/equinor/fusion-framework/pull/2930) [`5da6b2d`](https://github.com/equinor/fusion-framework/commit/5da6b2d4cb7fb93ff3784753a0052d3362ab828d) Thanks [@odinr](https://github.com/odinr)! - **@equinor/fusion-framework-react:**
1519
-
1520
1446
  - Enhanced `useAppContextNavigation` to support custom context path extraction and generation. This allows for more flexible navigation handling based on application-specific requirements.
1521
1447
 
1522
1448
  **@equinor/fusion-framework-module-context:**
1523
-
1524
1449
  - Added support for custom context path extraction and generation in `ContextConfigBuilder`, `ContextProvider`, and `ContextModuleConfigurator`.
1525
1450
  - Introduced `setContextPathExtractor` and `setContextPathGenerator` methods in `ContextConfigBuilder` to allow developers to define custom logic for extracting and generating context paths.
1526
1451
  - Updated `ContextProvider` to utilize `extractContextIdFromPath` and `generatePathFromContext` from the configuration, enabling dynamic path handling.
1527
1452
  - Enhanced `ContextModuleConfigurator` to include `extractContextIdFromPath` and `generatePathFromContext` in the module configuration.
1528
1453
 
1529
1454
  If you are using `@equinor/fusion-framework-module-context` and need custom logic for context path handling:
1530
-
1531
1455
  1. Use `setContextPathExtractor` to define how to extract context IDs from paths.
1532
1456
  2. Use `setContextPathGenerator` to define how to generate paths based on context items.
1533
1457
 
@@ -1554,11 +1478,11 @@
1554
1478
  // Custom logic to generate path from context
1555
1479
  const path = contextProvider.generatePathFromContext?.(
1556
1480
  context,
1557
- location.pathname
1481
+ location.pathname,
1558
1482
  );
1559
1483
  return path ?? fallbackPathGenerator(context, location.pathname);
1560
1484
  }),
1561
- filter(Boolean)
1485
+ filter(Boolean),
1562
1486
  )
1563
1487
  .subscribe((path) => history.push(path));
1564
1488
  ```
@@ -1582,7 +1506,6 @@
1582
1506
  - [#2885](https://github.com/equinor/fusion-framework/pull/2885) [`abb3560`](https://github.com/equinor/fusion-framework/commit/abb3560a22ad8830df19904272035458433f4237) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update he `Typescript` version `^5.7.3` to `^5.8.2`
1583
1507
 
1584
1508
  - [#2890](https://github.com/equinor/fusion-framework/pull/2890) [`1ad39f5`](https://github.com/equinor/fusion-framework/commit/1ad39f509a33627f2ad877a4125386a80ab8f510) Thanks [@odinr](https://github.com/odinr)! - refactor: adhere to self-closing tags for components
1585
-
1586
1509
  - Updated `SelectorPage.tsx` to use self-closing tags for `PersonSelect` components.
1587
1510
  - Updated `Header.Actions.tsx` to use self-closing tags for `fwc-person-avatar` component.
1588
1511
  - Updated `FeatureSheetContent.tsx` to use self-closing tags for `Icon` and `Divider` components.
@@ -1692,12 +1615,10 @@
1692
1615
  - [#2661](https://github.com/equinor/fusion-framework/pull/2661) [`f60748b`](https://github.com/equinor/fusion-framework/commit/f60748b4f3980f00fa3aed131fef97513f1424c6) Thanks [@eikeland](https://github.com/eikeland)! - Added `noOpen` option to the development server configuration.
1693
1616
 
1694
1617
  **Modified files:**
1695
-
1696
1618
  - `packages/cli/src/bin/create-dev-serve.ts`
1697
1619
  - `packages/cli/src/bin/main.app.ts`
1698
1620
 
1699
1621
  **Changes:**
1700
-
1701
1622
  - Added `noOpen` boolean option to `createDevServer` function.
1702
1623
  - Updated the server configuration to conditionally open the app in the default browser based on the `noOpen` option.
1703
1624
  - Added `-n, --noOpen` option to the CLI command for starting the development server.
@@ -1743,7 +1664,6 @@
1743
1664
  ### Patch Changes
1744
1665
 
1745
1666
  - [#2612](https://github.com/equinor/fusion-framework/pull/2612) [`1f9da67`](https://github.com/equinor/fusion-framework/commit/1f9da67df85f466763788039c9f0df67164eb391) Thanks [@eikeland](https://github.com/eikeland)! - ### Changes
1746
-
1747
1667
  - Stopped using node:path join in app-proxy-plugin since it caused issues on windows
1748
1668
 
1749
1669
  ## 10.2.4
@@ -1755,7 +1675,6 @@
1755
1675
  `AppLoader.tsx`
1756
1676
 
1757
1677
  ### Changes
1758
-
1759
1678
  - Added import for last operator from rxjs/operators.
1760
1679
  - Updated the initialize subscription to use the last operator.
1761
1680
 
@@ -1764,7 +1683,6 @@
1764
1683
  ### Patch Changes
1765
1684
 
1766
1685
  - [#2591](https://github.com/equinor/fusion-framework/pull/2591) [`445760c`](https://github.com/equinor/fusion-framework/commit/445760ce73e1d76303c83c367a394adfb5b7a479) Thanks [@eikeland](https://github.com/eikeland)! - ### Updated Dependencies:
1767
-
1768
1686
  - Updated @equinor/fusion-wc-person to ^3.0.5 in package.json.
1769
1687
 
1770
1688
  ## 10.2.2
@@ -1784,14 +1702,11 @@
1784
1702
  ### Minor Changes
1785
1703
 
1786
1704
  - [#2410](https://github.com/equinor/fusion-framework/pull/2410) [`9d1cb90`](https://github.com/equinor/fusion-framework/commit/9d1cb9003fa10e7ccaa95c20ef86f0a618034641) Thanks [@odinr](https://github.com/odinr)! - Updated Bookmark Integration in Dev Portal
1787
-
1788
1705
  - **Refactored `BookMarkSideSheet.tsx`:**
1789
-
1790
1706
  - Replaced `useHasBookmark` with `useCurrentAppModule<BookmarkModule>('bookmark')` for better module integration.
1791
1707
  - Updated button `disabled` state to use `bookmarkProvider?.hasBookmarkCreators`.
1792
1708
 
1793
1709
  - **Updated `Header.tsx`:**
1794
-
1795
1710
  - Added `useCurrentAppModule<BookmarkModule>('bookmark')` to manage bookmark module state.
1796
1711
  - Disabled bookmark button if `bookmarkProvider` is not available.
1797
1712
  - Passed `bookmarkProvider` to `BookmarkProvider` component.
@@ -1823,7 +1738,6 @@
1823
1738
  ### Patch Changes
1824
1739
 
1825
1740
  - [#2523](https://github.com/equinor/fusion-framework/pull/2523) [`e188193`](https://github.com/equinor/fusion-framework/commit/e188193a09802cfb74bd8aeaa8713b75b10a0638) Thanks [@eikeland](https://github.com/eikeland)! - ## changes:
1826
-
1827
1741
  - changing ci urls to new domain
1828
1742
 
1829
1743
  ## 10.0.2
@@ -1831,7 +1745,6 @@
1831
1745
  ### Patch Changes
1832
1746
 
1833
1747
  - [#2521](https://github.com/equinor/fusion-framework/pull/2521) [`65f03fa`](https://github.com/equinor/fusion-framework/commit/65f03fa01b71d387874dbe8ae21163c7c1c3d4b8) Thanks [@eikeland](https://github.com/eikeland)! - ### Adds CHANGELOG.md to app zip package
1834
-
1835
1748
  - Removed individual file additions for package.json, LICENSE.md, and README.md.
1836
1749
  - Added a loop to handle multiple files (package.json, LICENSE.md, README.md, CHANGELOG.md) in a more concise manner.
1837
1750
  - Updated the spinner messages accordingly.
@@ -1851,7 +1764,6 @@
1851
1764
  Introduces new parameters to the `build-config` command for publishing the app config to a build version.
1852
1765
 
1853
1766
  Commands:
1854
-
1855
1767
  - `build-pack` - Bundle the app for distribution
1856
1768
  - `-o, --output <output>` - Output directory for the packed app
1857
1769
  - `-a, --archive` - Archive name for the packed app
@@ -1912,7 +1824,6 @@
1912
1824
  ```
1913
1825
 
1914
1826
  **breaking changes:**
1915
-
1916
1827
  - renaming all commands accociated with build.
1917
1828
  - The app-config endpoints is now an object containing url and scopes, where name is the object key:
1918
1829
 
@@ -1933,12 +1844,10 @@
1933
1844
  ### Minor Changes
1934
1845
 
1935
1846
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Introduced `proxyRequestLogger` to log proxy requests in the CLI.
1936
-
1937
1847
  - Show the request URL and method in the console when a proxy request is made.
1938
1848
  - Show proxy response status code
1939
1849
 
1940
1850
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Create a plugin `externalPublicPlugin` to fix the issue with serving the `index.html` file from the specified external public directory. Vite mode `spa` will not serve the `index.html` file from the specified external public directory.
1941
-
1942
1851
  - Enhanced the middleware to intercept requests and serve the `index.html` file from the specified external public directory.
1943
1852
  - Transformed the HTML using Vite's `transformIndexHtml` method.
1944
1853
  - Applied appropriate content headers and additional configured headers before sending the response.
@@ -1955,7 +1864,6 @@
1955
1864
  ```
1956
1865
 
1957
1866
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Updated commands in CLI to reflect purpose of the command:
1958
-
1959
1867
  - renamed `config` to `build-config` to generate build config of an application.
1960
1868
  - renamed `pack`to `build-pack` to bundle an application.
1961
1869
  - added `build-manifest` command to generate build manifest of an application.
@@ -1971,16 +1879,13 @@
1971
1879
  It sets up proxy rules for API and bundle requests and serves the app configuration and manifest based on the app key and version.
1972
1880
 
1973
1881
  Key Features:
1974
-
1975
1882
  1. Proxy Configuration:
1976
-
1977
1883
  - Proxies API calls to the Fusion apps backend.
1978
1884
  - Proxies bundle requests to the Fusion apps backend.
1979
1885
  - Uses a base path `proxyPath` for proxying.
1980
1886
  - Captures and reuses authorization tokens for asset requests.
1981
1887
 
1982
1888
  2. **App Configuration and Manifest**:
1983
-
1984
1889
  - Serves the app configuration if the request matches the current app and version.
1985
1890
  - Serves the app manifest if the request matches the current app.
1986
1891
 
@@ -2057,7 +1962,6 @@
2057
1962
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Updating fusion-wc-person to fix issues when using selectedPerson = null in PersonSelect component.
2058
1963
 
2059
1964
  Updated the following dependencies
2060
-
2061
1965
  - `@equinor/fusion-wc-person` from `^3.0.1` to `^3.0.3` in `packages/cli/package.json` and `packages/react/components/people-resolver/package.json`.
2062
1966
 
2063
1967
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Generated base manifest from package will now include `StandardIncludeAssetExtensions` as `allowedExtensions`
@@ -2069,7 +1973,6 @@
2069
1973
  - [#2493](https://github.com/equinor/fusion-framework/pull/2493) [`4839295`](https://github.com/equinor/fusion-framework/commit/4839295263f07704bc43930351ce34dfb27a4c81) Thanks [@eikeland](https://github.com/eikeland)! - Updating fusion-wc-person to fix issues when using selectedPerson = null in PersonSelect component.
2070
1974
 
2071
1975
  Updated the following dependencies
2072
-
2073
1976
  - `@equinor/fusion-wc-person` from `^3.0.1` to `^3.0.3` in `packages/cli/package.json` and `packages/react/components/people-resolver/package.json`.
2074
1977
 
2075
1978
  - Updated dependencies [[`4839295`](https://github.com/equinor/fusion-framework/commit/4839295263f07704bc43930351ce34dfb27a4c81)]:
@@ -2089,7 +1992,6 @@
2089
1992
 
2090
1993
  > [!NOTE]
2091
1994
  > This is a quick fix until the new major version of the CLI is released.
2092
-
2093
1995
  - Updated the `baseUri` to use a more specific URL path for service discovery.
2094
1996
  - Changed from `new URL(import.meta.url).origin` to `String(new URL('/_discovery/environments/current', import.meta.url))`.
2095
1997
  - Changed parsing of service discovery response to match new API format.
@@ -2151,7 +2053,6 @@
2151
2053
  - [#2350](https://github.com/equinor/fusion-framework/pull/2350) [`960ca34`](https://github.com/equinor/fusion-framework/commit/960ca34cae26f386e28c16bac00e7932f4f9199a) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump @equinor/eds-core-react from 0.38.0 to 0.40.1
2152
2054
 
2153
2055
  - [#2360](https://github.com/equinor/fusion-framework/pull/2360) [`1c7ac1b`](https://github.com/equinor/fusion-framework/commit/1c7ac1b42213f33a668e79d750e0b12b227a7052) Thanks [@eikeland](https://github.com/eikeland)! - Enhanced ContextSelector component in the CLI package:
2154
-
2155
2056
  - Implemented responsive context clearing mechanism
2156
2057
  - Improved handling of context selection and clearing events
2157
2058
  - Optimized component rendering with useMemo and useCallback hooks
@@ -2195,7 +2096,6 @@
2195
2096
  - [#2320](https://github.com/equinor/fusion-framework/pull/2320) [`1dd85f3`](https://github.com/equinor/fusion-framework/commit/1dd85f3a408a73df556d1812a5f280945cc100ee) Thanks [@odinr](https://github.com/odinr)! - Removed the `removeComments` option from the `tsconfig.base.json` file.
2196
2097
 
2197
2098
  Removing the `removeComments` option allows TypeScript to preserve comments in the compiled JavaScript output. This can be beneficial for several reasons:
2198
-
2199
2099
  1. Improved debugging: Preserved comments can help developers understand the code better during debugging sessions.
2200
2100
  2. Documentation: JSDoc comments and other important code documentation will be retained in the compiled output.
2201
2101
  3. Source map accuracy: Keeping comments can lead to more accurate source maps, which is crucial for debugging and error tracking.
@@ -2314,7 +2214,6 @@
2314
2214
  ### Patch Changes
2315
2215
 
2316
2216
  - [#2107](https://github.com/equinor/fusion-framework/pull/2107) [`491c2e0`](https://github.com/equinor/fusion-framework/commit/491c2e05a2383dc7aa310f11ba6f7325a69e7197) Thanks [@odinr](https://github.com/odinr)! - Fixed issue with missing process env `FUSION_LOG_LEVEL`
2317
-
2318
2217
  - added default resolve value when generating base vite configuration
2319
2218
  - moved default query log level resolve outside class
2320
2219
 
@@ -2482,7 +2381,6 @@
2482
2381
  ### Patch Changes
2483
2382
 
2484
2383
  - [#1878](https://github.com/equinor/fusion-framework/pull/1878) [`fe1a239`](https://github.com/equinor/fusion-framework/commit/fe1a239e9ce9fc0e39b4faf67ffda40d287d5bd2) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - - Add error icon for errors
2485
-
2486
2384
  - Add info icon for no result
2487
2385
 
2488
2386
  - [#1875](https://github.com/equinor/fusion-framework/pull/1875) [`e018c6e`](https://github.com/equinor/fusion-framework/commit/e018c6e5b5f8676b642ded1bb8b5b41bc65f674f) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - Show message when unhandled error occurs in context selector
@@ -2818,7 +2716,6 @@
2818
2716
  ### Patch Changes
2819
2717
 
2820
2718
  - [#1348](https://github.com/equinor/fusion-framework/pull/1348) [`0acc8827`](https://github.com/equinor/fusion-framework/commit/0acc8827e5e2df8b5b2aeac5e1a2cd29c4384e78) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump @equinor/eds-core-react from 0.32.4 to 0.33.0
2821
-
2822
2719
  - support for [styled-components@6](https://styled-components.com/releases#v6.0.0)
2823
2720
 
2824
2721
  ## 9.1.3
@@ -2916,7 +2813,6 @@
2916
2813
  > the CLI was thrown together as a proof of concept, but grown un-manageable, because of lack of structure
2917
2814
 
2918
2815
  **Main Features**
2919
-
2920
2816
  - Separate logic and utilities from program (app/cli commands)
2921
2817
  - allow user to provide config files `app.{config,manifest,vite}.{ts,js,json}`
2922
2818
  - the cli will try to resolve from `.ts` then `.js` then `.json`
@@ -2949,7 +2845,7 @@
2949
2845
  },
2950
2846
  },
2951
2847
  },
2952
- })
2848
+ }),
2953
2849
  );
2954
2850
  ```
2955
2851
 
@@ -3026,7 +2922,6 @@
3026
2922
 
3027
2923
  align CLI with EDS and use style components instead of emotion 🥲
3028
2924
  prevent conflict of react types dependent on both emotion and eds
3029
-
3030
2925
  - remove @emotion/\*
3031
2926
  - convert emotion to styled-components
3032
2927
  - fix styling of cli
@@ -3062,7 +2957,6 @@
3062
2957
  see [react changelog](https://github.com/facebook/react/releases) for details
3063
2958
 
3064
2959
  - [#1122](https://github.com/equinor/fusion-framework/pull/1122) [`1a055b21`](https://github.com/equinor/fusion-framework/commit/1a055b21e07f84bc5d35cc891586aa9aa0bdf661) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update styled-components to [^6.0.7](https://github.com/styled-components/styled-components/releases/tag/v6.0.7)
3065
-
3066
2960
  - upgraded dev deps of `@equinor/fusion-framework-react-components-bookmark` to react 18, see style-components [changelog](https://github.com/styled-components/styled-components/releases/tag/v6.0.0)
3067
2961
  - removed `@types/style-components` from `@equinor/fusion-framework-react-components-bookmark`
3068
2962
 
@@ -3140,7 +3034,6 @@
3140
3034
  both `"main": "src/index.ts"` and `"main": "/src/index.ts"` will resolve.
3141
3035
 
3142
3036
  - [#905](https://github.com/equinor/fusion-framework/pull/905) [`a7858a1c`](https://github.com/equinor/fusion-framework/commit/a7858a1c01542e2dc94370709f122b4b99c3219c) Thanks [@odinr](https://github.com/odinr)! - **🚧 Chore: dedupe packages**
3143
-
3144
3037
  - align all versions of typescript
3145
3038
  - update types to build
3146
3039
  - a couple of typecasts did not [satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#satisfies-support-in-jsdoc) and was recasted as `unknwon`, marked with `TODO`, should be fixed in future