Changelog
All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
A list of unreleased changes can be found here.
Bug Fixes
- serve: Respect
--config
option with --dependency-definition
e043cd7
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Bug Fixes
- Invocation of local CLI on Windows
3bd6e83
Dependency Updates
Dependency Updates
v4.0.9 - 2024-10-15
v4.0.8 - 2024-09-12
v4.0.7 - 2024-09-11
Dependency Updates
v4.0.6 - 2024-08-27
Dependency Updates
v4.0.5 - 2024-08-20
Bug Fixes
- Print error cause stack trace
323845c
Dependency Updates
v4.0.4 - 2024-08-09
Dependency Updates
v4.0.3 - 2024-08-01
Dependency Updates
v4.0.2 - 2024-07-31
Bug Fixes
- Node.js ExperimentalWarning shown on console
011b34e
v4.0.1 - 2024-07-31
Dependency Updates
v4.0.0 - 2024-07-24
Breaking Changes
- Drop node v21 support (#720)
891306f
- Replace console.log with process.stderr (#686)
48d1975
- Rename ui5HomeDir to ui5DataDir in APIs (#687)
772ac29
- Require Node.js 20.11.x/>=21.2.0 and npm >=10
59314fa
Dependency Updates
BREAKING CHANGE
System messages will now be written to stderr instead of stdout.
JIRA: CPOUI5FOUNDATION-802
Related to: https://github.com/SAP/ui5-tooling/issues/701
Sibling of: https://github.com/SAP/ui5-server/pull/643,
https://github.com/SAP/ui5-tooling/pull/930
Support for older Node.js and npm releases has been dropped.
Only Node.js 20.11.x and >=21.2.0 as well as npm v10 or higher are supported.
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
v3.9.2 - 2024-03-27
Dependency Updates
v3.9.1 - 2024-02-13
v3.9.0 - 2024-01-18
Dependency Updates
v3.8.0 - 2023-12-12
Dependency Updates
Features
- Add option to redefine output directory structure (#665)
388dc79
v3.7.3 - 2023-12-01
v3.7.2 - 2023-11-21
Bug Fixes
Dependency Updates
v3.7.1 - 2023-10-20
Dependency Updates
v3.7.0 - 2023-10-11
Dependency Updates
v3.6.1 - 2023-10-02
Dependency Updates
v3.6.0 - 2023-09-06
Bug Fixes
- Update help description for "use" and "--framework-version"
b042542
- Ensure usage of provided UI5 data dir
d7aaf35
Dependency Updates
v3.5.0 - 2023-08-22
Dependency Updates
v3.4.1 - 2023-10-24
Bug Fixes
- ui5 config: Allow usage of all Configuration options (#645)
78e032e
Dependency Updates
v3.4.0 - 2023-08-09
Dependency Updates
v3.3.4 - 2023-07-26
Dependency Updates
v3.3.3 - 2023-07-19
Dependency Updates
v3.3.2 - 2023-07-13
Dependency Updates
v3.3.1 - 2023-07-03
Dependency Updates
v3.3.0 - 2023-06-21
Dependency Updates
v3.2.0 - 2023-06-06
Dependency Updates
Features
- SNAPSHOT Consumption: Add cache-mode parameter (#633)
61d0865
- ui5 tree: Add 'level' and 'flat' parameters (#635)
284d9ea
v3.1.3 - 2023-05-23
Dependency Updates
v3.1.2 - 2023-05-05
Dependency Updates
v3.1.1 - 2023-04-27
Dependency Updates
v3.1.0 - 2023-04-26
Dependency Updates
Features
v3.0.7 - 2023-04-12
Bug Fixes
- Exit with code 1 when using unsupported Node.js version
b232f83
- init: Use specVersion 3.0
45d0422
Dependency Updates
v3.0.6 - 2023-03-31
Dependency Updates
v3.0.5 - 2023-03-16
Dependency Updates
v3.0.4 - 2023-03-10
Dependency Updates
v3.0.3 - 2023-03-01
Dependency Updates
v3.0.2 - 2023-02-17
Dependency Updates
v3.0.1 - 2023-02-16
Dependency Updates
v3.0.0 - 2023-02-09
Overview
UI5 Tooling v3 provides general support for ES2022 ECMAScript language features. See ECMAScript Support for details.
Breaking Changes
@ui5/cli
:
@ui5/project
:
- Implement Project Graph, build execution
161f462
@ui5/builder
:
- generateJsDoc: Remove internal 'buildContext' parameter
4ec80c8
- Removal of manifestBundler and generateManifestBundle (#838)
07a5be2
- JSDoc: Fail build when jsdoc command failed (#845)
c2916b4
- Remove build execution (#740)
af2e956
- Enable modern preload bundles without dependencies (#739)
97cfa6c
- generateResourcesJson: Make 'dependencies' parameter mandatory
268dd16
- moduleBundler: Always default to
optimize: true
(#685) de5837c
@ui5/server
:
@ui5/fs
:
- Throw an error on write of a resource when path does not starts with virBasePath of the respective adapter (#453)
d76575f
- Clone resources when writing in and reading from the Memory (#448)
3454bc1
- AbstractAdapter: Virtual base path must end with slash
6d1f411
- resourceFactory: Remove #createCollectionsForTree
a4d15f6
@ui5/logger
:
- Deprecate advanced APIs in preparation of refactoring
3aea5e7
Features
@ui5/cli
:
- Add build flag "--experimental-css-variables" (#501)
0b099db
@ui5/project
:
- npm/Installer: Do not wrap promise provided by rimraf v4 (#550)
2d1ccda
- specVersion 3.0 (#522)
c5070e5
- Introduce SpecificationVersion class (#431)
e57842b
- TaskRunner: Provide taskName and logger instance to custom tasks
36cd2d8
- TaskUtil: Add resourceFactory API to v3 interface
2e863cf
- TaskUtil: Add getProject/getDependencies API to interface
51f2949
@ui5/builder
:
- Support ES2022 language features (#848)
f9b8457
- jsdoc: Support destructuring of enums for defaultValue (#775)
523f365
- builder: Improve support for ES6+ syntax (#774)
90385fe
- jsdoc: Improve support for ES6+ syntax (#785)
187a6a3
- generateThemeDesignerResources task: Create css_variables.less (#730)
34e69be
- builder: Add cssVariables option (#728)
30d58e1
- Generate source maps for bundles (#695)
8a20c42
- replaceVersion/Copyright: Also process test-resources (#693)
a0d4bc2
- Support ES2022 language features
e749b6a
- Add minify task and processor (#666)
a3af604
@ui5/server
:
- MiddlewareUtil: Add getProject/getDependencies/resourceFactory API to interface (#547)
ab28f78
@ui5/fs
:
- Add Link-reader and WriterCollection
a0e5cf3
- Introduce Readers "Filter" and "Transformer" (#331)
f46e6d1
@ui5/logger
:
Bug Fixes
@ui5/project
:
- ProjectBuilder: Fix verbose logging for already built projects
f04ffd2
- ProjectBuilder: Skip build for projects that do not require to be built
ac5f1f8
- Specification: Fix migration for legacy projects that are not applications or libraries
d89d804
- Fix build manifest creation
b1459eb
@ui5/builder
:
- Avoid redundant bundle creation (#741)
13c8405
- JSModuleAnalyzer: Fix detection of bundle name (#705)
aaeafd4
- generateResourcesJson: Add raw-module info for debug bundles (#736)
3b918e8
- LibraryBuilder: Align task order of "generateComponentPreload"
aea061d
- LocatorResourcePool: Wait for resources in prepare step (#719)
1b7f93f
- XMLTemplateAnalyzer: Analyze core:require of FragmentDefinition
af075ed
- Bundler: Ensure reproducibility for bundles with multiple parts (#689)
6f4588b
- generateResourcesJson: Don't list resources omitted from build result
9608c51
- generateResourcesJson: Analyze debug bundles (#669)
f27513a
- Bundler: Sort raw modules by default
0e11b69
@ui5/fs
:
- FileSystem Adapter: Use fs.copy / Skip writing when resource is unchanged (#370)
9ac6a39
- Allow resource migration (#407)
1722d71
Details
Breaking Changes
Support for older Node.js and npm releases has been dropped for all UI5 Tooling modules.
Only Node.js v16.18.0 and npm v8 or higher are supported.
All packages have been transformed to ES Modules. Therefore modules are no longer provides a CommonJS exports.
If your project uses CommonJS, it needs to be converted to ES Modules or use a dynamic import for consuming UI5 Tooling modules.
For more information see also:
@ui5/cli
- Removed CLI option
--translator
. Use new option --dependency-definition
to provide a file with
static dependency information
- Removed
ui5 build dev
command
- Refactored
ui5 tree
: Removed --full
, --json
and --dedupe
options
@ui5/project
- normalizer and projectTree APIs have been removed. Use generateProjectGraph instead
- Going forward only specification versions 2.0 and higher are supported
- In case a legacy specification version is detected, an automatic, transparent migration is attempted.
- Build:
- The "dev" build mode has been removed
- The task "generateVersionInfo" is no longer executed for application projects by default. You may enable it again using the includedTasks parameter
@ui5/builder
The jsdocGenerator
processor and the corresponding generateJsdoc
task will now throw an error when JSDoc reports an error (exit code != 0). This will also fail the build when running ui5 build jsdoc
.
The manifestBundler processor and generateManifestBundle task has been removed because it is no longer required for the HTML5 repository in Cloud Foundry.
- builder.js has been removed. Use ui5-project builder instead
- Tasks now rely on Project instances being available on Resources (see https://github.com/SAP/ui5-fs/pull/381)
- TaskRepository#addTask has been removed. Custom tasks need to be added to the project graph instead
- TaskUtil#get/set/clearTag now requires a Project instance to be provided. Path strings are no longer sufficient and will cause an exception to be thrown
For library projects, the task "generateComponentPreload" is now executed after tasks "generateLibraryManifest" and "generateManifestBundle" instead of before them.
The following tasks have been removed:
The following processors have been removed:
- debugFileCreator
- resourceCopier
- uglifier
As a replacement, the new 'minify' task and 'minifier' processor can be used.
Note: The minify task is executed earlier, before the bundling process takes place. Existing 'beforeTask' and 'afterTask' configuration of custom tasks might need to be adapted to cater for this change.
@ui5/server
This removes the "/proxy" endpoint and the corresponding "connectUi5Proxy" middleware from the standard ui5-server. Internally, this middleware made use of the connect-openui5 proxy implementation (https://github.com/SAP/connect-openui5#proxy).
More sophisticated proxy solutions for ui5-server are already available in the form of custom middleware extensions from the UI5-community.
The UI5 Team might provide a dedicated custom middleware extension, with similar functionality, in the future.
- Server now requires a Project Graph instance instead.
- Standard middleware now rely on Project instances being available on Resources (see https://github.com/SAP/ui5-fs/pull/381)
- MiddlewareRepository#addMiddleware has been removed. Custom middleware need to be added to the project graph instead
@ui5/fs
An error is thrown when a resource shall be written to an adapter where the path of the resource does not starts with the virtual base path defined in the adapter.
Resources stored in the adapters can not be modified by reference anymore. All modifications need to be persisted by using the #write method in order to be reflected in the adapter.1d908bbc7ff3ecc99d99c
@ui5/logger
The @ui5/logger got refactored and as a result its API went public. Remove the usage of npmlog and refactor @ui5/logger modules to emit log events which are then caught in dedicated handlers. This is somewhat inspired by npm's proc-log module.
This breaking change removes capabilities that are likely to change and should not be part of a public API.
This will ensure that later changes to the module can be done in a compatible manner.
Relevant changes:
- Restrict log-methods to two argument only. The use of placeholders like '%s' is no longer supported.
A warning will be logged if more than two argument is supplied. Placeholders will be replaced with a deprecation message. We suggest the use of template literals.
- Deprecate #getGroupLogger method. Calling it throws an error.
It will be removed in one of the next patch releases
- Deprecate #setShowProgress method. Calling it throws an error.
It will be removed in one of the next patch releases
- Remove GroupLogger and TaskLogger classes. Similar functionality might be re-added in a later release.
Dependency Updates
Dependency Updates
Bug Fixes
- SyntaxError: Unexpected token '.' in Node.js v12
bab2057
Dependency Updates
Dependency Updates
Dependency Updates
Bug Fixes
- Upgrade update-notifier to solve security vulnerabilities (#533)
5b7cfcf
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Bug Fixes
Dependency Updates
Dependency Updates
Dependency Updates
Features
- Support to only build certain dependencies (#442)
5f941f1
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Bug Fixes
ui5 use <framework>
should default to latest
cda4b2c
Dependency Updates
Dependency Updates
v2.9.3 - 2021-01-29
v2.9.2 - 2021-01-29
Dependency Updates
v2.9.1 - 2021-01-28
Dependency Updates
v2.9.0 - 2021-01-26
Dependency Updates
v2.8.1 - 2021-01-21
Dependency Updates
v2.8.0 - 2021-01-14
Bug Fixes
- ui5 use: Corrupt UI5 configuration
c207e1e
Dependency Updates
v2.7.1 - 2020-12-18
Dependency Updates
v2.7.0 - 2020-12-15
Dependency Updates
v2.6.6 - 2020-11-30
Dependency Updates
v2.6.5 - 2020-11-25
Bug Fixes
- Always log stack trace of unexpected errors
aba4e49
Dependency Updates
v2.6.4 - 2020-11-06
Dependency Updates
v2.6.3 - 2020-11-06
Dependency Updates
- Reduce install size by removing 'string.prototype.matchall' dependency
cb34e84
v2.6.2 - 2020-11-04
Dependency Updates
v2.6.1 - 2020-11-03
Dependency Updates
v2.6.0 - 2020-11-03
Dependency Updates
v2.5.0 - 2020-10-22
Dependency Updates
v2.4.5 - 2020-10-06
Dependency Updates
v2.4.4 - 2020-09-15
Dependency Updates
v2.4.3 - 2020-09-10
Dependency Updates
v2.4.2 - 2020-09-02
Bug Fixes
- Allow use of
--no-update-notifier
flag a34b58c
Dependency Updates
v2.4.1 - 2020-08-12
Dependency Updates
v2.4.0 - 2020-08-11
Dependency Updates
v2.3.2 - 2020-08-10
Dependency Updates
v2.3.1 - 2020-07-21
Dependency Updates
v2.3.0 - 2020-07-14
Dependency Updates
Features
v2.2.6 - 2020-05-29
Bug Fixes
- ui5 use: Allow using versions according to Semantic Versioning
d7a9363
Dependency Updates
v2.2.5 - 2020-05-27
v2.2.4 - 2020-05-19
Dependency Updates
v2.2.3 - 2020-05-14
Dependency Updates
v2.2.2 - 2020-05-11
Dependency Updates
v2.2.1 - 2020-05-11
Dependency Updates
v2.2.0 - 2020-05-05
Dependency Updates
v2.1.0 - 2020-04-30
Dependency Updates
Features
v2.0.3 - 2020-04-15
Bug Fixes
- ui5 use/add: Fix updating ui5.yaml file
225f4ab
Dependency Updates
v2.0.2 - 2020-04-02
Dependency Updates
v2.0.1 - 2020-04-01
Bug Fixes
- npm-shrinkwrap.json: Add additional dependencies
a6c88f7
v2.0.0 - 2020-04-01
Breaking Changes
Dependency Updates
Features
BREAKING CHANGE
Support for older Node.js releases has been dropped.
Only Node.js v10 or higher is supported.
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Dependency Updates
Features
Bug Fixes
Dependency Updates
Features
- CLI: Improve error reporting
160b8f7
Dependency Updates
Features
v1.9.0 - 2019-09-05
Features
- ui5 build: Add --clean-dest option
fe60d04
v1.8.1 - 2019-09-04
Dependency Updates
v1.8.0 - 2019-09-02
Dependency Updates
v1.7.0 - 2019-08-01
Dependency Updates
Features
- Log CLI version when using --verbose option
c143a85
v1.6.0 - 2019-07-11
Dependency Updates
v1.5.5 - 2019-07-01
Bug Fixes
- serve: Create SSL certificate in user homedir
48bdd06
Dependency Updates
v1.5.4 - 2019-06-25
Dependency Updates
v1.5.3 - 2019-06-24
Dependency Updates
v1.5.2 - 2019-06-18
Dependency Updates
v1.5.1 - 2019-06-14
Dependency Updates
v1.5.0 - 2019-06-03
Dependency Updates
v1.4.4 - 2019-05-15
Dependency Updates
v1.4.3 - 2019-05-13
Dependency Updates
v1.4.2 - 2019-05-08
Dependency Updates
v1.4.1 - 2019-05-07
Dependency Updates
v1.4.0 - 2019-04-26
Dependency Updates
Features
- Add 'sap-csp-policies' option to 'serve' command. (#188)
57d5567
v1.3.1 - 2019-04-24
Dependency Updates
v1.3.0 - 2019-04-12
Dependency Updates
v1.2.4 - 2019-04-03
Dependency Updates
v1.2.3 - 2019-03-28
Dependency Updates
v1.2.2 - 2019-03-21
Dependency Updates
Features
v1.2.1 - 2019-02-28
Dependency Updates
v1.2.0 - 2019-02-14
Dependency Updates
Features
- ui5 tree: Add dedupe option
91580a8
v1.1.0 - 2019-02-05
Features
- Publish npm-shrinkwrap.json
abc5d5e
v1.0.1 - 2019-02-01
Dependency Updates
v1.0.0 - 2019-01-10
Dependency Updates
Features
- ui5 init: Use specVersion: '1.0'
d0bfe7e
v0.2.9 - 2019-01-03
v0.2.8 - 2018-12-19
v0.2.7 - 2018-12-06
v0.2.6 - 2018-11-20
v0.2.5 - 2018-11-20
Features
v0.2.4 - 2018-11-17
Features
- Prefer local over global CLI version (#59)
3c2a0a8
v0.2.3 - 2018-10-29
v0.2.2 - 2018-10-10
v0.2.1 - 2018-07-17
v0.2.0 - 2018-07-12
Features
v0.1.0 - 2018-06-26
v0.0.2 - 2018-06-21
v0.0.1 - 2018-06-06