Skip to content

v0.4.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 01 Jul 07:40
· 44 commits to main since this release
688a282

0.4.0

New Features

walt.id Identity Lib Hierarchy Refactor

Libs, services, and applications are now grouped in the new walt.id identity project hierarchy:

  • waltid-libraries: Multiplatform libs like crypto, did, credentials and others.
  • waltid-services: REST services like Issuer, Verifier and Wallet API.
  • waltid-applications: Apps like the walt.id web-wallet and portal.

See updated hierarchy

New Feature & Config System

Our new and updated feature and config system introduced through the "waltid-service-commons" module simplifies and improves how walt.id services are configured and run. Solving issues like mental complexity, broken services due to missing files, and general misconfigurations of the issuer, verifier, or wallet API.

Now each API service is equipped with a set of toggle-able features, each with its own settings. Base features are always enabled, while optional features can be turned on or off. ****Some optional features can be enabled without any extra setup (e.g., health checks), while others require specific setups to function (Microsoft Entra Verified ID support, custom OID Auth Provider)

By using the new feature and config systems, users can rest assured that they can configure the service to serve only what is needed for their use case. Error messages give insight early on if configs might be off and the walt.id default setup gives you the best starting point for most use cases.

Please refer to the breaking changes section for required config file updates.

Learn more:

Advanced Service Logging

Multiplatform-based, the new logging service enables dynamic reconfigurations, multiple log outputs, and integrations with log aggregator systems supporting various log output formats. Next to that, structured logging instead of plain messages and context login (similar to MDC) are supported.

Create custom logging configurations without the need to recompile modules via HOCON or JSON formatted files or use one of our pre-defined logging setups.

Learn more here

Debug Endpoints & Healthchecks

All walt.id services are now equipped with a set of debugging and health-check endpoints which can be enabled through the walt.id feature manager.

You can inspect them by visiting our issuer, verifier, and wallet API. Activate them in your own environment using the feature manager of the related service.

EBSI v3 Compliance for Verifiers

You can now verify EBSI-compliant credentials using our verifier API.

Get started

Walt.id Android Demo

The walt.id Android Sample Project demonstrates walt.id identity lib’s ability to generate keys, sign text, create Decentralized Identifiers (DIDs), and verify signed content through various algorithms and methods in an Android environment.

Learn more

Multi DID Support on walt.id Portal

Sign & issue credentials using different DID methods by choosing from various supported ones on the walt.id portal's issuance configuration page.

Methods supported: did:key, did:jwk, did:ebsi, did:web and did:cheqd.

Try it out

New E2E Testing System

The new E2E testing system resolves the shortcomings of the old one by using an actual HTTP server for real requests, running all tests in the same context for faster performance, and simplifying the addition of new test cases by reducing re-contexting and boilerplate.

Have a look here

Kotlin 2.0.0

The source code was updated to now be able to be compiled with Kotlin K2 compiler, which became the new default with Kotlin 2.0.0.

Swagger improvements

Swagger UI library was updated to the latest release, which introduced a new JSON schema generator which is capable of producing cleaner and more predictable schemas in the spec.

Issuer API Interface Updates

  • Sign / Issue Endpoints now accept the issuerKey parameter as a JWK object. Previously, it could only be passed as a string.
  • Updated onboard endpoint to return key as JWK object, not as string.

Rate limits in the wallet API auth endpoints


Breaking Changes

Database Config (waltid-wallet-api)

  • Unified db.sqlite.confdb.postgres.confdb.mssql.confdb.conf (referencing either of the first 3) to just db.conf
    • remove your db.conf (which only contains the link to any of the other config files)
    • rename your db.sqlite.conf/db.postgres.conf/db.mssql.conf (whichever you actively use) to db.conf
    • rename hikariDataSource to dataSource

OCI integration (waltid-wallet-api)

  • Moved functionality of individual oci.conf / oci-rest-api.conf to key-generation-defaults.conf

OIDC (waltid-wallet-api)

  • Moved publicBaseUrl from web.conf to oidc.conf -> now only required to be set when OIDC login is used → see feature system

Credential issuance metadata (waltid-issuer-api)

  • Simplified credential-issuer-metadata.conf configuration structure for supportedCredentialTypes

(Non-breaking) No longer needed configurations (waltid-wallet-api)

  • You can remove the no longer needed files:
    • wallet.conf (was remote-wallet-configuration)
    • marketplace.conf
    • chainexplorer.conf
  • You can remove the no longer needed attributes:
    • enableOidcLogin from oidc.conf (now handled as feature switch)

Full Changelog

New Features

Bug Fixes

Reverts

Refactors

Dependencies

Documentation Changes

  • add additional Android comment (5530812 by @waltkb)
  • more descriptive did field error message (f5f6915 by @waltkb)
  • update docker-compose README (1d22562 by @waltkb)
  • update verifier api README (707b439 by @waltkb)
  • update issuer api README -> do not require mounting config directory for simple test startup (c3d4a28 by @waltkb)
  • update verifier API readme (44bbee8 by @waltkb)
  • add or correct lots of swagger/openapi documentation: VerifierApi, AuthController, CredentialController, ExchangeController, HistoryController, SilentExchangeController (7ac746e by @waltkb)
  • API documentation for FeatureFlagInformationModule (69b8291 by @waltkb)
  • Update error message when unable to resolve key (90a7bb5 by @waltkb)
  • Update BREAKING_CHANGES.md document (532c3dd by @waltkb)
  • add pnpm install command in README.md (afd2571 by @chsavvaidis)
  • Add example config: example_klogging.json (8f33857 by @waltkb)
  • Document breaking changes in BREAKING_CHANGES.md (463a298 by @waltkb)
  • Improve error message shown to user when DID web resolving fails (5bd0e6f by @waltkb)
  • verifier-api:

Code Style Changes

Build System

Continuous Integration

Tests

Chores

Other Changes

  • update suspend transform to 0.9.0" (6eee873 by @waltkb)
  • Update swagger ui : new JSON schema generator for cleaner schemas in the spec, updated swagger routes, cleaned up swagger configuration groups, updated Swagger DSL, updated swagger dependencies (56d4bbf by @waltkb)
  • Temporarily disable some interfering wallet local tests (e2e897f by @waltkb)
  • Enable trace for wallet run config (65fa7f7 by @waltkb)
  • Enable trace for verifier run config (280301f by @waltkb)
  • Enable trace for issuer run config (31fb087 by @waltkb)

Full Changelog: v0.3.1...v0.4.0