New Future and openhands
e9ad33e88b
Feat/v5 web mcp ( #745 )
...
* feat(rust): add Web dashboard and MCP services
Share configuration, status and synchronization between Web and MCP; add authenticated HTTP, stdio lifecycle support, in-process scheduling and offline regression tests. Exercise native tests on the existing Windows/macOS/Linux CI matrix.
Co-authored-by: openhands <openhands@all-hands.dev >
* ci(rust): allow manual cross-platform validation
Enable workflow_dispatch for feature-branch CI without requiring PR creation. Preserve matrices, permissions, publishing boundaries and trusted-branch cache policy.
Co-authored-by: openhands <openhands@all-hands.dev >
* ci(rust): validate feature branch pushes
Run the existing Rust cross-platform matrix for feat/** pushes while retaining trusted-branch-only cache writes and unchanged release triggers.
Co-authored-by: openhands <openhands@all-hands.dev >
* ci(rust): remove temporary branch trigger
The v5 pull request now exists and runs the complete native matrix, so restore the original trusted push branches while retaining Web/MCP paths and tests.
Co-authored-by: openhands <openhands@all-hands.dev >
---------
Co-authored-by: openhands <openhands@all-hands.dev >
2026-09-12 12:09:26 +08:00
93b79d2103
feat(v5): prepare the Rust DDNS development line ( #728 )
...
* feat(rust): add parallel DDNS MVP
Add a synchronous Rust client with compatible configuration, IP discovery, caching, and the first four providers.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): address review compatibility gaps
Handle DNSPod failures safely, accept Python-compatible log thresholds, document Rust regex limits, and tolerate non-Unicode environment entries.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): preserve generated provider options
Serialize endpoint overrides and --extra.* values so generated configuration files reproduce accepted CLI settings.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): align provider and config behavior
Keep provider lookup parameters scoped, continue DNSPod zone discovery safely, and match Python configuration and regex semantics.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): harden credentials and CI scoping
Redact provider credentials, align remaining config/cache behavior, and avoid running language-specific builds for unrelated changes while preserving required checks.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): preserve authenticated URL compatibility
Translate embedded URL credentials to Basic auth, align generated TTL defaults, and run Rust checks for the abc PR target.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): isolate caches and aggregate safe errors
Keep Python cache files untouched, redact retained failures, and continue multi-provider runs after log setup errors.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* feat(rust): complete providers and distribution
Port the remaining DNS providers and aliases, add protected native/container release workflows, and provide a checksum-aware Rust installer.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* docs(agents): register Rust development guide
Keep the generated project structure contract aligned with the new bilingual Rust documentation.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): address review feedback
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* refactor(rust): simplify core design
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* refactor(rust): use typed borrowed core
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* refactor(rust): streamline transport state
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* test(rust): share provider fixtures
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* test(rust): expand end-to-end coverage
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): simplify provider modes and lookup handling
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* chore(v5): prepare isolated Rust development line
Keep Rust changes on the v5 integration line and prepare artifacts without publishing or changing the stable Python entrypoint.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): redact credential-bearing URL paths
Hide non-root URL paths in diagnostics and omit URI text from transport errors while preserving actual request URLs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): fully mask credential values
Replace credential prefixes and suffixes with a constant opaque marker while retaining raw and percent-encoded masking.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): correct provider signing and zone lookup errors
Use RFC3986 canonical queries for Huawei signing. Distinguish documented NameSilo and ClouDNS zone misses from authentication, HTTP, and provider failures. Add offline regressions and matching V5 documentation.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): preserve address spelling for regex rules
Match regex rules against the extracted address text without IPv6 canonicalization, while retaining strict IpAddr validation and parsed return values. Cover original spelling, invalid candidates, family filtering, and matching boundaries.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): reject unusable local IPs and malformed record lists
Filter loopback and unspecified addresses before local indexing. Reject malformed ClouDNS, Huawei, and NameSilo record lookups without creating duplicates while retaining valid empty responses. Isolate installer test globals and cleanup traps in subshells.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): keep DNS.COM signatures out of diagnostics
Use the sensitive request path for signed DNS.COM bodies, omit raw HTTP and JSON failure responses, and redact signatures echoed in API messages. Preserve request signing and ordinary HTTP diagnostics with offline regressions.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): mask form credentials and validate upgrades before replacement
Reuse the form encoder for credential redaction and smoke-test temporary installer binaries before replacing a working installation. Cover rejected upgrades and existing trailing-period IP parsing without changing address extraction.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): preserve provider updates and V5 preparation contracts
Send Huawei canonical query bytes unchanged, accept nonempty single-label domains at configuration ingress, and honor AliDNS/ESA extras on unchanged addresses. Require V5 prereleases in artifact preparation with offline regression coverage.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(rust): accept separated negative CLI integers
Recognize negative integer tokens as required scalar values without consuming option names. Preserve per-option range validation and cover log-level aliases, inline parity, and real CLI execution.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): use architecture names for Rust QEMU setup
Install only the arm64 emulator on the amd64 OCI preparation runner while preserving linux/amd64,linux/arm64 for Buildx. Strengthen offline workflow contracts to distinguish the two inputs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-09-12 00:39:34 +08:00
New Future and Future New
8e784f6976
ci: migrate issue replies to Copilot with the built-in Actions token ( #742 )
...
* test(ci): probe Copilot built-in token access
* test(ci): remove completed Copilot token probe
* ci: migrate issue replies to Copilot agentic workflow
---------
Co-authored-by: Future New (WEILAI LIU) <weilail@microsoft.com >
2026-09-08 18:44:17 +08:00
New Future and Copilot App
087b18bcdc
fix(ci): set GitHub release repository context ( #738 )
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-28 15:25:22 +08:00
8c42e248d6
ci(release): support immutable publishing ( #737 )
...
* ci(release): support immutable publishing
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): address release review feedback
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): validate release state before publishing
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): simplify release tag preparation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: Future New (WEILAI LIU) <weilail@microsoft.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-27 20:33:10 +08:00
2501c4a1d8
ci(agent): add deterministic project checks ( #735 )
...
* feat(agent): define portable project development contract
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* ci(agent): add deterministic project checks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): isolate agent contract concurrency
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): run complete agent contracts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): cover generated docs and drift reports
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): close project contract coverage gaps
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): harden change discovery contracts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): close final contract blind spots
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): validate active provider surfaces
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): enforce complete validation indexes
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): reject stale provider overview rows
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): validate all workflow changes
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): keep validation inputs deterministic
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): ignore deleted format targets
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): ignore hidden provider inventories
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* perf(agent): deduplicate conservative checks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-21 16:58:28 +08:00
08837bbd09
feat(agent): define portable project development contract ( #734 )
...
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-21 14:02:26 +08:00
Copilot and NewFuture
6b12670cca
chore(ci): update Nuitka to 4.2 ( #732 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-08-19 21:15:53 +08:00
dependabot[bot]
e945f89c51
build(deps): bump actions/cache from 5 to 6 ( #731 )
...
Bumps [actions/cache](https://github.com/actions/cache ) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 09:36:57 +08:00
dd16df78b7
ci(build): persist incremental compiler caches ( #730 )
...
* ci(build): persist compiler caches
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* ci(build): restrict compiler cache writes
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-17 14:13:55 +08:00
06c0e912f4
test(e2e): expand binary coverage ( #727 )
...
* test(e2e): expand binary coverage
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* ci(e2e): cap binary jobs at 10 minutes
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(e2e): stabilize binary matrix tests
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): refresh cross-platform test images
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): defer ARMv6 emulation until tests
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): keep ARMv6 job within timeout
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-16 02:43:33 +08:00
c30822bd33
test(e2e): cover source and binary workflows ( #719 )
...
* test(e2e): cover source and binary workflows
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(e2e): stop compiled process groups
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* ci(build): limit ARM BuildKit parallelism
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* revert: remove ARM BuildKit workaround
The builder image is being rebuilt to address the zstd allocation failure at its source.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(e2e): use OS-assigned dashboard port
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-12 15:39:51 +08:00
d14594f14d
feat(web): add local management dashboard ( #718 )
...
* feat(web): add local management dashboard
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(web): address review and Python 2 compatibility
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* chore: remove design session artifacts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(web): harden packaged resources and HTTP semantics
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* test(web): support Python 2 handler mocks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(web): detect all external schedulers
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-11 18:23:17 +00:00
e102ce5039
fix(docker): prevent zombie process accumulation ( #711 )
...
* fix(docker): prevent zombie process accumulation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(docker): forward signals to startup processes
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-08 01:05:22 +08:00
dependabot[bot] and New Future
024ba4a336
Bump actions/setup-node from 6 to 7 ( #703 )
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
2026-07-22 13:56:35 +08:00
dependabot[bot]
c0a5fb6c62
Bump actions/setup-python from 6 to 7 ( #704 )
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 14:34:53 +08:00
dependabot[bot]
e2e055ef6e
Bump actions/checkout from 6 to 7 ( #701 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-24 10:26:25 +08:00
dependabot[bot]
9834fdea5e
Bump actions/upload-pages-artifact from 4 to 5 ( #689 )
...
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases )
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 14:56:26 +00:00
dependabot[bot]
343a01c521
Bump actions/deploy-pages from 4 to 5 ( #687 )
...
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages ) from 4 to 5.
- [Release notes](https://github.com/actions/deploy-pages/releases )
- [Commits](https://github.com/actions/deploy-pages/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/deploy-pages
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 22:44:14 +08:00
dependabot[bot]
bed287da2e
Bump actions/github-script from 8 to 9 ( #688 )
...
Bumps [actions/github-script](https://github.com/actions/github-script ) from 8 to 9.
- [Release notes](https://github.com/actions/github-script/releases )
- [Commits](https://github.com/actions/github-script/compare/v8...v9 )
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: '9'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-27 19:37:45 +08:00
dependabot[bot]
78a81b9f3b
Bump docker/metadata-action from 5 to 6 ( #685 )
...
Bumps [docker/metadata-action](https://github.com/docker/metadata-action ) from 5 to 6.
- [Release notes](https://github.com/docker/metadata-action/releases )
- [Commits](https://github.com/docker/metadata-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: docker/metadata-action
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 15:35:25 +08:00
dependabot[bot]
3824ddc2d8
Bump docker/setup-qemu-action from 3 to 4 ( #684 )
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-17 16:11:59 +08:00
dependabot[bot]
f07a494bde
Bump docker/setup-buildx-action from 3 to 4 ( #681 )
2026-03-13 17:11:13 +08:00
dependabot[bot]
ea330d466c
Bump docker/build-push-action from 6 to 7 ( #682 )
2026-03-13 15:29:16 +08:00
dependabot[bot]
163689dab7
Bump actions/download-artifact from 7 to 8 ( #680 )
2026-03-13 14:48:25 +08:00
dependabot[bot]
a085723890
Bump docker/login-action from 3 to 4 ( #683 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-12 09:50:04 +08:00
dependabot[bot]
afab29242b
Bump actions/upload-artifact from 6 to 7 ( #679 )
2026-03-12 09:03:13 +08:00
Copilot and NewFuture
03946140d9
Pin Nuitka-Action builds to Nuitka 2.8.10 across workflows ( #675 )
...
* Initial plan
* fix(ci): pin nuitka action version to 2.8.10
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-02-22 19:22:55 +08:00
Copilot and NewFuture
b4b75628f8
fix: dynamically generate test matrix based on file changes ( #661 )
...
* Initial plan
* fix: remove invalid matrix reference from job-level if condition
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor: use matrix includes for more elegant conditional logic
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: correct logic in matrix conditional (remove negation)
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: move conditional to step-level where matrix context is available
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: dynamically generate matrix based on install.sh changes
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: use POSIX-compliant = operator instead of ==
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-01-21 02:15:20 +00:00
Copilot and NewFuture
8b74e444d4
ci: skip test-install.yml on release tags ( #660 )
...
* Initial plan
* feat(ci): optimize test-install.yml to skip tests when install.sh unchanged on push to master
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(ci): add tag trigger support and update installer version to 2.0
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(ci): skip release/tag testing in test-install.yml
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(ci): also run all tests when workflow file changes
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-01-20 10:40:05 +00:00
dependabot[bot]
889593a5b0
Bump actions/upload-artifact from 4 to 6 ( #656 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 14:47:38 +08:00
dependabot[bot]
8bb8831c58
Bump actions/download-artifact from 4 to 7 ( #657 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4...v7 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 13:43:39 +08:00
dependabot[bot]
200c91b853
Bump actions/checkout from 4 to 6 ( #654 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 11:18:50 +08:00
dependabot[bot] and New Future
b6386267bf
Bump Nuitka/Nuitka-Action from 1.3 to 1.4 ( #655 )
...
Bumps [Nuitka/Nuitka-Action](https://github.com/nuitka/nuitka-action ) from 1.3 to 1.4.
- [Release notes](https://github.com/nuitka/nuitka-action/releases )
- [Commits](https://github.com/nuitka/nuitka-action/compare/v1.3...v1.4 )
---
updated-dependencies:
- dependency-name: Nuitka/Nuitka-Action
dependency-version: '1.4'
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
2026-01-16 02:19:19 +00:00
dependabot[bot]
b2ffcd3e07
Bump actions/setup-python from 5 to 6 ( #658 )
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 10:10:39 +08:00
New Future and Copilot Autofix powered by AI
1a4e0a375a
Potential fix for code scanning alert no. 2: Workflow does not contain permissions ( #653 )
...
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-01-15 16:27:20 +00:00
fc3e23b5b2
Prefer official download first with clearer proxy fallback ( #647 )
...
* Initial plan
* fix: prefer official download first
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: refine official download handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: add helpers for official download flow
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: allow official base override and tidy warnings
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: add proxy helper and clarify mirror defaults
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: tidy install helper nits
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: refine proxy detection and flag handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Modify test-install workflow configuration
Updated run-name to remove head commit message and changed path for install.sh.
* Update docs/public/install.sh
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: update official download base
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: prefer official beta before GitHub
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-14 14:02:27 +00:00
New Future
0018154e59
Update build-docs workflow for Node.js and paths
2026-01-14 12:05:34 +08:00
New Future
805940bd57
Update build-docs.yml to include permissions
...
Add permissions for pages and id-token in workflow
2026-01-14 11:49:07 +08:00
New Future
707866b36d
Update GitHub Actions workflow for documentation build
2026-01-14 11:43:34 +08:00
9a932675e1
Move favicon.ico and img to docs/public, update references, and improve edge function 404 handling with ESA Cache ( #643 )
...
* Initial plan
* docs: move favicon and img to docs/public and update all references
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: update .gitignore to ignore generated subdirs and correct _config.yml paths
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor: use symbolic links for schema and tests instead of copying
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: add Vite config to preserve symbolic links in VitePress
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor: link only tests/config instead of entire tests directory
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: return 404.html when URLs don't match any pattern in esa.js
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: properly handle 404.html response headers in esa.js
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: prevent infinite loop and improve error handling in 404.html fetch
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: increase 404.html cache duration to 6 hours
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: cache 404.html response in ESA Cache
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Update docs/esa.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-13 17:35:21 +08:00
New Future
8895431032
Update RAW_URL to point to public install script
2026-01-13 12:18:38 +08:00
0e466dc496
feat(docs): add automated documentation website builder using VitePress 2.0 ( #634 )
...
* Initial plan
* feat(docs): add static documentation website builder script
Add build_docs.py script to convert markdown docs to static HTML website with:
- Responsive navigation bar with collapsible directory tree
- In-page table of contents (right sidebar, hidden on small screens)
- Language switcher (Chinese/English)
- Pure static HTML output (no server-side processing)
- Footer with GitHub links and edit page link
- Mobile-friendly responsive design
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* style: format build_docs.py with ruff
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): use MkDocs with Material theme instead of custom parser
Replace custom markdown parser with industry-standard tools:
- MkDocs: Popular static site generator for documentation
- Material for MkDocs: Modern, feature-rich theme
Benefits:
- Mature, well-tested codebase used by thousands of projects
- Built-in features: search, navigation, TOC, code highlighting
- Active development with regular updates
- Extensive documentation and community support
- Beautiful, responsive design out of the box
- Easy to maintain with configuration-based approach
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): use VitePress instead of MkDocs for documentation
Replace MkDocs with VitePress - a Vue-powered static site generator:
- VitePress: Modern, fast, designed for documentation
- Vue 3 + Vite stack with instant HMR
- Built-in i18n, search, dark mode, responsive design
- Chinese-friendly (created by Evan You)
Features:
- Responsive navigation with collapsible sidebar
- In-page TOC automatically generated
- Bilingual support (Chinese/English)
- Local search with keyboard shortcuts
- Light/Dark mode toggle
- Edit page links to GitHub
- Pure static HTML output
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(docs): add automated setup and build with npm run build
Add automated directory setup for VitePress build:
- Created scripts/setup-docs.mjs to auto-setup docs structure
- Updated package.json with 'build' command that runs setup + build
- Updated docs:dev to include setup automatically
- Simplified workflow to one command: npm run build
Changes:
- npm run build now handles everything automatically
- No need for separate bash script
- Directory structure created on-demand
- Updated BUILD_DOCS.md with simplified instructions
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): improve VitePress configuration per feedback
Addressed all feedback items:
1. Fixed edit link mapping: index.html now correctly maps to README.md/README.en.md in GitHub
2. Added schema directory to build output via public/ directory
3. Removed /doc/ prefix from all URLs - doc/ is now the web root
4. Fixed path references in README files during setup
Changes:
- Updated editLink to use function for proper README mapping
- Modified setup script to copy doc/ contents to docs root (not docs/doc/)
- Added schema/ to public/ directory for static asset serving
- Fixed /doc/ path references in copied README files
- Updated all navigation and sidebar paths to remove /doc/ prefix
URLs now work as:
- / (homepage from README.md)
- /docker, /install (no /doc/ prefix)
- /config/cli, /providers/dnspod (clean paths)
- /schema/v4.0.json (accessible in build)
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): preserve original /doc/ paths in documentation
Per user feedback, reverted path modifications:
- No longer replace /doc/ paths in README files
- Restored doc/ directory structure (docs/doc/)
- Updated VitePress navigation to use /doc/ prefix
- Edit links correctly map to source files in doc/ directory
Changes:
- setup-docs.mjs: removed path replacement, copy doc/ to docs/doc/
- config.mts: restored /doc/ prefix in all navigation and sidebar paths
- URLs now match original documentation: /doc/docker, /doc/providers/dnspod
This preserves the original documentation structure and paths as they
appear in the source repository.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): remove /doc/ prefix from URLs and ignore intermediate files
Per user feedback, changed URLs from /doc/xxx.html to /xxx.html:
Changes:
1. Updated setup-docs.mjs to copy doc/ contents to docs/ root (not docs/doc/)
2. Modified path replacement to handle both links and image src attributes
3. Updated VitePress config.mts to remove /doc/ prefix from all nav/sidebar paths
4. Updated .gitignore to exclude intermediate copied files from commits
5. Removed docs/index.md and docs/en/index.md from git tracking
URLs now:
- /docker.html instead of /doc/docker.html
- /providers/dnspod.html instead of /doc/providers/dnspod.html
- /config/cli.html instead of /doc/config/cli.html
- Images at /img/ddns.svg instead of /doc/img/ddns.svg
- Schema files remain at /schema/v4.0.json
Intermediate files generated during build are now gitignored and won't be committed.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): move build scripts to doc/ directory
Moved documentation build scripts from root and scripts/ to doc/ directory:
- Moved scripts/setup-docs.mjs → doc/setup-docs.mjs
- Moved build_docs.sh → doc/build_docs.sh
- Removed empty scripts/ directory
- Updated package.json to reference new script locations
- Updated BUILD_DOCS.md with new directory structure
This organizes all documentation-related files under doc/ directory,
keeping the repository root cleaner.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): consolidate into single doc/ directory
Eliminated docs/ directory, consolidated everything under doc/:
- Moved docs/.vitepress/ → doc/.vitepress/
- Removed docs/ directory entirely
- Updated package.json to use doc/ instead of docs/
- Updated .gitignore to reflect new structure (doc/.vitepress/dist/, doc/index.md, doc/en/, doc/public/)
- Updated setup-docs.mjs to generate files within doc/
- Updated BUILD_DOCS.md documentation
Structure now:
- doc/ contains source files, VitePress config, and generated intermediate files
- All build artifacts stay within doc/.vitepress/dist/
- Simpler single-directory structure without doc/docs nesting
Commands remain the same:
- npm run build
- npm run docs:dev
- npm run docs:preview
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): move package.json to doc/ directory
Moved package.json to doc/ directory to consolidate all documentation-related files:
- Moved package.json from root → doc/package.json
- Updated package.json scripts to use relative paths (. instead of doc)
- Updated BUILD_DOCS.md with new usage instructions (cd doc first)
- Updated build_docs.sh to work from within doc/ directory
- .gitignore already handles node_modules/ globally
All documentation dependencies and configuration now in single doc/ directory.
Usage:
```bash
cd doc
npm install
npm run build
```
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(docs): add install.sh to public, auto-redirects, and ensure README→index.html mapping
Implemented three enhancements:
1. Copy install.sh to public/ directory
- install.sh now accessible at /install.sh in build
- Users can download directly from documentation site
2. Add automatic redirects for old URLs
- Created custom VitePress theme with redirect logic
- /doc/xxx URLs redirect to /xxx
- /doc/xxx.en.html URLs redirect to /en/xxx.html
- Maintains backward compatibility with old links
3. README.md renders as index.html with correct edit links
- Already configured: index.md maps to README.md for editing
- en/index.md maps to README.en.md for editing
- Edit links work correctly for both Chinese and English homepages
Updated BUILD_DOCS.md with new features documentation.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(docs): upgrade to VitePress 2.0 (next)
Upgraded VitePress from v1.x to v2.0 (next tag):
- Updated package.json to use "vitepress": "next"
- Currently using v2.0.0-alpha.15
- Tested build successfully - all features working
- Updated BUILD_DOCS.md to reflect VitePress 2.0
VitePress 2.0 benefits:
- Better performance and faster build times
- Improved developer experience
- Enhanced features and bug fixes
- Future-ready with latest Vue 3 + Vite improvements
Build tested and confirmed working with no breaking changes.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): remove redundant build script and fix copyright years
Changes per user feedback:
1. Removed doc/build_docs.sh (redundant - standard npm commands sufficient)
2. Updated copyright in config.mts line 133: "Copyright © 2016 ~ 2024 NewFuture"
3. Updated copyright in config.mts line 305: "Copyright © 2016 ~ 2024 NewFuture"
Usage now simplified to standard npm commands:
- cd doc && npm install
- npm run build
- npm run docs:dev
- npm run docs:preview
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): dynamic copyright year, move redirects to esa.js, update providers link
Per user feedback:
1. Made copyright year dynamic: `${new Date().getFullYear()}` (line 305)
2. Moved redirect logic from theme/index.ts to esa.js for server-side handling
3. Changed providers link from "概述 /providers/README" to "所有服务商 /providers/index" (line 70)
Changes:
- config.mts: Dynamic copyright calculation, updated providers navigation
- esa.js: Added redirect logic for /doc/ URLs (301 permanent redirects)
- theme/index.ts: Removed client-side redirect logic (now handled server-side)
Redirects now handled at edge function level for better SEO and performance.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): improve redirects, provider link, and add code-to-GitHub link conversion
Per user feedback (comment #3736692270 ):
1. Moved .en.html redirect logic before general /doc/ redirect in esa.js
2. Added /index.en.html → /en/ redirect
3. Changed providers/README URL to providers/ (line 39)
4. Added markdown transformer to convert code links (e.g., /ddns/provider/dnspod.py) to GitHub links
Changes:
- esa.js: Reordered redirect logic (en first), added index.en.html redirect
- config.mts: Changed providers link from /providers/README to /providers/
- config.mts: Added markdown.config to transform inline code paths to GitHub links
Code paths like `/ddns/provider/dnspod.py` in documentation will now automatically link to GitHub repository.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(docs): enable dead link check, add sitemap, llms.txt, and GitHub Actions build
Per user feedback (comment #3736806631 ):
1. Changed redirects to 301 permanent redirects in esa.js (line 183)
2. Enabled dead link checking in config.mts (ignoreDeadLinks: false)
3. Added sitemap generation (sitemap.hostname: https://ddns.newfuture.cc )
4. Added llms.txt generation via buildEnd hook for AI/LLM context
5. Created GitHub Actions workflow (.github/workflows/build-docs.yml) to build docs on push
Changes:
- esa.js: Clarified 301 redirect comment
- config.mts: Enabled dead link check, added sitemap config, added buildEnd hook for llms.txt
- .github/workflows/build-docs.yml: New workflow to build and optionally deploy docs
GitHub Action triggers on:
- Push to master/main (doc/, README*, schema/ paths)
- Pull requests
- Manual workflow dispatch
Build output includes sitemap.xml and llms.txt for better SEO and AI integration.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): update Node.js to v24, retention to 7 days, simplify BUILD_DOCS
Per user feedback (comment #3736833266 ):
1. Updated Node.js version from v20 to v24 in build-docs.yml (line 33)
2. Changed artifact retention from 30 to 7 days (line 50)
3. Simplified BUILD_DOCS.md - removed verbose explanations, kept essentials
Changes:
- .github/workflows/build-docs.yml: Node 24, 7-day retention
- BUILD_DOCS.md: Condensed from 327 to 40 lines, focused on quick start and essential commands
BUILD_DOCS.md now provides concise reference instead of lengthy tutorial.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* refactor(docs): simplify link transformer, extract llms.txt template, add docs agent
Per user feedback (comment #3737275691 ):
1. Simplified markdown transformer to only process link (a tag) hrefs instead of code_inline tokens
2. Extracted llms.txt content to separate template file (doc/llms.txt) with:
- Complete documentation structure with all page URLs
- All schema file URLs (v4.0, v2.8, v2)
- Template variable {{DATE}} for build-time replacement
3. Deleted BUILD_DOCS.md and created .github/agents/docs.agent.md:
- Comprehensive documentation maintenance agent
- Full guide for updating docs, navigation, providers
- Build/test procedures and common tasks
- Guidelines for writing and link handling
Changes:
- config.mts: Transform link hrefs (not inline code), read llms.txt from template
- doc/llms.txt: New template with full doc/schema URLs
- .github/agents/docs.agent.md: New documentation maintenance agent
- BUILD_DOCS.md: Deleted (replaced by agent instructions)
Link transformer now only modifies existing <a> tags, preserving markdown styling.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): add metadata to docs agent, fix markdown syntax, add v4.1.json schema
Per user feedback (comment #3737334654 ):
1. Added YAML metadata to docs.agent.md (name, description) following new-provider.agent.md format
2. Fixed markdown syntax to be GitHub-compatible:
- Changed inline code blocks in list items to properly formatted code blocks
- Ensured all code examples are in fenced code blocks
3. Added missing v4.1.json schema to llms.txt (was only showing v4.0, v2.8, v2)
Changes:
- .github/agents/docs.agent.md: Added YAML frontmatter, fixed markdown formatting
- doc/llms.txt: Added v4.1 schema URL (first in list as newest version)
All schema files now documented: v4.1, v4.0, v2.8, v2
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): restructure to docs/ directory with cleaner organization
Per user feedback (comment #3737399407 ):
1. Renamed doc/ → docs/
2. Moved all .en.md files → docs/en/*.md (removed .en suffix)
3. Moved install.sh → docs/install.sh (source file, not copied)
4. Moved favicon.ico → docs/favicon.ico (source file)
5. Simplified setup-docs.mjs - no longer copies English files or install.sh
6. Updated all path references:
- GitHub Actions workflow: doc/ → docs/
- .gitignore: doc/ → docs/
- VitePress config: edit links now map to docs/
- Documentation agent: updated structure docs
New Structure:
- docs/ (was doc/)
- config/, providers/, dev/ (Chinese markdown)
- en/ (English markdown, no .en suffix)
- config/, providers/, dev/
- install.sh (source)
- favicon.ico (source)
- llms.txt (template)
Build command unchanged: cd docs && npm run build
All English documentation now sourced directly from docs/en/ instead of being generated.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): update documentation links from /doc/ to docs/ in README files
Per user feedback (comment #3737497400 ):
1. Updated setup-docs.mjs to properly replace /doc/ → docs/ → / in README processing
2. Updated all /doc/ links to docs/ in README.md:
- Image src: /doc/img/ddns.svg → docs/img/ddns.svg
- Docker docs: /doc/docker.md → docs/docker.md
- Config docs: /doc/config/* → docs/config/*
- Provider docs: /doc/providers/* → docs/providers/*
3. Updated all /doc/ links to docs/en/ in README.en.md:
- Image src: /doc/img/ddns.svg → docs/img/ddns.svg
- Docker docs: /doc/docker.en.md → docs/en/docker.md
- Config docs: /doc/config/*.en.md → docs/en/config/*.md
- Provider docs: /doc/providers/*.en.md → docs/en/providers/*.md
Changes:
- docs/setup-docs.mjs: Two-step replacement (/doc/ → docs/ → /) for GitHub links
- README.md: All documentation links now use docs/ prefix
- README.en.md: All documentation links now use docs/en/ prefix
Verified: No /doc/ links remain in README files or .github markdown files.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): simplify setup script and move to .vitepress directory
Per user feedback (comment #3737562776 ):
1. Moved setup-docs.mjs to docs/.vitepress/ directory
2. Simplified link replacement logic:
- Removed unnecessary /doc/ processing code
- Now only converts docs/ → / (Chinese version)
- And docs/en/ → / (English version)
- Since README files already use correct docs/ prefix
3. Updated package.json script paths to reference .vitepress/setup-docs.mjs
4. Updated path variables in script to work from .vitepress/ location
Changes:
- docs/.vitepress/setup-docs.mjs: New location, simplified logic
- docs/package.json: Updated setup script path
- Removed obsolete /doc/ → docs/ replacement steps
Build process now simpler and cleaner.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): fix all broken documentation links
Per user feedback (comment #3737640946 ):
Fixed all broken links throughout the documentation:
1. Fixed providers/README links → providers/ (clean URL)
2. Removed all .en.md suffixes from links (files now in docs/en/ with .md extension)
3. Fixed /doc/ prefix references → proper docs/ paths
4. Fixed cross-references between Chinese and English docs:
- Chinese providers/README.md → ../en/providers/*.md for English docs
- English docs use relative paths within en/ directory
5. Fixed redirect_to URLs in dnscom.md files
6. Fixed image URL: /doc/img/ → /img/
Changes affect 28 files:
- All config documentation (cli.md, env.md, json.md) in both languages
- All provider documentation in both languages
- Developer documentation (dev/config.md)
- Docker documentation
- Provider README files
All dead links now resolved. Documentation navigation works correctly.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): fix remaining dead links in generated index.md and provider files
Per user feedback (comment #3737692822 ):
Fixed all remaining dead links:
1. Enhanced setup-docs.mjs to handle ./doc/ prefix links:
- Added replacement for (./doc/ → (/
- Added replacement for /providers/index → /providers/
- Now correctly converts README links to clean web URLs
2. Fixed provider documentation links:
- callback.md and debug.md: Added "Return to All Providers" links
- English versions: Added /en/providers/ links
- Removed broken ./../../README links
All dead links now resolved:
- ./doc/install → /install
- ./doc/providers/* → /providers/*
- ./doc/config/* → /config/*
- /providers/index → /providers/
- Provider files now link to /providers/ and /en/providers/
Dead link checking should now pass successfully.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): fix all remaining dead links in documentation
Per user feedback (comment #3737728554 ):
Fixed all remaining dead links throughout documentation:
1. Enhanced setup-docs.mjs:
- Added replacement for ](doc/ pattern
- Handles more link format variations
2. Fixed config files (6 files):
- config/cli.md: providers/ → ../providers/, providers/callback → ../providers/callback
- config/json.md: docker.md → ../docker.md, providers/ → ../providers/
- en/config/env.md: providers/callback → ../providers/callback, docker → ../docker, providers/ → ../providers/
- en/config/json.md: docker.md → ../docker.md, providers/ → ../providers/
3. Fixed provider files (6 files):
- providers/callback.md, debug.md, README.md: ../../README.md → /
- en/providers/callback.md, debug.md: ../../README.md → /en/
- en/providers/he.md: ../json.md → ../config/json.md
All dead links resolved:
✓ ./providers/index → ../providers/
✓ ./providers/callback → ../providers/callback
✓ ./docker → ../docker
✓ ./../../README → / (or /en/)
✓ ../json → ../config/json
✓ ](doc/ → ](/
Dead link checking should now pass successfully with zero errors.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): add VitePress rewrites to map providers/README.md to /providers/
Per user feedback (comment #3737780259 ):
Fixed `/providers/index` dead links by adding VitePress rewrites configuration.
Changes to docs/.vitepress/config.mts:
1. Added rewrites mapping:
- providers/README.md → providers/index.md
- en/providers/README.md → en/providers/index.md
2. Updated sidebar links:
- /providers/index → /providers/
- /en/providers/index → /en/providers/
This tells VitePress that the README.md files in providers directories should be accessible via the /providers/ URL (with cleanUrls enabled).
All /providers/index links now correctly resolve to /providers/
Dead link checking should now pass with zero errors.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): fix providers/index links and simplify setup script
Per user feedback (comment #3737836475 ):
1. Fixed dead links in config/env.md files:
- ./providers/ → ../providers/ (both Chinese and English)
2. Simplified setup-docs.mjs:
- Removed unnecessary doc/ processing (README no longer contains doc/)
- Merged logic for both README files into single processReadme function
- Cleaner, more maintainable code with less duplication
Changes:
- docs/config/env.md: Fixed providers/ link
- docs/en/config/env.md: Fixed providers/ link
- docs/.vitepress/setup-docs.mjs: Refactored with shared function
Dead link checking should now pass with zero errors.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): remove providers/index replacement from setup script
Per user feedback (comment #3737887893 ):
Removed `/providers/index` → `/providers/` replacement from setup-docs.mjs.
This should be fixed in markdown files instead, not in the setup script.
Simplified setup script by removing unnecessary transformation logic.
Changes:
- docs/.vitepress/setup-docs.mjs: Removed line 29 replacement
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): update remaining /doc/ references to docs/ in README files
Per user feedback (comment #3737970179 ):
Updated all remaining /doc/ references to docs/ or docs/en/ in both README files.
Changes in README.md:
- doc/install.md → docs/install.md
- All doc/providers/*.md → docs/providers/*.md (10 provider links)
Changes in README.en.md:
- doc/install.en.md → docs/en/install.md
- doc/providers/dnspod.en.md → docs/en/providers/dnspod.md
- doc/providers/alidns.en.md → docs/en/providers/alidns.md
All documentation links now correctly use docs/ prefix for GitHub navigation.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): update all remaining doc/ references to docs/ in README files
Per user feedback (comment #3738298603 ):
Updated ALL remaining doc/ references to docs/ or docs/en/ in both README files.
Changes in README.md (13 links):
- doc/providers/edgeone.md → docs/providers/edgeone.md
- doc/providers/noip.md → docs/providers/noip.md
- doc/config/cli.md → docs/config/cli.md (3 occurrences)
- doc/config/json.md → docs/config/json.md (2 occurrences)
- doc/config/env.md → docs/config/env.md (2 occurrences)
- doc/providers/ → docs/providers/ (3 occurrences)
Changes in README.en.md (13 links):
- doc/providers/*.en.md → docs/en/providers/*.md (9 provider links)
- doc/config/cli.en.md → docs/en/config/cli.md
- doc/config/json.en.md → docs/en/config/json.md
- doc/config/env.en.md → docs/en/config/env.md
- doc/providers/ → docs/en/providers/
All documentation links now use correct docs/ prefix with NO /doc/ references remaining.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): integrate setup logic into config.mts
Per user feedback (comment #3738600577 ):
Integrated setup-docs.mjs functionality into config.mts.
Changes:
1. Removed standalone setup-docs.mjs file
2. Added setupDocs() function in config.mts that runs before config export
3. Simplified package.json scripts - removed setup step
4. Setup now runs automatically when config loads (works for both dev and build)
Benefits:
- Single configuration file - easier to maintain
- No separate setup script needed
- Automatic execution on both dev and build
- Cleaner package.json scripts
- Same functionality, simpler implementation
Build command: `npm run build` or `npm run docs:dev`
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* update link
* /doc/img/ddns.svg
* fix docs paths
* fix docs
* fix docs url
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-12 23:48:37 +08:00
Copilot and NewFuture
c3699f320a
ci(macos): Update macOS Intel runners to macos-15-intel ( #631 )
...
* Initial plan
* ci: switch mac runners to macos-15-intel
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2025-12-21 03:26:38 +08:00
6780eed5c5
feat(prompts): restructure auto-reply-issue with two-step classification-based prompts ( #619 )
...
* Initial plan
* feat(prompts): update auto-reply-issue with two-step approach and word limits
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(prompts): simplify strategy injection logic in issue-ai-response.js
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(prompts): address code review feedback for strategy injection
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix(prompts): include all strategies upfront for file selection guidance
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(prompts): consolidate issue response strategies and enhance AI response workflow
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix(prompts): clarify turn counting in issue-assistant.md
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-01 13:35:14 +08:00
Copilot and NewFuture
b431e313f1
feat(workflows): remove ai-assessment workflow and update auto-reply-issue trigger ( #618 )
...
* Initial plan
* feat(workflows): remove ai-assessment workflow and update auto-reply-issue trigger
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2025-11-30 06:00:54 +00:00
7ea8312aab
ci(agents): create issue instead of PR for AGENTS.md structure drift ( #613 )
...
* Initial plan
* ci(agents): update workflow to create issue instead of PR with copilot assignee
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(agents): remove dead code (unused sorted call)
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(agents): simplify script by removing hardcoded file descriptions
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(agents): simplify script, ignore images, check all documented files exist
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* feat(agents): support new 2-space indent format for directory structure
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(agents): use Tab indentation format, remove legacy tree format support
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(agents): optimize and simplify script (181 → 93 lines)
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* refactor(agents): check output file instead of parsing stdout
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs(agents): add format description for directory structure
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-30 03:47:07 +00:00
Copilot and NewFuture
cb8ed219ce
ci(workflow): extract repo index from AGENTS.md and add API rate limit delay ( #610 )
...
* Initial plan
* ci(workflow): update auto-reply-issue to extract from AGENTS.md and add rate limit delay
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: change RATE_LIMIT_DELAY_MS default to 31000
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2025-11-29 16:22:21 +00:00
New Future
69012611c0
Rename test step for language detection help
2025-11-30 00:12:43 +08:00
3176b02925
ci(agents): add daily workflow to auto-update AGENTS.md directory structure ( #607 )
...
* Initial plan
* ci(agents): add workflow to auto-update AGENTS.md directory structure
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* refactor(agents): remove unused functions and add type hints
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Update .github/scripts/update_agents_structure.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-29 19:24:51 +08:00