Changelog

3.1.0 (2024-XX-XX)

  • Add opt-in FileKeyring fallback for Auth in the case of missing SecretService 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)

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

Full Changelog

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 and craft_store.models.CharmListReleasesModel

  • Remove incorrectly exported SnapChannelMapModel and CharmChannelMapModel

  • 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)

2.1.0 (2022-03-19)

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 errors

  • Use 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 and craft_store.UbuntuOneStoreClient require a new initialization new parameter

  • Setting credentials while credentials are already set is no longer allowed craft_store.errors.CredentialsAlreadyAvailable is raised if credentials already exist

  • NotLoggedIn 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)

1.1.0 (2021-11-19)

1.0.0 (2021-10-21)

  • Initial release