
About
# π RFC
## Summary
* React version adjust to `>= 18`
* Pure css variable mode style resolution (Not support IE anymore)
* All components support Semantic DOM
* Retire v4 deprecated API
* Mobile UX improvement
## Motivation
As planed, antd will start v6 version to match with React 19. This is also a good time to get rid of legacy browser support.
## Detailed
### βοΈ React compatible to 18
React provide new strong hooks since 18. But to compatible with old version, antd inside use fallback logic to fullfill the hooks which may cause behavior difference between versions. And also some static method like `Modal.confirm` need the extra render ability which is not same function since 18 and can not compatible with 19 ever. So the version will be raised.
### πͺ¦ Finally remove IE support
v5 removed base support but still provide fallback ability. In v6, will will fully remove IE support thus you can no longer use the legacy transform plugin to compatible with IE.
### π Pure css variables resolution
When deprecated IE support. `@ant-design/cssinjs` will only provide css variables resolution. It will save large scale of useless `memo` comparison for dynamic style calculation.
Also, css content part will support zero runtime generation which means you can use current `@ant-design/static-style-extract` lib to generate framework level css and theme level css at same time. It can help to use css variable to do simplify theme switch or client fully ability for dynamic theme switch.
### π« Remove `findDOMNode`
antd will fallback to use `findDOMNode` when children not support `ref`. Since React 19 will trade `ref` as normal props, we will not longer support the fallback logic with `findDOMNode` anymore.
### 𧩠Fully semantic DOM
All the components will provider semantic `classNames` & `styles` props and added in ConfigProvider, thus you can customize theme ability when design token not support:
```tsx
<ConfigProvider tooltip={{ classNames: { content: 'my-class' } }}>
Β <App />
</ConfigProvider>
```
### π οΈ Retire v4 deprecated API
As major release tradition. The deprecated API before 2 version will be removed.
### π± Mobile UX improvement
For the interactive, partial component with popup element will do the adjustment for compatible with mobile device screen to improve the user experience. Some component **may** adjust design if can not auto scale.
## Adoption strategy
* create `next` branch which will keep sync with `master`.
* compatible code will still added `master`.
## Ant Design v6 tasks
- See #52115
## Summary
* React version adjust to `>= 18`
* Pure css variable mode style resolution (Not support IE anymore)
* All components support Semantic DOM
* Retire v4 deprecated API
* Mobile UX improvement
## Motivation
As planed, antd will start v6 version to match with React 19. This is also a good time to get rid of legacy browser support.
## Detailed
### βοΈ React compatible to 18
React provide new strong hooks since 18. But to compatible with old version, antd inside use fallback logic to fullfill the hooks which may cause behavior difference between versions. And also some static method like `Modal.confirm` need the extra render ability which is not same function since 18 and can not compatible with 19 ever. So the version will be raised.
### πͺ¦ Finally remove IE support
v5 removed base support but still provide fallback ability. In v6, will will fully remove IE support thus you can no longer use the legacy transform plugin to compatible with IE.
### π Pure css variables resolution
When deprecated IE support. `@ant-design/cssinjs` will only provide css variables resolution. It will save large scale of useless `memo` comparison for dynamic style calculation.
Also, css content part will support zero runtime generation which means you can use current `@ant-design/static-style-extract` lib to generate framework level css and theme level css at same time. It can help to use css variable to do simplify theme switch or client fully ability for dynamic theme switch.
### π« Remove `findDOMNode`
antd will fallback to use `findDOMNode` when children not support `ref`. Since React 19 will trade `ref` as normal props, we will not longer support the fallback logic with `findDOMNode` anymore.
### 𧩠Fully semantic DOM
All the components will provider semantic `classNames` & `styles` props and added in ConfigProvider, thus you can customize theme ability when design token not support:
```tsx
<ConfigProvider tooltip={{ classNames: { content: 'my-class' } }}>
Β <App />
</ConfigProvider>
```
### π οΈ Retire v4 deprecated API
As major release tradition. The deprecated API before 2 version will be removed.
### π± Mobile UX improvement
For the interactive, partial component with popup element will do the adjustment for compatible with mobile device screen to improve the user experience. Some component **may** adjust design if can not auto scale.
## Adoption strategy
* create `next` branch which will keep sync with `master`.
* compatible code will still added `master`.
## Ant Design v6 tasks
- See #52115

Contribute
Become a financial contributor.