# Change Log

All notable changes to this project are documented in this file.

This project adheres to [Semantic Versioning](http://semver.org/) and the changelog is formatted based on [Keep a Changelog](http://keepachangelog.com/).

## Prerequisites

[Node.js](https://nodejs.org/en/download/) version `20.14.0` or higher

## [1.96.102] - 2026-01-07

### Added
- Introduced `manifestPath` property in v2/v4 App.json schemas to represent JSON path reference pointing to path in manifest.json file.
- Enhanced page schema by adding `manifestPath` support for table properties and static nodes (FilterBar, Header).

### Fixed
OData V4:
- Macros. Change isViewNode: false for non UI related nodes for Table
- Macros. Generated schema for macros control does not contains properties/aggregation from extended macros control/class. Scenario with RichTextEditorWithMetadata
OData V2:
- OVP. Export issue - not possible to remove not allowed chart card properties

### Quality

Upgrades:

| Package | Change | 
|---|---|
| [@sap-ux/project-access](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/project-access)) | [`1.32.12` -> `1.33.0`] |
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`25.6.3` -> `25.7.3`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.40.0` -> `0.40.2`] |
| [esbuild](https://github.com/evanw/esbuild) | [`0.27.1` → `0.27.2`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.49.0` -> `8.51.0`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.49.0` -> `8.51.0`] |

## [1.96.101] - 2025-11-26

### Added
- Enhanced the `readApp` API method:
  - The method now returns an `applicationModel` where each page includes its own `TreeModel`
  - Added the `skipParsing` option (default: false) to allow skipping page parsing and model generation

### Fixed

OData V4:
- Avoid unnecessary deletion of `targets.{target}.contextPattern`

### Quality

Upgrades:

| Package | Change |
|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.39.18` -> `0.39.25`] |
| [@sap-ux/vocabularies-types](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/main/packages/vocabularies-types)) | [`0.13.0` -> `0.13.2`] |
| [@sap-ux/annotation-converter](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/HEAD/packages/annotation-converter)) | [`0.10.7` -> `0.10.9`] |
| [@sap-ux/project-access](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/project-access)) | [`1.32.8` -> `1.32.9`] |
| [@types/jquery](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jquery) | [`3.5.32` -> `3.5.33`] |
| [@types/mem-fs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mem-fs) | [`1.1.2` -> `1.1.5`] |
| [@types/json-schema](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/json-schema) | [-> `7.0.5`] |
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`25.6.2` -> `25.6.3`] |

## [1.96.100] - 2025-11-12

### Added
- Added the ability to delete building blocks on a custom page
- Added the ability to delete the "Page" building block
- Added the ability to create custom fields in form sections
- Added the new API method `readApp`: a simpler wrapper around `importProject` that only requires the app parameter (path or `ApplicationAccess` instance)

### Quality

Upgrades:

| Package | Change |
|---|---|
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`25.6.0` -> `25.6.2`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.39.15` -> `0.39.18`] |
| [esbuild](https://github.com/evanw/esbuild) | [`0.25.11` -> `0.27.0`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.46.0` -> `8.46.2`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.46.0` -> `8.46.2`] |
| [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | [`1.12.0` -> `1.13.2`] | 
| [tar](https://github.com/isaacs/node-tar) | [`7.5.1` -> `7.5.2`] | 

## [1.96.99] - 2025-10-29

### Quality

Upgrades:

| Package | Change |
|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.39.10` -> `0.39.15`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.46.0` -> `8.46.2`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.46.0` -> `8.46.2`] |
| [esbuild](https://github.com/evanw/esbuild) | [`0.25.10` -> `0.25.11`] |
| [@sap-ux/annotation-converter](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/HEAD/packages/annotation-converter)) | [`0.10.6` -> `0.10.7`] |
## [1.96.98] - 2025-10-15

### Added
- Reverted macro labels to display building block type and ID

### Fixed
- Fixed an issue where the `Quick Variant Selection` settings were not properly transferred to the `manifest.json` file
- Update macros schema node description and metadata for UI rendering
- Hide `exportSettings` aggregation from `sap.fe.macros.table.Column`

### Quality

Upgrades:

| Package | Change |
|---|---|
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`25.5.2` -> `25.6.0`] | 
| [patch-package](https://github.com/ds300/patch-package) | [`8.0.0` -> `8.0.1`] | 
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | [`5.9.2` -> `5.9.3`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.39.2` -> `0.39.10`] | 
| [@sap-ux/annotation-converter](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/HEAD/packages/annotation-converter)) | [`0.10.5` -> `0.10.6`] | 
| [semver](https://github.com/npm/node-semver) | [`7.7.2` -> `7.7.3`] |
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | [`29.4.4` -> `29.4.5`] | 
| [tar](https://github.com/isaacs/node-tar) | [`7.4.3` -> `7.5.1`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.45.0` -> `8.46.0`] | 
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.45.0` -> `8.46.0`] | 

## [1.96.97] - 2025-10-01

### Added

- Add icon support and improve description for main building blocks in schema

### Fixed

- Macros: Corrections related to macros sub namespaces.

### Quality

- Upgraded TS target to `ES2023`

Upgrades:

| Package | Change |
|---|---|
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | [`29.4.1` -> `29.4.4`] |
| [@sap-ux/edmx-parser](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/HEAD/packages/edmx-parser)) | [`0.9.5` -> `0.9.6`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.38.6` -> `0.39.2`] |
| [esbuild](https://github.com/evanw/esbuild) | [`0.25.9` -> `0.25.10`] | 
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.44.0` -> `8.45.0`] | 
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.44.0` -> `8.45.0`] | 
| [tar](https://github.com/isaacs/node-tar) | [`7.4.3` -> `7.5.1`] | 

## [1.96.96] - 2025-09-17

### Quality

Upgrades:

| Package | Change |
|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.38.2` -> `0.38.6`] | 
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.42.0` -> `8.44.0`] | 
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.42.0` -> `8.44.0`] | 
| [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | [`1.11.0` -> `1.12.0`] | 
| [@sap-ux/annotation-converter](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/HEAD/packages/annotation-converter)) | [`0.10.3` -> `0.10.5`] | 
| [@sap-ux/edmx-parser](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/HEAD/packages/edmx-parser)) | [`0.8.2` -> `0.9.5`] | 
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`25.4.2` -> `25.5.2`] |

## [1.96.95] - 2025-09-03

### Fixed

OVP page. Properties from different card types on the OVP page were not imported/exported, which prevented resetting them in the Page Editor.

### Quality

Upgrades:

| Package | Change |
|---|---|
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.40.0` -> `8.42.0`] | 
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.40.0` -> `8.42.0`] | 
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.38.0` -> `0.38.2`]) | 
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`25.4.0` -> `25.4.2`] | 

## [1.96.94] - 2025-08-20

### Quality

Upgrades:

| Package | Change | 
|---|---|
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.39.0` -> `8.40.0`] | 
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.39.0` -> `8.40.0`] | 
| [esbuild](https://github.com/evanw/esbuild) | [`0.25.8` -> `0.25.9`] |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | [`5.5.3` -> `5.5.4`] | 
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | [`25.3.0` -> `25.4.0`] | 
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.36.0` -> `0.38.0`] | 

## [1.96.93] - 2025-08-06

### Quality

Upgrades:

| Package | Change | 
|---|---|
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.37.0` -> `8.39.0`] | 
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.37.0` -> `8.39.0`] | 
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | [`5.8.3` -> `5.9.2`] | 
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | [`29.4.0` -> `29.4.1`] | 
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.35.5` -> `0.36.0`] | 
| [i18next](https://github.com/i18next/i18next) | [`23.16.8` -> `25.3.0`] | 
| [typescript-json-schema](https://github.com/YousefED/typescript-json-schema) | [`0.57.0` -> `0.65.1`] |

## [1.96.92] - 2025-07-23

### Quality

Upgrades:

| Package | Change | 
|---|---|
| [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | [`1.10.0` -> `1.11.0`] | 
| [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | [`9.1.0` -> `9.1.2`] | 
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | [`5.5.1` -> `5.5.3`] | 
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.35.1` -> `8.37.0`] | 
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.35.1` -> `8.37.0`] | 
| [esbuild](https://github.com/evanw/esbuild) | [`0.25.5` -> `0.25.8`] | 

## [1.96.91] - 2025-07-09

### Quality

Upgrades:

| Package | Change |
|---|---|
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.35.0` -> `8.35.1`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.35.0` -> `8.35.1`] |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | [`3.5.3` -> `3.6.2`] | 
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | [`5.5.0` -> `5.5.1`] | 

## [1.96.90] - 2025-06-25

### Added

### Fixed

### Quality

Upgrades:

| Package | Change |
|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | [`0.35.0` -> `0.35.5`]| 
| [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | [`1.9.0` -> `1.10.0`] |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | [`50.7.1` -> `50.8.0`] | 
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | [`5.4.1` -> `5.5.0`] | 
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | [`29.3.4` -> `29.4.0`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.34.0` -> `8.35.0`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.34.0` -> `8.35.0`] | 

## [1.96.89] - 2025-06-11

### Added

OData V4:
- Basic support for new SAP Ariba LR/OP templates

OData V4/V2:
- Schema generation - add link to documentation for "flexibleColumnLayout" property

### Fixed

OData V4/V2:
- Schema generation - update description for "flexibleColumnLayout" property

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [esbuild](https://github.com/evanw/esbuild) | devDependencies | patch | [`0.25.4` -> `0.25.5`] |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | devDependencies | minor | [`50.6.17` -> `50.7.1`] |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | devDependencies | patch | [`5.4.0` -> `5.4.1`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.32.1` -> `8.34.0`]|
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.32.1` -> `8.34.0`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | devDependencies | minor | [`0.33.28` -> `0.35.0`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | dependencies | minor | [`0.33.28` -> `0.35.0`] |
| [@sap-ux/vocabularies-types](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/main/packages/vocabularies-types)) | devDependencies | minor | [`0.12.0` -> `0.13.0`] |
| [@sap-ux/vocabularies-types](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/main/packages/vocabularies-types)) | dependencies | minor | [`0.12.0` -> `0.13.0`] |

## [1.96.88] - 2025-05-28

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | devDependencies | patch | [`50.6.14` -> `50.6.17`] |
| [semver](https://github.com/npm/node-semver) | devDependencies | patch | [`7.7.1` -> `7.7.2`] |
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | devDependencies | patch | [`29.3.2` -> `29.3.4`] |

## [1.96.87] - 2025-05-14

### Fixed

- Schema generation fails with error `Cannot read properties of undefined (reading 'fullyQualifiedName')`

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | devDependencies | patch | [`50.6.11` -> `50.6.14`] |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | devDependencies | minor | [`5.2.6` -> `5.4.0`] |
| [esbuild](https://github.com/evanw/esbuild) | devDependencies | patch | [`0.25.3` -> `0.25.4`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.31.0` -> `8.32.1`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.31.0` -> `8.32.1`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | devDependencies | patch | [`0.33.26` -> `0.33.28`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | dependencies | patch | [`0.33.26` -> `0.33.28`] |

## [1.96.86] - 2025-04-30

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | devDependencies | patch | [`0.33.22` -> `0.33.26`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | dependencies | patch | [`0.33.22` -> `0.33.26`] |
| [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | devDependencies | minor | [`1.8.4` -> `1.9.0`] |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | devDependencies | patch | [`50.6.9` -> `50.6.11`] |
| [esbuild](https://github.com/evanw/esbuild) | devDependencies | patch | [`0.25.2` -> `0.25.3`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.29.1` -> `8.31.0`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.29.1` -> `8.31.0`] |
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | devDependencies | patch | [`29.3.1` -> `29.3.2`] |

# [1.96.85] - 2025-04-17

### Added

### Changed

### Removed

### Deprecated

- `globalFilterEntityType` property, if defined, a message is set, otherwise, the property is marked as hidden.

### Fixed

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | devDependencies | patch | [`50.6.8` -> `50.6.9`] |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | devDependencies | patch | [`5.2.5` -> `5.2.6`]
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | patch | [`8.29.0` -> `8.29.1`]|
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | patch | [`8.29.0` -> `8.29.1`] |
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | devDependencies | patch | [`5.8.2` -> `5.8.3`]


# [1.96.84] - 2025-04-02

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | devDependencies | patch | [`0.33.16` -> `0.33.19`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | dependencies | patch | [`0.33.16` -> `0.33.19`] |
| [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | devDependencies | patch | [`1.8.2` -> `1.8.4`] |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | devDependencies | patch | [`5.2.3` -> `5.2.5`] |
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | devDependencies | minor | [`29.2.6` -> `29.3.1`] |
| [esbuild](https://github.com/evanw/esbuild) | devDependencies | patch | [`0.25.1` -> `0.25.2`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.26.1` -> `8.29.0`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.26.1` -> `8.29.0`] |


# [1.96.83] - 2025-03-19

### Added

### Changed

### Removed

### Deprecated

### Fixed

- Fixed an issue with annotations `path` property containing custom alias

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [@sap-ux/annotation-converter](https://github.com/SAP/open-ux-odata) ([source](https://github.com/SAP/open-ux-odata/tree/HEAD/packages/annotation-converter)) | devDependencies | minor | [`0.9.11` -> `0.10.3`]
| [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | devDependencies | patch | [`1.8.1` -> `1.8.2`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | devDependencies | patch | [`0.33.14` -> `0.33.16`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | dependencies | patch | [`0.33.14` -> `0.33.16`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | patch | [`8.26.0` -> `8.26.1`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | patch | [`8.26.0` -> `8.26.1`] |
| [esbuild](https://github.com/evanw/esbuild) | devDependencies | patch | [`0.25.0` -> `0.25.1`] |


# [1.96.82] - 2025-03-05

### Added

OData V2:
- Support of `cloudDevAdaptionStatus` internal setting

### Changed

### Removed

### Deprecated

### Fixed

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | dependencies | patch | [`0.33.4` -> `0.33.14`]
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | devDependencies | patch | [`0.33.4` -> `0.33.14`]
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.24.0` -> `8.26.0`]
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.24.0` -> `8.26.0`]
| [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | devDependencies | minor | [`1.7.9` -> `1.8.1`]
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | patch | [`3.5.1` -> `3.5.3`]
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | devDependencies | patch | [`29.2.5` -> `29.2.6`]
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | devDependencies | minor | [`5.7.3` -> `5.8.2`]
| [uuid](https://github.com/uuidjs/uuid) | devDependencies | minor | [`11.0.5` -> `11.1.0`]

# [1.96.81] - 2025-02-19

### Added

### Changed

### Removed

### Deprecated

### Fixed

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | devDependencies | patch | [`0.33.0` -> `0.33.4`] |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | dependencies | patch | [`0.33.0` -> `0.33.4`] |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.4.2` -> `3.5.1`] |
| [esbuild](https://github.com/evanw/esbuild) | devDependencies | minor | [`0.24.2` -> `0.25.0`] |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.23.0` -> `8.24.0`] |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.23.0` -> `8.24.0`] |


# [1.96.80] - 2025-02-05

### Added

### Changed

- OData V4: A chart presentation variant header facet of an Object page is now displayed analog to a micro chart header facet with no additional subnode `Chart`.

### Removed

### Deprecated

### Fixed

- OData V2: Fixed deletion issue for `quickVariantSelectionX` variants.

### Quality

Upgrades:

# [1.96.79] - 2025-01-22

### Added

### Changed

### Removed

### Deprecated

### Fixed

### Quality

Upgrades:

| Package | Type | Update | Change |
|---|---|---|---|
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | devDependencies | patch | [`0.31.23` -> `0.31.25`](https://renovatebot.com/diffs/npm/@sap-ux%2ffe-fpm-writer/0.31.23/0.31.25) |
| [@sap-ux/fe-fpm-writer](https://github.com/SAP/open-ux-tools) ([source](https://github.com/SAP/open-ux-tools/tree/HEAD/packages/fe-fpm-writer)) | dependencies | patch | [`0.31.23` -> `0.31.25`](https://renovatebot.com/diffs/npm/@sap-ux%2ffe-fpm-writer/0.31.23/0.31.25) |
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | devDependencies | patch | [`5.7.2` -> `5.7.3`](https://renovatebot.com/diffs/npm/typescript/5.7.2/5.7.3) |
| [uuid](https://github.com/uuidjs/uuid) | devDependencies | patch | [`11.0.4` -> `11.0.5`](https://renovatebot.com/diffs/npm/uuid/11.0.4/11.0.5) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.19.1` -> `8.20.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.19.1/8.20.0) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.19.1` -> `8.20.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.19.1/8.20.0) |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | devDependencies | patch | [`5.2.1` -> `5.2.3`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/5.2.1/5.2.3) |

# [1.96.78] - 2025-01-08

### Added

### Changed

### Removed

### Deprecated

### Fixed

- OData V4:  
  - Allow to delete last custom filter field.
  - `noData` aggregations on `sap.fe.macros.Table` will not be shown, since there is no UI support for it.
  - Avoid deletion of unknown properties in custom page setting.
  - Allow the modification of custom page properties using the API method `exportConfigEntityByPath`.
- General:  Deletion requests, via the api method deleteConfigEntityByPath, had not been recognized as such in all cases. The path was considered, but then updates happened, per underlying property.

### Quality

Upgrades:

- uuid	devDependencies	patch	11.0.3 -> 11.0.4
- @typescript-eslint/eslint-plugin (source)	devDependencies	minor	8.18.2 -> 8.19.1
- @typescript-eslint/parser (source)	devDependencies	minor	8.18.2 -> 8.19.1
- @sap-ux/fe-fpm-writer to 0.31.23
- prettier to 3.4.2
- esbuild to 0.24.2
- npm-run-all2 to 7.0.2

# [1.96.77] - 2024-12-04

### Fixed

- Description for config doc and excel sheet fixed.

### Quality

Upgrades:

- @sap-ux/annotation-converter source devDependencies patch `0.9.10` -> `0.9.11`
- @sap-ux/vocabularies-types source devDependencies minor `0.11.7` -> `0.12.0`
- @sap-ux/vocabularies-types source dependencies minor `0.11.7` -> `0.12.0`
- @sap-ux/vocabularies-types source resolutions minor `0.11.7` -> `0.12.0`
- typescript (source)	devDependencies	minor	`5.6.3` -> `5.7.2`
- i18next (source)	devDependencies	patch	`23.16.5` -> `23.16.8`
- @sap-ux/fe-fpm-writer (source)	devDependencies	patch	`0.31.18` -> `0.31.21`
- @sap-ux/fe-fpm-writer (source)	dependencies	patch	`0.31.18` -> `0.31.21`
- @typescript-eslint/eslint-plugin (source)	devDependencies	minor	`8.13.0` -> `8.15.0`
- @typescript-eslint/parser (source)	devDependencies	minor	`8.13.0` -> `8.15.0`
- uuid devDependencies patch `11.0.2` -> `11.0.3`
- axios source devDependencies `1.7.7` -> `1.7.9`

# [1.96.76] - 2024-11-13

### Fixed

- OData V2: flex changes had not been written for table columns of type DataField that use a navigationPath.

### Quality

Upgrades:

- npm-run-all2 to v7
- typescript-eslint to 8.13.0
- uuid to 11.0.2
- @sap-ux/fe-fpm-writer to 0.31.16
- @sap-ux/annotation-converter to 0.9.9
- @sap-ux/vocabularies-types to 0.11.6
- i18next to 23.16.5
- @sap-ux/edmx-parser to 0.8.2
- [Security] - upgrade cross-spawn to 7.0.5

# [1.96.75] - 2024-10-30

### Changed

- Descriptions of all properties have been reviewed.

### Fixed

- An exception occurred if a view fragment was completely empty. This is now caught, leading to an error message in the log that better describes the root cause.  

### Quality

Upgrades:

- typescript to 5.6.3
- typescript-eslint monorepo to 8.10.0
- i18next to 23.16.2
- npm-run-all2 to 6.2.6
- @types/jquery to 3.5.32
- i18next to 23.16.4
- @types/jest to 29.5.14
- @sap-ux/fe-fpm-writer to 0.31.10

# [1.96.74] - 2024-10-16

### Changed

- Definition of PageType adjusted to the needs of consuming applications at Fiori Toolsuite

### Quality

Upgrades:

- @sap-ux/vocabularies-types to 0.11.4
- "@sap-ux/annotation-converter": "0.9.6"
- i18next to 23.15.2
- esbuild to 0.24.0
- @sap-ux/fe-fpm-writer to 0.31.7
- @sapui5/ts-types-esm to latest-1.96
- @typescript-eslint/eslint-plugin to 8.8.1
- @typescript-eslint/parser to 8.8.1

# [1.96.73] - 2024-10-04

### Added

OData V4:

- added enum definition and values for `properties` of custom columns, list report and object page.
- Support of `cloudDevAdaptionStatus` internal setting.

### Fixed

- OData V2: Flex change is removed if the facet ID contains a single hyphen.
- General: exception "No schema available for type: FreestylePage" when calling `importProject` for an app that does not have any pages defined (yet).

### Quality

Upgrades:

- @sap-ux/fe-fpm-writer to 0.31.4
- eslint to 8.57.1
- npm-run-all2 to 6.2.3
- @types/jquery to 3.5.31
- @types/jest to 29.5.13
- jest-file-snapshot to 0.7.0
- ts-jest to 29.2.5
- i18next to 23.15.1
- jsdom to 25.0.1
- tar to 7.0.0
- ini to 5.0.0
- uuid to 10.0.0
- typescript to 5.6.2

# [1.96.72] - 2024-09-18

### Added

- Add `i18nClassification` property for macros schema properties(Support translation inputs for macros/building block properties).

### Fixed

- Table views: new error handling for undefined keys.
- Corrections for API functions exportConfigEntityByPath and deleteConfigEntityByPath:
  - change indicator was not set for manifest.json in v4.
  - entityPath was not forwarded at overview pages.
  - the check against entityPathArray did not consider intermediate anyOf definitions, and thus exited without executing the property change.
  - FPM custom pages had not been considered by function `exportConfigEntityByPathV4`.

### Quality

Upgrades:

- @sap-ux/fe-fpm-writer to 0.30.0
- @sap-ux/vocabularies-types to 0.11.3
- @sap-ux/annotation-converter to 0.9.5
- @sapui5/ts-types-esm to 1.96.34
- @sap-ux/edmx-parser to 0.8.1
  
# [1.96.71] - 2024-09-04

### Fixed

- Supply of oDataVersion and fioriElementsVersion in the app.json

### Quality

Upgrades:

- axios to 1.7.7
- @sap-ux/fe-fpm-writer to 0.28.3
- jsdom to 24.1.3
- new resolution: "@sap/ux-cds-compiler-facade": "1.14.2"

# [1.96.70] - 2024-08-21

### Added

### Changed

### Removed

### Deprecated

### Fixed

- Start of debug script for schema generation via launch.json.
- Error "TypeError: Cannot read properties of undefined (reading 'replace')" is thrown on export attempt when empty action is presented in annotations.
- app.json config of freestyle apps could not be generated in all cases.
- OData V4 and freestyle: If routing name and target name had been different for an entry in manifest.json, the export had falsified the routing information.

### Quality

Upgrades:

- micromatch to 4.0.8
- eslint-plugin-prettier to 5.2.1
- rimraf to 5.0.10
- i18next to 23.14.0
- esbuild to 0.23.1
- @sap-ux/fe-fpm-writer to 0.27.5
- @sap-ux/vocabularies-types to 0.11.1
- @sap-ux/annotation-converter to 0.9.2
- @sap-ux/edmx-parser to 0.7.1

## [1.96.69] - 2024-08-07

### Added

OData V4:

- Specification API - support 'prompts' api using class "PromptsAPI" from "@sap-ux/fe-fpm-writer"
- Adds required `sap.fe.*` libraries to manifest.json on page creation  

### Quality

Upgrades:

- "@sap-ux/fe-fpm-writer" to "0.26.4"
- "axios" to "1.7.4"
- "esbuild" to "0.23.0"
- "i18next" to "23.12.2"

## [1.96.68] - 2024-07-24

### Quality

Upgrades:

- @sap-ux/annotation-converter to 0.8.15
- @sap-ux/vocabularies-types to 0.10.14
- prettier to 3.3.3
- sap-ux/fe-fpm-writer to 0.25.0
- rimraf to 5.0.9
- semver to 7.6.3
- jsdom to 24.1.1

## [1.96.67] - 2024-07-11

### Changed

- The API function getApiVersion now also returns the module version of the given ux-specification module.

### Fixed

- An error message "UI.Lineitem annotation has not been defined" was incorrectly returned in cases where the app uses views with (Selection)PresentationVariants leading to valid Lineitem annotations with a qualifier.

### Quality

Upgrades:

- @sap-ux/fe-fpm-writer to v0.24.16
- npm-run-all2 to 6.2.2
- rimraf to 5.0.8

## [1.96.66] - 2024-06-26

### Fixed

- Property fitContainer is no longer provided for change in v2 LR and ALP apps.
- v4. Route pattern is not used during export which leads to different key generation after undo in page map

### Quality

Upgrades:

- esbuild to 0.21.5
- npm-run-all2 to 6.2.0
- prettier to 3.3.2
- ts-jest to 29.1.5
- resolution for ws 8.17.1
- @sap-ux/annotation-converter to 0.8.14
- @sap-ux/vocabularies-types to 0.10.13

## [1.96.65] - 2024-06-13

### Added

OData V4:

- Custom actions support within custom sections

### Fixed

OData V4:

- FilterBar macro with SelectionField annotation with qualifier is not resolved(annotationPath is missing)
- Exception in case of line item annotations having an ID starting with "LineItems"

### Quality

Upgrades:

- rimraf to 5.0.7
- ts-jest to 29.1.4
- @sap-ux/fe-fpm-writer to 0.24.15
- jsdom to 24.1.0
- axios to 1.7.2
- @sapui5/ts-types-esm to 1.96.33

## [1.96.64] - 2024-05-31

### Added

- OData V4: Related Apps button and its manifest settings

### Changed

OData V4:

- Updated custom sections storage from array to object in schema
- The showRelatedApps property is moved from the Object Page Header to the new Related Apps button.

### Fixed

- List Report V2: LineItem should be taken from PresentationVariant without qualifier when annotationPath points to a SelectionVariant

### Quality

Upgrades:

- @sapui5/ts-types-esm to 1.96.32
- @sap-ux/annotation-converter to 0.8.13
- @sap-ux/vocabularies-types to 0.10.12
- semver to 7.6.2
- i18next to 23.11.5
- ini to 4.1.3
- new resolution: micromatch ^4.0.6
- new resolution: braces ^3.0.3

## [1.96.63] - 2024-05-16

### Added

- The new API functions exportConfigEntityByPath and deleteConfigEntityByPath from 1.96.58 are now published in the external interface.

### Changed

- The logic for defining the keys of V2 sections in the app schema has been adapted, so that the facet ID is now representing the facet in the key, if defined, instead of the target annotation path.

### Removed

- Properties disableInlineCreateSort and selectionLimit were removed from the global table settings of OData V2, as they are not supported yet by the run-time.

### Fixed

- V4. Schema generation for object page. Section label is not resolved within target definition and id was presented in "description"
- V4. Schema generation for building block macros. AnnotationPath was not resolved for macros when absolute path was used in "metaPath" attribute

### Quality

Upgrades:

- @sap-ux/annotation-converter to 0.8.12
- @sap-ux/vocabularies-types to 0.10.11
- @sap-ux/fe-fpm-writer to 0.24.11
- @types/jquery to 3.5.30
- i18next to 23.11.4

## [1.96.62] - 2024-05-02

### Changed

- In a previous version, the tag `descriptionSrcUrl` (link to the UI5 documentation) was added in form of a JSDoc annotation. It became evident that this annotation was not transferred correctly in all cases to the JSON schema by the to-json-schema generator.
To overcome this problem, `descriptionSrcUrl` is now placed in form of reflect metadata at all sync classes, and added to the schema by an own post-processing routine `processMetadata` that evaluates the reflect metadata.

### Removed

- Property createMode was removed from the global table settings of OData V2, as it is not supported yet by the run-time.

### Fixed

OData V4:

- view properties like custom columns or table settings had not been exported, as the anyOf definition of additionalProperties had not been considered during the export.
- sync rule was missing for ViewToolBarAction.afterExecution
- partially an invalid annotationPath was added for views, comprising '@@'
- toolbar actions had partially not been considered during the import
- the export of table properties had overwritten the export from views
- the export now supports two different constellations for anyOf definitions in schema:
  - anyOf directly defined as additionalProperties (of MultiTableMode)
  - anyOf reachable via $ref, properties defined there.
- Default 'empty' `manifest.json` is returned after export of FPM Custom Page
- The generation of config files failed with exception if a custom header action was defined with an invalid type, like string.
- empty `sap.ui5/routing/config` object removed from `manifest.json` during export

OData V2:

- The logic that determines the LineItem and the Chart annotation to be used by ALP was not in sync with the logic implemented in Fiori Elements v2. The logic has been adapted accordingly.

### Quality

- Code comments added in types package that explain the interfaces and refer to their implementation classes

## [1.96.61] - 2024-04-17

### Fixed

- V4 Macros. Property 'contextPath' and 'metaPath' exported as XML element instead of attribute into xml file 

### Quality

- Update transitive dependencies
- cpy-cli replaced by copyfiles

Upgrades:

- @sap-ux/annotation-converter to 0.8.10
- @sap-ux/vocabularies-types to 0.10.9
- ejs to 3.1.10
- i18next to 23.11.2
- new resolution for tar 6.2.1

## [1.96.60] - 2024-04-04

### Changed

- OData V2:
  - Fragment templates for custom column extensions for AnalyticalTable, GridTable, TreeTable, ResponsiveTable
- Version api updated 

### Quality

- Update transitive dependencies

Upgrades:

- axios to 1.6.8
- esbuild to 0.20.2  
- semver to 7.6.0
- yarn to 1.22.22
- d3 to 7.9.0
- reflect-metadata to 0.2.2
- jest to 29.7.0
- ts-jest to 29.1.2

## [1.96.59] - 2024-03-20

### Added

- OData V4:
  - String type to bindable number type properties in macros schema
- Overview Pages: support three different ways of defining the colors of cards

### Quality

- Update transitive dependencies

Upgrades

- @sap-ux/vocabularies-types to 0.10.8
- @sap-ux/annotation-converter to 0.8.9
- @sap-ux/edmx-parser to 0.7.1
- @typescript-eslint/eslint-plugin to 7.1.1
- @typescript-eslint/parser to 7.1.1
- @types/jest to 29.5.12
- cpy-cli to 5.0.0
- eslint-plugin-prettier to 5.1.3
- eslint-config-prettier to 9.1.0
- i18next to 23.10.1
- jest to 29.5.0
- jsdom to 24.0.0
- patch-package to 8.0.0
- npm-run-all2 to 6.1.2
- prettier to 3.2.5
- ts-jest to 29.1.1
- ts-node to 10.9.2
- typescript to 5.3.2
- uuid to 9.0.1
- resolution of ini to 4.0.0
- resolution of parse-url to 9.0.0
- clean-up of other resolutions

## [1.96.58] - 2024-03-07

### Added

- New API functions exportConfigEntityByPath and deleteConfigEntityByPath have been added that allow a selective export or deletion of a single property or section from a config.json. The additional parameter entityPath must be applied. The new functions are released for List Report, Object Page and Analytical List Page of OData V2 and V4.
- In the API result a change indicator is added that shows if the manifest was changed. In case of the new functions exportConfigEntityByPath and deleteConfigEntityByPath, only updated fragment files are returned (V2 flexibility changes are still returned completely due to compatibility, deletion is indicated by newValue = null).

### Changed

- Increased `fe-fpm-writer` api version to include fix for controller extension namespace
- Actualization of the README file.

### Fixed

- An invalid app schema had been generated before, in case of table custom columns

### Quality

- Update transitive dependencies

Upgrades

- eslint to v8.57.0
- @types/semver: obsolete dependency deleted
- esbuild to v0.20.1

## [1.96.57] - 2024-02-21

### Added

- OData V2:
  - Support of Header facets on Object Page
- UX adjustments of inplace documentation:
  - Support for screen readers and arrow navigation

### Changed

- Increased `fe-fpm-writer` api version

### Quality

- Update transitive dependencies

Upgrades

- @sapui5/ts-types-esm to 1.96.28
- @sap-ux/fe-fpm-writer to v0.24.6
- @sap-ux/vocabularies-types to 0.10.5
- @sap-ux/annotation-converter to 0.8.6
- @types/semver to v7.5.7

## [1.96.56] - 2024-02-08

### Fixed

- Invalid object-like descriptions and keys had been generated into the app-specific schemas if DataFieldForIntentBasedNavigation was defined with a path reference
- An exception happened during app schema generation if a NavigationProperty pointed to an invalid target annotation
- OData V4:
  - Enum for macros table `variantManagement` property
  - Wrong resolution of contextPath in case of containment as target for a page, leading to an exception during the schema generation
  - Invalid '/' in app schema definition names replaced by '::'

### Quality

- Update transitive dependencies

Upgrades

- esbuild to 0.20.0
- axios to 1.6.7
- switch from npm-run-all 4.1.5 to npm-run-all2 5.0.2
- @sap-ux/fe-fpm-writer to 0.24.4
- @sap-ux/vocabularies-types to 0.10.4

## [1.96.55] - 2024-01-25

### Added

- OData V4:
  - View columns set as view nodes

### Fixed

- OData V4:
  - Schema is not generated for custom page when namespaces are not defined in view file 

### Quality

- Update transitive dependencies

Upgrades

- @sap-ux/annotation-converter to 0.8.2
- @sap-ux/vocabularies-types to 0.10.2
- @sap-ux/vocabularies-types to 0.10.2

## [1.96.54] - 2024-01-11

### Added

- UX adjustments of inplace documentation:
  - Support of Keyboard Navigation
- OData V2: Support of global table settings for object pages
- OData V4:
  - OP: Added support for `Edit` and `Delete` standard actions considering draft support and capabilities annotation
  - OP: Sequence of actions is now based on criticality annotation
  
### Changed

- Alignment of settings for sap.ovp:  
The global settings and card specific settings have been compared with the actual status of the documentation and the subschema as available at <https://www.npmjs.com/package/@ui5/manifest>. Missing settings have been added, obsolete settings have been eliminated.
The assignment of settings to the specific card types has been revised and adjusted.
- Increased `fe-fpm-writer` api version
- Increased api version
- OData V2:  ALP root properties order

### Fixed

- OData V4:  Empty visualization throws unhandled error during sync
- Prevent exception in case of illegal annotationPath references of fields or columns
- OData V2:  ALP not displaying chart and properties
- OVP:
  - In case of unknown properties, other card settings like listFlavor or listFlavor could get deleted.
  - Property "Category" was shown with an initial value as object, although being of type string.
  - Properties enableAddToInsights, imageSupported, showLineItemDetail, valueSelectionInfo might not have been exported correctly to the manifest.

### Quality

- Update transitive dependencies

Upgrades

- eslint to 8.56.0
- esbuild to 0.19.11
- reflect-metadata to 0.2.1
- axios to 1.6.5
- @sapui5/ts-types-esm to 1.96.27

## [1.96.53] - 2023-11-30

### Added

- OData V2: Added missing `annotationPath` property for table definitions in schema was added

### Changed

- OVP card settings:
  - Added missing properties
  - Removed irrelevant settings from custom card settings
  - Assignment of settings to card types has been generally aligned with the given capabilities of SAP Fiori elements

- If problems had been posted to the log with regards to annotations, they normally ended with the information `location: webapp/localService/metadata.xml`. This location information might be misleading for edmx projects, as annotation may reside in a different file. It was always wrong for CAP projects.
Thus the location information is removed for annotation problems

- If no line item annotation is present, no `annotationPath` property gets added to the schemas of OData V2 and V4

### Fixed

- The check of minUI5Version against the dist tags raised wrong warnings in case of minUI5Version using the pattern 'UI5-xxx'
- OData V4: Inconsistencies in the JSON schema for macros led to exceptions when generating the overall page schemas. Such exceptions are now caught and indicated in the error log

### Quality

- Update transitive dependencies

Upgrades:

- axios to 1.6.2
- yarn to 1.22.21
- esbuild to 0.19.7
- eslint to 8.54.0
- @sap-ux/fe-fpm-writer to 0.24.2
- @sap-ux/annotation-converter to 0.8.1
- @sap-ux/vocabularies-types to 0.10.1
- @types/mem-fs-editor to 7.0.7
- @types/semver to 7.5.6
- @types/jquery to 3.5.29

## [1.96.52] - 2023-11-16

### Fixed

- Fixed an exception "Cannot read properties of undefined (reading 'includes')" when generating the app schemas

- OData V4:
  - If multiple facets refer to target annotations without an ID but with identical labels, only one of the facets was shown in the page editor
  - An error message was added to the logger if the ID was missing for a reference facet. This was wrong, the ID is optional for reference facets. Instead, the error message is now added for missing IDs of collection facets
  - Building blocks:
    - The number of new lines that get created from the description of building block properties was decreased

### Quality

- Update transitive dependencies

Upgrades:

- eslint to 8.53.0
- axios to 1.6.0
- @sap-ux/fe-fpm-writer to 0.24.1
- @types/jquery to v3.5.27
- @types/semver to v7.5.5
- @types/d3 to v7.4.3
- @types/mem-fs-editor to v7.0.6
- @sapui5/ts-types-esm to 1.96.26

## [1.96.51] - 2023-11-02

### Added

- OData V4: 
  - Added additional log entries while executing API calls for schema generation, and error log entries in case of missing UI.LineItem annotation

### Changed

- UX adjustments of inplace documentation:
  - Harmonized the zoom behavior and removed the ability to scroll via the mouse wheel

### Removed

- OData V2: 
  - Removed the `visibility` property for *addresses* on subsections of the object page, as flexibility changes are not supported on this level

### Fixed

- OData V2: 
  - Fixed an issue with the selector ID of flexibility changes generated for contacts on the subsection level of object pages
- OData V4: 
  - Schema generation: Mark custom anchors in "oneOf" enums and additional anchor enum enhancements (missing descriptions for some actions and sections)

### Quality

- Update transitive dependencies

Upgrades:

- @sap-ux/fe-fpm-writer to 0.24.0
- @types/semver to 7.5.4
- @types/d3 to 7.4.2
- @types/mem-fs-editor to 7.0.5
- @types/jquery to 3.5.25
- @sap-ux/annotation-converter to 0.8.0
- @sap-ux/vocabularies-types to 0.10.0
- @sap-ux/edmx-parser to 0.7.0
- esbuild to 0.19.5
- @ui5/manifest to 1.61.0
- eslint to 8.52.0

## [1.96.50] - 2023-10-19

### Added

- OData V4:
  - `displayName` property for `relatedFacet` and `relativePosition` custom section properties
  - Missing `key` property for macros action group

### Changed

- Own definitions for the manifest or app descriptor have been replaced as far as possible by the given definitions from npm module @ui5/manifest

### Removed

### Deprecated

### Fixed

- Under certain circumstances, the non-existence of the UI.LineItem annotation led to the exception "find is not a function" when executing the importProject API
- OData V4:
  - Extra entry `sap.ui5/extends/extensions/sap.ui.controllerExtensions` is created in manifest.json during sync

### Quality

- Update transitive dependencies

Upgrades:

- rimraf to 5.0.5
- eslint to 8.51.0
- @types/jquery to 3.5.22
- esbuild to 0.19.4

## [1.96.49] - 2023-10-05

### Added

- OData V2:
  - Added support for standard header actions `Share` and `Up and Down Navigation`, and footer action `Save and Edit`
- OData V4:
  - Support for custom header sections
  - Support for custom filter fields

### Changed

### Removed

### Deprecated

### Fixed

- OData V2:
  - A missing entitySet definition for a page in manifest was not indicated correctly in the returned log. Even worse, the export deleted the related page in such a scenario. This is fixed now, the schema generation as well as the import are more fault-tolerant now with regard to this situation
- OData V4:
  - Added missing descriptions to custom section properties `relatedFacet`, `relativePosition`, `id`, `fragmentName`
  - Custom section properties `className` and `type` are marked as hidden

### Quality

- Update transitive dependencies

Upgrades:

- @sap-ux/fe-fpm-writer to 0.23.8
- eslint to 8.50.0
- @types/d3 to 7.4.1
- @types/semver to 7.5.3
- @types/jquery to 3.5.20
- @types/mem-fs-editor to 7.0.4

## [1.96.48] - 2023-09-21

### Added

- Check "UI.LineItem is not defined" added to OData V2
- More error messages added to the logger in case of inconsistencies with regards to the page definitions in manifest
- Added new tag `descriptionSrcURL` to certain properties

### Changed

- Error handling enhanced to detect missing component names of pages. An error message is added to the log passed in the API call
- References now use platform-independent SAPUI5 CDN URL `ui5.sap.com`

### Fixed

- The error message "UI.LineItem is not defined" wrongly appeared in the output log when views and/or (Selection)PresentationVariants have been used
- In case of a missing entitySet definition in the manifest for a List Report, subsequent Object Pages got deleted during the export

### Quality

- Update transitive dependencies

Upgrades:

- eslint to v8.49.0
- @sap-ux/annotation-converter to 0.7.4
- @sap-ux/vocabularies-types to 0.9.3
- @sap-ux/vocabularies-types to 0.9.3
- @sapui5/ts-types-esm to 1.96.25
- @types/semver to v7.5.2
- esbuild to 0.19.3
- @types/jquery to 3.5.19
- @sap-ux/fe-fpm-writer to 0.23.5

## [1.96.47] - 2023-09-07

### Added

- OData V2:
  - Added support for the binding pattern to `showHeaderContent` property

### Fixed

- OData V4:
  - Wrong annotation path is generated for connected fields with a different entity type than the section
- OData V2:
  - Schema was not completely filled for custom columns, enum values for fragmentName and cellsFragmentName had been partially missing

### Quality

- Update transitive dependencies

Upgrades:

- @types/jquery to 3.5.18
- eslint to 8.48.0
- esbuild to 0.19.2
- @sap-ux/fe-fpm-writer to 0.23.2
- jquery to 3.7.1
- @types/semver to 7.5.1
- @sap-ux/vocabularies-types to 0.9.2
- @sap-ux/annotation-converter to 0.7.3
- typescript-json-schema to v0.57.0

## [1.96.46] - 2023-08-23

### Quality

- Update transitive dependencies

Upgrades:

- eslint to 8.47.0
- eslint-config-prettier to 8.10.0
- @sapui5/ts-types-esm to 1.96.24
- @sap-ux/fe-fpm-writer to 0.23.0
- @sap-ux/annotation-converter to 0.7.2

## [1.96.45] - 2023-08-09

### Added

- During the API call, an additional check verifies the given specification version against the minUI5Version from the passed manifest; in case of a mismatch a warning is added to the logger
- OData V4
  - Support connected fields on the Object Page

### Quality

- Update transitive dependencies

Upgrades:

- eslint to 8.46.0
- eslint-config-prettier to 8.9.0

## [1.96.44] - 2023-07-26

### Added

- OData V4:
  - Default aggregation support for macros table and action group
  - Multiple namespaces support for macros

### Fixed

- Fixed an issue with the CHANGELOG.md file not being visible on npmjs
- Fixed an issue with schema generation where annotation columns were not resolved in cases when a macros table was referring to a line item with a qualifier defined in the metaPath

### Quality

- Update transitive dependencies

Upgrades:

- eslint to 8.45.0
- @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 5.62.0
- @sap-ux/vocabularies-types to 0.9.1

## [1.96.43] - 2023-07-12

### Quality

- Update transitive dependencies

Upgrades:

- @sap-ux/fe-fpm-writer to 0.22.3
- @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 5.61.0
- eslint to 8.44.0
- eslint-formatter-multiple to 2.0.0
- eslint-plugin-prettier" to 4.2.1
- semver to 7.5.4
- @sapui5/ts-types-esm to 1.96.23

## [1.96.42] - 2023-06-30

### Fixed

- OData V2:
  - Fixed type of variant key for QuickVariantSelection (X) on tables to `string`.
- OData V4:
  - Exception on macro table with metaPath to PresentationVariant.

### Quality

- Update transitive dependencies

Upgrades:

- semver to 7.5.3
- @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 5.60.0
- @sap-ux/vocabularies-types to 0.9.0
- @sap-ux/edmx-parser to 0.6.0
- @sap-ux/fe-fpm-writer to 0.22.2

## [1.96.41] - 2023-06-14

### Added

- OData V4:
  - Support for Custom subsections.

### Changed

- OData V4:
  - Changed binding expression to use "isEditable" property instead of "editable". Thus we have binding expressions {ui>/isEditable} and {= !${ui>/isEditable}}.

### Fixed

- OData V4:
  - When adding new pages, the export calculates the route pattern for the new manifest entry.
  Indeed, the previous logic did not consider the naming at parent pages, but defined the key name in the pattern as `key`(+ index). This led to navigation errors at run-time. Now, the key names of existing parent pages are taken over to the child page's pattern.

### Quality

- Update transitive dependencies

Upgrades:

- d3 to 7.8.5
- i18next to 22.5.1
- @sap-ux/fe-fpm-writer to 0.22.1

## [1.96.40] - 2023-05-31

### Fixed

- Correct missing or inconsistent tags `keys`and `dataType` in the app schema generation, especially for intentbased navigation

### Quality

- Update transitive dependencies

Upgrades:

- @sapui5/ts-types-esm to 1.96.22
- @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 5.59.8
- i18next to 22.5.0
- ts-node to 8.10.2
- rimraf to 5.0.1
- @sap-ux/fe-fpm-writer to 0.20.2

## [1.96.39] - 2023-05-18

### Added

- General:
  - Enhancement of error handling, more explicit messages are passed to the logger.  
  Fix of error handling of exceptions from annotation parser.
  - Fix for List Report with multiple views and Object pages on second level in Page map
- OData V4:
  - Added ID (`internalId`) property for macros metadata in schema

### Quality

- Update transitive dependencies

Upgrades:

- excel4node to 1.8.2
- rimraf to 5.0.0
- i18next to 22.4.15
- @sap-ux/fe-fpm-writer to 0.18.9
- @sapui5/ts-types-esm to 1.96.21
- semver to 7.5.1
- typescript-eslint to 5.59.5
- jquery to 3.7.0

## [1.96.38] - 2023-05-04

### Fixed

- OData V4:
  - Parsing of commented contents in XML fragments, comments are now getting ignored during generation and import

### Quality

- Update transitive dependencies

Upgrades:

- prettier: to 2.8.8
- typescript to 4.9.5
- @types/nodes to 18.16.3
- patch-package to 6.5.1
- @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 5.59.2
- Update @sap-ux/vocabularies-types to 0.7.4
- Update @sap-ux/annotation-converter to 0.5.22
- Update @sap-ux/edmx-parser to 0.5.14 

## [1.96.37] - 2023-04-19

### Fixed

- OData V4:
  - Fixed an issue with custom extensions running into an endless loop

### Quality

- Update transitive dependencies

Upgrades:
- @sapui5/ts-types-esm to 1.96.20
- @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 5.58.0
- @types/mem-fs-editor to 7.0.3
- semver to 7.5.0

## [1.96.36] - 2023-04-05

### Added

- OData V4:
  - Building blocks support for custom sections

### Quality

- Update transitive dependencies

Upgrades:
- excel4node to 1.8.1
- eslint-config-prettier to 8.8.0
- prettier to 2.8.7
- @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 5.57.0
- d3 to 7.8.4

## [1.96.35] - 2023-03-22

### Added

- OData V4: the schema App.json and config app.json that get generated now also comprise the information `routePattern` for each page, i.e. the route pattern of the page as comprised in the manifest.json.

### Quality

Upgrades:

- chalk to 4.1.2
- types/jest to 28.1.8
- jQuery to 3.6.4
- sapui5/ts-types-esm to 1.96.18
- ejs to 3.1.9
- deepmerge to 4.3.1
- eslint-config-prettier to 8.7.0
- prettier to 2.8.4

## [1.96.34] - 2023-03-08

### Fixed

- OData V2:
  - Fixed deletion issues for Custom Columns that appeared after positions were changed

### Quality

- Upgrade "typescript" to "4.9.4"
- Upgrade "@typescript-eslint/eslint-plugin" and  "@typescript-eslint/parser" to "5.52.0"
- Upgrade "ts-node" to "10.9.1" 
- Upgrade "@sap-ux/fe-fpm-writer` to "0.18.7"
- Upgrade "mem-fs-editor` to "9.7.0"
- Revert "typescript-json-schema" to "0.53.0" in types package

## [1.96.33] - 2023-02-22

### Removed

- Manifest properties from views with different entity set

### Quality

- Upgrade transitive dependencies
- Upgrade "@types/jquery" to "3.5.16"
- Upgrade "@types/mem-fs-editor" to "7.0.2"
- Upgrade "excel4node" to "1.8.0"
- Upgrade "i18next" to "20.6.1"
- Upgrade "typescript-json-schema" to "0.55.0" in types package
- Upgrade "@sap-ux/fe-fpm-writer` to "0.18.5"
- Upgrade "d3" to "7.8.2"
- Upgrade "@sapui5/ts-types-esm" to "1.96.17"
- Upgrade "jest", "ts-jest", "@types/jest"
- Upgrade "set-value"

## [1.96.32] - 2023-02-09

### Added

- XML Property artifact type for building block properties

### Changed

- OData V4: enhancements for the support of contextPath

### Fixed

- OData V2:
  - resolved sync issue with unknown properties on fields for `Table > CreateWithParameterDialog`
- OData V4:
  - Fixed issue with missing schema and config for List report page in freestyle app

### Quality

- Upgrade transitive dependencies
- Remove unused devDependencies
- Upgrade ejs to `3.1.8`
- Upgrade @types/jquery to `3.5.13`
- Upgrade jQuery to 3.6.3.
- Upgrade semver to 7.3.8
- Upgrade axios to 0.27.2
- Upgrade deepmerge to 4.3.0
- Upgrade mem-fs-editor to 9.6.0

## [1.96.31] - 2023-01-25

### Added

- OData V4:
  - Generation of `propertyIndex` property in schemas for root properties

- OData V2:
  - Generation of `propertyIndex` property in schemas for root properties

### Quality

- Removed many unnecessary and obsolete resolutions
- Upgrade fe-fpm-writer to 0.18.4

## [1.96.30] - 2023-01-11

### Added

- General:
  - New definitions for page types are delivered that allow a better distinction:
    - PageTypeV2 for types that occur in OData V2
    - PageTypeV4 for types that occur in OData V4
    - PageType as a superset of all page types that may occur

- OData V4:
  - Support visual filters in toolbar on List report
  - Support actions in header on List report
  - Default annotationPath is added in schema even if LineItem annotation is not defined
  - Added support for applications using `contextPath` in manifest.json

### Changed

- API for OData V2:
  - Inner functions for the generation of app schmas hav ben adapted, i.e. generateAnalyticalListReportSchemaV2, generateListReportSchemaV2, generateObjectPageSchemaV2: the entityTypeName is not passed as an input parameter anymore, as the entity set cannot be uniquely determined from it. Instead, the functions now rely on generateParameters.entitySet, the entityType is derived from this information.  The api version is increased to 7.

### Fixed

- OData V4:
  - Fixed toolbar action IDs by replacing special chars with double colon
  - Fixed incorrect order of Custom Actions when multiple before anchors are used
  - Not all meta characters of action keys had been converted to `::`, as a consequence existing actions in manifest may have not been considered, or new actions had not been written with the right syntax.
- OData V2:
  - Fixed deletion of fragment cells contents in case last element is deleted

### Quality

- Removed obsolete snapshots files
- Removed unused and obsolete resolutions

## [1.96.29] - 2022-11-30

### Added

- Missing i18n classification added to labels of custom views

### Changed

- UI adjustments of in-place documentation:
  - moved label of specification and odata version to tree canvas
  - aligned behavior of tree buttons to expand (+) and collapse (-) with given design
  - removed all hard coded colors
  - fixed hover on search results
  - aligned tooltip with given design

- OData V2:
  - fields for `Table > CreateWithParameterDialog` are now shown as enum and the import/export is done implicitly in the background (adding `path` property).

### Fixed

- Fixed an issue with adding target namespace information for object page sections

## [1.96.28] - 2022-11-17

### Added

- OData V4:
  - Support custom actions for Header and Footer

### Changed

- All parameters in the specification API now are typed
- Export `ControllerExtensionPageType`, `CustomActionTargetControl` enums from `fpm-writer` as types

### Fixed

- OData V2: Adjusted the values shown for `CreateWithParameterDialog` fields > `path` property
- OData V4: if the key of one view comprised the key of another view, the export of changes generated duplicate view entries in manifest. Activities like reordering of views did not work in this scenario.

### Quality

- Upgrade of "@sap-ux/vocabularies-types", "@sap-ux/annotation-converter", "@sap-ux/edmx-parser"
- Upgrade node version to 16.18.0

## [1.96.27] - 2022-11-03

### Added

- OData V4:
  - Support afterExecution for
    - List report toolbar actions
    - Object page header actions
    - Object page footer actions
    - Object page form actions

### Changed

- OData V4:
  - Refactored interfaces for custom actions
- General: the schema tag `key` (concatenated string) got replaced by the schema tag `keys` that is defined as an array of objects with `name`and `value`.  Reasons are the support of different CSS styles for `name` and `value` as well as globalization (bi-directional languages).
- API. Export `ControllerExtensionPageType`, `CustomActionTargetControl` enums from `fpm-writer`.

### Fixed

- OData V4:
  - Fixed an issue with custom pages using an unknown template (not `sap.fe.core.fpm`).

## [1.102.11] - 2022-10-20

### Added

- Applications that show content from schemas may want to also display the technical key - this simplifies identification of the corresponding element in the original source file. To this aim, the tag `key` is used for properties. `key` is a concatenated string that also sows a prefix following one of the patterns:
  - Value for DataFields
  - Key for custom columns etc. where it is a key in the manifest. Only exception are views: they have no prefix as there is logic that programs against the key.
  - ID for facets
  - Action for any action
  - Instance-based navigation: Property + SemanticObject + Action
  - Target for DataFieldForAnnotation.  
In case of Target, an additional schema tag `target` is added: it not only represents the namespace but potentially also the target within the namespace (entity container, entity type, ...)
- OData V4:
  - Custom action support in Object Page forms
  
### Changed

- Common dependencies have been moved to the root level.
- Further type definitions have been moved from the specification package to the types package.

### Fixed

- OData V4:
  - Fixed an issue with custom actions referencing each other

## [1.96.25] - 2022-10-06

### Changed

- Upgrade fe-fpm-writer version to 0.17.6

### Fixed

- At Object Page sections, a missing consideration of potential qualifiers of UI.Identification led to an exception.
- The API can be called with an empty array of annotations. By now this led to an exception, as it was not considered that the annotation vocabularies tools (AVT) return an empty instance.

### Quality

- Upgrade of d3 and d3-color
- Upgrade of FPM writer

## [1.96.24] - 2022-09-24

### Quality

- Changed settings to enable the SAP internal delivery of the types package

## [1.96.23] - 2022-09-22

### Added

- OData V4:
  - Added custom pages not using FPM library to pages view in Application Modeler Panel (limited functionality support)
  - Controller Extension support in "app.json"
  - Zero state support

### Changed

- Upgrade of fe-fpm-writer to version 0.17.2, increment of fpmWriter property returned by getApiVersion to 4.

### Fixed

- OData V4:
  - Reordering of custom views for list report did not work. This was fixed, but consequently the logic for deleting custom views also had to be adapted.
  - When adding new sub-pages to the app.json the export to manifest created wrong keys for the new navigation routes, and wrong query patterns for the targets.

### Quality

- Upgrade version of `typescript`, `ts-jest`, `jest`
- Minify sources
- Enhance test by removing dependency to typescript api
- Test coverage increased

## [1.96.22] - 2022-09-21

### Quality

- Changed settings to enable the SAP internal delivery of the types package

## [1.96.21] - 2022-09-08

### Added

- OData V4:
  - API for custom extensions extended to call enableFPM prior to adding concrete extension using the FPM writer of open-ux-tools

### Changed

- For an easier consumption and size reduction, the types definitions now have been moved to a separate types package in the given mono repository. The definitions are still exposed along with the specification package, you can import them from "@sap/ux-specification/dist/src".

- Only one common Manifest definition is exposed from the new types package, the virtual distinction between an OData V2 and an OData V4 version is resolved.

### Removed

- OData V4:
  - Removed `End` value from Placement property for custom extensions

## [1.96.20] - 2022-08-24

### Added

- API enhanced by a wrapper function for the creation of custom views (that delegates to the FPM writer of open-ux-tools)
- OData V4:
  - Added custom pages using FPM library to pages view in Application Modeler Panel

### Changed

- The specification module is now build with esbuild instead of webpack.
The new build generates all type information into a types folder, which makes it easier to consume (but the consumption must be adapted). Examples:

````
import { PageType } from '@sap/ux-specification/dist/src/specification/common/'; 
==>  import { PageType } from '@sap/ux-specification/types';

import type { TableCustomColumns, TableCustomColumn } from '@sap/ux-specification/dist/src/v2';
==> import type { TableCustomColumns, TableCustomColumn } from '@sap/ux-specification/types/v2';

import { SectionPosition as SectionPositionV4 } from '@sap/ux-specification/dist/src/v4';
==> import { SectionPosition as SectionPositionV4 } from '@sap/ux-specification/types/v4';
````

- OData V4:
  - LR: Mark view properties `key`, `index` as hidden in schema

### Fixed

- OData V2:
  - OP: Fixed incorrect generation of flexChanges in case of Form, Form Fields and Form Fields referenced from a navigation entity

- OData V4:
  - In some cases sections defined with PresentationVariants did not appear on the object page
  - The resolution of alias definitions using the @SAP__ prefix was not correct, leading also to gaps in the elements that were considered
  - LR: Schema now considers default visualation `UI.LineItem` if not defined in `SelectionPresentationVariant`

## [1.96.19] - 2022-08-11

### Added

- OData V4: the schemas and configs of list report views now also show the vsibility property and custom views

### Changed

- OData V4: With API version 4 of specification - introduced with the given version - the way how routes are represented in the app.json changes: before the pattern was
  `route: key`, now it follows the manifest syntax  

  ```
  key: {
      route: route
  }
  ```

  The switch to an object representation allows to also include other target information like "outbound"
- OData V4: as long as no views are defined in manifest, the showCounts property is not part of the schema, except if it is already maintained
- OData V2:
  - Mark custom column 'columnIndex' property as hidden

### Fixed

- OData V4:
  - LR: The export of property changes at the page editor led to a deletion of (custom) views in manifest; besides, outbound navigation entries could get deleted
  - Fixed an issue with missing custom action if an empty "press" is defined

## [1.96.18] - 2022-07-28

### Added

- OData V4:
  - Added support for custom actions for tables in LR and OP

### Fixed

- OData V4:
  - Fixed an issue with custom column export where it was not possible to restore a deleted column

### Quality

- Upgrade of webpack and dependent modules
- Upgrade of terser
- Upgrade of glob-parent, mem-fs-editor
- Upgrade of lerna
- Upgrade of fe-fpm-writer

## [1.96.17] - 2022-07-14

### Changed

- OData V4: In case of PresentationVariant definitions for charts or line items, an intermediate node had originally been introduced in the Object Page schema that represents the PresentationVariant. This multi-level propagation of references caused issues in the consuming UI, thus the intermediate node got deleted again. The PresentationVariant must be determined by the consuming application if necessary.

### Fixed

- OData V2:

- OData V4:
  - Properties of custom columns on object page had not been exported correctly if the table is associated to another entity type via navigation path or is using a PresentationVariant.
  The value help of the anchor in LSP (config JSON) also did not show the right values.
  - Object Page: Fixed an issue with the schema that `annotationPath` for Object Page Table Sections did not contain `qualifier`;
  wrong `annotationPath` and `isViewNode` settings are adjusted.
  - Fixed an issue with export that multiple changes to view's `key` property created duplicated entries in manifest.json

### Quality

- Switch from nexus repository to artifactory

## [1.96.16] - 2022-06-29

### Added

- OData V4:
  - Extend pagemap support for freestyle apps using FPM library

### Fixed

- OData V2:
  - OVP: LSP for `model` property of a card now lists models from sap.ui5 section of manifest.json
  - Table type property is now set to blank in case not maintained in manifest.json
  - If two sections of object page referred to an element (e.g. action, table column) of the same name, they had been sync'd by the program logic: changes of one property had also been refelected in the other.
  - One UI adaptation or flexibility change may have been shown multiple times in the config, at different sections.
  - No sorting by time took place before for flexibility changes, as a result an older change of the same property may have shown up instead of the newer one.
  - If several flexibility changes existed for the same control property, secondary ones had not been imported correctly: you could find them under a wrong property name in the config JSON file.

## [1.96.15] - 2022-06-16

### Added

- Missing exposure of type definitions was added.

### Changed

OData V2:

- Custom column property "columnIndex". Schema enhancement by defining range using "minimum=0".

### Removed

OData V4:

- In case of List Report views, non-applicable table properties are removed.

### Fixed

OData V4:

- In case of List Report views, custom columns with navigation property are considered for the correct view.
- Avoid creation of empty personalization object

OData V2:

- Custom column issue with Grid/Tree/Analytical table types - empty second custom column is added in xml files

## [1.96.14] - 2022-06-02

### Added

OData V4:

- In case of a default (without qualifier) Selection-/PresentationVariant, the table settings and columns are now considered on list report page.

### Changed

OData V4:

- Titles of charts in sections and header sections now correspond to the run-time.
- Add "annotationPath" schema property to schema for "Table" definition in simple list report.

### Fixed

OData V4:

- If `defaultAnnotationPath` is used, corresponding custom columns were not considered on list report page.

### Quality

Upgrade node & node-version to 14.x

## [1.96.13] - 2022-05-19

### Changed

- OData V4:
  - For list report views, the content of title and description in the schema got exchanged.
  - Custom columns having an invalid anchor are not filtered out anymore but added to the schema (at the end of the columns' list). This better supports fixing the situation and is necessary so that the import fills the properties correctly.
  - LR: If views are enabled, generic table columns won't be used/filled.

### Fixed

- OData V4:
  - If the table setting creationMode existed in the outdated string format, the export just had overwritten the string. Now, an implicit conversion to the new object format takes place.
  - In case of multiple custom columns with an invalid anchor the app schema generation ran into an endless loop.
  - No import of property annotationPath was happening at chart views of List Report.
  - In the app specific schema, the description was missing for charts in sections.
  - Tag 'hidden' was added to the property annotationPath of the ALP chart view in app schema.
  - If defaultTemplateAnnotationPath is maintained and refers to an annotation other than UI.LineItem, the table settings and columns of the referred definition are now imported correctly.

### Quality

- Code smells fixed, as reported by sonarQube.
- Upgrade of annotation vocabularies tools.

## [1.96.12] - 2022-05-05

### Added

- OData V4:
  - The title of ALP or List Report views is now following the same criteria as the UI5 run-time.

### Fixed

- OData V4:  
  - Problems with deletion of ListReport table views.
  - Unknown properties removed from custom section definition in 'manifest.json'.
  - delete 'table/personalization' object property in 'manifest.json' if last property was removed.
  - Export. Delete of entries from `table/views` - views were not deleted during export if entries in annotation file were deleted as first.
  - When changing the table type in the page editor for LRP (V4), the respective manifest setting is not updated as long as this page is configured with the primary and secondary views.
- OData V2:
  - Sections and subsections with a reference to Communication.Contact or Communication.Address had not been shown, support of flexibility changes for them.
  - Facet or section references with multi-level navigation had not been handled correctly.  

### Quality

- Switch consumption of "@sapui5/ts-types" to "@sapui5/ts-types-esm".

## [1.96.11] - 2022-04-21

### Added

- OData V2:
  - LR: Old settings for table type (tableType) had been ignored in newer specification releases. As a consequence, you may have found the table type twice in manifest, once with the old syntax and an additional entry with the new syntax, after switching to a newer UI5 version.
  Now an implicit conversion to the new tableSettings takes place, and the old setting gets automatically replaced during the export.
- OData V4:
  - OP: Added support for presentation variants with chart or table visualization

- Documentation actualized with regards to the new release version 1.100.

### Fixed

- OData V4:
  - Exception in case of multi-tab views in manifest that referred to a SelectionVariant.
  - Export of table settings of list report was targeting the wrong manifest settings if a defaultTemplateAnnotationPath is defined, pointing to a SelectionPresentationVariant.
  - List report with multiple views: insert and reordering was not supported correctly.
- OData V2:
  - After an entry of quickVariantSelectionX got deleted, the entry still was present in manifest.json.
  - Sections of subordinate object pages had not been added correctly to the app schema in all cases.

### Quality

- upgrade ejs to 3.1.7
- SonarQube: issued solved with regards to cognitive complexity

## [1.96.10] - 2022-04-07

### Added

- OData V4:  
  - Support of defaultTemplateAnnotationPath as property; consider defaultTemplateAnnotationPath when retrieving the relevant table settings and while switching to ALP flavour.

### Fixed

- OData V2:
  - Extensions - empty "extensions" object was created in "sap.ui5/"extends"/"extensions"/"sap.ui.viewExtensions"/"sap.suite.ui.generic.template.ListReport.view.ListReport".

### Quality

- Replace type object for schemas by Definition from 'typescript-json-schema'.
- Upgrade of async.

## [1.96.9] - 2022-03-31

### Quality

- Upgrade `minimist` resolution.

## [1.96.8] - 2022-03-31

### Quality

- Upgrade `minimist` version.

## [1.96.7] - 2022-03-24

### Added

- OData V4:
  - Support of `flexEnabled` property.
  - ALP flavor, support of ALP views.
  - List report: multiple views, with the right properties.

### Fixed

- OData V2:
  - Duplicated fragment columns were written if table namespace was not found, and unknown custom data in fragment was not considered.
- OData V4:
  - Custom columns had not been considered when having a 'Before' reference against other custom columns.
  - Fix overwriting of manifest page content, if page key is changed.

### Quality

- Switch to Whitesource Universal Agent
- piper lib upgrade
- Upgrade eslint
- Switch to import type for TS
- Refactoring to resolve sonarQube code smells

## [1.96.6] - 2022-03-09

### Added

- OData V2:
  - visible property is now also available for facets without annotation Id

- OData V4:
  - Support of progress, rating and microchart header facets
  - Version increase for "fe-fpm-writer" from "0.4.0" to "0.5.0"
  - Return "fpmWriter" API version - current version "1"

### Fixed

- OData V2:
  - Creation of new flexChanges now considers resolved Id from pom.xml
- OData V4:
  - Fix overwriting of manifest page id in case of different page key

### Quality

- removed unused dev dependency to `http-server`

## [1.96.5] - 2022-02-23

### Added

- Metadata information `dataType` added to various places in V2 and V4 schemas
- OData V2:
  - display selection fields, and support date settings properties on LR/ALP

### Fixed

- SonarQube code smells

### Quality

- Unnecessary js files removed from bundle
- Unit test enhancement to run on all platforms

## [1.96.4] - 2022-02-10

### Added

- OData V2:
  - Support default date range `defaultValue` property on filter fields
  - LR/ALP: Support column and footer action properties

- OData V4:
  - Support of custom columns  

### Fixed

- OData V2:
  - OP: Fix generation of flexChanges for sections with or without ID in annotations
  - Fix issues with sync logic in case of sub object page

### Quality

- Unnecessary js files removed from bundle

## [1.96.3] - 2022-01-26

### Added

- OData V2:
  - `exportType` property can now be configured to specify the type of export to be used in the SmartTable control
  - OP: `statePreservationMode` property can now be configured to allowing applications to configure persistence mode in an object page
  - OP: `draftDiscardConfirmationSettings` property can now be configured allowing applications to turn off the discard draft confirmation popup in various scenarios

### Quality

- Upgrade of node-fetch

## [1.96.2] - 2022-01-12

### Added

- OData V2:
  - OP: properties of footer actions are displayed and supported in side panel
  - properties of toolbar actions are displayed and supported in side panel
  - OVP: The property `showLineItemDetail` is now supported for List and Table cards
  - OP: Schema now supports column extensions for TreeTable

### Changed

- OData V2:
  - property `filterDefaultsFromSelectionVariant` is now only supported for AnalyticalListPage floorplan
  - OVP: The property `tabs` and `addOdataSelect` can now be confirued for all cards
- OData V4:
  - property `afterExecution` of table columns now is only visible for actions but not for other record types
  - deprecated `name` property and support new `template` property for custom sections in manifest
  
### Removed

- OData V2:
  - OVP: removed `tabs` property from card level

### Fixed

- OData V2:
  - correct schema generation in case multiple facets are referring to lineitem annotation of same entity
  - Facet Id is considered for import and export of manifest settings
  - Fixed sync issues in case no text is provided for custom columns
- OData V4:
  - Avoid exporting empty arrays to manifest.json

### Quality

- Upgrade of trim-off-newlines
- Upgrade of yarn classic
- New whitesource endpoint
- Upgrade of follow-redirects

## [1.96.1] - 2021-12-06

### Quality

- Update of pipeline configuration

## [1.96.0] - 2021-12-02

### Added

In comparison to release 1.90, this release also comprises an API generateCustomExtension, refer to the README.

### Changed

The api version (getApiVersion) is increased to 2 to reflect the presence of the new generateCustomExtension API.
