Skip to content

Latest commit

 

History

History
1045 lines (571 loc) · 45 KB

File metadata and controls

1045 lines (571 loc) · 45 KB

10.24.0 (2025-09-22)

Features

  • QueryBuilder: Make regex validation filter optional (#227) (5937e64)

10.23.0 (2025-06-05)

Features

  • express: Support express5 (fb6fd22)

10.22.3 (2025-01-28)

Bug Fixes

  • types: export EvaluationQueryOperatorEnum (#216) (69196ec)

10.22.2 (2024-05-03)

Bug Fixes

10.22.1 (2024-04-11)

Bug Fixes

  • logger: remove chalk from proxy api to reduce bundle size (#208) (5e84078)

10.22.0 (2024-04-09)

Features

  • proxy version: Fix proxy package release flow (362045c)

10.21.0 (2024-04-09)

Features

  • content-api: introduce separate proxy-api package (#203) (a70c41c)

10.21.0 (2024-03-13)

Features

  • shrink proxy: bundles in fsxa-api are large which causes performance problems (ffc5658)
  • shrink proxy: bundles in fsxa-api are large which causes performance problems (2aaf2b2)
  • shrink proxy: bundles in fsxa-api are large which causes performance problems (c8727a3)
  • shrink proxy: bundles in fsxa-api are large which causes performance problems (f0ad6ff)
  • shrink proxy: bundles in fsxa-api are large which causes performance problems (646c74f)
  • shrink proxy: bundles in fsxa-api are large which causes performance problems (e63157a)
  • shrink proxy: bundles in fsxa-api are large which causes performance problems (dc54689)

10.20.0 (2024-03-04)

Features

  • pageref route: add route to mappedPageRef (#201) (f60ae62)

10.19.1 (2023-12-20)

Bug Fixes

  • mapper: mark items that are being fetched as processed (#198) (#199) (8cf5eb3)

10.19.0 (2023-11-09)

Features

  • section: add name and displayname fields to section data (#195) (cc9e470)

10.18.2 (2023-10-27)

Bug Fixes

  • remoteitems: fix direct request of remote items (#192) (ac0f0b7)

10.18.1 (2023-10-18)

Bug Fixes

  • content-filter: Pass keys usage to filter (#165) (46b15e4)

10.18.0 (2023-10-04)

Features

  • caasmapper: add lifespan property to section (#187) (591dda7)

10.17.0 (2023-09-22)

Features

  • projectproperties: add master locale to project properties (#184) (99761b4)

10.16.3 (2023-09-22)

Bug Fixes

  • release: fix broken release v10.16.3 (#186) (e5ebe05)

10.16.3 (2023-09-22)

Bug fixes

  • Export missing HttpError class

10.16.2 (2023-08-16)

Bug Fixes

  • expressintegration: rename filter to filters (#180) (5274f4c)

UPDATE NOTICE

We made changes in the request body of calls sent to the remote-API. Specifically, a property name of the JSON body has changed from 'filter' to 'filters'. These calls are usually made internally within the content-API. Thus, these changes should not be breaking. If however for some reason you rely on internal API, be aware that this attribute name change could break your implementation.

10.16.1 (2023-07-31)

Bug Fixes

  • navigationservice: add a warning when empty locale is provided (#179) (bcd9f72)

10.16.0 (2023-06-22)

Features

  • querybuilder: allow comparison with null values (#172) (364b9ea)

10.15.1 (2023-06-21)

Bug Fixes

  • filtercontext: remove filtercontext from debug log (#173) (ea5802d)

10.15.0 (2023-06-16)

Features

  • fsxaapisingleton: update singleton to instatiate many instances (#166) (7241cd5)

10.14.1 (2023-06-14)

Bug Fixes

  • repository: rename FSXA-API to JavaScript Content API Library (#171) (30f6fcc)

UPDATE NOTICE

We would like to inform you that the project previously known as "FSXA-API" has recently undergone a name change. The project is now called "JavaScript Content API Library", but please note that this change solely affects the project's name, repository, and associated branding elements. The core code and functionality of the library remain unchanged. The purpose and scope of the library, as well as its intended usage and compatibility, remain consistent. The decision to change the name was made as the term "fsxa" no longer accurately represents the project's current scope, as other components beyond the fsxa-api are now discontinued. The name change aims to align the project's branding with its refined purpose and to avoid any confusion regarding its functionality.

10.14.0 (2023-06-13)

Features

10.13.1 (2023-06-12)

Bug Fixes

10.13.0 (2023-06-07)

Features

10.12.0 (2023-05-15)

Features

  • helpers: add method to fetch available locales (#163) (3a01920)

10.11.3 (2023-05-09)

Bug Fixes

10.11.2 (2023-04-14)

Bug Fixes

  • xmlparser: fix parsing nested elements in richtext (#159) (c7e74bb)

10.11.1 (2023-03-21)

Bug Fixes

  • caasmapper: fix context of remoteReference resolving (#156) (7ea9b56)

10.11.0 (2023-03-20)

Features

  • authorization: update header format for apikeys (#155) (027ca26)

10.10.3 (2023-03-17)

Bug Fixes

  • imagemap: remove side effects for images when resolving (#154) (23e452e)

10.10.2 (2023-03-09)

Bug Fixes

  • remoteapi: improve error handling in reference resolving (801a0ed)

10.10.1 (2023-02-28)

Bug Fixes

10.10.0 (2023-02-14)

Features

10.9.0 (2023-02-02)

Features

  • querybuilder: comparison operators should support string value types (#146) (94c6781)

10.8.1 (2023-02-01)

Bug Fixes

  • remote references: fix handling of remote references (#139) (23a40f0)

10.8.0 (2023-01-24)

Features

  • caasmapper: map the 'displayed' property of sections (#138) (6c5a9f4)

10.7.0 (2022-12-14)

Features

  • fetchbyfilter: make locale parameter of fetchByFilter function optional (#140) (f658c9d)

10.6.7 (2022-11-14)

Bug Fixes

  • projectproperties: handle circular references in project properties (#136) (d034563)

10.6.6 (2022-11-04)

Bug Fixes

  • remote references: fix resolving of remote references (#135) (6d4aada)

10.6.5 (2022-10-27)

Bug Fixes

  • radiobutton mapping: extend mapped value for radiobutton to include correct Option keys (#100) (d50039a)

10.6.4 (2022-10-21)

Bug Fixes

  • fsxaremoteapi: fix caasitemsfilter method (0f2fd26)

10.6.3 (2022-10-20)

Bug Fixes

  • caasmapper: improve reference resolving (#131) (856d1d2)

10.6.2 (2022-09-27)

Bug Fixes

10.6.1 (2022-09-22)

Bug Fixes

  • logger: change console.debug to console.info to ensure output (#112) (84dfbdb)

10.6.0 (2022-08-26)

Features

  • remote-references: provide access to remote project id when present in references (0dc9765)

10.5.1 (2022-08-26)

Bug Fixes

  • ReferenceResolving: add max resolve depth (#125) (99e1405)

10.5.0 (2022-08-11)

Features

  • types: accept boolean as filter value (#122) (c40817c)

10.4.0 (2022-08-11)

Features

  • querybuilder: add regex operator to querybuilder (#119) (1fad61a)

10.3.2 (2022-08-08)

Bug Fixes

  • fsxaremoteapi: uri encoding of user input (#121) (6fc9ca8)

10.3.1 (2022-08-02)

Bug Fixes

  • datasetroutes: add dataset routes to types and mapper (#114) (3b56a17)

10.3.0 (2022-08-02)

Features

  • pageref-metadata: also respond the PageRef metadata if exists (#117) (64ebcf1)

10.2.1 (2022-07-19)

Bug Fixes

  • FSXARemoteApi: fix missing await and length check (#111) (81cea34)

10.2.0 (2022-06-14)

Features

  • fetchbyfilter: add sort param to fetchByFilter (#109) (c3ea102)

10.1.1 (2022-06-10)

Bug Fixes

  • references: suppresses reference loops (#106) (b24e927)

10.1.0 (2022-05-23)

Features

  • filtering: add support for filtering CaaS and navigation items (#99) (5e350a7)

10.0.0 (2022-05-17)

Features

BREAKING CHANGES

  • caas-mapper: The structure of the CaasMapper output for Links in RichTextElements has been updated. Refer the CHANGELOG.md for more details.

Links inside of RichtTextElements will now be mapped in the same way as the value of CMS_INPUT_LINK.

Make sure your implementation is compliant with the new signature of Link | Record<string, any>. Please refer the fsxa-api type-mapping.

9.0.2 (2022-05-06)

Bug Fixes

  • remove prototype pollution in minimist sub-dependency (be7376a)

9.0.1 (2022-05-02)

Bug Fixes

  • gcapage mapper: add processing of children to gcapage mapping (#97) (a2076db)

9.0.0 (2022-04-21)

BREAKING CHANGES

  • The method fetchProjectProperties has a new return type and interface ImageMap has a new structure.
  • fetchProjectProperties: The return type of the method has changed. The function no longer returns an array of ProjectProperties. Instead it now returns only the ProjectProperties object if found.

Example:

const projectProperties = await proxyAPI.fetchProjectProperties(parameters)
  • imageMap: The resolution property is now part of the media property. Details can be found in the here.

New format:

"st_imagemap": {
  "type": "ImageMap",
  "areas": [],
  "media": {
    "type": "Image",
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
    "previewId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx.en_GB",
    "meta": {},
    "description": null,
    "resolutions": {
      "myresolution": {
        "fileSize": 31415,
        "extension": "jpg",
        "mimeType": "image/jpeg",
        "width": 4711,
        "height": 4711,
        "url": "https://customer-media.e-spirit.cloud/.../image.jpg?rev=4711"
      }
    }
  }
}

8.4.0 (2022-03-24)

Features

  • provide context to NavigationFilter and PreFilterFetch (#90) (8b63f23)

8.3.1 (2022-03-02)

Bug Fixes

  • fetchprojectproperties: reduce mutliple sequential CaaS calls to a single call (#88) (fce32bb)

8.3.0 (2022-02-25)

Features

  • caasmapper: enrich permission entries with group id attribute (#84) (575422f)

8.2.1 (2022-02-21)

Bug Fixes

  • fetchbyfilter: fix return value on empty response (#85) (3ea579b)

8.2.0 (2022-02-15)

Features

  • caas: Expose CaaS changes (WS) via Server-sent events (#61) (1a384bf)

Bug Fixes

  • CaaSMapper: Resolve remote references in CaaSMapper

8.1.0 (2022-02-11)

Features

  • FS_Reference: add optional section to reference types (fbedc26)

8.0.0 (2022-02-08)

Features

  • apiSingleton: create api singleton and add type parameter (#78) (2acc38e), closes #74

BREAKING CHANGES

  • apiSingleton: "type" attribute needs to be added if objects of changed public interfaces are created in user code. Following interfaces have changed:
  • PageBody
  • Page
  • Reference
  • Option
  • Link
  • Card
  • ImageMap
  • GCAPage
  • ProjectProperties
  • Section
  • Dataset
  • Image
  • File

Example: "Option" interface contains a "type" parameter. If your code uses the interface, you need to add the parameter "type".

compliant:

const anOption: Option = {
  type: 'Option',
  key: 'awesome',
  value: 'example',
}

non-compliant:

const anOption: Option = {
  key: 'true',
  value: 'example',
}

Also interfaces for FSXAProxyApiConfig and CaaSApi_FSReference have changed. If you are using them in your code, make sure to be compliant to the current implementation. Examples for compliant usages:

compliant:

const config: FSXAProxyApiConfig = {
  clientUrl: '/someUrl',
  serverUrl: 'localhost',
  logLevel: LogLevel.0,
  contentMode: FSXAContentMode.PREVIEW
}

compliant:

const reference: CaaSApi_FSReference = {
  fsType: 'FS_REFERENCE',
  name: 'some name',
  value: null,
}

7.1.0 (2022-02-04)

Features

7.0.2 (2022-01-20)

Bug Fixes

  • tests: provide CaaSMapper tests (6c7389c)

7.0.1 (2022-01-14)

Bug Fixes

  • FSXARemoteApi: fix parameter parsing and projectProperties (#67) (edeaf13)

7.0.0 (2022-01-11)

Features

  • add pagination data to response structure of fetchByFilter (#64) (8536e9d)

BREAKING CHANGES

  • Previously fetchByFilter directly returned an array of returned items. Now this data is wrapped in an 'items' property. The returned object also includes pagination data now.

BREAKING CHANGE

Previously fetchByFilter directly returned an array of returned items. Now this data is wrapped in an "items" property.

Example:

const { items } = fetchByFilter({...}) as { items: any[] }

The returned object also includes pagination data ("page" and "pagesize") now. If you are using "additionalParams" you can extend the pagination data with "totalPages" and "size" by passing count: true. Using "count" has performance implication for it involves querying the collection twice: once for counting and once of actually retrieving the data;

6.1.0 (2021-12-23)

Features

  • caasmapper: add customizable media url builder, to add revision in preview mode (#63) (88e6c45)

UPDATE NOTICE

If you are using a CustomMapper to handle CaaS requests, you need to implement following method signature in the mapper's utils object:

buildMediaUrl: (url: string, rev?: number) => string

This method can be used to change returning URLs of CaaSApi_Media_Picture.

6.0.1 (2021-12-21)

Bug Fixes

  • types: add FSXAProxyApiConfig type for explicit definition of proxy api config (#62) (1d4144c)

6.0.0 (2021-12-07)

Bug Fixes

Features

BREAKING CHANGES

Migration Guide

Since the FSXAApi class has been seperated into two different API classes, the usage of the component needs to be adjusted.

API Calls

API calls like fetchElement(), fetchByFilter(), fetchNavigation() and fetchProjectProperties() now have a different method signatures. The parameters are now typed objects and some entries can even be omitted, due to the new default values. To be compliant to the new signature, you can wrap the parameters of your method calls inside objects and add the corresponding key to your them.

Example:

api.fetchElement(req.body.id, req.body.locale, req.body?.additionalParams, req.body?.remote)

does not compile

api.fetchElement({
  id: req.body.id,
  locale: req.body.locale,
  additionalParams: req.body?.additionalParams,
  remoteProject: req.body?.remote,
})

new compliant solution

Usages of FSXAApi with mode = proxy

FSXAApi has been removed. If you were using the FSXAApi in with mode: 'proxy' you should switch to the new FSXAProxyApi. The FSXAContentMode can be omitted. Example:

new FSXAApi(
  FSXAContentMode.PREVIEW,
  {
    mode: 'proxy',
    baseUrl: BASE_URL,
  },
  3
)

does not compile

new FSXAProxyApi(BASE_URL, LogLevel.INFO)

new compliant solution

Usages of FSXAApi with mode = remote

FSXAApi has been removed. If you were using the FSXAApi with mode: 'remote' you should switch to the new FSXARemoteApi.

Example:

new FSXAApi(FSXAContentMode.PREVIEW, {
  mode: 'remote',
  config: {
    apiKey: API_KEY,
    caas: CAAS_URL,
    navigationService: NAVIGATION_SERVICE_URL,
    tenantId: TENANT_ID,
    projectId: PROJECT_ID,
    remotes: REMOTES,
  },
})

does not compile

new FSXARemoteApi({
  apikey: API_KEY,
  caasURL: CAAS_URL,
  navigationServiceURL: NAVIGATION_SERVICE_URL,
  tenantID: TENANT_ID,
  projectID: PROJECT_ID,
  remotes: REMOTES,
  contentMode: CONTENT_MODE,
})

new compliant solution

Updated Endpoints

The endpoint of /elements/:id has changed. The :id will no longer be parsed. Instead: Provide the id in the POST request's body.

5.4.1 (2021-11-18)

Bug Fixes

  • release management: deprecate an old release (8709044)

Reverts

  • "feat(caasmapper): added type names to interfaces used by mapper" (#53) (0dd34f2)

5.4.0 (2021-11-18)

Features

  • caasmapper: added type names to interfaces used by mapper (8a7bca0)

5.3.3 (2021-10-13)

Bug Fixes

  • fix nullable record entries bug for FS_INDEX (#45) (4722f68)

5.3.2 (2021-08-24)

Bug Fixes

  • remove &nbps regex and add tests to the XMLParser (#39) (5b98087)

5.3.1 (2021-08-16)

Bug Fixes

5.3.0 (2021-06-29)

Bug Fixes

  • querybuilder: fix ComparisonQueryOperatorEnum.IN request with empty array (a60925c)

Features

5.2.1 (2021-06-11)

Bug Fixes

  • express.ts: fix the body request locale error message (#26) (7c53fb4)
  • express.ts: fix the deprecated method (#28) (c237cd4)

5.2.0 (2021-04-22)

Features

  • custom mapper: simplify custom mapper usage (#20) (9208eb5)
  • navigation / pass extra headers: allow passing of extra headers to navigation service (#22) (62b749d)

5.1.1 (2021-03-22)

Bug Fixes

  • locale: fix error, where country part of locale would not be used correctly (77d976d)

5.1.0 (2021-03-11)

Features

  • caasmapper: format section and link templates in FS_CATALOG entries to match section (b19fd63)

5.0.2 (2021-03-09)

Bug Fixes

  • 🐛 fixed additionalParams in fetchElement (#15) (9d0ea37)

5.0.1 (2021-03-03)

Bug Fixes

  • caasmapper: enable RichText mapping for the CMS_INPUT_DOMTABLE as well (#14) (31436ed)
  • 🐛 fixed additionalParams for fetchByFilter (#12) (7d694c8)
  • caasmapper: map FILE entries (#5) (33872d8)

5.0.0 (2021-02-25)

Features

  • fetchprojectproperties: added fetchProjectProperties method and better development enviroment (7e15cf4)

BREAKING CHANGES

  • fetchprojectproperties: - This version only works with CaaSConnect module version 3.3.0 onwards.

4.1.1 (2021-02-11)

Bug Fixes

  • xml-parser: add block type to RichTextElement (a261bd5)
  • xml-parser: map div tag to block type (4467e83)
  • xml-parser: map div tag to block type (f0ced59)

4.1.0 (2021-01-21)

Features

  • Add description to Image when mapping CaaS data (#3) (428e8fd)

4.0.7 (2021-01-21)

Bug Fixes

  • Add seoRouteRegex to interface of NavigationItem (#4) (1e42b9a)

4.0.6 (2021-01-18)

Bug Fixes

  • caasmapper: pass through unknown media-types as is (d85f2e7)

4.0.5 (2020-12-22)

Bug Fixes

  • proxy: switch to POST-Requests to fix encoding issues. Parameters will be transferred as body (62b8a83)

4.0.4 (2020-12-22)

Bug Fixes

  • proxy: fix error, where stringified JSON was not encoded (bdb4b4f)

4.0.3 (2020-12-22)

Bug Fixes

  • proxy: fix bug, where params will all be stringified, when proxy mode is used (23c512a)

4.0.2 (2020-12-14)

Bug Fixes

  • fetchnavigation: we fixed an error, where special chars in the initialPath would lead to errors (2cebd30)

4.0.1 (2020-12-14)

Bug Fixes

  • references: fix unresolved referenes issue, when using fetchElement (6c26854)

4.0.0 (2020-12-13)

Code Refactoring

  • removed fetchgcapages: we removed fetchGCAPages to remove redundancy in our API (dbeabbc)

Features

  • caas-mapper: meta-data from images is now available (23458b2)
  • errors: we are now throwing 404 and 401 errors / renamed fetchPage to fetchElement (48cde97)
  • richtext / dataset-query: richText will now be returned as json, obsolete mapDataQuery removed (82743df)

BREAKING CHANGES

  • removed fetchgcapages: - removed fetchGCAPages, use fetchByFilter instead
  • errors: - renamed fetchPage to fetchElement. This method will now return mapped GCAPage / Image / Dataset as well -Methods will now throw errors, when an element is not found or the request was not authorized
  • richtext / dataset-query: - RichText values are now returned as JSON
  • Configuration Parameter mapDataQuery was removed

3.4.0 (2020-12-02)

Bug Fixes

  • auto-resolve: fix bug, where urls got too long, when referended items where batch loaded (5a30ca6)
  • mapper: fix static referenceId in FS_REFERENCE (dfdb397)

Features

  • pagination: added pagination support in fetchByFilter-method (631dd5b)

3.3.2 (2020-11-16)

Bug Fixes

  • mapper: fix error, where Promise is returned for data-entries instead of resolved values (20c17b7)

3.3.1 (2020-11-16)

Bug Fixes

  • mapper: fix error, where only one item per object was returned (74e0f38)

3.3.0 (2020-11-13)

Bug Fixes

  • fetchbyfilter: fix warning about missing rh:doc property error (ec00790)

Features

  • custom-mapper: we've added a customMapper option that will override the default mapping (0849e73)

3.2.0 (2020-11-02)

Features

  • sectionreference: added SectionReference support (0a78e98)

3.1.0 (2020-10-28)

Features

  • logger, mapping: enable setting loglevel from outside and add new mapped types (0ab7cf6)

3.0.1 (2020-10-14)

Bug Fixes

  • typescript / bundle: fixed ts defs and broken bundles (d293680)

3.0.0 (2020-10-12)

Features

  • datasources, misc: added datasource support + misc (4f0c439)

BREAKING CHANGES

  • datasources, misc: - tenantId in configuration object is now required
  • we slightly changed the interface of the urls used in remote / proxy mode for compatibility reasons and a better integration into the express router. Please use the exposed routes and route-generators in future implementations

2.0.0 (2020-09-17)

Features

  • navigation: we added support for multi-language projects (2430896)

BREAKING CHANGES

  • navigation: the interface of the fetchNavigation changed. You now have to pass the initial path of your application and a fallback defaultLocale to the method.

Changelog

0.1.25

Breaking Changes:

  • We removed Axios as request-library and switched to fetch.