Changelog¶
3.1.0 (2024-XX-XX)¶
Add opt-in
FileKeyring
fallback forAuth
in the case of missingSecretService
provider on a system.
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
keyring
v25
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
protobuf
Explicitly note incompatibility with
keyring
v25.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.FileKeyring
Removed 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_name
craft_store.base_client.BaseClient.unregister_name
craft_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.SnapListReleasesModel
andcraft_store.models.CharmListReleasesModel
Remove incorrectly exported
SnapChannelMapModel
andCharmChannelMapModel
Make bases optional in
craft_store.models.SnapListReleasesModel
2.2.0 (2022-08-11)¶
Refactor common code in
endpoints
Export new symbols in craft_store.models:
craft_store.models.CharmChannelMapModel
craft_store.models.MarshableModel
craft_store.models.ReleaseRequestModel
craft_store.models.RevisionsRequestModel
craft_store.models.RevisionsResponseModel
craft_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.BaseClient
New 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.CredentialsNotParseable
on 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.StoreClient
andcraft_store.UbuntuOneStoreClient
require a new initialization new parameterSetting credentials while credentials are already set is no longer allowed
craft_store.errors.CredentialsAlreadyAvailable
is raised if credentials already existNotLoggedIn exception renamed to
craft_store.errors.CredentialsUnavailable
Early 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.CHARMHUB
New 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.StoreClient
support for retrieving credentials from an environment variableLogin credentials now returned from
craft_store.BaseClient.login()
1.0.0 (2021-10-21)¶
Initial release