Fix SDK Vulnerabilities
[dcaegen2/services/sdk.git] / Changelog.md
1 # Change Log
2 All notable changes to this project will be documented in this file.
3
4 The format is based on [Keep a Changelog](http://keepachangelog.com/)
5 and this project adheres to [Semantic Versioning](http://semver.org/).
6
7 ## [1.8.10] - 2022/07/29
8 ### Added
9     - [DCAEGEN2-3220] (https://jira.onap.org/browse/DCAEGEN2-3220) - Fix SDK Vulnerability. Top up Spring-Boot version to 2.7.2
10
11 ## [1.8.9] - 2022/07/15
12 ### Added
13     - [DCAEGEN2-3223] (https://jira.onap.org/browse/DCAEGEN2-3223) - Fix CBS client environment variable substitution fails for complex cases
14
15 ## [1.8.8] - 2022/02/07
16 ### Added
17     - [DCAEGEN2-3051] (https://jira.onap.org/browse/DCAEGEN2-3051) - Fix SDK Vulnerability. Top up Spring-Boot version to 2.5.9
18
19 ## [1.8.7] - 2021/08/02
20 ### Added
21     - [DCAEGEN2-2692] (https://jira.onap.org/browse/DCAEGEN2-2692) - Make CBS-Client config and policy file paths configurable by environment variables
22
23 ## [1.8.6] - 2021/06/07
24 ### Added
25     - [DCAEGEN2-2827] (https://jira.onap.org/browse/DCAEGEN2-2827) - Handle 429 error Too Many Requests
26
27 ## [1.8.5] - 2021/06/02
28 ### Added
29     - [DCAEGEN2-2752] (https://jira.onap.org/browse/DCAEGEN2-2752) - Update CBS-Client to read policy configuration from a file exposed by policy-sidecar container
30
31 ## [1.8.4] - 2021/05/14
32 ### Added
33     - [DCAEGEN2-2716] (https://jira.onap.org/browse/DCAEGEN2-2716) - Add to Java CBS-Client ability to resolve evns in app-config.yaml loaded from ConfigMap
34
35 ## [1.8.3] - 2021/04/29
36 ### Added
37     - [DCAEGEN2-2716] (https://jira.onap.org/browse/DCAEGEN2-2716) - Adapt CBS-CLient to read configuration from a file exposed in a cfgMap
38
39 ## [1.8.2] - 2021/03/30
40 ### Added
41     - [DCAEGEN2-2701] (https://jira.onap.org/browse/DCAEGEN2-2701) - Add stndDefinedNamespace field to CommonEventHeader
42
43 ## [1.8.1] - 2021/03/25
44 ### Fixed
45     - [DCAEGEN2-2670] (https://jira.onap.org/browse/DCAEGEN2-2670) - Support authorized topics in DMaaP-Client
46         - Remove test dependencies usage from runtime code
47
48 ## [1.8.0] - 2021/03/10
49 ### Added
50     - [DCAEGEN2-2670] (https://jira.onap.org/browse/DCAEGEN2-2670) - Support authorized topics in DMaaP-Client
51
52 ## [1.7.0] - 2021/02/25
53 ### Added
54     - [DCAEGEN2-1483] (https://jira.onap.org/browse/DCAEGEN2-1483) - VESCollector Event ordering
55         - Add possibility to modify the configuration for persistent connection
56         - Support retry-after header in DCAE-SDK DMaaP-Client
57
58 ## [1.6.0] ##
59     - Add configurable timeout in dmaap-client
60     - Add configurable retry mechanism in dmaap-client
61
62 ## [1.5.0] ##
63     - Update spring boot to version: 2.4.0
64     - Update reactor to version: 2020.0.1
65     - Update testcontainers to version: 1.15.0
66  
67 ## [1.4.4] ##
68     - Fix CbsClientFactory to allow retry on Mono from createCbsClient
69
70 ## [1.4.3] ##
71     - Change parameters of external-schema-manager to JSON notation
72
73 ## [1.4.2] ##
74     - Update spring boot to version: 2.3.3.RELEASE
75
76 ## [1.4.1] ##
77     - Update spring boot to version: 2.2.9.RELEASE
78     - Update testcontainers version:  1.14.3
79     - Fix deprecation warnings
80
81 ## [1.4.0] ##
82     - Add new component external-schema-manager for json validation with schema stored in local cache
83
84 ## [1.3.5] ##
85     - Create jar without dependencies for crypt-password module
86
87 ## [1.3.4] ##
88     - Usage of Java 11
89
90 ## [1.3.3] ##
91     - Upgrade CBS to support SSL
92     - Fix static code vulnerabilities
93     - Exclude IT from tests
94     - Remove AAI client from SDK
95
96 ## [1.3.2] ##
97     - Restructure AAI client
98     - Get rid of common-dependency module
99     - Rearrange files in packages inside rest-services
100
101 ## [1.3.1] ##
102     - Bugfix release: AAI client
103         - Make AaiGetServiceInstanceClient build correct path to the service resource in AAI
104
105 ## [1.3.0] (ElAlto - under development) ##
106     - All El-Alto work noted under 1.2.0-SNAPSHOT will roll into this version
107     - Version update was done for tracking global-jjb migration work and corresponding submission - https://gerrit.onap.org/r/#/c/dcaegen2/services/sdk/+/89902/
108
109 ## [1.2.0] (replaced by 1.3.0) ##
110     - WARNING: This is a work in progress. Do not use unless you know what you are doing!
111
112     - DMaaP client
113         - Change the factory so it's more configurable
114         - Old DMaaP client is now deprecated
115         - Integration tests are now using TestContainers with an actual DMaaP in order to confirm compatibility with a particular DMaaP version.
116         - Breaking change: MessageRouterSubscribeResponse now contains list of JsonElement instead of JsonArray
117     - CBS client
118         - Use new, simplified CBS lookup method
119         - Breaking change: CbsClientConfiguration replaces old EnvProperties. This way the class reflects overall SDK naming convention.
120     - Crypt Password
121         - Additional command line usage options (read password from stdin)
122         - Enhanced test coverage
123     - Internals/others
124         - Remove CloudHttpClient and use RxHttpClient instead which should unify REST API consumption across client libraries
125     - Moher (MOnitoring and HEalthcheck Rest API)
126         - This API is in incubation stage. Do not use it yet.
127         - Initial PoC for new module which should help when implementing these features in a DCAE service
128         - Expose Prometheus-compliant monitoring endpoint
129
130 ## [1.1.6] ##
131     - Bugfix release: (Old) DMaaP client:
132         - Security keys was always loaded from JAR instead of given file system path. Only code using SecurityKeysUtil class had been affected. If you do not use SecurityKeysUtil class or you are using the new DMaaP MR client API (org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.{api, model} packages) then you are safe and the update is not required.
133
134 ## [1.1.5] ##
135     - DMaaP client
136         - Force non-chunked transfer encoding, because DMaaP MR does not support chunks.
137         - DMaaP MR client API should be used in new code. Some minor incompatible changes can occur but it's more or less done.
138
139 ## [1.1.4] ##
140     - Config Binding Service client
141         - predefined parsers for input and output streams
142             - remove the need for a DCAE application to manually interpret streams_publishes (Sinks) and streams_subscribes (Sources) parts of the configuration
143             - available parsers for DMaaP Message Router and DMaaP Data Router streams
144             - experimental support for Kafka streams
145         - support for other CBS endpoints besides get-configuration: get-by-key, get-all (introduces minor but breaking changes)
146     - DMaaP client
147         - New, experimental DMaaP client. It's not ready for use yet (not integration tested with DMaaP instance). However, you can use this API if you target El Alto release (note that some minor interface changes might be introduced).
148     - Internals:
149         - Improved http client: RxHttpClient
150         - RxHttpClient uses chunked transfer-encoding only when content-length is NOT specified.
151
152 Migration guide
153
154 All CbsClient methods gets CbsRequest as a first parameter instead of RequestDiagnosticContext. The CbsRequest may be created by calling CbsRequests factory methods. For existing code to work you will need to do the following change:
155
156 .. code-block:: java
157
158     // From this:
159     CbsClientFactory.createCbsClient(env)
160         .flatMap(cbsClient -> cbsClient.get(diagnosticContext))
161         ...
162
163     // To this:
164     final CbsRequest request = CbsRequests.getConfiguration(diagnosticContext);
165     CbsClientFactory.createCbsClient(env)
166         .flatMap(cbsClient -> cbsClient.get(request))
167         ...
168
169 The similar changes will be required for other CbsClient methods (periodic get and periodic updates).
170
171 ## [1.1.3] (initial release) ##
172     - Config Binding Service client
173         - basic functionality
174         - CBS service discovery
175         - get application configuration as JsonObject
176         - periodic query + periodic updates query
177     - BCrypt password utility