Skip to content

Commit 044f5f5

Browse files
committed
docs: Release 3.0.0 - Version correction for 2.13.0
Signed-off-by: Ervin Rácz <ervin.racz@protonmail.com>
1 parent 3a99a81 commit 044f5f5

File tree

1 file changed

+61
-1
lines changed

1 file changed

+61
-1
lines changed

CHANGELOG.md

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,67 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1212
### Removed
1313
### Bugfixes
1414

15-
## [v2.13.0] - 21/10/2025
15+
## [3.0.0] - 28/11/2025
16+
17+
### Semantic Versioning Correction
18+
19+
**This release corrects a versioning mistake in v2.13.0.** Version 2.13.0 contained breaking changes to OIDC authentication that should have triggered a major version bump per [Semantic Versioning](https://semver.org) principles.
20+
21+
**This release contains functionally identical code to v2.13.0.** The only difference is the corrected version number and this documentation update.
22+
23+
#### What this means for you:
24+
25+
- **If you're currently on v2.13.0:** You have already completed the necessary OIDC migration. Updating to 3.0.0 is optional and only corrects the version label. No additional migration or configuration changes are required.
26+
27+
- **If you're on v2.12.0 or earlier:** Upgrade to v3.0.0 and follow the [OIDC Migration Guide](docs/oidc-migration-guide.md). The migration requirements are identical to those documented for v2.13.0.
28+
29+
- **For new deployments:** Use v3.0.0 (not v2.13.0).
30+
31+
We apologize for this versioning mistake and have updated our release process to prevent similar issues in the future.
32+
33+
### Security
34+
35+
- **OIDC Implementation Refactor - Authorization Code Flow with PKCE** ([nebraska#642](https://github.com/flatcar/nebraska/pull/642))
36+
- Tokens no longer exposed in server logs or query parameters
37+
- Frontend handles OIDC flow directly with identity provider using PKCE (Proof Key for Code Exchange)
38+
- In-memory token storage prevents XSS vulnerabilities
39+
- Stateless backend architecture eliminates session storage related vulnerabilities
40+
41+
### Breaking Changes
42+
43+
- **OIDC Authentication**: Complete refactor requiring migration (see [OIDC Migration Guide](docs/oidc-migration-guide.md))
44+
- **Removed configuration options**:
45+
- `--oidc-client-secret` / `NEBRASKA_OIDC_CLIENT_SECRET` - OIDC now requires public client type
46+
- `--oidc-valid-redirect-urls` - No longer needed with direct frontend flow
47+
- `--oidc-session-secret` / `NEBRASKA_OIDC_SESSION_SECRET` - Backend is now stateless
48+
- `--oidc-session-crypt-key` / `NEBRASKA_OIDC_SESSION_CRYPT_KEY` - No server-side sessions
49+
- **Removed API endpoints**:
50+
- `GET /login` - Frontend initiates OIDC flow directly with provider
51+
- `POST /login/token` - Password grant type no longer supported
52+
- `GET /login/cb` now returns 501 for OIDC mode (GitHub mode only)
53+
- **Changed default scopes**: From `openid,offline_access` to `openid,profile,email`
54+
- **Migration requirements**:
55+
- OIDC provider must be reconfigured from confidential to public client type
56+
- CORS must be enabled for Nebraska domain on OIDC provider if it is not hosted under the same domain
57+
- Recommended: Enable session cookies on OIDC provider for seamless SSO re-authentication
58+
- Configure SSO session duration to 8-12 hours (idle timeout) and 1-7 days (maximum lifetime) based on your security requirements
59+
- **Keycloak**: Configure "SSO Session Max" and "SSO Session Idle Timeout" under Realm Settings → Sessions
60+
- **Auth0**: Configure "Maximum Session Lifetime" and "Idle Session Lifetime" under Tenant Settings → Advanced → Session Expiration
61+
- NOTE: Many times, these SSO session attributes are already set by default
62+
- When access tokens get lost after page refresh, the OIDC provider automatically re-authenticates users if SSO session is still active (no password re-entry required)
63+
- Recommended: Configure OIDC provider access token expiration to 1-8 hours (should be less than the SSO maximum session lifetime)
64+
65+
### Changed
66+
67+
- helm/postgresql: temporarily overwrite PostgreSQL subchart images to the Bitnami Legacy registry (`bitnamilegacy/*`) to restore Helm chart deployments after Bitnami Docker Hub deprecations. This is a short-term workaround only; Bitnami Legacy images are archived and will not receive security updates.
68+
- backend: OIDC authentication refactored to use standard SPA authentication pattern with stateless JWT validation ([nebraska#642](https://github.com/flatcar/nebraska/pull/642))
69+
- frontend: Implements OIDC Authorization Code Flow with PKCE directly, removing backend proxy ([nebraska#642](https://github.com/flatcar/nebraska/pull/642))
70+
- api: Note that `oidcCookieAuth` security scheme in OpenAPI spec was never implemented and should be removed in future cleanup
71+
72+
73+
## [v2.13.0] - 21/10/2025 - INCORRECTLY VERSIONED - USE v3.0.0 INSTEAD
74+
75+
**VERSIONING NOTICE:** This release was published with breaking changes as a minor version, which violates semantic versioning. The functionally identical v3.0.0 release corrects this with the proper major version bump. **For new deployments, use v3.0.0 instead.** Existing v2.13.0 users may upgrade to v3.0.0 to align with correct versioning, but no code or configuration changes are required.
1676

1777
### Security
1878
- **OIDC Implementation Refactor - Authorization Code Flow with PKCE** ([nebraska#642](https://github.com/flatcar/nebraska/pull/642))

0 commit comments

Comments
 (0)