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