fa024705eed5c5aead8e8e33d296583355c1f430
[federation.git] / docs / release-notes.rst
1 .. ===============LICENSE_START=======================================================
2 .. Acumos CC-BY-4.0
3 .. ===================================================================================
4 .. Copyright (C) 2017-2019 AT&T Intellectual Property & Tech Mahindra. All rights reserved.
5 .. ===================================================================================
6 .. This Acumos documentation file is distributed by AT&T and Tech Mahindra
7 .. under the Creative Commons Attribution 4.0 International License (the "License");
8 .. you may not use this file except in compliance with the License.
9 .. You may obtain a copy of the License at
10 ..
11 .. http://creativecommons.org/licenses/by/4.0
12 ..
13 .. This file is distributed on an "AS IS" BASIS,
14 .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 .. See the License for the specific language governing permissions and
16 .. limitations under the License.
17 .. ===============LICENSE_END=========================================================
18
19 ================================
20 Federation Gateway Release Notes
21 ================================
22
23 This server is available as a Docker image in a Docker registry at the Linux Foundation.
24 The image name is "federation-gateway" and the tag is a version string as shown below.
25
26 Version 3.0.2, 2019-11-04
27 -------------------------
28 * Don't re-tag imported docker images unless the tag is different (`ACUMOS-3670 <https://jira.acumos.org/browse/ACUMOS-3670>`_)
29 * Update dependency versions for the security and license profile validation clients (`ACUMOS-3669 <https://jira.acumos.org/browse/ACUMOS-3669>`_)
30
31 Version 3.0.1, 2019-09-26
32 -------------------------
33 * When a model has been federated, register it with the license manager (`ACUMOS-3484 <https://jira.acumos.org/browse/ACUMOS-3484>`_)
34   * This adds a new required configuration value, "license-manager.url" for the
35     license management service.
36
37 Version 3.0.0, 2019-09-13
38 -------------------------
39 * Upgrade server to Java 11.  Compile client for Java 8 (`ACUMOS-3334 <https://jira.acumos.org/browse/ACUMOS-3334>`_)
40   * Compile and run with Java 11, but keep client library compliance level at Java 8.
41
42 * Add "acumos/" prefix to container image name
43
44 * Update to CDS 3.0.0
45
46 Version 2.3.0, 2019-09-06
47 -------------------------
48 * Portal to show details of federation actions (`ACUMOS-1778 <https://jira.acumos.org/browse/ACUMOS-1778>`_)
49
50 * Run SV license scan when a model has been federated (`ACUMOS-3396 <https://jira.acumos.org/browse/ACUMOS-3396>`_)
51   * This adds a new required configuration value, "verification.url" for the
52     security verification service.
53
54 * Java code upgrade to Java 11 (`ACUMOS-3334 <https://jira.acumos.org/browse/ACUMOS-3334>`_)
55
56 * Update to CDS 2.2.6
57
58 * Fix DI artifact create fail due to Federation use of a stale TCP stream (`ACUMOS-3193 <https://jira.acumos.org/browse/ACUMOS-3193>`_)
59
60 * Federated model DI name to include model name - same as source peer DI name (`ACUMOS-3195 <https://jira.acumos.org/browse/ACUMOS-3195>`_)
61
62 * Publish E5 Federation client library (`ACUMOS-2760 <https://jira.acumos.org/browse/ACUMOS-2760>`_)
63
64   3 new sub-projects are introduced, in addition to the existing "gateway" sub-project.
65   * "acumos-fgw-client-config" contains bean classes used to specify properties
66     of a client's connection to its server, including basic authentication and
67     TLS (SSL) related properties.
68
69   * "acumos-fgw-client-test" contains classes for providing mock responses to
70     a client for testing applications that make calls to a server, as well as
71     dummy key store and trust store files to enable a client to be used to
72     test a server.
73
74   * "acumos-fgw-client" contains implementations of clients for both the
75     external "E5" and private interfaces to the Acumos Federation Gateway
76     as well as bean classes for the JSON wire formats used by those interfaces.
77
78   The existing "gateway" project is modified to use the client subproject when
79   making requests to a peer Acumos instance, when sending or receiving
80   artifacts from the Nexus server, and for creating the rest template used
81   to communicate with CDS.
82
83 * Access to the Swagger API is fixed and now gives responses appropriate to
84   the interface being queried (external "E5" or private).
85
86 * Some configuration is simplified.
87   * The federation.ssl.client-auth configuration parameter is now named
88     federation.client-auth and defaults to WANT, enabling access to the
89     Swagger specification on the external "E5" interface without requiring
90     a client certificate.  Attempts to access the REST API endpoints without
91     providing a client certificate will return a 403 Forbidden error.
92   * The local.ssl.client-auth configuration parameter is now named
93     local.client-auth and defaults to WANT, enabling access to the
94     Swagger specification on the private interface without requiring
95     a client certificate.  Attempts to access the REST API endpoints without
96     providing a client certificate will return a 403 Forbidden error.
97   * The federation.registration.enabled configuration parameter is now named
98     federation.registration-enabled.  It still defaults to False.
99   * The federation.instance configuration parameter no longer needs to be set to
100     "gateway" and no longer has any effect.
101   * The value "local" in the spring.profiles.active configuration parameter no
102     longer has any effect.
103   * The catalog.catalogs-selector configuration parameter no longer has any effect.
104   * The various task.* configuration parameters no longer have any effect.
105   * The cdms.client.page-size configuration parameter no longer has any effect.
106   * The catalog-local.source, catalog-local.catalogs, codes-local.source,
107     peers-local.source, and peer-local.interval configuration parameters no
108     longer have any effect.
109
110 * Documentation is updated to reflect these changes.
111
112 Version 2.2.1, 2019-07-18
113 -------------------------
114 * Fix Boreas branch Jenkins build not working (`ACUMOS-3244 <https://jira.acumos.org/browse/ACUMOS-3244>`_)
115
116 * Fix DI artifact create fail due to Federation use of a stale TCP stream (`ACUMOS-3193 <https://jira.acumos.org/browse/ACUMOS-3193>`_)
117
118 * Federated model DI name to include model name - same as source peer DI name (`ACUMOS-3195 <https://jira.acumos.org/browse/ACUMOS-3195>`_)
119
120 Version 2.2.0, 2019-04-16
121 -------------------------
122 * Increase Spring async task timeout value (spring.mvc.async.request-timeout)
123   to 10 minutes (`ACUMOS-2749 <https://jira.acumos.org/browse/ACUMOS-2749>`_)
124
125   This prevents timeouts during retrieval of large docker image artifacts.
126
127 * Update to CDS 2.2.x with subscription by catalogs (`ACUMOS-2732 <https://jira.acumos.org/browse/ACUMOS-2732>`_)
128
129   This makes changes to the REST api for accessing Federation on both the
130   public and private interfaces:
131
132   * When listing solutions, the optional selector query parameter is replaced
133     by a required catalogId query parameter
134
135   * When getting revision details an optional catalogId query parameter is
136     added, used to retrieve descriptions and documents, from that catalog, for
137     the revision.  If not specified, no descriptions or documents are returned.
138
139   * When getting artifact and document content, the form of the URI is changed
140     to eliminate the unused solution and revision IDs.
141
142   * When getting documents for a revision, the form of the URI is changed
143     to eliminate the unused solution ID and a required catalogID query parameter
144     is added.
145
146   Solution revisions in CDS no longer have access type codes, so the (optional)
147   catalog.default-access-type-code configuration parameter has been removed.
148
149 * Eliminate vulnerabilities and many "code smells" identified by SONAR.
150
151 Version 2.1.2, 2019-03-27
152 -------------------------
153 * Add JUnit test cases to reach 50% or better code coverage (`ACUMOS-2584 <https://jira.acumos.org/browse/ACUMOS-2584>`_)
154 * Add API to list remote catalogs to support subscribing (`ACUMOS-2575 <https://jira.acumos.org/browse/ACUMOS-2575>`_)
155   API to list catalogs is /catalogs
156 * Refactor code to avoid duplication related to implementing listing remote catalogs.
157 * Documentation configuration parameters (`ACUMOS-2661 <https://jira.acumos.org/browse/ACUMOS-2661>`_)
158
159 Version 2.1.1, 2019-03-07
160 -------------------------
161 * Solution picture should be copied (`ACUMOS-2570 <https://jira.acumos.org/browse/ACUMOS-2570>`_)
162
163 Version 2.1.0, 2019-03-05
164 -------------------------
165 * Update to CDS 2.1.2
166
167 Version 2.0.1, 2019-02-26
168 -------------------------
169
170 * Add catalogId field in solution search selector (`ACUMOS-2285 <https://jira.acumos.org/browse/ACUMOS-2285>`_)
171 * Normalize configured Nexus URL to have exactly one trailing slash (`ACUMOS-2554 <https://jira.acumos.org/browse/ACUMOS-2554>`_)
172 * Allow server to run as unprivileged user (`ACUMOS-2551 <https://jira.acumos.org/browse/ACUMOS-2551>`_)
173 * Various problems found with version 2.0.0 (`ACUMOS-2570 <https://jira.acumos.org/browse/ACUMOS-2570>`_)
174   - List dependency on jersey-hk2 for spring-boot
175   - Instant rendered as JSON object rather than seconds since epoch
176   - Seconds since epoch may parse as Integer instead of Long
177
178 Version 2.0.0, 2019-02-20
179 -------------------------
180
181 * Use Boreas log pattern; remove EELF (`ACUMOS-2329 <https://jira.acumos.org/browse/ACUMOS-2329>`_)
182 * Fix repeated update of metadata (`ACUMOS-2399 <https://jira.acumos.org/browse/ACUMOS-2399>`_)
183 * Update to CDS 2.0.7
184
185 Version 1.18.7, 2018-10-30
186 --------------------------
187
188 * Fix the subscription task early cancellation (`ACUMOS-1937 <https://jira.acumos.org/browse/ACUMOS-1937>`_)
189 * Fix the preemptive authentication (`ACUMOS-1952 <https://jira.acumos.org/browse/ACUMOS-1952>`_)
190
191 Version 1.18.6, 2018-10-08
192 --------------------------
193
194 * Fix for the handling of mis-represented content uris (`ACUMOS-1780 <https://jira.acumos.org/browse/ACUMOS-1780>`_)
195 * Adds subscription option directing the handling of error in content retrieval with respect to catalog updates
196
197 Version 1.18.5, 2018-10-02
198 --------------------------
199
200 * Fix for loss of file name prefix/suffix (`ACUMOS-1780 <https://jira.acumos.org/browse/ACUMOS-1780>`_)
201 * Fix for processing of docker artifacts, push to the local registry (`ACUMOS-1781 <https://jira.acumos.org/browse/ACUMOS-1781>`_)
202 * Add peer 'isActive' as controller calls pre-authorization check
203 * Fix the artifact content processing condition in the gateway
204
205 Version 1.18.4, 2018-09-21
206 --------------------------
207
208 * Fix download of large artifacts
209 * Upgrade Spring-Boot to 1.5.16.RELEASE (`ACUMOS-1754 <https://jira.acumos.org/browse/ACUMOS-1754>`_)
210
211 Version 1.18.3, 2018-09-14
212 --------------------------
213
214 * Increase max heap size
215 * configuration changes:
216   new top level docker configuration block::
217
218     "docker": {
219         "host": "tcp://your_host:port",
220         "registryUrl": "your_registry:port",
221         "registryUsername": "docker_username",
222         "registryPassword": "docker_password",
223         "registryEmail": ""
224     }
225
226 Version 1.18.2, 2018-09-13
227 --------------------------
228
229 * Rely on solution detail API for mapping (`ACUMOS-1690 <https://jira.acumos.org/browse/ACUMOS-1690>`_)
230 * Add binary stream to resource http content mapper (`ACUMOS-1690 <https://jira.acumos.org/browse/ACUMOS-1690>`_)
231 * Allow configuration of underlying executor and scheduler
232 * Do not overwrite user during mapping for local solutions
233
234 Version 1.18.1, 2018-09-05
235 --------------------------
236
237 * Simplified catalog solutions lookup
238 * Fix 'self' peer not found (`ACUMOS-1694 <https://jira.acumos.org/browse/ACUMOS-1694>`_)
239 * Fix task scheduler initialization (`ACUMOS-1690 <https://jira.acumos.org/browse/ACUMOS-1690>`_)
240 * Fix solution tag handling
241 * Move solution and revision updates to service interface
242
243 Version 1.18.0, 2018-09-05
244 --------------------------
245
246 * Align with data model changes from CDS 1.18.x
247 * Fix subscription update processing (`ACUMOS-1693 <https://jira.acumos.org/browse/ACUMOS-1693>`_)
248
249 Version 1.17.1, 2018-09-04
250 --------------------------
251
252 * Spread the use of configuration beans (`ACUMOS-1692 <https://jira.acumos.org/browse/ACUMOS-1692>`_)
253
254 Version 1.17.0, 2018-08-14
255 --------------------------
256
257 * Align with data model changes from CDS 1.17.x
258 * Add revision document federation (`ACUMOS-1606 <https://jira.acumos.org/browse/ACUMOS-1606>`_)
259 * Add tag federation (`ACUMOS-1544 <https://jira.acumos.org/browse/ACUMOS-1544>`_)
260 * Fix authorship federation (`ACUMOS-626 <https://jira.acumos.org/browse/ACUMOS-626>`_)
261 * The federation API for access to artifact and document content access have changed
262   to /solutions/{solutionId}/revisions/{revisionId}/artifacts/{artifactId}/content
263   and /solutions/{solutionId}/revisions/{revisionId}/documents/{documentId}/content
264
265 Version 1.16.1, 2018-08-08
266 --------------------------
267
268 * Temporary patch for tag handling during federation procedures
269
270 Version 1.16.0, 2018-08-01
271 --------------------------
272
273 * Aligns with the data model changes from CDS 1.16.x
274 * Minor fixes in order to adhere to project coding standards.
275
276 Version 1.15.1, 2018-07-31
277 --------------------------
278
279 * Fixes catalog solution lookup strategy due to used criteria moving to other entities (solution -> revision)
280 * Fixes some Sonar complaints
281 * Adds more unit tests for CDS based service implementations
282 * Align version numbers with CDS
283
284 Version 1.1.5, 2018-07-12
285 -------------------------
286
287 * Aligns with the data model changes from CDS 1.15 (`ACUMOS-1330 <https://jira.acumos.org/browse/ACUMOS-1330>`_)
288
289 Version 1.1.4.1, 2018-07-11
290 ---------------------------
291
292 * Fix handling of docker images with no tags (`ACUMOS-1015 <https://jira.acumos.org/browse/ACUMOS-1015>`_)
293
294 Version 1.1.4, 2018-06-20
295 -------------------------
296
297 * Fix result size test when retrieving 'self' peer
298 * Fix handling of null solutions filter in the service. Fix the handling of no such item errors in catalog controller.
299
300 Version 1.1.3, 2018-05-10
301 -------------------------
302
303 * Upgrade to CDS 1.14.4
304
305 Version 1.1.2, 2018-04-19
306 -------------------------
307
308 * Revise code for Sonar warnings (`ACUMOS-672 <https://jira.acumos.org/browse/ACUMOS-672>`_)
309
310 Version 1.1.1, 2018-04-13
311 -------------------------
312
313 * Unit tests for local interface
314 * Separate federation and local service interfaces (`ACUMOS-276 <https://jira.acumos.org/browse/ACUMOS-276>`_)
315
316 Version 1.1.0, 2018-03-09
317 -------------------------
318
319 * Separate between federation and local interface with respect to network configuration, authorization and available REST API.
320 * Upgrade to CDS 1.14.0
321
322 Version 1.0.0, 2018-02-12
323 -------------------------
324
325 * Use release (not snapshot) versions of acumos-nexus-client and common-dataservice libraries
326 * Limit JVM memory use via Docker start command
327 * Revise docker projects to deploy images to nexus3.acumos.org
328 * Make aspectjweaver part of runtime
329 * Add dependency copy plugin
330
331 Version 0.2.0, 2017-11-28
332 -------------------------
333
334 * Support to CDS 1.9.0
335 * 2-Way SSL Support
336 * X509 Subject Principal Authentication