text: (window.webpackJsonp=window.webpackJsonp||[]).push([[184],{250:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return r})),a.d(t,"rightToc",(function(){return n})),a.d(t,"default",(function(){return o}));var c=a(3),s=a(7),b=(a(0),a(444)),i={id:"milestones",title:"Milestones and Roadmap"},r={unversionedId:"milestones",id:"milestones",isDocsHomePage:!1,title:"Milestones and Roadmap",description:"v0.7.0-alpha.1",source:"@site/docs/milestones.md",slug:"/milestones",permalink:"/kratos/docs/next/milestones",editUrl:"https://github.com/ory/kratos/edit/master/docs/docs/milestones.md",version:"current",lastUpdatedBy:"aeneasr",lastUpdatedAt:1613433849,sidebar:"docs",previous:{title:"SDKs",permalink:"/kratos/docs/next/sdk"},next:{title:"Comparison",permalink:"/kratos/docs/next/further-reading/comparison"}},n=[{value:"v0.7.0-alpha.1",id:"v070-alpha1",children:[{value:"Bug",id:"bug",children:[]},{value:"Feat",id:"feat",children:[]},{value:"Docs",id:"docs",children:[]},{value:"Rfc",id:"rfc",children:[]},{value:"Blocking",id:"blocking",children:[]}]},{value:"v0.6.0-alpha.1",id:"v060-alpha1",children:[{value:"Bug",id:"bug-1",children:[]},{value:"Feat",id:"feat-1",children:[]},{value:"Docs",id:"docs-1",children:[]},{value:"Rfc",id:"rfc-1",children:[]},{value:"Blocking",id:"blocking-1",children:[]}]}],l={rightToc:n};function o(e){var t=e.components,a=Object(s.a)(e,["components"]);return Object(b.b)("wrapper",Object(c.a)({},l,a,{components:t,mdxType:"MDXLayout"}),Object(b.b)("h2",{id:"v070-alpha1"},Object(b.b)("a",Object(c.a)({parentName:"h2"},{href:"https://github.com/ory/kratos/milestone/9"}),"v0.7.0-alpha.1")),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"This milestone does not have a description.")),Object(b.b)("h3",{id:"bug"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/bug"}),"Bug")),Object(b.b)("p",null,"Something is not working."),Object(b.b)("h4",{id:"issues"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Typescript ErrorContainer type is incorrect\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/782"}),"kratos#782"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Refresh Sessions Without Having to Log In Again\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/615"}),"kratos#615"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Do not create system errors on duplicate credentials when linking oidc\nproviders (",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/694"}),"kratos#694"),")")),Object(b.b)("h3",{id:"feat"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/feat"}),"Feat")),Object(b.b)("p",null,"New feature or request."),Object(b.b)("h4",{id:"issues-1"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Selfservice account deletion\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/596"}),"kratos#596"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Implement Hydra integration\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/273"}),"kratos#273"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Self-service GDPR identity export\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/658"}),"kratos#658"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Admin/Selfservice session management\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/655"}),"kratos#655"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Webhook notification based system\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/776"}),"kratos#776"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","improve multi schema handling in different auth flows\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/765"}),"kratos#765"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","More meta information about the managed identity\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/820"}),"kratos#820"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Add i18n support to mail templates\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/834"}),"kratos#834"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Add option for disabling registration\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/882"}),"kratos#882"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Rename strategy to method in internal APIs and Documentation\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/683"}),"kratos#683"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Validate identity schema on load\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/701"}),"kratos#701"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Support OAuth2 and OpenID Connect in API-based flows\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/707"}),"kratos#707"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Implement immutable keyword in JSON Schema for Identity Traits\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/117"}),"kratos#117"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Feature Request: Webhooks\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/271"}),"kratos#271"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Support email verification paswordless login\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/286"}),"kratos#286"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","How to sign in with Twitter\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/517"}),"kratos#517"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","login ui returned without flowid\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/1055"}),"kratos#1055"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Implement Security Questions MFA\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/469"}),"kratos#469"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Double slash in URLs causes CSRF issues\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/779"}),"kratos#779"),")")),Object(b.b)("h3",{id:"docs"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/docs"}),"Docs")),Object(b.b)("p",null,"Affects documentation."),Object(b.b)("h4",{id:"issues-2"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Config JSON Schema needs example values\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/179"}),"kratos#179"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman"))),Object(b.b)("h3",{id:"rfc"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/rfc"}),"Rfc")),Object(b.b)("p",null,"A request for comments to discuss and share ideas."),Object(b.b)("h4",{id:"issues-3"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","improve multi schema handling in different auth flows\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/765"}),"kratos#765"),")")),Object(b.b)("h3",{id:"blocking"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/blocking"}),"Blocking")),Object(b.b)("p",null,"Blocks milestones or other issues or pulls."),Object(b.b)("h4",{id:"issues-4"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Implement Hydra integration\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/273"}),"kratos#273"),")")),Object(b.b)("h2",{id:"v060-alpha1"},Object(b.b)("a",Object(c.a)({parentName:"h2"},{href:"https://github.com/ory/kratos/milestone/8"}),"v0.6.0-alpha.1")),Object(b.b)("p",null,Object(b.b)("em",{parentName:"p"},"This milestone does not have a description.")),Object(b.b)("h3",{id:"bug-1"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/bug"}),"Bug")),Object(b.b)("p",null,"Something is not working."),Object(b.b)("h4",{id:"issues-5"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Unmable to use Auth0 as a generic OIDC provider\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/609"}),"kratos#609"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Investigate why smtps fails but smtp does not\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/781"}),"kratos#781"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Add randomized constant time to every login request\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/832"}),"kratos#832"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Fetching a settings request after error is missing identity data\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/689"}),"kratos#689"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Reloading config values does not work\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/804"}),"kratos#804"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Feature Request: Have access to username in email templates\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/925"}),"kratos#925"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Implement email TTL for non-working/non-existant emails\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/944"}),"kratos#944"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","panic: a handle is already registered for path\n'/self-service/recovery/methods/link'\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/1068"}),"kratos#1068"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Sending JSON to complete oidc/password strategy flows causes CSRF issues\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/378"}),"kratos#378"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Password reset emails sent twice by each of the two kratos pods in my\ncluster (",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/652"}),"kratos#652"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Building From Source fails\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/711"}),"kratos#711"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Quickstart is failing to mount volume kratos.yml when SELinux is enabled\nusing Podman (",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/831"}),"kratos#831"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Kratos Admin API return 409 when createIdentity is called simultaneously\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/861"}),"kratos#861"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/zepatrik"}),"@Patrik")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ",Object(b.b)("inlineCode",{parentName:"li"},"make sdk")," is broken\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/950"}),"kratos#950"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","CLI navigation reference is broken\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/951"}),"kratos#951"),")")),Object(b.b)("h4",{id:"pull-requests"},"Pull Requests"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Umbrella PR for Ory Kratos v0.6 with MFA and improved flows (#961)\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/pull/1012"}),"kratos#1012"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Implement FIDO2/MFA and refactor flow payloads and identity credentials\nand authenticators\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/pull/921"}),"kratos#921"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman"))),Object(b.b)("h3",{id:"feat-1"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/feat"}),"Feat")),Object(b.b)("p",null,"New feature or request."),Object(b.b)("h4",{id:"issues-6"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Gracefully handle CSRF errors\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/91"}),"kratos#91"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Do not send credentials to hooks\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/77"}),"kratos#77"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Prevent account enumeration for profile updates\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/292"}),"kratos#292"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Implement identity state and administrative deactivation, deletion of\nidentities (",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/598"}),"kratos#598"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","SMTP Error spams the server logs\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/402"}),"kratos#402"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Add ability to import user credentials\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/605"}),"kratos#605"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Throttling repeated login requests\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/654"}),"kratos#654"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Require identity deactivation before administrative deletion\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/657"}),"kratos#657"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","CSRF failure should start a new login/registration flow\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/821"}),"kratos#821"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Implement React SPA sample app\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/668"}),"kratos#668"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Password policies: make api.pwnedpasswords.com configurable\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/969"}),"kratos#969"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Access identity schema information (e.g. usernames) within the jsonnet\nmapper (",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/987"}),"kratos#987"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Support remote argon2 execution\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/357"}),"kratos#357"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Feature request: adjustable thresholds on how many times a password has\nbeen in a breach according to haveibeenpwned\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/450"}),"kratos#450"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Add return_to after logout\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/702"}),"kratos#702"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/zepatrik"}),"@Patrik")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Write CLI helper for recommending Argon2 parameters\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/723"}),"kratos#723"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/zepatrik"}),"@Patrik")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ",'Add possibility to configure the "claims" query parameter in the auth_url\nof OIDC providers to request individial id_token claims\n(',Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/735"}),"kratos#735"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Replace viper with Koanf\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/894"}),"kratos#894"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman"))),Object(b.b)("h4",{id:"pull-requests-1"},"Pull Requests"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Umbrella PR for Ory Kratos v0.6 with MFA and improved flows (#961)\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/pull/1012"}),"kratos#1012"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","docs: Initial set of documentation tests\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/pull/567"}),"kratos#567"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","feat: add selinux compatible quickstart config\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/pull/889"}),"kratos#889"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman"))),Object(b.b)("h3",{id:"docs-1"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/docs"}),"Docs")),Object(b.b)("p",null,"Affects documentation."),Object(b.b)("h4",{id:"issues-7"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Document that identity information (traits, etc) are available to token\nholders and backend systems\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/43"}),"kratos#43"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Please clarify docs to specify that a reverse proxy is ",Object(b.b)("em",{parentName:"li"},"required")," for\npublic usage due to lack of TLS support\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/791"}),"kratos#791"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Elaborate on security practices against DoS and Brute Force\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/134"}),"kratos#134"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman")),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","Building From Source fails\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/711"}),"kratos#711"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","CLI navigation reference is broken\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/951"}),"kratos#951"),")")),Object(b.b)("h4",{id:"pull-requests-2"},"Pull Requests"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!0,disabled:!0}))," ","docs: Initial set of documentation tests\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/pull/567"}),"kratos#567"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman"))),Object(b.b)("h3",{id:"rfc-1"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/rfc"}),"Rfc")),Object(b.b)("p",null,"A request for comments to discuss and share ideas."),Object(b.b)("h4",{id:"issues-8"},"Issues"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Introduce prevent extension in Identity JSON schema\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/47"}),"kratos#47"),")"),Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Refactor form builder\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/issues/929"}),"kratos#929"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman"))),Object(b.b)("h3",{id:"blocking-1"},Object(b.b)("a",Object(c.a)({parentName:"h3"},{href:"https://github.com/ory/kratos/labels/blocking"}),"Blocking")),Object(b.b)("p",null,"Blocks milestones or other issues or pulls."),Object(b.b)("h4",{id:"pull-requests-3"},"Pull Requests"),Object(b.b)("ul",{className:"contains-task-list"},Object(b.b)("li",Object(c.a)({parentName:"ul"},{className:"task-list-item"}),Object(b.b)("input",Object(c.a)({parentName:"li"},{type:"checkbox",checked:!1,disabled:!0}))," ","Umbrella PR for Ory Kratos v0.6 with MFA and improved flows (#961)\n(",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/ory/kratos/pull/1012"}),"kratos#1012"),") -\n",Object(b.b)("a",Object(c.a)({parentName:"li"},{href:"https://github.com/aeneasr"}),"@hackerman"))))}o.isMDXComponent=!0},444:function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return O}));var c=a(0),s=a.n(c);function b(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);t&&(c=c.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,c)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){b(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t){if(null==e)return{};var a,c,s=function(e,t){if(null==e)return{};var a,c,s={},b=Object.keys(e);for(c=0;c<b.length;c++)a=b[c],t.indexOf(a)>=0||(s[a]=e[a]);return s}(e,t);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(e);for(c=0;c<b.length;c++)a=b[c],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}var l=s.a.createContext({}),o=function(e){var t=s.a.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},m=function(e){var t=o(e.components);return s.a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return s.a.createElement(s.a.Fragment,{},t)}},h=s.a.forwardRef((function(e,t){var a=e.components,c=e.mdxType,b=e.originalType,i=e.parentName,l=n(e,["components","mdxType","originalType","parentName"]),m=o(a),h=c,O=m["".concat(i,".").concat(h)]||m[h]||p[h]||b;return a?s.a.createElement(O,r(r({ref:t},l),{},{components:a})):s.a.createElement(O,r({ref:t},l))}));function O(e,t){var a=arguments,c=t&&t.mdxType;if("string"==typeof e||c){var b=a.length,i=new Array(b);i[0]=h;var r={};for(var n in t)hasOwnProperty.call(t,n)&&(r[n]=t[n]);r.originalType=e,r.mdxType="string"==typeof e?e:c,i[1]=r;for(var l=2;l<b;l++)i[l]=a[l];return s.a.createElement.apply(null,i)}return s.a.createElement.apply(null,a)}h.displayName="MDXCreateElement"}}]);