### Version 3.0.0-alpha.1 ### Reproduction link https://codesandbox.io/s/zen-field-ewni3 vue 2 for comparison - https://jsfiddle.net/jfrhgbma/ ### Steps to reproduce ```ts import { h, createApp } from "vue"; function Button(props, { attrs }) { console.log({ props, attrs }); } const App = { setup() { return () => [ h(Button, { "data-id": 1, "aria-label": "Close", }) ]; } }; createApp().mount(App, "#root"); ``` ### What is expected? Button's props should be in camelCase and attrs in kebab-case ### What is actually happening? Without explicit props declaration Button `attrs` keys are converted to camelCase. <!-- generated by vue-issues. DO NOT REMOVE -->