Skip to content

Releases: LabKey/labkey-api-java

v6.2.0

06 Aug 16:33
83b7a4d
Compare
Choose a tag to compare
  • 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

26 Feb 22:32
Compare
Choose a tag to compare
  • 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; use GetDomainDetailsCommand instead.
  • Remove deprecated method RowsResponse.getRequiredVersion().
  • Deprecate GetUsersCommand methods getIncludeDeactivated() and setIncludeDeactivated(); use getIncludeInactive()
    and setIncludeInactive() instead.
  • Remove Hamcrest references (unused)
  • Update ApiKeyCredentialsProvider to respond to server auth challenges with the apikey header and use the session
    on subsequent requests.
  • Update Commons Logging, Gradle, Gradle Plugins, HttpClient, and HttpCore versions

v6.0.0

02 Dec 00:19
Compare
Choose a tag to compare
  • Encode SQL parameters passed by ExecuteSqlCommand and SqlExecuteCommand 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, calling ExecuteSqlCommand.setWafEncoding(false) will restore the previous behavior.
  • Update HttpCore, JSON-java, Gradle Plugins, and Gradle versions

v5.3.0

07 Sep 22:48
Compare
Choose a tag to compare
  • 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

03 May 18:53
Compare
Choose a tag to compare
  • Add RenameContainerCommand and RenameContainerResponse

v5.1.0

03 Mar 19:16
Compare
Choose a tag to compare
  • Delegate first request behavior to the configured CredentialsProvider. Connection-based providers invoke login-ensureLogin.api and connection-less providers invoke login-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

30 Jan 18:39
Compare
Choose a tag to compare
  • Fix regression introduced in 5.0.0: RowsResponse.fixupParsedData() was called before _requiredVersion was set. This caused the fixup method to skip BigDecimal to Double conversions in the returned data maps.

v5.0.0

25 Jan 01:00
Compare
Choose a tag to compare
  • Refactor the Command class hierarchy:
    • Add GetCommand, new abstract base class for all commands that use get
    • Make Command and PostCommand abstract
    • Add SimpleGetCommand, new concrete class used (instead of Command) to invoke GET API actions without creating a subclass
    • Add SimplePostCommand, new concrete class used (instead of PostCommand) to invoke POST API actions without creating a subclass
  • Refactor parameter handling for consistency:
    • createParameterMap() is now used by subclasses to create and populate a mutable map of URL parameters
    • getParameters() 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 on SimpleGetCommand and SimplePostCommand. Custom GetCommand and PostCommand
      subclasses that need to specify parameters are expected to override createParameterMap().
    • setJsonObject() is now available only on SimplePostCommand. Custom PostCommand subclasses that need to post JSON are
      expected to override getJsonObject().
  • 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 instantiating CommandResponse subclasses that need required version
  • Remove all Command copy constructors. Same rationale as the earlier removal of copy methods.
  • Switch SelectRowsCommand and NAbRunsCommand to post their parameters as JSON
  • Fix NAbReplicate to handle "NaN" values
  • Remove CommandException from getHttpRequest() throws list
  • Adjust the Demo.java and Test.java tests to match current sample data and Command hierarchy changes

v4.3.1

15 Jan 23:41
Compare
Choose a tag to compare
  • Fix regression introduced in 4.3.0: SelectRowsCommand should create a fresh parameter map for every invocation of getParameters()

v4.3.0

12 Jan 05:03
Compare
Choose a tag to compare
  • Issue 47030: Switch SelectRowsCommand and NAbRunsCommand to always use POST
  • Add support for includeTotalCount, includeMetadata, and ignoreFilter flags to BaseQueryCommand and reconcile duplicate parameter handling code vs. SelectRowsCommand
  • Add support for includeTitle and includeViewDataUrl flags to GetQueriesCommand