Change log#
Repertoire is versioned with semver. Dependencies are updated to the latest available version during each release, and aren’t noted here.
Repertoire is designed to be deployed via its Phalanx chart.
The interface between the service and its chart is internal and may change freely in minor and patch releases.
A change will only be considered backwards-incompatible if it results in backwards-incompatible changes for clients or requires changes to the Phalanx values.yaml files.
Find changes for the upcoming release in the project’s changelog.d directory.
0.3.0 (2025-09-23)#
Backwards-incompatible changes#
Add a
DiscoveryClient.aclosemethod to cleanly shut down the internal HTTPX async client if one was not passed into the constructor. Users of the Repertoire client who do not use the FastAPI dependency and do not provide an HTTPX client to theDiscoveryClientconstructor should call this method when they are done using the client.
New features#
Add HiPS to the Repertoire configuration and use it to generate HiPS list URLs for every dataset with associated HiPS discovery information.
Add support for generating a per-dataset HiPS list file on a separately-configurable route from the main Repertoire path prefix. The list file is assembled from HiPS properties files retrieved via HTTP, authenticated by a Gafaelfawr token.
Add support for generating a separate HiPS list file for a single dataset on a legacy route.
Add
rubin.repertoire.register_mock_discovery. This function mocks service discovery results and is intended for use in test suites of applications that use the Repertoire client.Add a FastAPI dependency,
rubin.repertoire.discovery_dependency, as the recommended way for FastAPI applications to manage a service discovery client.Support Slack and Sentry serialization with additional context in all of the exceptions raised by the Repertoire client.
Add optional support for reporting exceptions to Sentry.
Bug fixes#
Add upper major version bounds on the rubin-repertoire dependencies to ensure a human checks compatibility before allowing updates.
0.2.0 (2025-09-10)#
Backwards-incompatible changes#
Change the input configuration for datasets to be a mapping of dataset label to metadata instead of a list, and add a mandatory
descriptionfield for datasets.Change the model for discovery information to return datasets as a mapping of label to metadata instead of a list of mappings with
namekeys.Add new
availableDatasetsconfiguration parameter to list the datasets available in a given environment, allowing that list to be separated from shared metadata about all available datasets.Rename the
urlsfield of discovery information toservices.Convert the values of the
data,internal, anduimappings to be full objects, moving the URL into theurlfield of that object. This creates room for additional fields in the future.Rename
RepertoireBuilder.buildtoRepertoireBuilder.build_discoverynow that there are multiple types of information that the builder can build.
New features#
Add
RepertoireBuilder.build_influxdbto construct InfluxDB discovery information, and a new class,RepertoireBuilderWithSecrets, with methodbuild_influxdb_with_credentials, to build InfluxDB discovery information including credentials.Add a new route,
/discovery/influxdb/{database}, that returns InfluxDB discovery information with credentials. This route will be protected by Gafaelfawr authentication.Add corresponding models and client methods
influxdb_databasesandget_influxdb_connection_infoto retrieve the new information.Add the
descriptionfield to the model for datasets.Add an optional
openapikey to service information for data and internal services, which contains a URL for the OpenAPI JSON schema if set. Add support for that field to the corresponding service generation rules.
0.1.0 (2025-09-08)#
Initial release with support for a single data and service discovery endpoint and a client that can return Phalanx applications, datasets, and URLs for internal, data, and UI services.