704 Commits
Author SHA1 Message Date
New FutureandOpenHands be9901011f docs: update AGENTS.md (#752)
Co-authored-by: OpenHands <openhands@all-hands.dev>
2026-10-08 16:33:25 +08:00
dependabot[bot] af64f4dcce build(deps): bump the npm_and_yarn group across 1 directory with 2 updates (#753)
Bumps the npm_and_yarn group with 2 updates in the /docs directory: [@vue/server-renderer](https://github.com/vuejs/core/tree/HEAD/packages/server-renderer) and [source-map-js](https://github.com/7rulnik/source-map-js).


Updates `@vue/server-renderer` from 3.5.41 to 3.5.43
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits/v3.5.43/packages/server-renderer)

Updates `source-map-js` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/7rulnik/source-map-js/releases)
- [Changelog](https://github.com/7rulnik/source-map-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/7rulnik/source-map-js/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: "@vue/server-renderer"
  dependency-version: 3.5.43
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: source-map-js
  dependency-version: 1.2.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-08 15:31:31 +08:00
dependabot[bot] 9257eebdd0 build(deps): bump github/gh-aw-actions/setup from 0.89.21 to 0.90.3 (#751)
Bumps [github/gh-aw-actions/setup](https://github.com/github/gh-aw-actions) from 0.89.21 to 0.90.3.
- [Release notes](https://github.com/github/gh-aw-actions/releases)
- [Changelog](https://github.com/github/gh-aw-actions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/gh-aw-actions/compare/924af5fdc64061cfbf66fb584c8b07e2ac230c60...8a5b99ba734d5cb564e3a0c85ea0580d881002e0)

---
updated-dependencies:
- dependency-name: github/gh-aw-actions/setup
  dependency-version: 0.90.3
  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>
2026-10-08 15:15:01 +08:00
dependabot[bot] 1c17f4e049 build(deps): bump github/gh-aw-actions/setup from 0.89.17 to 0.89.21 (#750)
Bumps [github/gh-aw-actions/setup](https://github.com/github/gh-aw-actions) from 0.89.17 to 0.89.21.
- [Release notes](https://github.com/github/gh-aw-actions/releases)
- [Changelog](https://github.com/github/gh-aw-actions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/gh-aw-actions/compare/f3b81cdb3070066a47faa9bdf440f4f1dc78b1f0...924af5fdc64061cfbf66fb584c8b07e2ac230c60)

---
updated-dependencies:
- dependency-name: github/gh-aw-actions/setup
  dependency-version: 0.89.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-30 11:24:34 +08:00
e4d6c80fed build(deps): bump github/gh-aw-actions/setup from 0.89.9 to 0.89.17 (#749)
* build(deps): bump github/gh-aw-actions/setup from 0.89.9 to 0.89.17

Bumps [github/gh-aw-actions/setup](https://github.com/github/gh-aw-actions) from 0.89.9 to 0.89.17.
- [Release notes](https://github.com/github/gh-aw-actions/releases)
- [Changelog](https://github.com/github/gh-aw-actions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/gh-aw-actions/compare/8e14d3d3690a1555482792fa1540493828a40d16...f3b81cdb3070066a47faa9bdf440f4f1dc78b1f0)

---
updated-dependencies:
- dependency-name: github/gh-aw-actions/setup
  dependency-version: 0.89.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(ci): align gh-aw compiler and action pins

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(ci): regenerate issue workflow with gh-aw v0.89.17

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* ci: remove redundant workflow recompilation check

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

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>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-24 00:03:43 +08:00
f09eb4fd8a docs: update AGENTS.md (#748)
* docs: update AGENTS.md

Refresh repository structure, commands, tooling, and compatibility guidance.

Co-authored-by: openhands <openhands@all-hands.dev>

* docs(agents): restore portable guide contracts

Restore the checker-compatible inventory, portable safeguards and source/build boundaries. Correct cache and shared listener paths, provider count, validation scope, and guide date.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* docs(agents): align validation blocks across guide updates

Preserve the baseline validation and troubleshooting blocks with the same scoped Ruff edits as PR #747. Keep additional lane commands in a separate fence so both documentation PRs compose cleanly.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: OpenHands <openhands@all-hands.dev>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-23 00:16:59 +08:00
18b5b5bc9e build(deps): bump github/gh-aw-actions/setup from 0.88.2 to 0.89.9 (#746)
* build(deps): bump github/gh-aw-actions/setup from 0.88.2 to 0.89.9

Bumps [github/gh-aw-actions/setup](https://github.com/github/gh-aw-actions) from 0.88.2 to 0.89.9.
- [Release notes](https://github.com/github/gh-aw-actions/releases)
- [Changelog](https://github.com/github/gh-aw-actions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/gh-aw-actions/compare/9271a1804551c0dc4fb0085a97979950aa2f8489...8e14d3d3690a1555482792fa1540493828a40d16)

---
updated-dependencies:
- dependency-name: github/gh-aw-actions/setup
  dependency-version: 0.89.9
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(ci): align gh-aw contracts with setup update

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@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-09-16 00:50:14 +08:00
2e21ecabfd fix(tests): clean up tooling contract temporary directories (#744)
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-10 14:06:56 +00:00
New FutureandFuture New f454a41ace ci(copilot): optimize cloud agent setup and guidance (#743)
Co-authored-by: Future New (WEILAI LIU) <weilail@microsoft.com>
2026-09-09 17:37:52 +08:00
New FutureandFuture 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
dependabot[bot] fee4927e87 build(deps-dev): bump vitepress from 2.0.0-alpha.19 to 2.0.0-alpha.20 in /docs (#741)
build(deps-dev): bump vitepress in /docs

Bumps [vitepress](https://github.com/vuejs/vitepress) from 2.0.0-alpha.19 to 2.0.0-alpha.20.
- [Release notes](https://github.com/vuejs/vitepress/releases)
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.19...v2.0.0-alpha.20)

---
updated-dependencies:
- dependency-name: vitepress
  dependency-version: 2.0.0-alpha.20
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-08 10:49:39 +08:00
27f0f1c0ac fix: correct DNS sync results and configuration retention (#739)
* fix: correct DNS sync results and configuration retention

Keep address families independent, reject failed update responses, preserve complete IPv6 addresses, and retain Studio drafts and effective extra settings. Add offline regressions and wire Studio tests into documentation builds.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test(provider): make disk cache regressions deterministic

Align the cache fixture wall clock and file mtime so Windows Python 3.12 clock granularity cannot turn a freshly saved cache into a future-dated file. Keep real disk reads, all cache assertions, production expiry policy and CI matrices unchanged.

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>
v4.2.1-beta3
2026-09-06 12:45:46 +08:00
New FutureandCopilot App 087b18bcdc fix(ci): set GitHub release repository context (#738)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
v4.2.1-beta2
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>
v4.2.1-beta1
2026-08-27 20:33:10 +08:00
3c8578e9f4 feat(mcp): add Streamable HTTP transport (#736)
* feat(mcp): add Streamable HTTP transport

Add a modern MCP 2026-07-28 HTTP endpoint for standalone and Web modes, with shared listener configuration, authentication, schema, tests, and bilingual documentation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(tests): support Python 2 HTTP assertions

Normalize response header names and call handler methods through their underlying functions so the HTTP tests behave consistently on Python 2.7 and Python 3.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mcp): harden HTTP request handling

Validate mirrored request IDs, align Config Studio listener checks, bound socket reads, and accept the binary wrapper's documented SIGINT exit status.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mcp): align HTTP negotiation validation

Reject unavailable Accept media types by quality and keep schema host validation consistent with runtime listener checks.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(tests): validate host schema behavior

Assert accepted and rejected host samples instead of comparing Unicode escape representations that differ on Python 2.7.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(tests): avoid cross-engine schema regex

Keep the schema pattern contract without executing its ECMA-262 Unicode escape through Python 2's incompatible regex engine.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mcp): validate HTTP request boundaries

Reject empty tokens and malformed JSON-RPC request shapes, and keep Config Studio bracket validation aligned with runtime listener handling.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mcp): tighten HTTP input validation

Reject legacy notifications, nested host brackets, and document the required JSON content type so validation remains consistent across runtime, schema, and Config Studio.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mcp): validate Origin before method errors

Apply the existing Origin policy to non-POST MCP requests and return CORS headers for configured allowed origins.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* docs(mcp): clarify proxy Origin allowlist

Explain that browser clients behind TLS termination must allowlist the public HTTPS origin even when the public page appears same-origin.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* docs(mcp): add standalone server guide

Move MCP client setup, transports, tools, security, and protocol limits into dedicated Chinese and English pages with matching navigation and index links.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mcp): reject duplicate routing headers

Reject repeated MCP protocol, method, and name headers before body consistency checks across Python 2 and Python 3.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mcp): validate named request headers

Validate Mcp-Name for tools/call, prompts/get, and resources/read before dispatching unsupported methods.

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>
v4.2.0
2026-08-23 21:36:26 +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
90e04b70bd test(http): handle wrapped network timeouts (#733)
* test(http): handle wrapped network timeouts

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test(http): tighten network error classification

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 01:05:32 +08:00
CopilotandNewFuture 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>
v4.2.0-beta2
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>
v4.2.0-beta1
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
6e3d3560c7 fix(http): bound external requests in CI tests (#726)
* fix(tests): handle endpoint timeouts in fallback

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(http): add configurable request 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-15 22:23:27 +08:00
CopilotandNewFuture 27fa7f478d docs(agents): sync AGENTS.md structure with new ddns/mcp.py (#725)
* Initial plan

* docs(agents): sync AGENTS.md structure and metadata

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-08-15 17:02:12 +08:00
CopilotandNewFuture 2e2daa50be Fix dashboard cache reads with small Windows mtime skew (#723)
* Initial plan

* fix(web): tolerate small cache timestamp skew

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(web): reject future cache timestamps

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(web): cover future cache timestamps

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(web): tolerate small cache timestamp skew

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(test_web): keep cache fixture unicode-safe on Python 2.7

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-08-14 17:50:59 +08:00
c919f2c6af feat(mcp): add dependency-free DDNS server (#722)
* feat(mcp): add dependency-free DDNS server

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mcp): stop cancelled DDNS updates

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-13 17:25:47 +08:00
a05bedf000 docs(agents): document embedded web package (#721)
docs(agents): update web directory structure

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-08-12 17:42:56 +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
dependabot[bot] 5ee2351854 Bump vitepress from 2.0.0-alpha.18 to 2.0.0-alpha.19 in /docs (#717)
Bumps [vitepress](https://github.com/vuejs/vitepress) from 2.0.0-alpha.18 to 2.0.0-alpha.19.
- [Release notes](https://github.com/vuejs/vitepress/releases)
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.18...v2.0.0-alpha.19)

---
updated-dependencies:
- dependency-name: vitepress
  dependency-version: 2.0.0-alpha.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 10:07:56 +08:00
c4b6d4e0d8 docs(agents): separate Config Studio from LLM sources (#716)
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-08-10 10:35:34 +08:00
1d04b4eb0f feat(docs): redesign documentation experience (#715)
* feat(docs): redesign documentation experience

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(docs): preserve Config Studio state

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(docs): clarify credential diagnostics

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(docs): address review feedback

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-10 09:37:20 +08:00
e58daa0a80 feat(docs): add configuration studio (#712)
* feat(docs): add configuration studio

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(config): address PR review feedback

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(docker): avoid 32-bit Nuitka compression OOM

Disable onefile compression only for 32-bit BuildKit targets, where zstd can exhaust the process address space.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* revert: restore compressed Linux binaries

The builder image has been rebuilt with the previous working toolchain.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* docs: remove English configuration studio

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* chore: remove product design artifact

Restore the English configuration studio that was removed by mistake.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(docs): protect credentials in address sources

Treat URL userinfo in IPv4 and IPv6 detection sources as sensitive so previews, copies, downloads, and duplicated providers exclude it by default.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(docs): preserve explicit empty tokens

Keep runtime-significant empty token fields in credential-free exports while continuing to omit non-empty secrets.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(docs): export entered credentials

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* docs(config): clarify special source splitting

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 11:09:51 +08: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
0a80f32fb8 test(util.http): remove external network flakiness (#710)
* test(util.http): remove external network flakiness

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test(util.http): bypass proxies in loopback test

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test(util.http): support Python 2 HTTP handler

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-07 23:23:43 +08:00
06fceed0f7 feat(cache): add configurable cache max age (#709)
* feat(cache): add configurable cache max age

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test(cache): cover cache max age integration paths

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test(cache): fix portable regression test formatting

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* style(test): format cache max age run test

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>
v4.1.5
2026-08-06 17:59:40 +08:00
CopilotandNewFuture adc3d4fd40 Fix Nuitka onefile compression dependencies (#707)
fix(build): install Nuitka onefile dependencies

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-05 20:15:12 +08:00
CopilotandNewFuture 9a260d17c4 Fix Docker ARM build failure from buggy patchelf (#706)
* Initial plan

* fix(docker): avoid buggy patchelf in alpine builder

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docker): use patchelf 0.19.1

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-08-05 18:51:03 +08:00
iCastureandNew Future e61bc6b474 fix(ip): honor fallback order for index4/index6 rules (#690)
fix(ip): continue rule fallback when a resolver returns no result

Refactor get_ip() to evaluate one rule at a time and only stop when a
usable address is found.

This fixes index4/index6 fallback chains where resolvers such as url,
public, regex, cmd, or shell could return an empty result and prevent
later rules from running.

Update tests to cover fallback across multiple rule types for both IPv4
and IPv6.

Co-authored-by: New Future <NewFuture@users.noreply.github.com>
2026-08-05 15:42:02 +08:00
dependabot[bot]andNew 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] 8507073431 Bump vitepress from 2.0.0-alpha.17 to 2.0.0-alpha.18 in /docs (#702)
Bumps [vitepress](https://github.com/vuejs/vitepress) from 2.0.0-alpha.17 to 2.0.0-alpha.18.
- [Release notes](https://github.com/vuejs/vitepress/releases)
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.17...v2.0.0-alpha.18)

---
updated-dependencies:
- dependency-name: vitepress
  dependency-version: 2.0.0-alpha.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 17:00:07 +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
f8c098561d Update AGENTS documentation structure and check (#700)
* Initial plan

* docs(agents): update documentation directory tree

* docs(llms): remove excessive English and schema links

* docs(agents): simplify English docs listing

* docs(llms): describe English doc link pattern

* fix(ci): support mirrored English docs in agents check

* fix(ci): clarify mirrored docs detection

* fix(ci): improve agents check readability

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* docs(agents): clarify parse_agents_md docstring return values

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-16 08:04:58 +08:00
New Future 96c4ba71ce docs(agents): streamline agent guidance (#698) 2026-06-15 09:59:50 +08:00
CopilotandNew Future 25d6075e37 docs(agents): sync AGENTS.md and llms.txt for west provider (#696)
* Initial plan

* docs(agents): update AGENTS.md and llms.txt for west provider

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
2026-06-14 02:53:51 +00:00
Copilot 4fec62d95d Remove Alibaba Cloud ESA promotional links (#697)
* docs(aliesa): remove Alibaba Cloud ESA promo links

* docs(readme): remove ESA footer sponsor image

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-14 10:43:37 +08:00
93d4698ff7 feat(provider.west): add West.cn DNS provider support (#628)
* Initial plan

* feat(provider.west): add West.cn DNS provider support

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(provider.west): address review feedback - remove LINE_MAPPING, implement domain fallback, update docs

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(provider.west): improve logging format for root domain

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(provider.west): correct comment about domain parsing order and clarify error code handling

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(provider.west): simplify domain not found check to use code=404

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-06-12 12:04:51 +00:00
Copilot 7490657d82 Use HTTP ipify URL in documentation examples (#694)
* fix(ip): remove unavailable ipify cn endpoint

* test(ip): avoid substring matching in fallback test

* fix(ip): remove unavailable ipw endpoints

* fix(ip): add ddnsip public endpoints

* docs: use http ipify URL in examples

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-12 19:51:59 +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