Changelog¶
3.3.0 (2025-07-02)¶
Don’t report errors coming from the store twice.
Add a CONTRIBUTING file describing contribution guidelines.
For a complete list of commits, check out the 3.3.0 release on GitHub.
3.2.2 (2025-06-06)¶
Bug fixes:
Catch decoding errors when parsing credentials.
For a complete list of commits, check out the 3.2.2 release on GitHub.
3.2.1 (2025-02-03)¶
Fix a bug on the
PublisherGatewayclient that could cause releases containing resources to fail.
For a complete list of commits, check out the 3.2.1 release on GitHub.
3.2.0 (2025-01-24)¶
Add more endpoints for the
PublisherGatewayclient.For a complete list of commits, check out the 3.2.0 release on GitHub.
3.1.0 (2024-12-16)¶
Add opt-in
FileKeyringfallback forAuthin the case of missingSecretServiceprovider on a system.Add
CandidAuthandDeveloperTokenAuthauthorisation models forhttpx.Clientclasses.Add a
PublisherGatewayclient.
3.0.2 (2024-09-30)¶
Disable legacy libssl providers. This is a workaround to prevent a crash when loading cryptography in focal.
Note
3.0.2 includes changes from the 2.6.2 release.
3.0.1 (2024-09-20)¶
Fix a regression where Ubuntu One macaroons could not be refreshed
Make craft-store compatible with
keyringv25
3.0.0 (2024-08-08)¶
Breaking changes: - Set minimum Python version to 3.10 - Migrate to Pydantic 2
Bug fixes: - Better error message when the keyring is locked.
2.6.2 (2024-05-06)¶
Disable legacy libssl providers. This is a workaround to prevent a crash when loading cryptography in focal.
2.6.1 (2024-03-26)¶
Remove dependency on
protobufExplicitly note incompatibility with
keyringv25.0
2.6.0 (2024-01-02)¶
Add support for listing revisions for a name
Add support for listing resource revisions
Add support for updating metadata for resource revisions
Add support for uploading a resource
Document the workflow for uploading and releasing a package
2.5.0 (2023-11-23)¶
Add a fallback mechanism for when the system keyring fails, such as the Secret Service keyring (gnome-keyring). The fallback is to write to a file based backend, provided by
craft_store.auth.FileKeyringRemoved setup.cfg, fully using pyproject.toml
2.4.0 (2023-04-13)¶
Add support for registering, unregistering, and listing names, with usage examples in integration tests.
craft_store.base_client.BaseClient.register_namecraft_store.base_client.BaseClient.unregister_namecraft_store.base_client.BaseClient.list_registered_names
Handle keyring unlocking errors
2.3.0 (2022-10-07)¶
Add support for exporting the new credentials format (which is backwards compatible with the existing one)
2.2.1 (2022-08-25)¶
Export
craft_store.models.SnapListReleasesModelandcraft_store.models.CharmListReleasesModelRemove incorrectly exported
SnapChannelMapModelandCharmChannelMapModelMake bases optional in
craft_store.models.SnapListReleasesModel
2.2.0 (2022-08-11)¶
Refactor common code in
endpointsExport new symbols in craft_store.models:
craft_store.models.CharmChannelMapModelcraft_store.models.MarshableModelcraft_store.models.ReleaseRequestModelcraft_store.models.RevisionsRequestModelcraft_store.models.RevisionsResponseModelcraft_store.models.SnapChannelMapModel
Catch the correct
JSONDecodeError
2.1.1 (2022-04-26)¶
Update macaroon refresh logic for
craft_store.UbuntuOneStoreClient
2.1.0 (2022-03-19)¶
Support for ephemeral logins in
craft_store.BaseClientNew endpoint to complete the upload experience
craft_store.BaseClient.notify_revision()New endpoint to release
craft_store.BaseClient.release()and retrieve release informationcraft_store.BaseClient.get_list_releases()Support for Python 3.10
2.0.1 (2022-02-10)¶
Convert login expiration to a ISO formatted datetime for Ubuntu endpoints
Raise
craft_store.errors.CredentialsNotParseableon base64 decode errorsUse network location as keyring storage location instead of full base url in
craft_store.base_client.BaseClient
2.0.0 (2022-02-07)¶
New endpoint for uploads to storage,
craft_store.StoreClientandcraft_store.UbuntuOneStoreClientrequire a new initialization new parameterSetting credentials while credentials are already set is no longer allowed
craft_store.errors.CredentialsAlreadyAvailableis raised if credentials already existNotLoggedIn exception renamed to
craft_store.errors.CredentialsUnavailableEarly checks are now in place for keyring availability before a login attempt takes place
1.2.0 (2021-12-09)¶
New whoami endpoint for
craft_store.endpoints.CHARMHUBNew class to provide login support for Ubuntu One SSO
craft_store.UbuntuOneStoreClient
1.1.0 (2021-11-19)¶
Support for channels and packages in endpoints
craft_store.store_client.StoreClientsupport for retrieving credentials from an environment variableLogin credentials now returned from
craft_store.BaseClient.login()
1.0.0 (2021-10-21)¶
Initial release