Releases: LabKey/labkey-api-java
Releases · LabKey/labkey-api-java
v6.2.0
- Add support for
auditUserComment
field for assay import - Add support for
allowPlateMetadata
,plateMetadata
fields for assay plate support - Deprecate
GetContainersResponse
permissions 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
; useGetDomainDetailsCommand
instead. - Remove deprecated method
RowsResponse.getRequiredVersion()
. - Deprecate
GetUsersCommand
methodsgetIncludeDeactivated()
andsetIncludeDeactivated()
; usegetIncludeInactive()
andsetIncludeInactive()
instead. - Remove Hamcrest references (unused)
- Update
ApiKeyCredentialsProvider
to respond to server auth challenges with theapikey
header 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
ExecuteSqlCommand
andSqlExecuteCommand
to 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
RenameContainerCommand
andRenameContainerResponse
v5.1.0
- Delegate first request behavior to the configured
CredentialsProvider
. Connection-based providers invokelogin-ensureLogin.api
and connection-less providers invokelogin-whoAmI.api
. - Restore connection-based authentication for
BasicCredentialsProvider
- Add logging to
NetrcFileParser
to help with debugging authentication problems - Optional parameters to
GetContainersCommand
to 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_requiredVersion
was set. This caused the fixup method to skipBigDecimal
toDouble
conversions in the returned data maps.
v5.0.0
- Refactor the
Command
class hierarchy:- Add
GetCommand
, new abstract base class for all commands that use get - Make
Command
andPostCommand
abstract - 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 onSimpleGetCommand
andSimplePostCommand
. CustomGetCommand
andPostCommand
subclasses that need to specify parameters are expected to overridecreateParameterMap()
.setJsonObject()
is now available only onSimplePostCommand
. CustomPostCommand
subclasses 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
HasRequiredVersion
interface and use it when instantiatingCommandResponse
subclasses that need required version - Remove all
Command
copy constructors. Same rationale as the earlier removal ofcopy
methods. - Switch
SelectRowsCommand
andNAbRunsCommand
to post their parameters as JSON - Fix NAbReplicate to handle
"NaN"
values - Remove
CommandException
fromgetHttpRequest()
throws list - Adjust the
Demo.java
andTest.java
tests to match current sample data andCommand
hierarchy changes
v4.3.1
- Fix regression introduced in 4.3.0:
SelectRowsCommand
should create a fresh parameter map for every invocation ofgetParameters()
v4.3.0
- Issue 47030: Switch
SelectRowsCommand
andNAbRunsCommand
to always use POST - Add support for
includeTotalCount
,includeMetadata
, andignoreFilter
flags toBaseQueryCommand
and reconcile duplicate parameter handling code vs. SelectRowsCommand - Add support for
includeTitle
andincludeViewDataUrl
flags toGetQueriesCommand