-
Notifications
You must be signed in to change notification settings - Fork 1.8k
chore: add page on feature deprecations #2453
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 2 commits
8b55564
015ea7e
1b9d7e4
f1615cb
c5ea136
277495c
934299a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,72 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| id: index | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| title: Feature deprecations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sidebar_label: Feature deprecations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This section lists deprecated behavior in Ory Kratos. Check this section regularly to avoid relying on deprecated functionality. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Who does this apply to? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Users of the Ory Network, Ory Kratos (open source) and the OEL (Ory Enterprise License) are affected by this section. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## How to use this section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Each entry in this section provides information about the deprecated feature, including: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - A brief description of the feature and its purpose. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - The reason for deprecation, if available. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - The version in which the feature was deprecated. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - Any recommended alternatives or migration paths, if applicable. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| If you're using an Ory Network project, your configuration will not change, unless you have explicitly disabled the deprecated | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| feature via a project level feature flag. To check which flags are currently enabled, go to | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <ConsoleLink route="project.settings.advanced" />. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
jonas-jonas marked this conversation as resolved.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| If you're self-hosting Ory Kratos (either through open source or the OEL), you should review your configuration and codebase to | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| identify any usage of deprecated features before upgrading to a new version. This will help you avoid any potential issues that | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| may arise from the removal of deprecated features in future releases. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Stay informed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Subscribe to the [Ory Changelog](https://changelog.ory.com) to receive updates on new releases, including information about | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| deprecated features and their removal timelines. Additionally, consider joining the Ory community on Slack or GitHub to stay | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| engaged with other users and developers, and to get support for any questions or issues related to deprecated features. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Impacted functionality | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ### Admin session extension API (`faster_session_extend`) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - Who is impacted by this change? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This improvement may impact users who are using the `/admin/sessions/{id}/extend` endpoint ([`extendSession`](../reference/api#tag/identity/operation/extendSession) SDK operation) to | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| extend their users' sessions. The new implementation may result in faster response times and improved performance when extending | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sessions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - Why was this change made? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The change was made to improve the performance and efficiency of the session extension process. By decoupling the session | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| extension from the retrieval of the updated session information, we can reduce the processing time and resource usage for | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| extending sessions, especially in scenarios with high traffic or large session data. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - How to adapt to this change? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| If your application is using the updated session returned by the `/admin/sessions/{id}/extend` endpoint after the session | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| extension, you will need to update your implementation to retrieve the updated session information separately, using the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| `/admin/sessions/{id}` endpoint ([`getSession`](../reference/api#tag/identity/operation/getSession) SDK operation) after the session extension. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| After you reviewed your usage of this API, follow the instructions below based on your deployment type to ensure that you are | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| benefiting from the improved session extension process. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <Tabs> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <TabItem value="network" label="Ory Network"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Go to <ConsoleLink route="project.settings.advanced" hash="kratos_feature_flags_faster_session_extend" /> and enable the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "Faster session extension" feature flag to benefit from this improvement. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </TabItem> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <TabItem value="self-hosted" label="Self-hosted (OSS or OEL)"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Starting with [Ory Kratos v1.3.0](https://github.com/ory/kratos/releases/tag/v1.3.0), the faster session extension process is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| enabled by default. If you need to disable this feature for any reason, you can set the `feature_flags.faster_session_extend` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| configuration option to `false` in your Kratos configuration file. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This improvement may impact users who are using the `/admin/sessions/{id}/extend` endpoint ([`extendSession`](../reference/api#tag/identity/operation/extendSession) SDK operation) to | |
| extend their users' sessions. The new implementation may result in faster response times and improved performance when extending | |
| sessions. | |
| - Why was this change made? | |
| The change was made to improve the performance and efficiency of the session extension process. By decoupling the session | |
| extension from the retrieval of the updated session information, we can reduce the processing time and resource usage for | |
| extending sessions, especially in scenarios with high traffic or large session data. | |
| - How to adapt to this change? | |
| If your application is using the updated session returned by the `/admin/sessions/{id}/extend` endpoint after the session | |
| extension, you will need to update your implementation to retrieve the updated session information separately, using the | |
| `/admin/sessions/{id}` endpoint ([`getSession`](../reference/api#tag/identity/operation/getSession) SDK operation) after the session extension. | |
| After you reviewed your usage of this API, follow the instructions below based on your deployment type to ensure that you are | |
| benefiting from the improved session extension process. | |
| <Tabs> | |
| <TabItem value="network" label="Ory Network"> | |
| Go to <ConsoleLink route="project.settings.advanced" hash="kratos_feature_flags_faster_session_extend" /> and enable the | |
| "Faster session extension" feature flag to benefit from this improvement. | |
| </TabItem> | |
| <TabItem value="self-hosted" label="Self-hosted (OSS or OEL)"> | |
| Starting with [Ory Kratos v1.3.0](https://github.com/ory/kratos/releases/tag/v1.3.0), the faster session extension process is | |
| enabled by default. If you need to disable this feature for any reason, you can set the `feature_flags.faster_session_extend` | |
| configuration option to `false` in your Kratos configuration file. | |
| This deprecation impacts users who rely on the `/admin/sessions/{id}/extend` endpoint | |
| ([`extendSession`](../reference/api#tag/identity/operation/extendSession) SDK operation) returning the updated session after | |
| extending a user's session. With `faster_session_extend` enabled, session extension is decoupled from returning the updated | |
| session data. | |
| - Why was this change made? | |
| The previous behavior was deprecated to improve the performance and efficiency of the session extension process. By decoupling | |
| session extension from retrieval of the updated session information, Ory Kratos can reduce processing time and resource usage, | |
| especially in scenarios with high traffic or large session data. | |
| - How to adapt to this change? | |
| If your application uses the updated session returned by the `/admin/sessions/{id}/extend` endpoint, update your implementation | |
| to retrieve the updated session separately after extending it by calling `/admin/sessions/{id}` | |
| ([`getSession`](../reference/api#tag/identity/operation/getSession) SDK operation). | |
| After reviewing your usage of this API, follow the instructions below based on your deployment type to adopt the non-deprecated | |
| behavior. | |
| <Tabs> | |
| <TabItem value="network" label="Ory Network"> | |
| Go to <ConsoleLink route="project.settings.advanced" hash="kratos_feature_flags_faster_session_extend" /> and enable the | |
| "Faster session extension" feature flag. | |
| </TabItem> | |
| <TabItem value="self-hosted" label="Self-hosted (OSS or OEL)"> | |
| Starting with [Ory Kratos v1.3.0](https://github.com/ory/kratos/releases/tag/v1.3.0), the faster session extension behavior | |
| is enabled by default. If your code still relies on `/admin/sessions/{id}/extend` returning the updated session, update it | |
| to call `getSession` separately, or temporarily set `feature_flags.faster_session_extend` to `false` in your Kratos | |
| configuration file. |
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -4,6 +4,7 @@ import { projectPaths, workspacesPaths } from "./console-nav-data" | |||||||||||||
|
|
||||||||||||||
| type ConsoleLinkProps = { | ||||||||||||||
| route: string | ||||||||||||||
| hash?: string | ||||||||||||||
| } | ||||||||||||||
|
|
||||||||||||||
| const flatConsolePaths = [...projectPaths, ...workspacesPaths].flatMap((p) => { | ||||||||||||||
|
|
@@ -33,7 +34,7 @@ const flatConsolePaths = [...projectPaths, ...workspacesPaths].flatMap((p) => { | |||||||||||||
| * @param route a (possible nested) accesor from the routes object | ||||||||||||||
|
jonas-jonas marked this conversation as resolved.
|
||||||||||||||
| * @returns | ||||||||||||||
| */ | ||||||||||||||
| export default function ConsoleLink({ route }: ConsoleLinkProps) { | ||||||||||||||
| export default function ConsoleLink({ route, hash }: ConsoleLinkProps) { | ||||||||||||||
| const routeObj = route.split(".").reduce((p, c) => p[c], routes) | ||||||||||||||
| if (!routeObj || (typeof routeObj !== "string" && !("route" in routeObj))) { | ||||||||||||||
| throw new Error("Route not found: " + route) | ||||||||||||||
|
|
@@ -61,7 +62,9 @@ export default function ConsoleLink({ route }: ConsoleLinkProps) { | |||||||||||||
|
|
||||||||||||||
| // TODO: add current project resolution via the console API | ||||||||||||||
| const renderedRoute = | ||||||||||||||
| "https://console.ory.sh" + resolvedRoute.replace("[project]", "current") | ||||||||||||||
| "https://console.ory.sh" + | ||||||||||||||
| resolvedRoute.replace("[project]", "current") + | ||||||||||||||
| (hash ? `#${hash}` : "") | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Normalize and encode the fragment before appending it. Passing Suggested fix const renderedRoute =
"https://console.ory.sh" +
resolvedRoute.replace("[project]", "current") +
- (hash ? `#${hash}` : "")
+ (hash ? `#${encodeURIComponent(hash.replace(/^#/, ""))}` : "")📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
Comment on lines
64
to
+67
|
||||||||||||||
|
|
||||||||||||||
| return ( | ||||||||||||||
| <> | ||||||||||||||
|
|
||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.