Releases: LabKey/labkey-api-java
Releases · LabKey/labkey-api-java
v7.0.0
Breaking Changes
- The
SaveRowsCommandhas been updated to be a command wrapper for thequery-saveRows.api - The
SaveRowsResponsenow wraps the response from the newSaveRowsCommand - Rename original
SaveRowsResponsetoRowsResponse - Rename original
SaveRowsCommandtoBaseRowsCommand - Rename original
RowsResponsetoBaseRowsResponse
Other changes
- Update Gradle, Gradle Plugins, HttpClient, and JSONObject versions
v6.3.0
- Update Commons Codec, Commons Logging, Gradle, Gradle Plugins, HttpClient, HttpCore, and JSONObject versions
- Remove defunct FileNotification API and uses
- Update publishing method for new Maven Central API
v6.2.0
- Add support for
auditUserCommentfield for assay import - Add support for
allowPlateMetadata,plateMetadatafields for assay plate support - Deprecate
GetContainersResponsepermissions methods which are incompatible with LabKey Server v24.8+ - Update Commons Codec, Commons Logging, Gradle, Gradle Plugins, HttpCore, and JSONObject versions
v6.1.0
- Issue 49238: Fix so all command responses correctly decode as UTF-8.
- Add MoveRowsCommand to query
- Earliest compatible LabKey Server version: 24.1.0
- Remove deprecated
GetDomainCommand; useGetDomainDetailsCommandinstead. - Remove deprecated method
RowsResponse.getRequiredVersion(). - Deprecate
GetUsersCommandmethodsgetIncludeDeactivated()andsetIncludeDeactivated(); usegetIncludeInactive()
andsetIncludeInactive()instead. - Remove Hamcrest references (unused)
- Update
ApiKeyCredentialsProviderto respond to server auth challenges with theapikeyheader and use the session
on subsequent requests. - Update Commons Logging, Gradle, Gradle Plugins, HttpClient, and HttpCore versions
v6.0.0
- Encode SQL parameters passed by
ExecuteSqlCommandandSqlExecuteCommandto avoid rejection by web application firewalls- Earliest compatible LabKey Server version: 23.9.0
- These commands are no longer compatible with earlier versions of LabKey Server (23.8.x and before) by default, however,
if targeting an older server, callingExecuteSqlCommand.setWafEncoding(false)will restore the previous behavior.
- Update HttpCore, JSON-java, Gradle Plugins, and Gradle versions
v5.3.0
- Update to Gradle 8.3 and adjust away from deprecated syntax
- Add Ontology and Lineage filter type operators
- Add
TotpManager, a simple helper that generates TOTP one-time passwords - Update Commons Codec, HttpCore, and Gradle Plugins versions
v5.2.0
- Add
RenameContainerCommandandRenameContainerResponse
v5.1.0
- Delegate first request behavior to the configured
CredentialsProvider. Connection-based providers invokelogin-ensureLogin.apiand connection-less providers invokelogin-whoAmI.api. - Restore connection-based authentication for
BasicCredentialsProvider - Add logging to
NetrcFileParserto help with debugging authentication problems - Optional parameters to
GetContainersCommandto reduce the size of the response payload - Upgrade to most recent JSON-java, Gradle, and Gradle Plugins versions
v5.0.1
- Fix regression introduced in 5.0.0:
RowsResponse.fixupParsedData()was called before_requiredVersionwas set. This caused the fixup method to skipBigDecimaltoDoubleconversions in the returned data maps.
v5.0.0
- Refactor the
Commandclass hierarchy:- Add
GetCommand, new abstract base class for all commands that use get - Make
CommandandPostCommandabstract - Add
SimpleGetCommand, new concrete class used (instead ofCommand) to invoke GET API actions without creating a subclass - Add
SimplePostCommand, new concrete class used (instead ofPostCommand) to invoke POST API actions without creating a subclass
- Add
- Refactor parameter handling for consistency:
createParameterMap()is now used by subclasses to create and populate a mutable map of URL parametersgetParameters()now returns an immutable copy of the current URL parameter map for external use, typically logging or testing- Commands no longer stash and reuse the parameter map;
createParameterMap()always creates a new map. setParameters()is now available only onSimpleGetCommandandSimplePostCommand. CustomGetCommandandPostCommand
subclasses that need to specify parameters are expected to overridecreateParameterMap().setJsonObject()is now available only onSimplePostCommand. CustomPostCommandsubclasses that need to post JSON are
expected to overridegetJsonObject().
- Stop passing command subclasses when constructing every
CommandResponse. The two response classes that need this now implement
it without burdening all other commands. - Introduce
HasRequiredVersioninterface and use it when instantiatingCommandResponsesubclasses that need required version - Remove all
Commandcopy constructors. Same rationale as the earlier removal ofcopymethods. - Switch
SelectRowsCommandandNAbRunsCommandto post their parameters as JSON - Fix NAbReplicate to handle
"NaN"values - Remove
CommandExceptionfromgetHttpRequest()throws list - Adjust the
Demo.javaandTest.javatests to match current sample data andCommandhierarchy changes