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