Open Collective
Open Collective
Loading

antd v6

PROJECT
Part of: Ant Design

Release antd v6

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

Our team

afc163

Admin
Hello contributors!

zombieJ

Admin

Contribute


Become a financial contributor.

Financial Contributions

Custom contribution
Donation
Make a custom one-time or recurring contribution.