@equinor/fusion-framework-dev-portal 1.2.5-next.0 → 1.2.5

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,10 +1,97 @@
1
1
  # @equinor/fusion-framework-dev-portal
2
2
 
3
- ## 1.2.5-next.0
3
+ ## 1.2.5
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - [`895a49a`](https://github.com/equinor/fusion-framework/commit/895a49aaa815a6cd317e60f40875b1763bd6bded) Thanks [@odinr](https://github.com/odinr)! - relase next of all packages
7
+ - [#3713](https://github.com/equinor/fusion-framework/pull/3713) [`eaa6871`](https://github.com/equinor/fusion-framework/commit/eaa6871edc07054138e88bc706a4137a3fcc261a) Thanks [@Noggling](https://github.com/Noggling)! - # Add app tag/version support for specific app builds
8
+
9
+ This changeset introduces comprehensive support for loading specific app versions using tags, enabling developers to test different app builds and manage version-specific deployments.
10
+
11
+ ## New Features
12
+
13
+ ### App Tag/Version Support
14
+
15
+ - **App Client**: Added `getAppBuild` method to fetch build manifests by app key and tag
16
+ - **App Module Provider**: Enhanced `getAppManifest` to accept optional tag parameter
17
+ - **App Loading**: Modified `setCurrentApp` to support `AppReference` objects with tag specification
18
+ - **URL Integration**: Added `getAppTagFromUrl` utility to extract app tags from URL parameters
19
+
20
+ ### Enhanced Type System
21
+
22
+ - Added `AppReference` type for specifying app key and optional tag
23
+ - Extended `AppBundleState` to include optional `tag` property
24
+ - Updated `AppBuildManifest` type definition for build-specific metadata
25
+
26
+ ### API Improvements
27
+
28
+ - **AppClient**: Updated interface to support tag-based manifest and build fetching
29
+ - **App Class**: Added `tag` getter property for accessing current app tag
30
+ - **Action System**: Enhanced `fetchManifest` action to handle tag parameters
31
+
32
+ ## Changes by Package
33
+
34
+ ### `@equinor/fusion-framework-module-app`
35
+
36
+ - **AppClient.ts**: Added `getAppBuild` method with tag support and updated `getAppManifest` signature
37
+ - **AppModuleProvider.ts**: Enhanced `setCurrentApp` method to handle `AppReference` objects with tags
38
+ - **App.ts**: Added `tag` getter and improved error handling in initialization
39
+ - **types.ts**: Added `AppReference` type and extended `AppBundleState` with tag property
40
+ - **actions.ts**: Updated `fetchManifest` action to accept tag parameter
41
+ - **flows.ts**: Modified manifest fetching flow to handle tag-based requests
42
+
43
+ ### `@equinor/fusion-framework-dev-portal`
44
+
45
+ - **AppLoader.tsx**: Added `getAppTagFromUrl` utility function and integrated tag-based app loading
46
+
47
+ ## Usage Examples
48
+
49
+ ### Loading specific app version by tag
50
+
51
+ ```typescript
52
+ // Set current app with specific tag or version
53
+ app.setCurrentApp({ appKey: "my-app", tag: "1.2.3" });
54
+
55
+ app.setCurrentApp({ appKey: "my-app", tag: "preview" });
56
+
57
+ // Extract tag from URL and load app
58
+ const tag = getAppTagFromUrl();
59
+ if (tag) {
60
+ app.setCurrentApp({ appKey: "my-app", tag });
61
+ }
62
+ ```
63
+
64
+ ### Fetching app builds
65
+
66
+ ```typescript
67
+ // Get build manifest for specific tag
68
+ const buildManifest = await appClient.getAppBuild({
69
+ appKey: "my-app",
70
+ tag: "latest",
71
+ });
72
+ ```
73
+
74
+ ## Migration Guide
75
+
76
+ ### For App Consumers
77
+
78
+ - No breaking changes - existing code continues to work
79
+ - Optionally use new tag-based loading for version-specific deployments
80
+
81
+ ### For App Developers
82
+
83
+ - Consider adding `&tag` URL parameter support for testing different versions
84
+ - Use new `AppReference` type when programmatically setting current apps with tags
85
+
86
+ ## Technical Details
87
+
88
+ - **Backward Compatibility**: All changes are backward compatible
89
+ - **Caching**: Tag-based manifests and builds are cached separately
90
+ - **Error Handling**: Enhanced error handling for build and manifest loading failures
91
+ - **Type Safety**: Full TypeScript support for all new features
92
+
93
+ closes: AB#65777
94
+ related to: AB#65452
8
95
 
9
96
  ## 1.2.4
10
97