Changelog
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
Unreleased
Python Version 6.0.0
[BREAKING] Removes backwards-compatibility shims for legacy implementation.
Removes unnecessary dependencies (
falcon,requests,py-machine-id)Adds support for Pythons 3.11-3.14, using Nox for multi-version testing.
Adds
py.typedand complete type annotations for the library.
Javascript Version 3.0.0
[BREAKING] Removes mintRandIntSkuid backwards-compatibility shim.
Python Version 5.2.0
Adds get_scan_id() utility for generating non-SKUID 48-bit integers.
Python Version 5.1.1
Bugfix: Fixes entity prefix string formatting on Python >3.10.
Python Version 5.1.0
Adds optional Pydantic types to represent SKUIDs in models.
Javascript Version 2.0.0
Implementation of new Snowflake SKUID format, see ADR-129.
Python Version 5.0.0
Implementation of new Snowflake SKUID format, see ADR-129.
[BREAKING] Validation utilities enforce ADR-129 compliance.
Deprecates
client()andmint_randint_skuid()
Javascript Version 1.1.1
[Javascript] Remove the use of a top level await
Javascript Version 1.1.0 + Python Version 4.1.0
Adds the ‘ob’ observing block prefix to both Python and JavaScript libraries.
Javascript Version 1.0.0
Initial release of Javascript library.
Python Version 4.0.0 ************* * Release as standalone Python library: no changes to the http service version, the CI pipeline will not publish updated OCI container. * Used ska-ser-sphinx-theme for documentation * Updated project dependencies (moved http client/server to optional sections)
Version 3.3.3
No functionality changes, minor lint and Dockerfile updates.
Version 3.3.2
No functionality changes, updated the chart version to match with the release version.
Version 3.3.1
No functionality changes, added acceptance tests.
Version 3.3.0
No functionality changes.
Upated repo structure and CI to be in line with SKA standards.
Version 3.2.1
No change, moving artefacts to a new repository https://artefact.skao.int/.
Version 3.2.0
Resolved sphinx build issue
Added [eb]{.title-ref} endpoint to API for execution block
Version 3.1.0
Changed dependency from [ska_logging]{.title-ref} to [ska_ser_logging]{.title-ref}.
Version 3.0.0
Change packaging to use single namespace. Usage like [from from ska.skuid.client import SkuidClient]{.title-ref} changes to [from ska_ser_skuid.client import SkuidClient]{.title-ref}.
Version 2.0.0
Updated dependencies for client installs (default)
Remove [falcon]{.title-ref} dependency
Remove [fasteners]{.title-ref} dependency
Fixed SyntaxError: JSON.parse: unexpected character at line 2 column 1 of the JSON data
Update docs to refer to scan ID as int
Version 1.2.0
Added support for transaction IDs.
SkuidClient now includes
[fetch_transaction_id]{.title-ref}, fetch a transaction ID from the SKUID service
Should the request fail, a locally generated ID will be returned
[get_local_transaction_id]{.title-ref}, generate a transaction ID locally
Added http://<server>/skuid/ska_transaction_id endpoint
Version 1.1.1
Remove src/ska/__init__.py file to comply with PEP 420 packaging.
Version 1.1.0
Modifying the SKUID format based on feedback from PI6 Demo 1. The format
is now {entity_type}-{datestamp}-{generator_id}-{local_seq} (all
fields delimited by -).
Additionally:
Standardise environment vars with
SKUID_prefix.Expose the path of the backing types file as environment variable
SKUID_TYPES_FILE.Default its associated lockfile to be a sibling of the
SKUID_CURSOR_FILE.
Version 1.0.0
The first release of the SKA Unique Identifier Service supports the following:
Provisioning of an SKA Unique Identifier via HTTP API:
` GET /skuid/ska_id/{entity_type}`
provisioning of a SKA Scan ID via HTTP API:
` GET /skuid/ska_scan_id`
- a client object to allow interaction with the above APIs by using SKUID package as a library:
`python from ska.skuid.client import SkuidClient client = SkuidClient("http://skuid-integration-test:9870") new_skuid = client.fetch_skuid('sbd') new_scan_id = client.fetch_scan_id()`
dynamic adding and updating of entity_types via HTTP API:
` POST /skuid/entity_types/add/{short_name}/{full_name}`
and
` GET /skuid/entity_types/get`
Added
Empty Python project directory structure