- [connectivity] Add transform function to create OAuth2ClientCredentials destinations from service bindings. (7ccc9a3)
- [generator-common] Fix ESM client code compilation by allowing the
moduleoption to be set tonodenextornode16in a customtsconfig.jsonfile. (745766e) - [mail-client] Fix mail client issue for port 465 with on-premise setup. (ea9b6b5)
- [mail-client] Fix email sending functionality to ensure that emails are sent to all valid addresses. Previously, if an email failed, all subsequent emails were not sent.
- @sap-cloud-sdk/connectivity@3.23.0
- @sap-cloud-sdk/util@3.23.0 (62eaed5)
- [mail-client] Fix sending e-mails through socks proxies in Node 20 and higher.
- @sap-cloud-sdk/connectivity@3.22.2
- @sap-cloud-sdk/util@3.22.2 (7f8ce79)
- [eslint-config] Fix incorrect reference of the stylistic plugin in the flat config. (c1d53d2)
- [eslint-config] Remove
import/no-relative-parent-importsrule that has never worked correctly as provided. (a729a72)
- [eslint-config] Add
@typescript-eslint/consistent-type-importsto the ruleset. (252c338) - [openapi-generator] Add support for discriminator properties in schemas that include
oneOfandanyOf. Also add support for incorrect usage of the discriminator property with schemas of typeobject. (d073a48)
- [eslint-config] Fix incorrect resolution of imports for TypeScript. This may result in a lot more findings. (a729a72)
- [openapi-generator] Ignore charset parameter in media types given in OpenAPI specification. (c4153b9)
- [openapi-generator] Update generation of properties with
nullable: truein the spec to includetype | nullin the output types. (d2a2394) - [openapi-generator] Normalize schemas that have
allOf,anyOf, oroneOfalongside properties defined at the same level. (d2a2394) - [openapi-generator] Configure generated OpenAPI clients to handle
text/plain,application/octet-stream, and wildcard*/*content types in response headers. (89f77cd)
API Docs: https://sap.github.io/cloud-sdk/api/3.20.0
- [connectivity] Throw an error if a JWT for caching was provided, but doesn't contain tenant information. (39eb88c)
- [connectivity] Derive tenant information for destination caching also for IAS tokens.
- @sap-cloud-sdk/resilience@3.20.0
- @sap-cloud-sdk/util@3.20.0 (39eb88c)
API Docs: https://sap.github.io/cloud-sdk/api/3.19.0
- [openapi-generator] Prevent query parameters from being optional when header parameters are required in signature. (a566fdd)
API Docs: https://sap.github.io/cloud-sdk/api/3.18.1
- [connectivity] Fix IAS to XSUAA token exchange to have less strict verification.
- @sap-cloud-sdk/resilience@3.18.1
- @sap-cloud-sdk/util@3.18.1 (c1bf319)
API Docs: https://sap.github.io/cloud-sdk/api/3.18.0
- [connectivity] Support IAS tokens without the need to pass
issin the destination fetch options. (06e5c72) - [openapi-generator, generator-common] Introduce option
generateESMin OpenAPI generator to generate ESM compatible code. (3a93e38)
- [connectivity] Fix the JwtPayload import.
- @sap-cloud-sdk/resilience@3.18.0
- @sap-cloud-sdk/util@3.18.0 (c23ccfd)
- [mail-client] Fix the type of
replyToproperty in theMailConfiginterface. (00fa35d)
API Docs: https://sap.github.io/cloud-sdk/api/3.17.0
- [connectivity] Add
getTenantId()function for convenience. (dbad36f) - [mail-client] Add support for multi-tenancy for on-premise mail destinations. (68a07d6)
- [connectivity] Use tenant ID instead of tenant-aware authentication URL for the client credentials cache. (54a46a3)
- [connectivity] Retrieve service token for OAuth2ClientCredentials authentication only once. (99b5009)
- [openapi-generator] Generated OpenAPI clients support
application/merge-patch+jsonmedia type for patch requests. (e9a243a)
- [connectivity] Fix token fetching for mail multi-tenancy scenarios.
- @sap-cloud-sdk/resilience@3.17.0
- @sap-cloud-sdk/util@3.17.0 (86f4158)
- [mail-client] Fix token fetching for mail multi-tenancy scenarios. (86f4158)
API Docs: https://sap.github.io/cloud-sdk/api/3.16.0
- [connectivity] The JKU header in JWTs is no longer verified. Instead the signature of the JWT is verified, which is more secure. (4f29615)
- [generator] Generation of OData clients does no longer fail if
basePathvalue cannot be determined. It will be set to/by default. (ef3a800)
-
[connectivity] Add convenience function
transformServiceBindingToDestination()to create destination from service bindings. The following service bindings are supported:- business-logging
- destination
- s4-hana-cloud
- saas-registry
- workflow
- service-manager
- xsuaa
- aicore (efa75d3)
- [connectivity] Expose
getServiceBinding(). This was previously an internal function. (efa75d3) - [generator] Generated clients support
noImplicitOverrideconfig option intsconfig.json. (022adae) - [generator] If
basePathcannot be determined, it is set to/, and generation no longer fails. (28ab1a4) - [openapi-generator] Generate OpenAPI clients with header parameters. (aa0b849)
- [generator] Fix incorrect warning logs for operation imports that have a matching operation in the service specification. (9efe37e)
API Docs: https://sap.github.io/cloud-sdk/api/3.15.0
- [openapi] Expose custom type for addCustomRequestConfiguration method of Openapi Request Builder (4b3ebfd)
- [eslint-config] Add a config based on the new Eslint flat config format. The new config can be used inside a
eslint.config.jsfile. (7760692)
API Docs: https://sap.github.io/cloud-sdk/api/3.14.0
- [openapi-generator] Fix nested array type in generated OpenAPI schemas such that array wraps the whole object. (ff3ede6)
- [openapi-generator] Fix serialization of path params that contain quotes to avoid syntax error and failing client generation (b4bc9ad)
API Docs: https://sap.github.io/cloud-sdk/api/3.13.0
- [connectivity] Support the AI Core Service Binding when creating destinations from service bindings (f72986a)
API Docs: https://sap.github.io/cloud-sdk/api/3.12.1
- [connectivity] Fix
fetchDestinationWithoutTokenRetrievalto correctly return instance and subaccount destinations.- @sap-cloud-sdk/resilience@3.12.1
- @sap-cloud-sdk/util@3.12.1 (60fdc04)
- [openapi, odata-common] Fix type in
addCustomRequestConfigurationmethod to accept values of typeany. (60fdc04)
API Docs: https://sap.github.io/cloud-sdk/api/3.12.0
- [connectivity] Support certificates in PEM format for
ClientCertificateAuthentication. (36be489)
- [openapi] Fix incorrect encoding of query parameters in OpenAPI requests. Query parameters (except for additional custom parameters) are now encoded by default. To change this behavior overwrite the
parameterEncoderin the request options. (d6b1c5b) - [openapi-generator] Fix types in generated OpenAPI schemas to have proper types instead of type
any. (6bbdd4d)
API Docs: https://sap.github.io/cloud-sdk/api/3.11.0
- [mail-client] Add optional
loggerproperty to enable console logs. Defaults tofalse. (7ec62fa)
- [mail-client] Fix "Hostname/IP does not match certificate's altnames" issues with "localhost" when sending e-mails OnPremise. Always pass the host and port of the MAIL destination explicitly to the underlying
nodemailerinstead of falling back to the default.- @sap-cloud-sdk/connectivity@3.11.0
- @sap-cloud-sdk/util@3.11.0 (62f31fb)
API Docs: https://sap.github.io/cloud-sdk/api/3.10.0
- [connectivity] The SAP Cloud SDK used to get all subaccount and instance destinations, that are available with your JWT (without potentially required token retrieval), through two requests to the destination service (
/subaccountDestinationsand/instanceDestinations). While this approach can have advantages when caching, it can cause severe performance issues without caching. Therefore, from now on, only one destination is retrieved per requested destination through/destinations. You can no longer rely on the SDK to automatically cache all destinations on the first request. If needed, you can callgetAllDestinationsFromDestinationService()with cache enabled instead. (c721bbd) - [connectivity] Using Principal Propagation through authentication type
NoAuthenticationis no longer supported. This resulted in erroneous behavior for destinations with authentication typeNoAuthentication. If you need to use Principal Propagation use authentication typePrincipalPropagation. (28c9cb7)
- [util] Add support for setting log level for newly created logger using environment variable
SAP_CLOUD_SDK_LOG_LEVEL. (4d2b49b)
- [connectivity] Retrieve only one destination per requested destination instead of all subaccount and instance destinations. (See compatibility notes.) (c721bbd)
- [connectivity] Allow the use of authentication type
NoAuthenticationwith proxy typeOnPremisewithout requiring theSAP-Connectivity-Authenticationheader. (28c9cb7)
API Docs: https://sap.github.io/cloud-sdk/api/3.9.0
- [odata-common] Add support for subrequest serialization where a batch request may only contain an entity with no path. (a87dd7f)
API Docs: https://sap.github.io/cloud-sdk/api/3.8.1
- [eslint-config] Update eslint plugins (d6bbd3210)
API Docs: https://sap.github.io/cloud-sdk/api/3.8.0
- [connectivity] Remove unused internal functionality around JWT property access, like
userFromJwt(removed) andaudiences(changed). (693cd655f)
- [mail-client] Add Support for
Location IDin destinations of typeMAIL(8516b7f04)
- [generator] Don't generate
delete(),update(), andgetByKey()methods in the RequestBuilder of an entity without keys.- @sap-cloud-sdk/generator-common@3.8.0
- @sap-cloud-sdk/odata-common@3.8.0
- @sap-cloud-sdk/odata-v2@3.8.0
- @sap-cloud-sdk/odata-v4@3.8.0
- @sap-cloud-sdk/util@3.8.0 (34ef77a1c)
API Docs: https://sap.github.io/cloud-sdk/api/3.7.0
- [odata-common, odata-v2, odata-v4, generator, generator-common] Do not send
nullvalues in the request payload for properties that are not set while creating or updating an entity. [Fixed Issue] FixRangeError: Maximum call stack size exceedederror that occurs when updating an entity after callinggetByKey. (bdcf14f85)
API Docs: https://sap.github.io/cloud-sdk/api/3.6.0
- [connectivity] Proxy configuration is no longer realized through a proxy agent, but with the native axios proxy setting instead. (025b6aa2c)
- [connectivity] Use axios native proxy, instead of proxy agent, which causes connection issues for write requests on SAP Cloud Connector. (025b6aa2c)
- [http-client] Fix CSRF token fetching against OnPremise systems. (c2a2987c5)
API Docs: https://sap.github.io/cloud-sdk/api/3.5.0
- [connectivity] Compare
selectionStrategyinDestinationFetchOptionsbased on value instead of reference. (7ed5ceb52) - [connectivity] Fix destination caching for destinations from service bindings. The destinations are not cached repeatedly. The function
getDestinationFromServiceBinding()returnsundefinedfor destinations which have expired JWTs. (bf54df09b) - [connectivity] Support destinations of type
ClientCertificateAuthenticationwithout password.- @sap-cloud-sdk/resilience@3.5.0
- @sap-cloud-sdk/util@3.5.0 (2277f9443)
- [odata-common, odata-v2, odata-v4] Fix OData v2 serialization for
Edm.Decimalto serialize tostring. (ee7477ce2)
API Docs: https://sap.github.io/cloud-sdk/api/3.4.0
- [connectivity] Deprecate
destinationForServiceBinding()andPartialDestinationFetchOptions. UsegetDestinationFromServiceBinding()andServiceBindingTransformOptionsinstead. (bde64634d)
- [connectivity] Always add a name to destinations from service bindings created with
getDestinationFromServiceBinding(). (db0780f1b) - [connectivity] Support forwarding of auth tokens for destinations from the destination service, service bindings and environment variables. (bde64634d)
- [odata-common, odata-v4] Serialize properties of type "Edm.Decimal" to numbers when they are within the safe range and strings when they are not. (431d2a542)
API Docs: https://sap.github.io/cloud-sdk/api/3.3.0
-
[connectivity] The
expiresInproperty ofauthTokenson aDestinationcan be undefined. (c09b1d06f) -
[connectivity] Deprecate
getAgentConfig():- Temporarily use replacement function
getAgentConfigAsync(). - Rename
getAgentConfigAsync()togetAgentConfig()in next major version. (36a01f775)
- Temporarily use replacement function
- [connectivity] Add option to cache mTLS certificates. (36a01f775)
- [connectivity] Do not rely on XSUAA service when caching service tokens. Cache keys are now based on service credentials URL. (0583836bc)
- [connectivity] Do not rely on the XSUAA service binding to retrieve tenant information when registering destinations. If tenant is unknown and no binding is found, set it to a default value (
'tenant_id'). (8f54207b6) - [connectivity] Read mTLS certificates asynchronously. (36a01f775)
- [connectivity] Remove dependency to XSUAA service binding when checking whether a JWT was issued by XSUAA for destination retrieval. Now, the
ext_attr.ehancerproperty is checked. (6b58354e8) - [http-client] Do not set default tenant ID in the context of middlewares, if the tenant ID is unknown. In those cases it will be
undefinedfrom now on. (8f54207b6)
API Docs: https://sap.github.io/cloud-sdk/api/3.2.0
- [connectivity] Enable the use of mTLS certificates for registered destinations on CloudFoundry. (616d77b85)
- [connectivity] Set the default validity time of the client credentials token cache to 5 minutes instead of never expiring. (782b9e37e)
- [connectivity, http-client] Forward the user JWT irrespective of the destination authentication type when
forwardAuthTokenis set to true on a destination (56c3f70f4) - [http-client] Improve CSRF token fetching for large requests. (73ff0ab03)
- [odata-common] Remove encoding of keys in the
getEntityKeys()as it should only happen once ingetResourcePathForKeys().Fixes the errorvalue.format is not a functionwhen executing requests for entities withEdm.Datetype key property. (aa1a4bdb0) - [resilience] Fix parsing error when the last response in a chain of retries returned undefined.
- @sap-cloud-sdk/util@3.2.0 (234675fc3)
API Docs: https://sap.github.io/cloud-sdk/api/3.1.1
- [resilience] Fix transpilation on OData generation, where types for 'opossum' could not be found.
- @sap-cloud-sdk/util@3.1.1 (166a16d82)
API Docs: https://sap.github.io/cloud-sdk/api/3.1.0
- [connectivity] The combination of
issandjwtis now supported when fetching destinations. When both properties are set, theissproperty is no longer ignored. (28b7af86f)
- [connectivity] Add support for authentication type
NoAuthenticationon-premise destinations. (039412e59) - [connectivity] Allow combination of
issanjwtwhen fetching a destination. In this case theissURL will be used to fetch the destination service token andjwtwill be used for thex-user-tokenheader of user based authentication types. (28b7af86f)
- [odata-common] Adjust
FromJsonTypeto stricter typings in TypeScript 5. (cc8425abc)
API Docs: https://sap.github.io/cloud-sdk/api/3.0.2
- [odata-common, odata-v2, odata-v4] The
ActionFunctionImportRequestBuilderBasehas an additional mandatory type parameter to pass the according (de-)serializer type. This was missing previously due to a bug. (2fa8c36a6)
- [connectivity] Fix the
The proxy configuration is undefinederror for OnPremMAILdestinations by removing theisHttpDestinationcheck when adding proxyConfiguration to the destination object.- @sap-cloud-sdk/resilience@3.0.2
- @sap-cloud-sdk/util@3.0.2 (47fc7278d)
- [mail-client] Fix error
Greeting never receivedwhen sending emails to On-Premise mail servers. The_readableListeningproperty of socket is set totrueto allow nodemailer to receive SMTP greeting messages. (47fc7278d) - [mail-client] Fix
Invalid greetingerror from nodemailer by removing thetransport.verifyfunction call. (be04dafc2) - [odata-common, odata-v2, odata-v4] Fix batch requests to accept only functions or actions. (2fa8c36a6)
API Docs: https://sap.github.io/cloud-sdk/api/3.0.1
- [resilience] Deprecate erroneously exposed
circuitBreakerHttp()function in favor ofcircuitBreaker().- @sap-cloud-sdk/util@3.0.1 (fcab06c4b)
- [generator-common] Improve logs when generating OData clients without package.json
- @sap-cloud-sdk/util@3.0.1 (c78c16ddf)
API Docs: https://sap.github.io/cloud-sdk/api/2.10.0
- [odata-common, odata-v2, odata-v4] Changed constructor argument of class
EntityBasefromschemato_entityApi. (144ff66f4)
- [openapi-generator] Add
forceoption tormcommands, when settingclearOutputDirto true. (f76da3060)
- [odata-v2, odata-v4] Fix the "entity generic type" of the "delete request builder". (f76da3060)
- [generator, openapi-generator] Show detailed error message of compilation errors instead of
[object Object]. (f76da3060) - [generator-common] Show detailed error message of compilation errors instead of
[object Object].- @sap-cloud-sdk/util@2.10.0 (f76da3060)
API Docs: https://sap.github.io/cloud-sdk/api/2.11.0
- [odata-common] Add
getBatchReference()andsetBatchId()in request builders to use the batch ID as a reference to an entity in a batch request changeset. Batch reference are available increate,delete,getByKey,updateandactions/functionsrequest builder. (79e0fe811) - [odata-v4, generator] Support parsing and generating OData bound functions and actions in OData v4 (8ea28151b)
- [generator, openapi-generator, generator-common] Generated sources are formatted using prettier with default config. Use the CLI option
prettierConfigPathto provide a custom config. (74e14427a)
- [odata-common] Change the place where batch ID is generated from on serialization to request creation. (79e0fe811)
API Docs: https://sap.github.io/cloud-sdk/api/2.7.1
- [mail-client] Fix proxy authorization for sending emails.
- @sap-cloud-sdk/connectivity@2.7.1
- @sap-cloud-sdk/util@2.7.1 (e7fa8d35)
API Docs: https://sap.github.io/cloud-sdk/api/2.5.0
- [odata-common, generator] Change
Edm.String,Edm.BooleanandEdm.Guidto be orderable to supportlt/lessThan(),le/lessOrEqual(),gt/greaterThan(), andge/greaterOrEqualoperators. Re-generate odata services to adopt the changes. (c3166ff6) - [util] Stop using
VCAP_SERVICESto determine the log format. UsesetLogFormatandsetGlobalLogFormatto specify the log format. By default, the log format is set tokibanaforNODE_ENV=productionandlocalotherwise. (89f1c423)
- [http-client] Fix the
executeHttpRequestfunction, so it accepts the same parameters as in version 1. [Compatibility Note] Deprecate one overload of theexecuteHttpRequestfunction, that acceptsHttpRequestConfigWithOriginas a parameter. Use the new functionexecuteHttpRequestWithOriginas replacement. [New Functionality] Support defining header options and query parameter options with origins. (9481ec69)
API Docs: https://sap.github.io/cloud-sdk/api/2.4.0
- [connectivity] Only log the successful retrieval of destinations on the
infolog level, log everything else is on thedebugorwarnlevel. (04726a35) - [connectivity] Mark the function
noDestinationErrorMessageas internal API. (0a008674) - [odata-v4] Mark the function
uriConverteras internal API. (0a008674) - [eslint-config] Switch the following
jsdocrelated levels fromwarntoerror:jsdoc/check-param-namesjsdoc/require-description-complete-sentencejsdoc/require-jsdocjsdoc/require-paramjsdoc/require-returns(0a008674)
- [connectivity] Support self-signed certificate using the
trustStoreproperty of the destination object. (0a008674)
- [connectivity] Reduce default log output on the
infolevel significantly. (04726a35) - [http-client] Reduce default log output on the
infolevel significantly. [Compatibility Note] Only log the successful retrieval of destinations on theinfolog level, log everything else is on thedebugorwarnlevel. (04726a35)
- [util] Fix a bug in the implementation of the trim method. (0a008674)
API Docs: https://sap.github.io/cloud-sdk/api/2.6.0
- [odata-v4, temporal-de-serializers] Adjust parsing of
Edm.Date,Edm.DateTimeOffset,Edm.Time, andEdm.Durationto be closer to the OData v4 specification. There may be loss of precision if using the default (de-)serializers with high-precision fractional seconds. (de851289) - [generator] Deprecate generator option
versionInPackageJson. If you need to set the version, use the newincludeoption to add your ownpackage.jsonfile instead. (069aa168) - [generator] The hidden generator option
additionalFilesis renamed toinclude. (069aa168)
- [connectivity] Support JWTs without a
JKUproperty. (cb598c16) - [connectivity] Add interface
DestinationCacheInterfaceand methodsetDestinationCacheto support implementation of custom destination cache. (09094607) - [connectivity] Fetch client credential token for destinations created by service bindings. (93d41281)
- [generator] New generator option
includewhich allows to add files to generated packages. (069aa168)
- [http-client] Make
requestConfigofOriginOptionsoptional. (e46bb51d)
- [connectivity] Fix
getDestination()to allow passing an async transform functionserviceBindingTransformFninoptions. The transform function can also be passed byexecute(),executeHttpRequest(),executeRaw(), etc. [Compatibility Note] RenametransformationFnintoserviceBindingTransformFninDestinationForServiceBindingsOptionsto avoid ambiguity and make the function async. (8fdfebd6) - [http-client] Fix the
executeHttpRequest/executeHttpRequestWithOriginfunction, so the warning is only shown when overwriting headers by using custom headers. (e44c214a) - [odata-common, odata-v4, temporal-de-serializers] Fix parsing of
Edm.DateTimeOffsetwith high-precision fractional seconds and edge-cases like 5-digit years. (de851289) - [odata-common, generator] Allow OData service to contain an entity name 'entity'. (0675ee3b)
- [odata-v2] Support negative epoch timestamps in serialization. (9ffe0824)
API Docs: https://sap.github.io/cloud-sdk/api/2.7.0
- [openapi-generator] Support globs in the
inputoption. (3f70b0c9)
- [connectivity] Support consumption of the XSUAA API via destinations. (010a46fa)
- [connectivity] Fix a breaking change of
serviceTokenintroduced in 2.0, so it acceptsXsuaaServiceCredentialsagain as an option. (3bff42e1)
API Docs: https://sap.github.io/cloud-sdk/api/2.8.0
- [eslint-config] Activated the eslint rule 'check-tag-names' to allowed jsdoc tags. If you use custom tags add them via the 'definedTags' in the eslint options. (15e9ef4b)
- [generator] Deprecated
generateNpmrccli option. This option was only used to configure the now defunct npm registry hosted by SAP. It now has no effect anymore and should be removed in all invocations of the generator cli. (15e9ef4b) - [generator, openapi-generator, generator-common] Description for package.json in a generated client has changed. (15e9ef4b)
- [mail-client] Support defining the strategy of sending emails. By default, the emails are sent "in parallel" and can be set to "in sequential". (15e9ef4b)
- [odata-common, generator] Allow function imports using GET http method in batch requests. (15e9ef4b)
- [connectivity] Reduce default logs for failing requests in @sap-cloud-sdk/http-client.
- @sap-cloud-sdk/util@2.8.0 (15e9ef4b)
- [connectivity] Remove last explicit references to 'VCAP_SERVICES' and replace them with '@sap/xsenv'. (15e9ef4b)
- [connectivity] Fix that unparsable destinations in the subaccount prevent other destinations from beeing fetched. (15e9ef4b)
API Docs: https://sap.github.io/cloud-sdk/api/2.9.0
- [connectivity] Support fetching all subaccount- and service instance destinations from the destination service simultaneously. (24029503)
- [mail-client] Expose SMTP transport options of
nodemailer. (d1bf2dee) - [util] Add method
setGlobalTransportsto support setting custom transport globally. (4c51d3dc)
- [odata-common] Make OderBy() set in ascending order by default. (f62eb0d3)
API Docs: https://sap.github.io/cloud-sdk/api/3.0.0
- [connectivity] The generic types of
JwtKeyMappingis simplified so the second type argumentJwtKeysTare always strings. (fde964e37) - [connectivity] The
Protocolenum was replaced with a string literal union type. Now, instead of passingProtocol.HTTPSpass 'https'. (fde964e37) - [connectivity, http-client, openapi, odata-common, odata-v2, resilience] Remove the options
timeoutandenableCircuitBreakerfrom all BTP service interactions i.e. destination and token fetching. (fde964e37) - [connectivity, http-client, mail-client, openapi, odata-common, odata-v2, odata-v4, eslint-config, generator, test-util, util, openapi-generator, generator-common, temporal-de-serializers, resilience] Switch the compilerOptions.module to
Node16instead ofCommonJSfor better interoperability with ES modules. See the TypeScript handbook for technical details if needed. (fde964e37) - [connectivity] The enum
IsolationStrategywas replaced with a string literal union type of the same name. Use 'tenant' and 'tenant-user' instead ofIsolationStrategy.TenantandIsolationStrategy.Tenant_User. (fde964e37) - [connectivity, http-client, odata-common] ] The
urlproperty inDestinationis now optional as destinations of typeMAILdo not have a URL. (fde964e37) - [http-client, openapi, odata-common] Remove
timeout()method from the request builders and thetimeoutoptions from theexecuteHttpRequest()function. Visit the documentation portal to see how to add a timeout using middlewares. (fde964e37) - [http-client] Removed overload of executeHttpRequest
The overload, that accepted
HttpRequestConfigWithOriginas a parameter, is removed and replaced by the functionexecuteHttpRequestWithOrigin. (fde964e37) - [odata-common, generator, util] By default, generation of OData clients fails if a service path cannot be determined. Either provide
servicePathvalue in theoptions-per-service.jsonor setskipValidationto true, in which case,/will be used. (fde964e37) - [odata-common] The constructor of
ODataRequestConfigwas changed so that the third parameter cannot be astringanymore. Passing in a string which was then interpreted as the value for theContent-TypeHTTP header was deprecated. The type of the parameter is nowRecord<string, any>, and if only want to set theContent-TypeHTTP header you can do so by passing{'content-type': 'some-value'}to the constructor. (fde964e37) - [odata-common] The constructor of the entity API is private to avoid accidental usage. Use the service object to get a API instance. (fde964e37)
- [odata-common, generator, openapi-generator] The
serviceMappingoption of the OData generator has been renamed tooptionsPerService. The mapping file,service-mapping.jsonhas also been renamed tooptions-per-service.json. By default, an options file will not be generated. (fde964e37) - [odata-common] Setting custom fields in
fromJsonthrough the_customFieldsproperty has been removed. Add custom properties to your JSON object instead. (fde964e37) - [generator] The options per service behavior is now the same as for the OpenApi generator. For details on how to migrate and what has change look at the migration guide. (fde964e37)
- [generator] The deprecated
forceOverwriteoption of the generator is removed. Use theoverwriteoption instead. [Compatibility Note] The deprecatedgeneratePackageJsonoption of the generator is removed. Use thepackageJsonoption instead. [Compatibility Note] The deprecatedwriteReadmeoption of the generator is removed. Use thereadmeoption instead. [Compatibility Note] The deprecatedprocessesJsGenerationoption of the generator is removed. Use thetranspilationProcessesoption instead. [Compatibility Note] The internal optionssdkAfterVersionScript,s4HanaCloudandpackageVersionof the generator are removed. These were hidden options never meant for external usage and there is no replacement. [Compatibility Note] The deprecatedgenerateNpmrcoption of the generator is removed. Use theincludeoption to add a.npmrcto the generated code if needed. (fde964e37) - [generator] Add
verbosegenerator option. By default, only error and warning logs will be displayed. Ifverboseis set totrue, all logs will be displayed. (fde964e37) - [generator] The
generateJsoption has been replaced with thetranspileoption. Transpilation is not enabled by default. (fde964e37) - [generator] The command line argument
inputDirof the OData generator is renamed toinput. The newinputoptions accepts now also file paths and glob patterns. (fde964e37) - [generator] The OData generator won't automatically rename identifiers to avoid name conflicts.
The generation process will fail if identifiers have conflicting names.
Switch on the
skipValidationflag if you want to generate despite name conflicts and are okay with changed identifier names to avoid conflicts. (fde964e37) - [generator, openapi-generator, generator-common] Removed the option
versionInPackageJsonfrom the OData and OpenAPI generator. If the optionpackageJsonis enabled now apackage.jsonwith a default version1.0.0is created. If necessary use theincludeoption to add apackage.jsonwith a custom value. [Compatibility Note] Removed the optionlicenseInPackageJsonfrom the OData and OpenAPI generator. If the optionpackageJsonis enabled now apackage.jsonwith a default licenseUNLICENSEDis created. If necessary use theincludeoption to add apackage.jsonwith a custom value. (fde964e37) - [generator, openapi-generator] Rename servicePath to basePath. (fde964e37)
- [generator] The option
generateCSNis removed. There is no replacement. (fde964e37) - [generator] The type for paths in the
GeneratorOptionsis changed fromfs.PathLiketostring. In case you passed a buffer object please resolve it to a string before passing it to the SAP Cloud SDK. (fde964e37) - [generator, openapi-generator, generator-common] The two generators use the same CLI parsing code now, aligning the way paths are resolved.
In case you experience problems with the new logic, enable the
verboseflag to investigate the new paths. (fde964e37) - [util] The function
variadicArgumentToArrayis replaced by the functiontransformVariadicArgumentToArray. (fde964e37) - [util] The field
loggeron the interfaceLoggerOptionswas not used and is removed from the interface. (fde964e37) - [openapi-generator] The internal option
packageVersionof the OpenAPI generator is removed. (fde964e37) - [openapi-generator]
tsConfigoption has been renamed totsconfig. (fde964e37) - [generator-common] The generator does not create
d.ts.mapfiles per default anymore. If you need them include a customtsconfig.json. [Compatibility Note] All SAP Cloud SDK packages ship withoutd.ts.mapfiles from now on. Modern IDEs don't require those files for code navigation, thus they are removed to decrease download size of the SDK. (fde964e37)
- [connectivity] Support
OAuth2RefreshTokenauthentication type (fde964e37) - [connectivity] Add a
retryoption in theDestinationFetchOption. Enable this options if the token exchange done by the destination service is unstable. (fde964e37) - [connectivity, resilience] Add
ResilienceOptionsandresilience()function. The function returns an array of middlewares based on the provided options. (fde964e37) - [http-client, resilience] The request configuration used in the final request is now part of the middleware context.
User can implement middlewares to change request properties like
headersusing this reference in the middleware context. The request configuration contains theurl,headersand all other properties of the HTTP request. (fde964e37) - [http-client, openapi, odata-common] Introduce the middleware on the request builders and http-client. Visit the documentation portal to see how to use middlewares. (fde964e37)
- [generator, generator-common] Introduced options
transpileandtsconfigto configure transpilation for generated OData clients. (fde964e37)
- [connectivity] Replace
Protocolenum with a string literal union type. (fde964e37) - [connectivity] Replace
IsolationStrategyenum with union type. (fde964e37) - [generator] Align naming rules for operations and properties in OData clients by removing
_prefix (fde964e37)
- [connectivity] Fix the combination of providing the
isstogether withOnPremisebasic destinations. (fde964e37) - [odata-v2] Allow to update OData v2 entities to
null. Fixes 3204. (fde964e37) - [generator] Allow OData service to contain an entity name 'Service'. (fde964e37)
- [generator] Now links to the correct generator binary. (fde964e37)