Comet Java SDK

The following is a history of released Comet Java SDK versions. It doesn't list everything that was changed in a release, but does mention the highlights and all public-facing additions, changes, and deprecations.

You can get the Comet Java SDK via git:

shell git clone https://github.com/comet-ml/comet-java-sdk

You can find additional notes at github.com/comet-ml/comet-java-sdk

Release 1.1.14

Release date: October 17, 2022

comet-java-client

  • Implemented CometApi.getRegistryModelsCount() allowing to get number of models registered under specific workspace.
  • Implemented CometApi.addRegistryModelVersionStage() which allows to add stage to the specific version of the registered model.

comet-examples

  • Implemented examples of how to use CometApi method to get number of registered models under specific workspace.
  • Implemented example of how to use CometApi to add stage to the specific version of the registered model.

Release 1.1.13

Release date: October 6, 2022

comet-java-client

  • Implemented CometApi.getExperiments() to look for Comet experiments belonging to specific workspace, project or/and having specific name.
  • Implemented CometApi.getExperimentMetadata() which allows to look for metadata of particular Comet experiment using known experiment key.
  • Implemented support for providing key of the existing experiment through the COMET_EXPERIMENT_KEY environment variable.

comet-examples

  • Implemented examples of how to use CometApi methods to get various kind of data. See ml.comet.examples.ApiExamples for more details.

Release 1.1.12

Release date: June 14, 2022

comet-java-client

  • Fixed StdOutLogger to append line break character to each logged line.
  • Defined Experiment.logText() interface methods
  • Implemented synchronous version of text logging by ApiExperiment.
  • Implemented asynchronous version of text logging by OnlineExperiment.
  • Defined Experiment.logCurve() interface methods
  • Implemented synchronous curve logging by ApiExperiment.
  • Implemented asynchronous curve logging by OnlineExperiment.

comet-examples

  • Updated OnlineExperimentExample to use different experiment name.
  • Implemented example of text logging in the OnlineExperimentExample.
  • Implemented example of curve logging in OnlineExperimentExample.

Release 1.1.11

Release date: April 25, 2022

comet-java-client

  • Implemented heartbeat interval adjustment based on values received from server.

Release 1.1.10

Release date: March 10, 2022

comet-java-client

  • Implemented support for logging system metrics at experiment start.
  • Implemented CometApi.getRegistryModelDetails() allowing to get registry model overview from Comet.
  • Implemented CometApi.getRegistryModelVersion() allowing to get details about particular version of the registry model from Comet.
  • Implemented CometApi.getRegistryModelNames() allowing getting names of the registered models.
  • Implemented CometApi.getRegistryModelVersions() allowing retrieving versions list of the registry model.
  • Implemented CometApi.updateRegistryModelNotes() and CometApi.getRegistryModelNotes() allowing to create/update registry model notes and retrieve it.
  • Implemented CometApi.updateRegistryModel() allowing retrieving versions list of the registry model.
  • Implemented CometApi.updateRegistryModelVersion() allowing update of the version details of the registry model.
  • Implemented CometApi.deleteRegistryModel() allowing to delete the registry model.
  • Implemented CometApi.deleteRegistryModelVersion() allowing deleting specific version of the registry model.

comet-examples

  • Updated RegistryModelExample to include example of retrieving model's general overview as well as details about particular version of the model.
  • Added example of retrieving names of the registered models in the RegistryModelExample.
  • Updated RegistryModelExample to demonstrate how to get list of model versions using Comet API.
  • Updated RegistryModelExample to demonstrate how to operate with registry model notes using Comet API.
  • Updated RegistryModelExample to demonstrate how to update registry model using Comet API.
  • Updated RegistryModelExample to demonstrate how to update version details of the registry model using Comet API.
  • Updated RegistryModelExample to demonstrate how to delete registered model using Comet API.
  • Updated RegistryModelExample to demonstrate how to delete specific version of the registry model using Comet API.

Release 1.1.9

Release date: February 8, 2022

comet-java-client

  • Implemented CometApi.downloadRegistryModel() allowing loading asset files of the registry model.

comet-examples

  • Implemented RegistryModelExample to demonstrate operations with registry model through the Comet API.

Release 1.1.8

Release date: January 31, 2022

  • Fixed parent POM to move Sonatype plugins dependencies into release profile to avoid missed dependencies.

Release 1.1.7

Release date: January 26, 2022

comet-java-client

  • Implemented OnlineExperiment.logModel(File)
  • Implemented OnlineExperiment.logModel(byte[])
  • Implemented OnlineExperiment.logModelFolder(File)
  • Implemented CometApi.registerModel(Model, String) method allowing to register experiment models in the Comet models registry.

comet-examples

  • Implemented LogModelExample to demonstrate how to log model files with OnlineExperiment.
  • Implemented example of model registration and update in the LogModelExample.

Release 1.1.6

Release date: January 18, 2022

comet-java-client

  • Implemented Artifact and ArtifactBuilder interfaces
  • Implemented support of add asset, add remote asset, and add assets folder to the Artifact
  • Implemented LoggedArtifactAsset representing data about asset logged by artifact
  • Implemented method to download LoggedArtifactAsset's file from the Comet.
  • Implemented method to download LoggedArtifact to specific directory.
  • Implemented method to load content of LoggedArtifactAsset from the Comet server into the memory (InputStream, OutputStream).
  • Implemented mechanism to update existing artifact using DownloadedArtifact returned by LoggedArtifact#download().
  • Implemented LoggedArtifact.getAsset(String assetLogicalPath) method.

comet-examples

  • Implemented ArtifactExample to demonstrate basic usage of the Comet artifact.
  • Implemented example to demonstrate how to download LoggedArtifactAsset's file from the Comet.
  • Implemented example to demonstrate how to download LoggedArtifact from the Comet.
  • Implemented example to demonstrate how to load content of LoggedArtifactAsset from the Comet server into the memory (InputStream).
  • Implemented example of the artifact update in the ArtifactExample
  • Added example of LoggedArtifact.getAsset(String assetLogicalPath) method's usage

Release 1.1.5

Release date: December 7, 2021

comet-java-client

  • Implemented synchronous and asynchronous networking using Reactive Java (JavaRX) patterns
  • Implemented REST API client to encapsulate all logic related to the communicating with Comet REST endpoints
  • Refactored internal Connection API for better clarity.
  • Refactored public API to hide all implementation classes. Only public experiment/builder interfaces, exceptions, and DTOs are now exposed.
  • Implemented new public API for experiment builder
  • Added support for the form parameters/fields when uploading files
  • Refined Experiment and OnlineExperiment interfaces to properly handle context
  • Added support of form fields/params for multipart requests
  • Added ApiExperiment interface to make this type of supported experiments
  • Introduced BaseExperimentAsync as superclass for asynchronous experiment implementations
  • Introduced resource bundle to maintain user facing strings
  • Introduced ExperimentContext to maintain context of the experiment: step, epoch, context ID
  • Fixed logCode and uploadAsset to use asynchronous upload operations in OnlineExperiment
  • Implemented logAssetFolder allowing to upload all asset files from specific directory
  • Implemented logRemoteAsset method with overloads for the OnlineExperiment interface
  • Implemented asynchronous form POST submit in the Connection allowing remote assets logging

comet-examples

  • Fixed examples to use public API builders instead of constructors
  • Updated OnlineExperimentExample to include example of assets folder logging
  • Updated OnlineExperimentExample to demonstrate usage of the ExperimentContext
  • Updated OnlineExperimentExample to demonstrate logCode usage
  • Added example of logRemoteAsset method's usage in the OnlineExperimentExample

Release 1.1.4

Release date: November 16, 2021

comet-java-client

  • Reading Java Comet SDK version from the resource file filtered by Maven.
  • Implemented printing Java Comet SDK version at the experiment start.
  • Fixed potential resource leak in the StdOutLogger implementation.
  • Implemented StdOutLogger.flush() to facilitate system stream flushing before closing logger.
  • Fixed OnlineExperimentImpl.stopInterceptStdout() to use StdOutLogger.flush() before closing logger.
  • Renamed OnlineExperimentImpl.statusPing() to OnlineExperimentImpl.sendHeartbeat() for better readability.
  • Refactored Comet configuration framework to support massive number of configuration options, default configuration values from bundled resource properties, and for better readability.
  • Refactored experiment builders by extracting common methods.
  • Extracted string constants with asset types into Enum for better type safety.
  • Extracted string constants with query parameter names into Enum for better type safety.

comet-examples

  • Changed backend of the logger from log4j to ch.qos.logback.
  • Upgraded deeplearning4j to the latest version to address security issues with older versions.
  • Fixed MNIST experiment example to use latest version of the deeplearning4j.

Release 1.1.3

Release date: November 8, 2021

  • Removed dependency on OkHttp to facilitate Spark environments execution
  • Implemented proper resources release in the Experiment.end()
  • Fixed StdOut/StdErr interceptor to not deadlock at the end.
  • Fixed bug in OnlineExperimentExampleImpl related to not releasing created scheduled executor.
  • Added MNIST experiment example.

Release 1.1.2

Release date: October 21, 2021

  • Updated Java Getting Started documentation
  • Allow users to set config values as:
    • Environment variables
    • config file (by specifying file path)
    • default typesafe config from classpath (defaults.conf)
  • Added code override to all config options, including:
    • url
    • max retry
  • Fix slf4j log redirected to nohup when no biding (added to pom.xml)
  • Moved validation to build() function (was on init)
  • Created a specific CometGeneralException so users can catch specific comet related exceptions
  • Updated tests

Release 1.1.1

Release date: August 31, 2021

  • Added support for epochs in experiment
  • Minor fixes

Release 1.1.0

Release date: May 11, 2021

Release beta-5

Release date: September 19, 2019

  • Added backoff on auth calls

Release beta-4

Release date: February 13, 2019

  • Fixed builder and static creator

Release beta

Release date: Jan 22, 2019

  • Initial public release