- labels:
- Usage
- Question
replay: |
Hello @{user}, we use GitHub issues to trace bugs or discuss plans of Ant Design.
So, please [don't ask usage questions](https://github.com/ant-design/ant-design/issues/2320) here.
You can try to ask questions on [Stack Overflow](http://stackoverflow.com/questions/tagged/ng-zorro-antd) or [Segment Fault](https://segmentfault.com/t/ng-zorro), then apply tag `ng-zorro-antd` or `ng-zorro` to your question.
你好 @{user},Ant Design Issue 板块是用于 bug 反馈与需求讨论的地方。
请[勿询问如何使用的问题](https://github.com/ant-design/ant-design/issues/2320)
你可以试着在 [Stack Overflow](http://stackoverflow.com/questions/tagged/ng-zorro-antd) 或者 [Segment Fault](https://segmentfault.com/t/ng-zorro) 中提问(记得添加 `ng-zorro-antd` 或 `ng-zorro` 标签)。
translate:
replay: |
Translation of this issue:
---
## {title}
{body}
needReproduce:
label: Need Reproduce
afterLabel: Need More Info
replay: |
Hello @{user}. Please provide a online reproduction by forking this link https://stackblitz.com/edit/ng-zorro-antd-start or a minimal GitHub repository.
Issues labeled by `Need Reproduce` will be closed if no activities in 7 days.
你好 @{user}, 我们需要你提供一个在线的重现实例以便于我们帮你排查问题。你可以通过点击 [此处](https://stackblitz.com/edit/ng-zorro-antd-start) 创建一个 stackblitz 或者提供一个最小化的 GitHub 仓库
被标记为 `Need Reproduce` 的 issue 7 天内未跟进将会被自动关闭。

invalid:
mark: ng-zorro-issue-helper
labels: Invalid
replay: |
Hello @{user}, your issue has been closed because it does not conform to our issue requirements.
Please use the [Issue Helper](http://ng.ant.design/issue-helper/#/en) to create an issue, thank you!
你好 @{user},为了能够进行高效沟通,我们对 issue 有一定的格式要求,你的 issue 因为不符合要求而被自动关闭。
你可以通过 [issue 助手](http://ng.ant.design/issue-helper/#/zh) 来创建 issue 以方便我们定位错误。谢谢配合!
assignOwner:
labelTemplate: 'Component: {component}'
components:
Affix: cipchk
Anchor: cipchk
List: cipchk
Upload: cipchk
AutoComplete: hsuanxyz
Avatar: hsuanxyz
Badge: hsuanxyz
Comment: hsuanxyz
Drawer: hsuanxyz
Mention: hsuanxyz
Modal: hsuanxyz
Steps: hsuanxyz
Tag: hsuanxyz
TreeSelect: hsuanxyz
TreeView: hsuanxyz
Typography: hsuanxyz
Space: hsuanxyz
Resizable: hsuanxyz
Breadcrumb: simplejason
Empty: simplejason
Carousel: simplejason
Cascader: simplejason
Descriptions: simplejason
Icon: simplejason
Message: simplejason
Notification: simplejason
Popconfirm: simplejason
Popover: simplejason
Progress: simplejason
Rate: simplejason
Result: simplejason
Slider: simplejason
Statistic: simplejason
Timeline: simplejason
Tooltip: simplejason
CodeEditor: simplejason
Calendar: wenqi73
DatePicker: wenqi73
Skeleton: wenqi73
TimePicker: wenqi73
I18n: wenqi73
Alert: vthinkxie
Button: vthinkxie
Card: vthinkxie
Checkbox: vthinkxie
Collapse: vthinkxie
Divider: vthinkxie
Dropdown: vthinkxie
Grid: vthinkxie
Input: vthinkxie
InputNumber: vthinkxie
Layout: vthinkxie
Menu: vthinkxie
Pagination: vthinkxie
Radio: vthinkxie
Select: vthinkxie
Spin: vthinkxie
Switch: vthinkxie
Table: vthinkxie
Tabs: NearZXH
Tree: simplejason
Form: danranVm
PageHeader: CK110
Transfer: Ricbet
Pipes: chensimeng
Image: stygian-desolator
Splitter: laffery
================================================
FILE: .github/semantic.yml
================================================
titleAndCommits: true
types:
- feat
- fix
- docs
- style
- refactor
- perf
- test
- build
- ci
- chore
- revert
================================================
FILE: .github/workflows/sync-styles.yml
================================================
name: styles-sync
on:
push:
branches: [ master ]
workflow_dispatch:
inputs:
version:
description: 'Which version want to synchronize (Default latest)'
jobs:
preview:
runs-on: ubuntu-latest
steps:
- uses: hsuanxyz/zorro-styles-sync-action@v1.1
with:
account_token: ${{ secrets.BOT_TOKEN }}
version: ${{ github.event.inputs.version }}
================================================
FILE: .gitignore
================================================
# See http://help.github.com/ignore-files/ for more about ignoring files.
__ngcc_entry_points__.json
# compiled output
dist/
tmp/
junit/
out-tsc/
/site
publish/
lib/
schematics/demo
schematics/utils/version-names.ts
ng-zorro.github.io/
archive-docs/
# dependencies
node_modules
node_modules.*/
integration/**/package-lock.json
yarn.lock
# IDEs and editors
.idea/
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/mcp.json
# misc
/.angular/cache
/.nx-cache
/.nx
/.sass-cache
/connect.lock
/coverage
/coverage-report
/libpeerconnection.log
npm-debug.log
testem.log
/typings
.eslintcache
yarn-error.log
report.*.json
# e2e
/e2e/*.js
/e2e/*.map
# System Files
.DS_Store
Thumbs.db
monospace.json
================================================
FILE: .husky/.gitignore
================================================
_
================================================
FILE: .husky/commit-msg
================================================
export 'HUSKY_GIT_PARAMS'="$1"
npx --no-install commitlint --edit "$1"
================================================
FILE: .husky/pre-commit
================================================
export NODE_OPTIONS="--max-old-space-size=4096"
npm run pre-commit
================================================
FILE: .junie/guidelines.md
================================================
You are an expert in TypeScript, Angular, and scalable web application development. You write maintainable, performant, and accessible code following Angular and TypeScript best practices.
## TypeScript Best Practices
- Use strict type checking
- Prefer type inference when the type is obvious
- Avoid the `any` type; use `unknown` when type is uncertain
## Angular Best Practices
- Always use standalone components over NgModules
- Must NOT set `standalone: true` inside Angular decorators. It's the default.
- Use signals for state management
- Implement lazy loading for feature routes
- Do NOT use the `@HostBinding` and `@HostListener` decorators. Put host bindings inside the `host` object of the `@Component` or `@Directive` decorator instead
- Use `NgOptimizedImage` for all static images.
- `NgOptimizedImage` does not work for inline base64 images.
## Components
- Keep components small and focused on a single responsibility
- Use `input()` and `output()` functions instead of decorators
- Use `computed()` for derived state
- Set `changeDetection: ChangeDetectionStrategy.OnPush` in `@Component` decorator
- Prefer inline templates for small components
- Prefer Reactive forms instead of Template-driven ones
- Do NOT use `ngClass`, use `class` bindings instead
- Do NOT use `ngStyle`, use `style` bindings instead
## State Management
- Use signals for local component state
- Use `computed()` for derived state
- Keep state transformations pure and predictable
- Do NOT use `mutate` on signals, use `update` or `set` instead
## Templates
- Keep templates simple and avoid complex logic
- Use native control flow (`@if`, `@for`, `@switch`) instead of `*ngIf`, `*ngFor`, `*ngSwitch`
- Use the async pipe to handle observables
## Services
- Design services around a single responsibility
- Use the `providedIn: 'root'` option for singleton services
- Use the `inject()` function instead of constructor injection
================================================
FILE: .junie/mcp.json
================================================
{
"mcpServers": {
"angular-cli": {
"command": "npx",
"args": [
"-y",
"@angular/cli",
"mcp"
]
},
"eslint": {
"command": "npx",
"args": [
"@eslint/mcp@latest"
],
"env": {}
}
}
}
================================================
FILE: .lintstagedrc
================================================
{
"*.less": "stylelint --fix",
"*.{md,html,ts}": "eslint --fix"
}
================================================
FILE: .npmrc
================================================
node-options=--max-old-space-size=14000
================================================
FILE: .nvmrc
================================================
20.19.0
================================================
FILE: .prettierignore
================================================
**/*.svg
**/test.ts
coverage/
publish/
schematics/
package.json
**/template/*
dist
================================================
FILE: .prettierrc.js
================================================
module.exports = {
singleQuote: true,
useTabs: false,
printWidth: 120,
tabWidth: 2,
semi: true,
htmlWhitespaceSensitivity: 'strict',
arrowParens: 'avoid',
bracketSpacing: true,
proseWrap: 'preserve',
trailingComma: 'none',
endOfLine: 'lf'
};
================================================
FILE: .stylelintrc.json
================================================
{
"extends": [
"stylelint-config-standard-less",
"stylelint-config-rational-order"
],
"customSyntax": "postcss-less",
"plugins": [
"stylelint-declaration-block-no-ignored-properties"
],
"rules": {
"function-name-case": [
"lower",
{
"ignoreFunctions": [
"/colorPalette/"
]
}
],
"function-no-unknown": [
true,
{
"ignoreFunctions": [
"fade",
"fadeout",
"tint",
"darken",
"ceil",
"fadein",
"floor",
"unit",
"shade",
"lighten",
"percentage",
"-",
"~`colorPalette"
]
}
],
"import-notation": null,
"no-descending-specificity": null,
"no-invalid-position-at-import-rule": null,
"declaration-empty-line-before": null,
"keyframes-name-pattern": null,
"custom-property-pattern": null,
"number-max-precision": 8,
"alpha-value-notation": "number",
"color-function-notation": "legacy",
"selector-class-pattern": null,
"selector-id-pattern": null,
"selector-not-notation": null,
"declaration-block-no-redundant-longhand-properties": null,
"declaration-property-value-no-unknown": null,
"at-rule-no-unknown": [
true,
{
"ignoreAtRules": [
"plugin"
]
}
],
"less/no-duplicate-variables": null
},
"ignoreFiles": [
"components/style/color/{bezierEasing,colorPalette,tinyColor}.less"
]
}
================================================
FILE: .vscode/mcp.json
================================================
{
"servers": {
"angular-cli": {
"command": "npx",
"args": [
"-y",
"@angular/cli",
"mcp"
]
},
"eslint": {
"type": "stdio",
"command": "npx",
"args": [
"@eslint/mcp@latest"
]
}
}
}
================================================
FILE: .windsurf/rules/guidelines.md
================================================
You are an expert in TypeScript, Angular, and scalable web application development. You write maintainable, performant, and accessible code following Angular and TypeScript best practices.
## TypeScript Best Practices
- Use strict type checking
- Prefer type inference when the type is obvious
- Avoid the `any` type; use `unknown` when type is uncertain
## Angular Best Practices
- Always use standalone components over NgModules
- Must NOT set `standalone: true` inside Angular decorators. It's the default.
- Use signals for state management
- Implement lazy loading for feature routes
- Do NOT use the `@HostBinding` and `@HostListener` decorators. Put host bindings inside the `host` object of the `@Component` or `@Directive` decorator instead
- Use `NgOptimizedImage` for all static images.
- `NgOptimizedImage` does not work for inline base64 images.
## Components
- Keep components small and focused on a single responsibility
- Use `input()` and `output()` functions instead of decorators
- Use `computed()` for derived state
- Set `changeDetection: ChangeDetectionStrategy.OnPush` in `@Component` decorator
- Prefer inline templates for small components
- Prefer Reactive forms instead of Template-driven ones
- Do NOT use `ngClass`, use `class` bindings instead
- Do NOT use `ngStyle`, use `style` bindings instead
## State Management
- Use signals for local component state
- Use `computed()` for derived state
- Keep state transformations pure and predictable
- Do NOT use `mutate` on signals, use `update` or `set` instead
## Templates
- Keep templates simple and avoid complex logic
- Use native control flow (`@if`, `@for`, `@switch`) instead of `*ngIf`, `*ngFor`, `*ngSwitch`
- Use the async pipe to handle observables
## Services
- Design services around a single responsibility
- Use the `providedIn: 'root'` option for singleton services
- Use the `inject()` function instead of constructor injection
================================================
FILE: CHANGELOG.md
================================================
## [21.2.0](https://github.com/NG-ZORRO/ng-zorro-antd/compare/21.1.1...21.2.0) (2026-03-20)
### Features
- **alert:** add loop text ([#9697](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9697)) ([6b45037](https://github.com/NG-ZORRO/ng-zorro-antd/commit/6b45037e4d71d7df60942ead1fab0ed06ac31911))
- **form:** support `nzVariant` ([#9694](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9694)) ([51d6eb6](https://github.com/NG-ZORRO/ng-zorro-antd/commit/51d6eb6e1c3b18e3a5dca7da266476a091ac2eaf))
- **input-number:** add `emitter` in `nzOnStep` event options ([#9716](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9716)) ([f83af1e](https://github.com/NG-ZORRO/ng-zorro-antd/commit/f83af1e87a6eaab041c38f0ed7b26ff8d84568c4))
- **input:** supports custom count logic for input-wrapper ([#9645](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9645)) ([2450a60](https://github.com/NG-ZORRO/ng-zorro-antd/commit/2450a60e12b9707f71d603092207485decc9d127))
- **tabs:** support `nzIndicator` ([#9704](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9704)) ([02befe7](https://github.com/NG-ZORRO/ng-zorro-antd/commit/02befe7a77e2a67f41312bb498cc34372f3408c1))
### Bug Fixes
- **modal:** prevent flicker on open ([#9728](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9728)) ([56ad81d](https://github.com/NG-ZORRO/ng-zorro-antd/commit/56ad81d90ee7bf5b63f53b4e4c5cb53785ae5c12))
- **select:** fix dropdown position in Safari ([#9724](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9724)) ([1081620](https://github.com/NG-ZORRO/ng-zorro-antd/commit/10816209670407610b53ce8f2051fbd354fb620e))
## [21.1.1](https://github.com/NG-ZORRO/ng-zorro-antd/compare/21.1.0...21.1.1) (2026-03-06)
### Bug Fixes
- **anchor:** support number id in `nzHref` ([#9683](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9683)) ([fc8a096](https://github.com/NG-ZORRO/ng-zorro-antd/commit/fc8a096bef670cf65df2cda8cbd2f4042fdc840c))
- **carousel:** restore responsive height on window resize ([#9612](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9612)) ([b5558ae](https://github.com/NG-ZORRO/ng-zorro-antd/commit/b5558ae679831fa5abc1d9e4ba23c85be5a0d690))
- **cascader:** wrong padding size ([#9699](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9699)) ([b16da90](https://github.com/NG-ZORRO/ng-zorro-antd/commit/b16da905867fc8235d413b44e32ba3233a74dadb))
## [21.1.0](https://github.com/NG-ZORRO/ng-zorro-antd/compare/21.0.2...21.1.0) (2026-02-05)
### Features
- **collapse:** sync the latest antd styles ([#9680](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9680)) ([4eec05f](https://github.com/NG-ZORRO/ng-zorro-antd/commit/4eec05f06def8d001e5f716372cee97859a7a5fa)) ([#9678](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9678)) ([2483498](https://github.com/NG-ZORRO/ng-zorro-antd/commit/2483498b7f841eb2caede9cfe0ed975f1e6b284c))
- **form:** support `nzSize` ([#9606](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9606)) ([785ca6f](https://github.com/NG-ZORRO/ng-zorro-antd/commit/785ca6fc0dec71e84b6817a650d3976f39814518))
- **time-picker:** support `nzPrefix` ([#9647](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9647)) ([8d75887](https://github.com/NG-ZORRO/ng-zorro-antd/commit/8d75887faee74f7a371e4c6ca9825e30375bd295))
- **time-picker:** support `nzNeedConfirm` ([#9638](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9638)) ([9f887af](https://github.com/NG-ZORRO/ng-zorro-antd/commit/9f887af5e14332ecabab52560db548dbabe0158f))
- **time-picker:** support `nzPlacement` ([#9630](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9630)) ([931b3f4](https://github.com/NG-ZORRO/ng-zorro-antd/commit/931b3f45489c410d8f00a987b74e215fe630dfec))
## [21.0.2](https://github.com/NG-ZORRO/ng-zorro-antd/compare/21.0.1...21.0.2) (2026-01-23)
### Bug Fixes
- **i18n:** add missing translations to `he_IL` ([#9658](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9658)) ([a3410a0](https://github.com/NG-ZORRO/ng-zorro-antd/commit/a3410a0c60eea5367f7c9bb56da378e96920ba8c))
- **form:** error message never disappear if animation is disabled ([#9660](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9660)) ([798a556](https://github.com/NG-ZORRO/ng-zorro-antd/commit/798a5566388a03d88e64799f0b568c5e7130709e))
- **menu:** submenu should respect `provideNzNoAnimation` ([#9661](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9661)) ([79ffce9](https://github.com/NG-ZORRO/ng-zorro-antd/commit/79ffce9621fde0f41e10de822ba8aa45dfdda7ae))
## [21.0.1](https://github.com/NG-ZORRO/ng-zorro-antd/compare/21.0.0...21.0.1) (2026-01-16)
### Bug Fixes
- bundle keyframes of animation into base style files ([#9653](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9653)) ([49ec060](https://github.com/NG-ZORRO/ng-zorro-antd/commit/49ec0605b31eef0a3d790319d55d9f44492b4c0b))
- **collapse:** no ghost zone if collapsed ([#9649](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9649)) ([5378f8b](https://github.com/NG-ZORRO/ng-zorro-antd/commit/5378f8beec14f7b47e0a54b6c81583592825ffa1))
## [21.0.0](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.4.4...21.0.0) (2026-01-09)
### Code Refactoring
- migrate to native animation API, feel free to remove the `@angular/animations` dependency
### Features
- **color-picker:** support `nzPresets` ([#9341](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9341)) ([d59ec99](https://github.com/NG-ZORRO/ng-zorro-antd/commit/d59ec995b42726470ebaea39ec7a52f5c9c5e58d))
- **core:** add `provideNzNoAnimation` ([#9555](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9555)) ([c945e81](https://github.com/NG-ZORRO/ng-zorro-antd/commit/c945e81ce5966f34e7a96a8bccbf628a5b8d8c06))
- **date-picker:** output date range in correct order ([#9518](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9518)) ([d0b3185](https://github.com/NG-ZORRO/ng-zorro-antd/commit/d0b3185fb2ae891a164d3b4f28e4f68add8e166b))
- **float-button:** add pop animation to float button menu ([#9413](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9413)) ([b40ad91](https://github.com/NG-ZORRO/ng-zorro-antd/commit/b40ad91b26aee48fc86d92da48071751f8345ab4))
- **input-number:** supports mouse wheel control ([#9591](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9591)) ([6ce3545](https://github.com/NG-ZORRO/ng-zorro-antd/commit/6ce354537ec59bd0c480eed61bb8f663d2429189))
- **input,input-number:** add additional options for `focus` method ([#9595](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9595)) ([c336711](https://github.com/NG-ZORRO/ng-zorro-antd/commit/c3367110ccd53c5debd74799070ac6565c13c483))
- **qrcode:** support `nzType` and `nzBoostLevel`, delete array usage of `nzPadding` ([#9535](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9535)) ([5419b51](https://github.com/NG-ZORRO/ng-zorro-antd/commit/5419b51781478369afe3c01fe24374f2f62eeffe))
- **tree-view:** upgrade tree view component ([#9003](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9003)) ([ae9ad57](https://github.com/NG-ZORRO/ng-zorro-antd/commit/ae9ad576292671f3228361733b47e890d425e713))
- **upload:** add `nzMaxCount` feature ([#9424](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9424)) ([0bf13c3](https://github.com/NG-ZORRO/ng-zorro-antd/commit/0bf13c3fa5e41289315cf4d9642ed5aa7005af9e))
### Bug Fixes
- **i18n:** add missing translations to `fa_IR` ([#9615](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9615)) ([1e8845d](https://github.com/NG-ZORRO/ng-zorro-antd/commit/1e8845d245ce7a98850390c61e65b301fb8fcc05))
- **popconfirm:** allow null for `nzIcon` hide icon ([#9569](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9569)) ([760b587](https://github.com/NG-ZORRO/ng-zorro-antd/commit/760b58745a1b377d4008825a3d4c157d8a1bd590))
- **select:** disable `nzAutoClearSearchValue` in single mode ([#9605](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9605)) ([4720c21](https://github.com/NG-ZORRO/ng-zorro-antd/commit/4720c2175dd2bc937d8ccbf66ab804c4782f23d4))
- **tree:** no `preventDefault` when right-clicking the node title ([#9532](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9532)) ([900efad](https://github.com/NG-ZORRO/ng-zorro-antd/commit/900efad5b0a04b1a0aca2c68728f01ed8dc4ef3b))
### ⚠ BREAKING CHANGES
- **back-top:** removed, please use `float-button` instead
- **color-picker:** change DOM structure to be simpler, and remove no unnecessary payload of `nzClick` output
- **input-number-legacy:** removed, please use `input-number` instead
- **qrcode:** change the type of `nzPadding` from `number | number[]` to `number` ([#9535](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9535))
- **statistic:** rename `NzStatisticNumberComponent` to `NzStatisticContentValueComponent`
- **tabs:** remove deprecated `nz-tabset` selector ([#9613](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9613))
- **tree-view:** `nzTreeControl` has been removed, please use `nzLevelAccessor` or `nzChildrenAccessor` instead
- **watermark:** change import path from `ng-zorro-antd/water-mark` to `ng-zorro-antd/watermark`
Remove the following APIs which were marked as deprecated in the previous version:
| Module | API |
| ----------------------------------- | -------------------------------------- |
| `ng-zorro-antd/back-top` | `*` |
| `ng-zorro-antd/dropdown` | `NzDropdownButtonDirective` |
| `ng-zorro-antd/input-number-legacy` | `*` |
| `ng-zorro-antd/core` | `NzHighlightModule` |
| `ng-zorro-antd/auto-complete` | `NZ_AUTOCOMPLETE_VALUE_ACCESSOR` |
| `ng-zorro-antd/checkbox` | `nz-checkbox-wrapper` |
| `ng-zorro-antd/date-picker` | `NzDatePickerComponent#nzBorderless` |
| `ng-zorro-antd/input` | `NzInputDirective#nzBorderless` |
| `ng-zorro-antd/input-number` | `NzInputNumberComponent#nzBordered` |
| `ng-zorro-antd/mention` | `NZ_MENTION_TRIGGER_ACCESSOR` |
| `ng-zorro-antd/select` | `NzSelectComponent#nzBorderless` |
| `ng-zorro-antd/time-picker` | `NzTimePickerComponent#nzBorderless` |
| `ng-zorro-antd/tooltip` | `NzToolTipModule` `NzToolTipComponent` |
Unify and standardize component naming, involving the following name changes:
| Module | Original | Current |
| ----------- | ----------------------------- | ----------------------------- |
| `core` | `NzConfig#backTop` | `NzConfig#floatButton` |
| `core` | `NzConfig#dropDown` | `NzConfig#dropdown` |
| `dropdown` | `NzDropDownModule` | `NzDropdownModule` |
| `dropdown` | `NzDropDownADirective` | `NzDropdownADirective` |
| `menu` | `NzIsMenuInsideDropDownToken` | `NzIsMenuInsideDropdownToken` |
| `watermark` | `NzWaterMarkModule` | `NzWatermarkModule` |
| `watermark` | `NzWaterMarkComponent` | `NzWatermarkComponent` |
### Deprecations
The following APIs are marked as **deprecated** in v20 and will be removed in the next major version.
Please refer to related documentation for better alternatives.
| Module | API |
| ------------------------ | ----------------------------------------------------------------- |
| `ng-zorro-antd/collapse` | `nz-collapse-panel[nzDisabled]` |
| `ng-zorro-antd/input` | `textarea[nzAutosize]`, `nz-input-group`, `[nz-input-group-slot]` |
| `ng-zorro-antd/upload` | `nz-upload[nzTransformFile]`, `NzUploadTransformFileType` |
## [20.4.4](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.4.3...20.4.4) (2025-12-12)
### Bug Fixes
- **icon:** include nzSpin in change detection logic ([#9597](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9597)) ([46dc381](https://github.com/NG-ZORRO/ng-zorro-antd/commit/46dc3819244969963ca80eeac9f9c06482f48d29))
- **result:** show default icon based on status ([#9568](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9568)) ([#9582](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9582)) ([b652105](https://github.com/NG-ZORRO/ng-zorro-antd/commit/b652105ac71a022f4d7343e911f04fbeb2dee8d0))
## [20.4.3](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.4.2...20.4.3) (2025-11-28)
### Bug Fixes
- **form:** animation should respect NoopAnimations ([#9562](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9562)) ([5bccf96](https://github.com/NG-ZORRO/ng-zorro-antd/commit/5bccf968ab8cbe4164fe09e691f6664ee2664a5c))
- **input:** fix dependency cycle ([#9561](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9561)) ([8d5782d](https://github.com/NG-ZORRO/ng-zorro-antd/commit/8d5782d5ae35769fc73bcdb49d9d7897b9b92828))
## [20.4.2](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.4.1...20.4.2) (2025-11-21)
### Bug Fixes
- **cascader,select,date-picker,time-picker,tree-select:** add missing nzVariant global config ([#9543](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9543)) ([221386b](https://github.com/NG-ZORRO/ng-zorro-antd/commit/221386b45cc20d6bea689a5a4c10e35ff15b06b7))
- **button:** improve icon only logic in zoneless mode ([#9541](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9541)) ([9def420](https://github.com/NG-ZORRO/ng-zorro-antd/commit/9def420d2da1a2b8a7993db814948151733ef772))
## [20.4.1](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.4.0...20.4.1) (2025-11-14)
### Bug Fixes
- **badge:** hex `nzColor` should work ([#9517](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9517)) ([47d44ba](https://github.com/NG-ZORRO/ng-zorro-antd/commit/47d44ba4f826f882ee3a9de64994ad5ebd89daa5))
- **cascader:** fix zoneless `NG0100` issue ([#9504](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9504)) ([24b4e83](https://github.com/NG-ZORRO/ng-zorro-antd/commit/24b4e83e39fe3216d02857999df78cd4fbdc35fe))
- **color-picker:** fix `NG01350` error ([#9525](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9525)) ([fbcb8c3](https://github.com/NG-ZORRO/ng-zorro-antd/commit/fbcb8c3f78c293bd510994a28de7295e4349576c))
- **dropdown:** update arrow placement once the position of connected overlay changes ([#9519](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9519)) ([7ff7e09](https://github.com/NG-ZORRO/ng-zorro-antd/commit/7ff7e09d4256e8b4bd54cf2e1e01f64cabadcf4d))
- **input:** render icon when enterButton is an empty string ([#9498](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9498)) ([6a40b0d](https://github.com/NG-ZORRO/ng-zorro-antd/commit/6a40b0db8cd23584cc4a268c16eec14cf6bbaf29))
- **result:** nz-result-icon in ng-content does not work ([#9511](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9511)) ([0e095a1](https://github.com/NG-ZORRO/ng-zorro-antd/commit/0e095a14e0bf6014cffcb95db007b750bfe84da7))
- **segmented:** should not block the `selected$` if no animation ([#9512](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9512)) ([af8b531](https://github.com/NG-ZORRO/ng-zorro-antd/commit/af8b53186469aa9858a9eaa883e3e597db65c598))
- **select:** correct font size in small size ([#9516](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9516)) ([6f79005](https://github.com/NG-ZORRO/ng-zorro-antd/commit/6f7900548ccd128b430f7a09ee3ef07dd6ea482c))
## [20.4.0](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.3.1...20.4.0) (2025-10-31)
### Features
- **cascader:** control the visibility of popup panel by `nzOpen` ([#9448](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9448)) ([4d5ec65](https://github.com/NG-ZORRO/ng-zorro-antd/commit/4d5ec6536f64690319e0fd219dc4b07c724764db))
- **cascader:** toggle checkbox of option by `ENTER` key in multiple mode ([#9457](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9457)) ([e02f1f4](https://github.com/NG-ZORRO/ng-zorro-antd/commit/e02f1f45f6ae1d5836b1b751bb23bfa55c5f1c33))
- **float-button:** support `nzBadge` ([#9489](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9489)) ([12beec7](https://github.com/NG-ZORRO/ng-zorro-antd/commit/12beec73fe3071e116788635ae17b1668d3b5ad8))
- **form:** support `nzRequiredMark` ([#9447](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9447)) ([800b6cf](https://github.com/NG-ZORRO/ng-zorro-antd/commit/800b6cf960af7c4dfce0378eeb9fd361d21ac06b))
- **input-number:** add affix and addon inputs ([#9451](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9451)) ([dbebd02](https://github.com/NG-ZORRO/ng-zorro-antd/commit/dbebd025cc5101d879301405f0e0ce4baca4bdf5))
- **input:** add `nzAllowClear` input and `nzClear` callback ([#9452](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9452)) ([830b4b3](https://github.com/NG-ZORRO/ng-zorro-antd/commit/830b4b3cced07ecc484375ab62a3593ac7140b39))
- **input:** introduce new component `nz-input-wrapper` ([#9408](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9408)) ([a8e56ec](https://github.com/NG-ZORRO/ng-zorro-antd/commit/a8e56ecbc5040dc36dd38881d2d3f7133c7c7991)), closes [#9403](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9403)
- **input:** add affix and addon inputs to `nz-input-wrapper` ([#9450](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9450)) ([763f69e](https://github.com/NG-ZORRO/ng-zorro-antd/commit/763f69e7e35ef3697245e9074034d17f110c5876))
- **input:** introduce `nz-input-search` directive ([#9483](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9483)) ([af6f590](https://github.com/NG-ZORRO/ng-zorro-antd/commit/af6f590b30270205300e028287f205249b316efa))
- **input:** introduce `nz-input-password` directive ([#9460](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9460)) ([f80832a](https://github.com/NG-ZORRO/ng-zorro-antd/commit/f80832a7741a6efd9049372a8759d710dc72bde4))
- **message:** add support for custom styles and classes ([#9427](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9427)) ([2f866b3](https://github.com/NG-ZORRO/ng-zorro-antd/commit/2f866b31febe4c1f6dd784537fc8ca2b68a66a93))
- **pagination:** support `nzAlign` ([#9433](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9433)) ([88d0864](https://github.com/NG-ZORRO/ng-zorro-antd/commit/88d08648570756e35b989f55e15bcb116175dbc2))
- **segmented:** add default name if `nzName` is not provided ([#9466](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9466)) ([33f8142](https://github.com/NG-ZORRO/ng-zorro-antd/commit/33f8142626e337e1cef997bc99a289effcb64dd0))
### Bug Fixes
- **badge:** should `nzStyle` work even if `nzColor` is not provided ([#9486](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9486)) ([4424eb0](https://github.com/NG-ZORRO/ng-zorro-antd/commit/4424eb0a018c7d90fb74dfda6ceb5c54a080eb4d))
- **cascader:** display activated column correctly when reopen the popup panel ([#9456](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9456)) ([7802a39](https://github.com/NG-ZORRO/ng-zorro-antd/commit/7802a39167d0efaf1bca5e829fa4907f7af54650))
## [20.3.1](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.3.0...20.3.1) (2025-09-17)
### Bug Fixes
- **drawer:** fix `NG0203` ([#9418](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9418)) ([7fb58ae](https://github.com/NG-ZORRO/ng-zorro-antd/commit/7fb58aea2f03902ce3b0ac626bed99b5d8de0c6b))
## [20.3.0](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.2.1...20.3.0) (2025-09-16)
### Features
- **carousel:** support `nzArrows` ([#9355](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9355)) ([1b9714b](https://github.com/NG-ZORRO/ng-zorro-antd/commit/1b9714baf8d320b423f390d713af6533e0390f24))
- **check-list:** add badge and default checked ([#9343](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9343)) ([235b493](https://github.com/NG-ZORRO/ng-zorro-antd/commit/235b493705d297ccff21969f2d770b7f4eba7fb5))
- **i18n:** enhance `provideNzI18n` to support factory function ([#9393](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9393)) ([1371265](https://github.com/NG-ZORRO/ng-zorro-antd/commit/13712654d1c3b5de2eabc577c22d0f98a59a8345))
- **mention:** support `nzClear` ([#9377](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9377)) ([cbecebf](https://github.com/NG-ZORRO/ng-zorro-antd/commit/cbecebfda401b2fd873163638d3e2cc4dfd638c1))
- **mention:** support `nzVariant` ([#9379](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9379)) ([d92568b](https://github.com/NG-ZORRO/ng-zorro-antd/commit/d92568b781bb16bfef55e645a15022ef54583ba1))
- **segmented:** support `nzShape`([#9368](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9368)) ([ffce6c3](https://github.com/NG-ZORRO/ng-zorro-antd/commit/ffce6c385a3c994132e096a33a83bd77d01a6b7b))
- **segmented:** support `nzName` and keyboard interactions ([#9373](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9373)) ([ebd8bdc](https://github.com/NG-ZORRO/ng-zorro-antd/commit/ebd8bdc9d0c71fc6f691c7c900e8b43e26cc0e84))
- **upload:** support promise return type for `nzBeforeUpload` ([#9402](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9402)) ([cece107](https://github.com/NG-ZORRO/ng-zorro-antd/commit/cece1077e5f375c225ae32973b863f8123520717))
### Bug Fixes
- **badge:** after setting `nzColor`, display incorrect ([#9376](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9376)) ([e9abf92](https://github.com/NG-ZORRO/ng-zorro-antd/commit/e9abf9250ab8c7c902933688610e0f2c731b97b1))
- **input:** variant underline style on hover ([#9400](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9400)) ([74c2173](https://github.com/NG-ZORRO/ng-zorro-antd/commit/74c217382ed191b26990082586796f588fdd73c8))
- **segmented:** fix `NG0950` error ([#9386](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9386)) ([e82fc01](https://github.com/NG-ZORRO/ng-zorro-antd/commit/e82fc0186d2dc8061ff1db50aaa2e7b2f11beb9d))
- **select:** refactor multiple select styles ([#9409](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9409)) ([38f9065](https://github.com/NG-ZORRO/ng-zorro-antd/commit/38f90653569b46e28e317e040040e98bee595761))
- **schematics:** add `less` as devDependencies if choosing custom theme in non-less project ([#9412](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9412)) ([a18cffd](https://github.com/NG-ZORRO/ng-zorro-antd/commit/a18cffd8e2dd6e39836f00a42c95f1f5699d1829))
## [20.2.1](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.2.0...20.2.1) (2025-08-31)
### Bug Fixes
- **segmented:** correctly render with-icon & icon-only ([#9367](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9367)) ([9d42b42](https://github.com/NG-ZORRO/ng-zorro-antd/commit/9d42b42ad103e8ca498e65e7aa6ad7e72075d609))
## [20.2.0](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.1.3...20.2.0) (2025-08-29)
### Features
- **cascader:** add `nzOpen` to control visibility ([#9339](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9339)) ([354c7cf](https://github.com/NG-ZORRO/ng-zorro-antd/commit/354c7cfb9e9746fc55ccc3f5967721ab01737652))
- **collapse:** support `nzCollapsible` ([#9349](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9349)) ([1ddbcaf](https://github.com/NG-ZORRO/ng-zorro-antd/commit/1ddbcaf8e8c5f47a5c2354ac61bf3da707e8a99c))
- **collapse:** support `nzSize` ([#9348](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9348)) ([b5c256d](https://github.com/NG-ZORRO/ng-zorro-antd/commit/b5c256da531b5b306f831c8ee05acf0139bc7ad3))
- **divider:** support `nzSize` ([#9346](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9346)) ([1f54536](https://github.com/NG-ZORRO/ng-zorro-antd/commit/1f5453639f059c9058815834500e459df4082882))
- **dropdown:** display arrow for content dropdown ([#9329](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9329)) ([3686b73](https://github.com/NG-ZORRO/ng-zorro-antd/commit/3686b7375839412b0db26f896fb810a4bdb2ae0c))
- **float-button:** `nzIcon` support string type ([#9302](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9302)) ([ce611e5](https://github.com/NG-ZORRO/ng-zorro-antd/commit/ce611e5d9096456e032db78acc886b5dde60220c))
- **segmented:** support `nzVertical` ([#9359](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9359)) ([52322cd](https://github.com/NG-ZORRO/ng-zorro-antd/commit/52322cd50c1d2883a0df7ca0aee91f803448315b))
- **select,tree-select,cascader:** support prefix and suffix icon ([#9328](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9328)) ([527ffb6](https://github.com/NG-ZORRO/ng-zorro-antd/commit/527ffb6efee5759e58c7472f1fae2a619092f246))
- **tag:** export `NzTagColor` type ([#9314](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9314)) ([1efd29e](https://github.com/NG-ZORRO/ng-zorro-antd/commit/1efd29ee1de0f77854dd75c10c9156d50013067d))
### Bug Fixes
- **carousel:** wrong dot position when placement is left or right ([#9358](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9358)) ([f117ccb](https://github.com/NG-ZORRO/ng-zorro-antd/commit/f117ccb739754e5a1b73be844679357cc807a238))
- **range-picker:** clear outline on mouse leaving ([#9352](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9352)) ([573d092](https://github.com/NG-ZORRO/ng-zorro-antd/commit/573d092f6e332acaeb33dfc03c0e370be6753df8))
- **segmented:** should render single element in item if icon-only ([#9363](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9363)) ([89d2168](https://github.com/NG-ZORRO/ng-zorro-antd/commit/89d216871b0a9127aa4adbf6a034b7e2e1febf2d))
## [20.1.3](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.1.2...20.1.3) (2025-08-21)
### Bug Fixes
- **i18n:** add missing translations to `cs_CZ` ([#9334](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9334)) ([93e486e](https://github.com/NG-ZORRO/ng-zorro-antd/commit/93e486eeb848fb3cbb2073f107ae7be4bba2457b))
- **i18n:** add missing translations to `sk_SK` ([#9335](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9335)) ([ddefc7f](https://github.com/NG-ZORRO/ng-zorro-antd/commit/ddefc7f9e95cde34101896fd5bfe587ff1dd8a89))
- **cascader:** invalid value and label when binding dynamically ([#9338](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9338)) ([324ab5b](https://github.com/NG-ZORRO/ng-zorro-antd/commit/324ab5b2ad281abb77344b9ca0dd66d4ca55e794))
- **popconfirm:** correctly render icon & title ([#9322](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9322)) ([2c83788](https://github.com/NG-ZORRO/ng-zorro-antd/commit/2c837883853a77a5a8fe1c2245daa0548a7bb2d9))
- **select:** shaking when closing dropdown if use a TemplateRef as `nzNotFoundContent` ([#9336](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9336)) ([366f8eb](https://github.com/NG-ZORRO/ng-zorro-antd/commit/366f8ebcd79900a4d6a512b72094af3494c55871))
## [20.1.2](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.1.1...20.1.2) (2025-08-08)
### Bug Fixes
- **input-number:** make sure the displayed value is correct ([#9312](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9312)) ([7a2d3b6](https://github.com/NG-ZORRO/ng-zorro-antd/commit/7a2d3b6f97bf80f2f517626f5e02625c4488be80))
- **select,tree-select,cascader:** selected item with long label displayed in ellipsis ([#9316](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9316)) ([30672d7](https://github.com/NG-ZORRO/ng-zorro-antd/commit/30672d7978f0ca4b24ec04c196c967b69e614525))
- **table:** add cdkScrollable to internal scrolling element ([#9308](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9308)) ([8cb4113](https://github.com/NG-ZORRO/ng-zorro-antd/commit/8cb411332b90b55bab3ec742c455e3aaaf4618d7))
## [20.1.1](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.1.0...20.1.1) (2025-08-05)
### Bug Fixes
- **badge:** export `NzBadgeStatusType` type ([#9298](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9298)) ([91b1ad7](https://github.com/NG-ZORRO/ng-zorro-antd/commit/91b1ad7af23eda253c21530e2a01a5ac9f7c62a8))
- **layout:** fix showcases ([#9303](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9303)) ([9a37ef8](https://github.com/NG-ZORRO/ng-zorro-antd/commit/9a37ef8325522ee200462b75e13a72f403ec4bef))
## [20.1.0](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.0.0...20.1.0) (2025-07-21)
### Features
- add [llms.txt](https://ng.ant.design/llms.txt) and [llms-full.txt](https://ng.ant.design/llms-full.txt) ([#9281](https://github.com/NG-ZORRO/ng-zorro-antd/pull/9281)) ([165b963](https://github.com/NG-ZORRO/ng-zorro-antd/commit/165b96372e737a6dceac9404bded06041d286e2a))
- **float-button:** support `nzPlacement` ([#9267](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9267)) ([9dc19f3](https://github.com/NG-ZORRO/ng-zorro-antd/commit/9dc19f35c9f4d9de0c6fc1f2b58c97f2aded95c1))
- **input-number:** accepted numbers with commas ([#9256](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9256)) ([7567bd8](https://github.com/NG-ZORRO/ng-zorro-antd/commit/7567bd87a7862b52c12e152b9ce0c395b5e18ff0))
- **input:** input-otp supports keyboard control positioning ([#9268](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9268)) ([da97b02](https://github.com/NG-ZORRO/ng-zorro-antd/commit/da97b02a82361e23c77f14bec76add77f6c39302))
- **popconfirm:** add `nzDanger` support to cancel button ([#9270](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9270)) ([f94cb31](https://github.com/NG-ZORRO/ng-zorro-antd/commit/f94cb318b05b01d1560ddfe3a5bfb226f23a83b4))
- **space:** support array for size ([#9289](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9289)) ([8809885](https://github.com/NG-ZORRO/ng-zorro-antd/commit/8809885be2b268e38c8ba04f57f46803e92e0c28))
- **schematics:** align with the updated style guide ([#9295](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9295)) ([b5f607b](https://github.com/NG-ZORRO/ng-zorro-antd/commit/b5f607b874ed150fb1858eb81b19c3cc67478f37))
### Bug Fixes
- **core:** avoid using `setAttribute` to set `style` ([#9292](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9292)) ([12d58bd](https://github.com/NG-ZORRO/ng-zorro-antd/commit/12d58bde7cb8d762405728825d6261fe5fc663b8))
- **input-number:** ngModel value can be `undefined` ([#9269](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9269)) ([4c5666a](https://github.com/NG-ZORRO/ng-zorro-antd/commit/4c5666a90f477703dcda96ec135a6eea99d11105))
- **tooltip:** rename `ToolTip` to `Tooltip` ([#9285](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9285)) ([2ebef97](https://github.com/NG-ZORRO/ng-zorro-antd/commit/2ebef970cb7cd2855ee725b89ab8dfef9e6e35d6))
- **schematics:** support `NzTooltipModule` migration ([#9294](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9294)) ([add21f7](https://github.com/NG-ZORRO/ng-zorro-antd/commit/add21f71d92645be9f1c7684c2f213a6864f5891))
## [20.0.0](https://github.com/NG-ZORRO/ng-zorro-antd/compare/20.0.0-next.1...20.0.0) (2025-06-27)
### Features
- **cascader,date-picker,input-number,input,select,time-picker,tree-select:** support `nzVariant` ([#9131](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9131)) ([b342bb4](https://github.com/NG-ZORRO/ng-zorro-antd/commit/b342bb464eb544a2e3fda8723cac7e550828b3f2))
- **popover:** add `nzPopoverTitleContext` and `nzPopoverContentContext` ([#9126](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9126)) ([df3ead9](https://github.com/NG-ZORRO/ng-zorro-antd/commit/df3ead9af8368eb7e2374744f01cecd5ccc21440))
- **select:** add `nzOnClear` callback ([#9188](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9188)) ([e047ac2](https://github.com/NG-ZORRO/ng-zorro-antd/commit/e047ac249b16b547525a0ca4d13beeef620f44c4))
- **avatar:** add `loading` and `fetchpriority` attributes ([#7347](https://github.com/NG-ZORRO/ng-zorro-antd/issues/7347)) ([ff8419f](https://github.com/NG-ZORRO/ng-zorro-antd/commit/ff8419f6614bdac8bc3c778e470da08b679889d0))
- **popconfirm:** add `nzOkButtonProps` and `nzCancelButtonProps` ([#9245](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9245)) ([22e2a9f](https://github.com/NG-ZORRO/ng-zorro-antd/commit/22e2a9fb148fd875c76fb339c6582d92aef62791))
- **tree-select:** render title of selected node in innerHTML ([#9259](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9259)) ([8066f7b](https://github.com/NG-ZORRO/ng-zorro-antd/commit/8066f7bb082c95652a2e158a01e55382992fe8c6))
### Bug Fixes
- **flex:** fix `NzAlign` type ([#9151](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9151)) ([b271c19](https://github.com/NG-ZORRO/ng-zorro-antd/commit/b271c19076ead71fabbe5b224072cfea975d801d))
- **segmented:** accepts disabled state from ng control ([#9166](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9166)) ([134cd59](https://github.com/NG-ZORRO/ng-zorro-antd/commit/134cd5976220d51179118491a4b4b2e4d7cf761c))
- **space:** border radius compact mode one item ([#9165](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9165)) ([d2f4541](https://github.com/NG-ZORRO/ng-zorro-antd/commit/d2f4541a9ae01d6ea8705faf2bc4b96bf34b6945))
- **tabs:** prevent incorrect scroll offset on tab focus ([#9186](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9186)) ([4f658e0](https://github.com/NG-ZORRO/ng-zorro-antd/commit/4f658e0834e99ea2be0ffd4ead2dd041ec88fb83))
- **schematics:** ng add failed when call twice ([#9171](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9171)) ([d0a9748](https://github.com/NG-ZORRO/ng-zorro-antd/commit/d0a974848c0e31ad41ba69a5af60c002a7b251cd))
- **water-mark:** make server-side compatible ([#9250](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9250)) ([a70a682](https://github.com/NG-ZORRO/ng-zorro-antd/commit/a70a682c8aa4d073bb150abd4b69104fbe21e2ed))
- **icon:** debounce icon rendering on animation frame ([#8579](https://github.com/NG-ZORRO/ng-zorro-antd/issues/8579)) ([c0709d1](https://github.com/NG-ZORRO/ng-zorro-antd/commit/c0709d1e01d80969a48634fe8194dbfd49f6192f))
### Code Refactoring
- **core:** cleanup animation frame polyfill ([#9243](https://github.com/NG-ZORRO/ng-zorro-antd/issues/9243)) ([272237a](https://github.com/NG-ZORRO/ng-zorro-antd/commit/272237a7a33d150ac9c0f6965df37a678221b074))
- migrate to `inject` pattern
### ⚠ BREAKING CHANGES
- **core:** refactoring in `ng-zorro-antd/core/polyfill`:
- rename `cancelRequestAnimationFrame` to `cancelAnimationFrame`
- rename `reqAnimFrame` to `requestAnimationFrame`
- **tabs:** rename `NzTabsetComponent` to `NzTabsComponent`, `nz-tabset` selector to `nz-tabs`, the original component and selector are marked as deprecated
- **table:** no longer compatible with material components
* **popconfirm:** `nzOkDisabled` and `nzOkDanger` are marked as deprecated, use `nzOkButtonProps` and `nzCancelButtonProps` instead
Remove the following APIs which were marked as deprecated in the previous version:
| Module | API |
| ---------------------------- | -------------------------------------------------------- |
| `ng-zorro-antd/button` | `NzButtonGroupComponent` |
| `ng-zorro-antd/core/form` | `NzFormPatchModule` |
| `ng-zorro-antd/checkbox` | `NzCheckBoxOptionInterface` |
| `ng-zorro-antd/input` | `NzInputGroupComponent#nzCompact` |
| `ng-zorro-antd/message` | `NzMessageModule` |
| `ng-zorro-antd/notification` | `NzNotificationModule`