[docs] Add Apache Doris 4.1.4 release info (#4128)

## Summary

Publish Apache Doris 4.1.4 as **Latest** on `/download/` and
`/releases/`.

- Add 4.1.4 to `ALL_VERSIONS` as the newest patch of the 4.1 branch,
with x64, x64-noavx2 and arm64 rows. Source filename version is
`4.1.4-rc04`, matching the 4.1.3 precedent (`4.1.3-rc02`).
- Add synchronized English and Chinese release notes, generated from
[apache/doris#67355](https://github.com/apache/doris/issues/67355).
- Update both Doris Core indexes (`releasenotes/core.md` and its zh-CN
mirror): Latest tip plus the `2026-09-10` chronological entry.
- Add `v4.1/release-4.1.4` to the release sidebar.

`ACTIVE_CORE_BRANCHES` is unchanged — 4.1 is already maintained and
first, so `ACTIVE_HEADS` picks 4.1.4 up for the quick download card.

## Release metadata

| | |
|---|---|
| Public version | 4.1.4 |
| Source filename version | `4.1.4-rc04` |
| Source directory |
`https://dist.apache.org/repos/dist/release/doris/4.1/4.1.4/` |
| Release date | 2026-09-10 |
| Position | latest |
| Branch change | none |

## Known follow-up: source tarball not yet in the dist release repo

All **nine binary artifacts are live**, but the three source artifacts
still return 404:

```
https://dist.apache.org/repos/dist/release/doris/4.1/4.1.4/apache-doris-4.1.4-rc04-src.tar.gz{,.asc,.sha512}
```

`dist/dev/doris/4.1/4.1.4-rc04/` and
`downloads.apache.org/doris/4.1/4.1.4/` are also empty. The links start
working as soon as the RC is moved into the release repository — no
further website change is needed.

## Validation

Bilingual release notes are structurally identical: 24 headings, 194
bullets, 199 issue references in the same order.

- `node --test
doc-tools/skills/add-release/scripts/validate-release.test.mjs` — 6/6
passed
- Full validator — 62 checks passed, 3 failed (only the three
unpublished source URLs above)
- Same validator with `--skip-links` — 53 checks passed
- `sidebarsReleases.json` JSON parse check
- `git diff --check` — clean

```
node doc-tools/skills/add-release/scripts/validate-release.mjs \
  --component doris-core --version 4.1.4 --series 4.1 \
  --source-version 4.1.4-rc04 --release-date 2026-09-10 --position latest \
  --source-dir https://dist.apache.org/repos/dist/release/doris/4.1/4.1.4/
```

## Build

`yarn build` was not run, per request. `yarn typecheck` reports 179
errors on this branch, but the error set is byte-identical to the
`upstream-apache/master` baseline — all pre-existing, none in
`src/constant/download.data.ts`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01UsK6ae9vCwo5pREfu6iMBq

Co-authored-by: morningman <moringman@apache.org>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
6 files changed
tree: c66e3ac946a369b361cbc148aae02418530a32e0
  1. .docs-governance/
  2. .github/
  3. .vscode/
  4. blog/
  5. community/
  6. config/
  7. course/
  8. deprecated-docs/
  9. developer_docs/
  10. doc-tools/
  11. docs/
  12. i18n/
  13. plan-doc/
  14. releasenotes/
  15. scripts/
  16. shared/
  17. src/
  18. static/
  19. templates/
  20. userCases/
  21. versioned_docs/
  22. versioned_sidebars/
  23. website-quality-governance/
  24. .asf-site.yaml
  25. .asf.yaml
  26. .dlc.json
  27. .gitignore
  28. .gitmodules
  29. .markdownlint.json
  30. .prettierrc.js
  31. AGENTS.md
  32. author.yml
  33. auto_correct_format.py
  34. build-docs.sh
  35. build.sh
  36. buildVersions.json
  37. check_all_deadlink.py
  38. check_docs_version_diff.py
  39. check_move.py
  40. check_move_global.py
  41. cspell.json
  42. docusaurus.config.js
  43. LICENSE
  44. local_build_docs.sh
  45. local_dev.sh
  46. local_dev_next.sh
  47. modify-deadlink.py
  48. package.json
  49. README.md
  50. sidebars.ts
  51. sidebarsCommunity.json
  52. sidebarsCourse.ts
  53. sidebarsReleases.json
  54. store_format_v3.md
  55. tailwind.config.js
  56. TOC.md
  57. tsconfig.json
  58. versions.json
  59. yarn.lock
README.md

Apache Doris Website

Source code for doris.apache.org, built with Docusaurus 3.

Quick Start

Prerequisites

  • Node.js >= 18
  • Yarn

Local Development

Use local_dev.sh to run the site locally. It handles dependency installation, version filtering, and memory settings automatically.

# Start English dev server (default: only 'current' version, 2 GB memory)
./local_dev.sh

# Start Chinese dev server
./local_dev.sh start-zh

# Start on a custom port
./local_dev.sh start --port 8080

# Build a specific doc version
./local_dev.sh start --versions "4.x"

# Build English docs (production build)
./local_dev.sh build

# Build all locales (en + zh-CN)
./local_dev.sh build-all

# Clean build artifacts and caches
./local_dev.sh clean

Run ./local_dev.sh help for all available commands and options.

Production Build

export NODE_OPTIONS=--max-old-space-size=8192
yarn install
yarn docusaurus build --locale en --locale zh-CN

The output is generated in the build/ directory.

Directory Structure

.
├── docs/                         # Current (dev) version docs (English)
├── versioned_docs/
│   ├── version-4.x/              # 4.x version docs (English)
│   ├── version-3.x/              # 3.x version docs (English)
│   └── version-2.1/              # 2.1 version docs (English)
├── i18n/zh-CN/
│   └── docusaurus-plugin-content-docs/
│       ├── current/              # Current (dev) version docs (Chinese)
│       ├── version-4.x/          # 4.x version docs (Chinese)
│       ├── version-3.x/          # 3.x version docs (Chinese)
│       └── version-2.1/          # 2.1 version docs (Chinese)
├── blog/                         # Blog posts
├── community/                    # Community docs
├── src/                          # React components and pages
├── static/                       # Static assets (images, JS, CSS)
├── sidebars.ts                   # Sidebar for current (dev) docs
├── versioned_sidebars/           # Sidebar files per version
│   ├── version-4.x-sidebars.json
│   ├── version-3.x-sidebars.json
│   └── version-2.1-sidebars.json
├── sidebarsCommunity.json        # Sidebar for community docs
├── versions.json                 # Active doc versions
├── docusaurus.config.js          # Docusaurus configuration
└── local_dev.sh                  # Local development helper script

Contributing Documentation

For general contribution guidelines, see:

Editing Docs

When modifying docs, you typically need to update both the English and Chinese versions in the corresponding directories:

VersionEnglishChineseSidebar
Current (dev)docs/i18n/zh-CN/.../current/sidebars.ts
4.xversioned_docs/version-4.x/i18n/zh-CN/.../version-4.x/versioned_sidebars/version-4.x-sidebars.json
3.xversioned_docs/version-3.x/i18n/zh-CN/.../version-3.x/versioned_sidebars/version-3.x-sidebars.json
2.1versioned_docs/version-2.1/i18n/zh-CN/.../version-2.1/versioned_sidebars/version-2.1-sidebars.json

Note: When adding a new page, you must also add its path to the corresponding sidebar file, otherwise it will not appear in the navigation.

Editing Blog Posts

Blog posts are located in the blog/ directory. Submit a PR to add or modify blog content.

Editing Community Docs

Community docs are in community/, with navigation controlled by sidebarsCommunity.json. Chinese community content lives under i18n/zh-CN/docusaurus-plugin-content-docs-community/.

Images

All images are stored in static/images/. Use hyphens to separate words in filenames (e.g., query-profile-example.png).

![Description of the image](/images/my-screenshot.png)

CI / Deployment

The site is deployed via GitHub Actions:

WorkflowTriggerDescription
cron-deploy-website.ymlDaily at 01:00 AMSyncs from Doris master branch and deploys
manual-deploy-website.ymlManualDeploy from a specified branch
build-check.ymlOn PRValidates the build passes (incrementally by detected version)