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