Skip to content

Latest commit

 

History

History
1454 lines (1087 loc) · 81.2 KB

CHANGELOG.md

File metadata and controls

1454 lines (1087 loc) · 81.2 KB

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.

v4.0.10 - 2024-11-10

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: SAP/ui5-tooling#701 Sibling of: SAP/ui5-server#643, SAP/ui5-tooling#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.

v3.11.1 - 2024-07-22

Dependency Updates

v3.11.0 - 2024-06-24

Dependency Updates

v3.10.3 - 2024-05-22

v3.10.2 - 2024-05-17

Dependency Updates

v3.10.1 - 2024-05-13

Dependency Updates

v3.10.0 - 2024-04-24

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 SAP/ui5-fs#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:

  • createDebugFiles
  • uglify

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 SAP/ui5-fs#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.

v2.14.17 - 2022-12-13

v2.14.16 - 2022-11-30

Dependency Updates

v2.14.15 - 2022-11-30

Dependency Updates

v2.14.14 - 2022-10-28

Bug Fixes

  • SyntaxError: Unexpected token '.' in Node.js v12 bab2057

Dependency Updates

v2.14.13 - 2022-10-20

Dependency Updates

v2.14.12 - 2022-10-12

Dependency Updates

v2.14.11 - 2022-09-05

Bug Fixes

  • Upgrade update-notifier to solve security vulnerabilities (#533) 5b7cfcf

v2.14.10 - 2022-07-25

v2.14.9 - 2022-05-04

Dependency Updates

v2.14.8 - 2022-04-14

v2.14.7 - 2022-03-25

v2.14.6 - 2022-02-21

Dependency Updates

v2.14.5 - 2022-02-17

v2.14.4 - 2022-01-24

v2.14.3 - 2022-01-19

v2.14.2 - 2021-12-14

Dependency Updates

v2.14.1 - 2021-11-17

Dependency Updates

v2.14.0 - 2021-10-19

Dependency Updates

v2.13.0 - 2021-10-05

Bug Fixes

Dependency Updates

v2.12.1 - 2021-08-25

Dependency Updates

v2.12.0 - 2021-07-23

Dependency Updates

Features

  • Support to only build certain dependencies (#442) 5f941f1

v2.11.3 - 2021-07-01

Dependency Updates

v2.11.2 - 2021-06-17

Dependency Updates

v2.11.1 - 2021-06-08

Dependency Updates

v2.11.0 - 2021-06-01

Dependency Updates

v2.10.4 - 2021-05-17

Dependency Updates

v2.10.3 - 2021-04-19

Dependency Updates

v2.10.2 - 2021-03-11

Dependency Updates

v2.10.1 - 2021-03-04

Bug Fixes

  • ui5 use <framework> should default to latest cda4b2c

Dependency Updates

v2.10.0 - 2021-02-09

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

Performance Improvements

  • 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

  • ui5 serve: Add serve-csp-reports option (#339) 063e7a5

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.

v1.14.0 - 2020-02-24

Dependency Updates

v1.13.1 - 2020-01-24

Dependency Updates

v1.13.0 - 2020-01-13

Dependency Updates

v1.12.2 - 2019-12-16

Dependency Updates

v1.12.1 - 2019-11-19

Dependency Updates

v1.12.0 - 2019-11-07

Dependency Updates

Features

v1.11.1 - 2019-10-30

Bug Fixes

v1.11.0 - 2019-10-24

Dependency Updates

Features

  • CLI: Improve error reporting 160b8f7

v1.10.0 - 2019-10-09

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

  • Build: Add 'jsdoc' command 3a2f4a1

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