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