Conversation
…deleted Freezes the released docs content as docs/archive/v6.2.5/ ahead of the deletions this doc-sync makes for VersionWrapper, AbstractDataEntity, AbstractCommandExecutor, PagingPage, OkCancelPage and PlayerTempListener (all removed by 6.3.0). Cutting the archive first is the ordering D-26 requires -- reversed, the v6.2.5 archive would lose pages 6.2.5 users still need. Sourced from origin/master's docs/src, not this branch's alpha-derived working tree. alpha carries 24 files / +915/-248 lines of unreleased 6.3.0 doc content synced in by Phases 1-6 under the Doc-Sync Workflow (module-dependencies.md and panel-integration.md are whole pages that do not exist in master at all; auto-register.md, transactions.md, cmd-executor.md, event-listener.md, config-file.md, i18n.md, conditional-registration.md, config-validation.md, declarative-gui.md and ioc-container.md carry forward-looking prose inline). A v6.2.5 archive cut from alpha would have labelled that unreleased content "v6.2.5", which is the exact defect class this milestone exists to eliminate: a declared version that does not describe what it declares. Verified: `diff -r` between docs/archive/v6.2.5/ and a `git archive origin/master docs/src` extraction reports no differences. sidebarGuideEN_v625/sidebarGuideZH_v625 are literal copies of origin/master's sidebarGuideEN/sidebarGuideZH at cut time (which already lacks Module Load Ordering and Panel Integration -- no manual exclusion needed, master never had them). sidebarApiEN_v625/sidebarApiZH_v625 likewise freeze origin/master's sidebarApiEN/sidebarApiZH, and every archived version from v6.1.0 through v6.2.4 is repointed from the live sidebarApiEN/sidebarApiZH onto these frozen constants -- the live ones are about to change in this same doc sync (a deprecations page is added elsewhere, version-wrapper.md is removed), and archived versions must not inherit that change. versionsConfig.current stays 'v6.2.5' and examples/pom.xml is untouched; bumping either is a release-time step per check-version-consistency.sh's three-way invariant, and 6.3.0 is not released.
Vendors compatibility/deprecations.json from the framework repository into docs/src/public/deprecations.json (byte-identical, verified via diff) and renders it as a searchable, bilingual reference table at guide/advanced/deprecations.md (EN) and zh/guide/advanced/deprecations.md (ZH), via a shared build-time VitePress data loader (docs/src/deprecations.data.mts). The loader reads the vendored JSON from disk at build time -- no runtime fetch, no network dependency on another repository's branch state (D-25) -- so the rendered <table> is static SSR'd HTML present at build time, indexed by VitePress local search like any other page text. Placement deviation (Rule 1 -- avoiding a defect the plan's original path would have caused): the plan named docs/src/api/deprecations.md. Placed under guide/advanced/ instead, for two reasons surfaced during this session by the concurrent Phase-1 javadoc-proxy work in this same repository (PR #55, targets master, currently draft): 1. That phase's functions/api/[[path]].js takes over the whole /api/* namespace and forwards any unrecognised first path segment upstream to javadoc.io. A page at docs/src/api/deprecations.md would not 404 after that phase merges -- GET /api/deprecations returns 200 with javadoc.io's own version-listing page instead, silently serving someone else's content under our URL. 2. If PR #55 never merges, docs/src/api/ stays an ordinary VitePress directory and the original placement would have been fine -- guide/advanced/ is asymmetric-risk-driven, not a certainty. Also discovered while vendoring: docs/src/public/deprecations.json, exactly as the plan names it, does not serve as a static asset under this site's config (srcDir: 'docs' makes docs/public the actual public root, confirmed against the existing docs/public/favicon.ico). Rather than relocate the vendored file against the plan's named path, the data loader reads it directly from docs/src/public/ at build time -- the named artifact path is honoured, and no runtime-servable copy is needed since nothing fetches it over HTTP. Added "Deprecations" / "弃用清单" to both live sidebarGuideEN and sidebarGuideZH's Releasing section, alongside Module Versioning. Verified: bilingual parity (30/30 pages, both sidebars cover it), container-length gate clean, npm run build clean with no dead links, no <<< @/../examples/ reference added.
Deletes docs/src/api/version-wrapper.md and its zh mirror -- VersionWrapper
was removed outright in v6.3.0, and D-26's policy is to delete the page
covering a removed type, not just re-warn on it. Preserved in
docs/archive/v6.2.5/ (cut in a prior commit on this branch). Repoints the
top nav "API Reference" link and both live sidebarApiEN/sidebarApiZH from
the deleted page to ulti-tools-plugin (the only remaining /api/ page,
frozen archive versions untouched).
Removes the three getVersionWrapper() rows from ulti-tools-plugin.md's
method-summary tables (EN+ZH) -- the method no longer exists.
Every other deprecation warning that named "a future version" or leaked
internal "Phase 7" milestone vocabulary now names the concrete version
from compatibility/deprecations.json:
- data-storage.md (EN+ZH): AbstractDataEntity migration warning ->
"removed in v6.3.0", entities still extending it fail to compile
- cmd-executor.md (EN+ZH): AbstractCommandExecutor "deprecated since
v6.2.0" -> "removed in v6.3.0"
- gui.md (EN+ZH): removed the "Deprecated API" section documenting
PagingPage/OkCancelPage outright (both gone, not just deprecated);
updated the top info callout to say "removed in v6.3.0"
- event-listener.md (EN+ZH): SimpleTempListener's four-constructor
warning renamed from "Phase 7" to "v6.3.0" (matching
deprecations.json's removeIn value for all four keys); the inline
code comment and PlayerTempListener prose ("also deprecated" ->
"removed in v6.3.0") corrected the same way
module-versioning.md's AbstractDataEntity mention is a historical worked
example of the 6.2.0->6.2.1 PATCH-release descriptor change and is
unrelated to this removal -- left unchanged, verified by reading context.
The two `blob/alpha/COMPATIBILITY.md` links in module-versioning.md
(EN+ZH) were checked against 07-18's split and need no re-pointing: both
are whole-file references (no #anchor) to the "product-stage version
signal, MINOR may remove API" policy statement, which survived intact in
the slimmed ~580-line COMPATIBILITY.md after the split.
Known exception, not fixed: docs/src/public/deprecations.json (vendored
byte-identical per D-25) itself contains "Phase 7" and "a future version"
in three SimpleTempListener replacement-text fields and one VersionWrapper
field, copied verbatim from the framework's own registry. This is raw
vendored data, not page prose, and D-25's byte-identical requirement
takes precedence -- flagged in the SUMMARY rather than silently
resolved by paraphrasing the vendored source or silently declared clean.
Verified: bilingual parity 29/29 EN-ZH pages, container-length gate
clean, npm run build clean with no dead links, sidebarApiEN/ZH now list
only UltiToolsPlugin.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Deploying ultitools-dev-doc with
|
| Latest commit: |
a2cb680
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://339536b9.ultitools-dev-doc.pages.dev |
| Branch Preview URL: | https://docs-07-19-deprecation-sync.ultitools-dev-doc.pages.dev |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a2cb680c9e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| </tbody> | ||
| </table> | ||
|
|
||
| ## 如何读这张表 |
There was a problem hiding this comment.
Replace the prohibited question-style heading
Rename this heading to a noun phrase such as 表格说明 or 字段说明. The repository's prescribed pre-submit check explicitly rejects headings beginning with 如何, and this line is reported by that exact check.
AGENTS.md reference: AGENTS.md:L95-L98
Useful? React with 👍 / 👎.
| </thead> | ||
| <tbody> | ||
| <tr v-for="entry in data" :key="entry.key"> | ||
| <td><code>{{ entry.className }}{{ entry.memberName ? '#' + entry.memberName + '(...)' : '' }}</code></td> |
There was a problem hiding this comment.
Preserve signatures when rendering deprecated symbols
Render the signature from entry.key or expose parameter data instead of replacing every member signature with (...). With the current expression, the two DataStore#getOperator overloads, four SimpleTempListener constructors, and two CommandManager#register overloads produce indistinguishable symbols; it also incorrectly renders the UltiTools#versionWrapper field as a callable member. Readers therefore cannot identify which overload or member a row describes.
AGENTS.md reference: AGENTS.md:L7-L11
Useful? React with 👍 / 👎.
| <td>{{ entry.since }}</td> | ||
| <td>{{ entry.removeIn || '—' }}</td> | ||
| <td>{{ entry.removedIn || '—' }}</td> | ||
| <td>{{ entry.replacement }}</td> |
There was a problem hiding this comment.
Convert Javadoc tags in replacement text
Convert or strip Javadoc inline tags before displaying this column. Several registry values contain constructs such as {@code resourceFolderPath}, {@code @CmdMapping}, and {@code DataStore}; Vue interpolation renders those braces and tag names literally, so both language pages expose registry markup instead of readable replacement guidance.
AGENTS.md reference: AGENTS.md:L7-L11
Useful? React with 👍 / 👎.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Doc-sync for framework phase
07-generational-removals(plan 07-19), companion toUltiKits/UltiTools-Rebornphase07-generational-removals. Deliberately targetsalpha, notmaster-- this documents unreleased v6.3.0 behaviour;masteris thepublished branch dev.ultikits.com serves.
docs/archive/v6.2.5/fromorigin/master'sdocs/src/(the released layer,not this branch's
alpha-derived working tree, which carries 24 files of unreleased6.3.0 doc content) -- before deleting any page describing a type 6.3.0 removes.
guide/advanced/deprecations.md(EN) /zh/guide/advanced/deprecations.md(ZH),rendered at build time from a vendored, byte-identical copy of the framework's
compatibility/deprecations.json. Placed underguide/advanced/rather than theplan's originally-named
api/path -- see Deviations.api/version-wrapper.md(EN+ZH) --VersionWrapperwas removed outright inv6.3.0; preserved in the v6.2.5 archive.
"Phase 7" milestone vocabulary now names the concrete removal version from the
registry (
AbstractDataEntity,AbstractCommandExecutor,PagingPage/OkCancelPage,PlayerTempListener,SimpleTempListener's four confusable constructors).Deviations from the plan (see 07-19-SUMMARY.md in the companion framework PR for full detail)
alpha-derived working tree was wrong (would have labelled ~900 lines of unreleased6.3.0 prose "v6.2.5") and was amended before push -- re-cut from
origin/master.deprecations.mdplaced atguide/advanced/instead of theplan's named
api/path, because a concurrent Phase-1 GSD milestone in this samerepository (PR feat(api): javadoc 反向代理与 /api/ 命名空间腾挪 #55, draft, targets
master) givesfunctions/api/[[path]].jsownership of the whole
/api/*namespace and forwards unrecognised segmentsupstream to javadoc.io at
200-- a page atapi/deprecations.mdwould silentlyserve someone else's content under our URL if that PR merges, not 404.
docs/src/public/deprecations.jsonis byte-identical tothe framework registry per D-25, and that registry's own text for four entries
contains "Phase 7" / "a future version" verbatim -- raw vendored data, not page prose.
Test plan
npm run build-- clean, no dead linksbash scripts/check-bilingual-parity.sh-- clean, 29/29 EN-ZH pagesfind docs/src -name '*.md' -print0 | xargs -0 bash scripts/check-container-length.sh-- cleandiff -r docs/archive/v6.2.5/against a freshgit archive origin/master docs/srcextraction -- no differencesdiff docs/src/public/deprecations.jsonagainst the framework'scompatibility/deprecations.json-- byte-identicalCompanion framework-side plan:
UltiKits/UltiTools-Reborn.planning/phases/07-generational-removals/07-19-PLAN.md(SUMMARY committed separately in that repository, not part of this PR).