backend/v3.0.4

666ghj/MiroFishbackend/v3.0.4Jul 27, 2026by FlxMgdnz

AI Summary

Hanko v3 introduces native multi-tenancy, allowing a single API deployment to manage multiple isolated tenants with their own user pools and configurations, while maintaining backward compatibility with single-tenant mode.

Key Highlights

  • Native multi-tenancy support for single API instances
  • Isolated user pools and authentication configuration per tenant
  • Global configuration for infrastructure and cross-tenant settings
  • Backward compatibility with single-tenant mode and YAML configs

Breaking Changes

  • Deprecated API endpoints have been removed

New Features

  • Native multi-tenancy
  • Tenant-specific configuration stored in the database
  • Global configuration file support

Full Release Notes

Hanko v3 introduces native multi-tenancy, allowing a single Hanko API deployment to manage any number of isolated tenants. Each tenant has its own user pool and authentication configuration.

Previously, Hanko was designed as a single-tenant, cloud-native application. Scaling multiple projects required running separate Hanko API instances, which we managed in Hanko Cloud using our Kubernetes operator.

With Hanko v3, a single Hanko API instance can now serve either one tenant or multiple tenants.

## Multi-tenancy

* The Hanko API can manage a single tenant or multiple isolated tenants.
* Each tenant has its own user pool and authentication configuration.
* Tenant-specific configuration is stored in the database when running in multi-tenant mode.
* The Tenant Management API specification will be published separately.

## Single-tenant mode

Hanko v3 can still be deployed in single-tenant mode.

YAML-based configuration continues to work as before (refer to the [configuration options reference](https://github.com/teamhanko/hanko/wiki/config)), making it possible to upgrade without migrating tenant configuration into the database.

## Global configuration

Multi-tenant deployments still require a global configuration file or environment variables.

This configuration contains settings that apply to the entire Hanko API deployment rather than to an individual tenant, including:

* Database connection settings
* Server and infrastructure configuration
* Other cross-tenant settings

## Breaking changes

Deprecated API endpoints have been removed.

See the migration guide for details and instructions:

https://docs.hanko.io/guides/migrations/2.x.x-to-3.x.x

## What's changed
* chore(deps): bump react-router and react-router-dom in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2653
* fix: upgrade invopop/jsonschema to v0.14.0 (wk8 → pb33f ordered-map) by @loeffert in https://github.com/teamhanko/hanko/pull/2644
* chore(deps): bump @tootallnate/once from 2.0.0 to 2.0.1 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2639
* chore(deps-dev): bump js-cookie from 3.0.5 to 3.0.8 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2638
* chore(deps-dev): bump turbo from 2.9.5 to 2.9.14 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2637
* chore(deps): bump next from 16.2.3 to 16.2.6 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2636
* chore(deps): bump @babel/plugin-transform-modules-systemjs from 7.28.5 to 7.29.4 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2635
* chore(deps-dev): bump fast-uri from 3.1.0 to 3.1.2 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2634
* chore(deps): bump ip-address and express-rate-limit in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2632
* chore(deps): bump github.com/jackc/pgx/v5 from 5.9.1 to 5.9.2 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2630
* chore(deps-dev): bump hono from 4.12.2 to 4.12.23 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2650
* chore(deps): bump github.com/rs/zerolog from 1.35.0 to 1.35.1 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2625
* chore(deps): bump github.com/aws/aws-sdk-go-v2/service/kms from 1.50.4 to 1.50.5 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2619
* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2623
* chore(deps): bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2616
* chore(deps-dev): bump turbo from 2.9.14 to 2.9.16 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2661
* chore(deps): bump golang.org/x/text from 0.36.0 to 0.37.0 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2656
* fix: firebase cmd  by @lfleischmann in https://github.com/teamhanko/hanko/pull/2654
* fix: commit nextjs tsconfig auto-change on build by @lfleischmann in https://github.com/teamhanko/hanko/pull/2667
* chore(deps-dev): bump webpack-cli from 7.0.2 to 7.0.3 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2658
* chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.16 to 1.32.24 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2665
* chore(deps): bump github.com/go-playground/validator/v10 from 10.30.2 to 10.30.3 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2657
* chore(deps-dev): bump sass from 1.99.0 to 1.100.0 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2659
* chore(deps): bump actions/github-script from 8 to 9 by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2615
* chore(deps): bump github.com/labstack/gommon from 0.4.2 to 0.5.0 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2621
* chore(deps): bump github.com/gobuffalo/pop/v6 from 6.2.1 to 6.3.0 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2622
* chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.24 to 1.32.25 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2676
* chore(deps): bump github.com/knadh/koanf/v2 from 2.3.4 to 2.3.5 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2673
* chore(deps): bump github.com/aws/aws-sdk-go-v2/service/kms from 1.50.5 to 1.53.4 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2672
* chore(deps-dev): bump @vitejs/plugin-vue from 6.0.5 to 6.0.7 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2662
* chore(deps): bump golang.org/x/text from 0.37.0 to 0.38.0 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2680
* chore(deps): bump github.com/tidwall/gjson from 1.18.0 to 1.19.0 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2682
* chore(deps-dev): bump jiti from 2.6.1 to 2.7.0 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2684
* chore(deps-dev): bump hono from 4.12.23 to 4.12.26 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2693
* chore(deps): bump github.com/labstack/echo/v4 from 4.15.1 to 4.15.4 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2690
* chore(deps): bump form-data from 4.0.5 to 4.0.6 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2688
* chore(deps-dev): bump tar from 7.5.9 to 7.5.16 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2687
* chore(deps): bump launch-editor from 2.12.0 to 2.14.1 in /frontend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2686
* chore(deps): bump github.com/go-sql-driver/mysql from 1.9.3 to 1.10.0 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2674
* chore(deps): bump github.com/coreos/go-oidc/v3 from 3.18.0 to 3.19.0 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2695
* chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2698
* chore(deps): bump github.com/opencontainers/runc from 1.2.8 to 1.3.6 in /backend by @dependabot[bot] in https://github.com/teamhanko/hanko/pull/2697
* Update translation for 'passkey' in German by @FlxMgdnz in https://github.com/teamhanko/hanko/pull/2704
* Multitenancy by @FreddyDevelop in https://github.com/teamhanko/hanko/pull/2702
* chore: increase frontend version numbers by @FreddyDevelop in https://github.com/teamhanko/hanko/pull/2707
* chore: autogenerate config JSON schema by @github-actions[bot] in https://github.com/teamhanko/hanko/pull/2705
* fix: preserve the original auditLog error by @FreddyDevelop in https://github.com/teamhanko/hanko/pull/2718
* log: add detailed error context for third-party internal errors by @FreddyDevelop in https://github.com/teamhanko/hanko/pull/2719
* refactor: remove TenantID validation in token model by @FreddyDevelop in https://github.com/teamhanko/hanko/pull/2720
* fix: set tenantID when saving password by @FreddyDevelop in https://github.com/teamhanko/hanko/pull/2721


**Full Changelog**: https://github.com/teamhanko/hanko/compare/backend/v2.7.0...backend/v3.0.4