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