π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
by vuejsTypeScript
Last 12 weeks Β· 110 commits
3 of 6 standards met
This Issue was created to provide better disclosure of information and find features that can be completed for community contributors. Maintainers are welcome to participate in updating this list. Vapor is Vue's high-performance subset. Some features in the roadmap might be canceled after discussion, for example, if implementing them affects performance or if they are proven to be poorly designed. Core Features (High Priority) [x] SSR / Hydration β Critical https://github.com/vuejs/core/pull/13226 https://github.com/vuejs/core/pull/13798 [x] Async Component https://github.com/vuejs/core/pull/13059 [x] KeepAlive https://github.com/vuejs/core/pull/13186 [x] Transition / TransitionGroup https://github.com/vuejs/core/pull/12962 [x] Teleport https://github.com/vuejs/core/pull/13082 Advanced Features (Medium Priority) [ ] Suspense [x] https://github.com/vuejs/core/pull/14157 [ ] VaporSuspense [x] Dynamic Components with v-html/v-text https://github.com/vuejs/core/pull/13496 [x] Forwarded Slots https://github.com/vuejs/core/pull/13408 [x] Template Ref Interop https://github.com/vuejs/core/pull/13323 [x] Component Events (keys/nonKeys modifier) https://github.com/vuejs/core/pull/13053 [x] v-once Support https://github.com/vuejs/core/pull/13459 [x] ScopeId Support https://github.com/vuejs/core/pull/14004 Performance & DX [x] Provide/Inject System [x] Incremental Updates (setClassIncremental, setStyleIncremental) Ecosystem [ ] VitePress [ ] Vue Router https://github.com/vuejs/router/pull/2509 [x] Pinia [ ] Nuxt.js (depends on SSR Hydration) [ ] DevTools Integration [ ] Vue Test Utils
Vue version 3.5.22 Link to minimal reproduction https://play.vuejs.org/#eNqFVE1v2zAM/SucMcAOkDlDu10CJ91XD9shLbpgO8RF4dh0olaWDH24LQL/91GynaTd1vokkY/kI/nkXfC5ruPGYjANEp0rVhvQaGwNPBObWRoYnQbzVLCqlsrADnJZ1dZgMQaF5RisxiVWNc8MXrn7fWbyLbRQKllBSHnDfexXiuzt8cRdXFlypyKXQhswhzwwe5Y4Cl3dcDRghSxw+VgjAYlGImy1RjWP/vIvssphBtJRNILZHHapAIozVgm4WN9ibmIURjHU0YICKQvQF5eMG1RRtLrDx2sfSAdCFvo3M9sovFlcfDsPRwe4oAKrMTQZt9gF+CPMZrM9o9ibRmfx6v11KloKHjg3TLM171uKyoxrxyQVfqTRqnePj+d0PYajjro0yCnDEaYreBa/Re5AT3kQlPCM4jKRoyzB9Q9nZIz3I56CFQVSd1gQ4TFpgFUVFozST8EoS5RKbvV2CmEttQnBNZVMOjGRdOgy0KEbQCKtoW34M3QFXZ0p7HZP99a2Hj45wicFa/rAZG2NkQI+5Zzld6TUw/ze9EdS7lJuNhyTSQfuckyGJImXJE2bop1E0gCmfej8l6Uo5ydkMjlqIBjTm6BRl2wT32op6OH46XcpGEd1URtGq0gDaqnjmgYZ5/L+h7f5kQ32fIv53T/st/rB2dLgUqFG1VAve5/J1AZN5z7/ucAHOu+dlSys6/wF5xVqya3j2MG+0H6J9hHOs/3uny0Tm6U+fzAo9NCUI+qQrcfT4C26Qf2v9QPd0/iDjyMZ0RSHX8Arf55OepdK1jrZDY9kCmspOWYCWv/qX5IbbRuad8wt+aCLXkOaSwOTJ7J4vuybBpVrnWiexh/jk5Og/QNnAMD2 Steps to reproduce 1. Create a child component with on root 2. Set a template ref on the child component in the parent 3. Set condition to to unmount the child root What is expected? Template ref set to be What is actually happening? Template ref set to comment node System Info Any additional comments? Found this while building a component using custom disclosure component. If this is not a bug, it should be documented.
A functional component declared with rest params () reports , so the fast path passed as the context argument, leaving the component without access to , and . Always pass the context object; rest params cannot be distinguished from zero-arg functions via . close #13182 Summary by CodeRabbit Bug Fixes Fixed functional component rendering so components using rest parameters consistently receive the expected render context (attributes, slots, and emit). Improved development-time tracking of attribute access to avoid incorrect -related warnings. Tests Added a new test covering functional components declared with rest parameters to ensure the render context is populated and slot rendering behaves correctly.
In dev, a leading comment followed by a single root element compiles to a root fragment flagged , whose points at the fragment's text anchor rather than the real element, so returned the anchor instead of the element. Resolve the real single root via , mirroring the existing scopeId/attr-fallthrough handling. Dev-only and gated. close #12680 Summary by CodeRabbit Bug Fixes** Template refs now resolve to the actual rendered element when a component returns a fragment with a single root node. Improved the element reported by component instances in development so it no longer points to fragment placeholder nodes in this case. Added coverage for this template ref behavior to help prevent regressions.
Components registered via the option in a mixin were not inferred on a consuming component, so and template resolution lost them. Infer the local-components generic in and thread it through and . close #13253 Summary by CodeRabbit Bug Fixes Improved TypeScript inference for component typings when components are supplied via mixins, , and . Mixin-provided components are now merged for type checks and remain accessible by key. Local entries correctly take precedence over mixin-registered components with the same name. Public instance typings now surface βlocal componentsβ more consistently. Tests Added a TypeScript definition test suite covering mixin and component inference scenarios.
Repository: vuejs/core. Description: π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. Stars: 53895, Forks: 9156. Primary language: TypeScript. Languages: TypeScript (96.7%), JavaScript (1.7%), HTML (1.1%), Vue (0.5%), CSS (0%). License: MIT. Homepage: https://vuejs.org/ Latest release: v3.5.39 (5d ago). Open PRs: 100, open issues: 810. Last activity: 4h ago. Community health: 62%. Top contributors: yyx990803, dependabot-preview[bot], renovate[bot], edison1105, sxzz, HcySunYang, pikax, underfin, dependabot[bot], Alfred-Skyblue and others.