Warning
Breaking changes
Check the sections that apply to your setup before updating.
OIDC: Change the callback URL
In your identity provider, replace the registered redirect URI:
Before:
https://recipes.example.com/api/auth/oauth2/callback/oidc
After:
https://recipes.example.com/api/auth/callback/oidc
Use your own public address, including any base path.
GitHub and Google callback URLs are unchanged. See [Authentication](https://docs.norish.dev/configuration/authentication).
Site tokens require full domains
Re-add tokens saved under bare names in Settings → User.
For example, replace instagram with instagram.com in the Domain field.
- Use a full domain without
https://or a path. - Tokens also cover subdomains such as
www.instagram.com. - Bare-name tokens are no longer sent.
See [Site authentication](https://docs.norish.dev/configuration/site-authentication).
Page renderer
Existing OBSCURA_ENDPOINT and OBSCURA_CDP_TOKEN values are automatically copied into Settings → Admin → Page renderers on the first startup after upgrading.
After that, manage renderer settings in the admin interface. Changes to the original environment variables will no longer have any effect.
If you use a custom Obscura timeout, replace the old environment variable before the first startup so the new setting is initialized correctly.
Before:
OBSCURA_NAVIGATION_TIMEOUT_MS=60000After:
PAGE_RENDERER_TIMEOUT_MS=60000The default timeout remains 45,000 ms (45 seconds).
After the first startup, change the navigation timeout through Settings → Admin → Page renderers instead.
Summary
This release brings major performance improvements, new AI-powered administration tools, more reliable imports, and improved authentication.
Performance improvements
- Your Library, recipes, cookbooks, and groceries load up to 14× faster on slower phones.
- The Docker image is approximately 30% smaller.
Administration & AI
- Administrators can stop background jobs.
- AI can help clean up ingredients and fill in missing nutrition information, conversions, and icons.
Imports & authentication
- Imports now support browser-based fallbacks.
- Accounts can be linked to multiple sign-in methods.
Infrastructure & security
- Updated runtime to Node.js 26.
- Docker Compose examples now use Valkey.
- Security fixes are included in this release.
The README and landing page have also been redesigned.
Contributors
As always thanks to all contributors
- [@AfoxDesignz](https://github.com/AfoxDesignz)
- [@zbrox](https://github.com/zbrox) (Rostislav Raykov)
- [@x84a01](https://github.com/x84a01) (Matthew Watts)
- [@QuirkyTurtle94](https://github.com/QuirkyTurtle94)
- [@forg3](https://github.com/forg3) (Andre Santo)
- [@LuttmaN](https://github.com/LuttmaN)
- [@hatemhamad](https://github.com/hatemhamad) (Hatem Hamad)
- [@Zenokin](https://github.com/Zenokin)
Full release notes: [Norish v0.26.0-beta](https://docs.norish.dev/release-notes/0.26.0-beta)