You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+29-3Lines changed: 29 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,42 @@
1
1
# The LabKey Remote API Library for Java - Change Log
2
2
3
-
## version 4.4.0-SNAPSHOT
3
+
## version 5.1.0-SNAPSHOT
4
4
*Released*: TBD
5
5
6
+
## version 5.0.0
7
+
*Released*: 24 January 2023
8
+
* Refactor the `Command` class hierarchy:
9
+
* Add `GetCommand`, new abstract base class for all commands that use get
10
+
* Make `Command` and `PostCommand` abstract
11
+
* Add `SimpleGetCommand`, new concrete class used (instead of `Command`) to invoke GET API actions without creating a subclass
12
+
* Add `SimplePostCommand`, new concrete class used (instead of `PostCommand`) to invoke POST API actions without creating a subclass
13
+
* Refactor parameter handling for consistency:
14
+
*`createParameterMap()` is now used by subclasses to create and populate a mutable map of URL parameters
15
+
*`getParameters()` now returns an immutable copy of the current URL parameter map for external use, typically logging or testing
16
+
* Commands no longer stash and reuse the parameter map; `createParameterMap()` always creates a new map.
17
+
*`setParameters()` is now available only on `SimpleGetCommand` and `SimplePostCommand`. Custom `GetCommand` and `PostCommand`
18
+
subclasses that need to specify parameters are expected to override `createParameterMap()`.
19
+
*`setJsonObject()` is now available only on `SimplePostCommand`. Custom `PostCommand` subclasses that need to post JSON are
20
+
expected to override `getJsonObject()`.
21
+
* Stop passing command subclasses when constructing every `CommandResponse`. The two response classes that need this now implement
22
+
it without burdening all other commands.
23
+
* Introduce `HasRequiredVersion` interface and use it when instantiating `CommandResponse` subclasses that need required version
24
+
* Remove all `Command` copy constructors. Same rationale as the earlier removal of `copy` methods.
25
+
* Switch `SelectRowsCommand` and `NAbRunsCommand` to post their parameters as JSON
26
+
* Fix NAbReplicate to handle `"NaN"` values
27
+
* Remove `CommandException` from `getHttpRequest()` throws list
28
+
* Adjust the `Demo.java` and `Test.java` tests to match current sample data and `Command` hierarchy changes
29
+
6
30
## version 4.3.1
7
31
*Released*: 15 January 2023
8
32
* Fix regression introduced in 4.3.0: `SelectRowsCommand` should create a fresh parameter map for every invocation of `getParameters()`
9
33
10
34
## version 4.3.0
11
35
*Released*: 11 January 2023
12
-
*[Issue 47030](https://www.labkey.org/home/Developer/issues/issues-details.view?issueId=47030): Switch `SelectRowsCommand` and `NAbRunsCommand` to always use POST
13
-
* Add support for `includeTotalCount`, `includeMetadata`, and `ignoreFilter` flags to `BaseQueryCommand` and reconcile duplicate parameter handling code vs. SelectRowsCommand
0 commit comments