fatedier and GitHub
d8cf1800dc
Merge pull request #5568 from fatedier/dev
...
Release v0.71.1
2026-10-14 16:40:54 +08:00
fatedier and GitHub
41ed2aecf8
test: align UDP compatibility protocol boundaries ( #5567 )
2026-10-14 10:49:55 +08:00
fatedier and GitHub
12b0093ccf
chore: prepare v0.71.1 release notes ( #5564 )
2026-10-13 10:46:29 +08:00
fatedier and GitHub
2542d11a62
fix(net): coordinate websocket handoff with listener shutdown ( #5563 )
2026-10-10 19:58:05 +08:00
fatedier and GitHub
1cc2dd8a23
fix(vhost): avoid request body access after CONNECT hijack ( #5562 )
2026-10-09 23:53:05 +08:00
fatedier and GitHub
1dbd44edd3
fix(msg): interrupt control reads during dispatcher shutdown ( #5561 )
2026-10-09 17:46:31 +08:00
fatedier and GitHub
55107d003d
fix: synchronize service startup and shutdown ( #5560 )
2026-10-09 12:27:12 +08:00
fatedier and GitHub
4cd4747525
fix: use Go 1.26 new expressions for pointer initialization ( #5559 )
2026-10-08 22:28:31 +08:00
fatedier and GitHub
d20a232996
test: strengthen health check coverage ( #5528 )
2026-09-10 01:28:26 +08:00
fatedier and GitHub
b0d840858f
ci: upgrade CircleCI config to 2.1 ( #5530 )
2026-09-10 00:17:12 +08:00
fatedier and GitHub
c5508627c4
docs: add rapidproxy as gold sponsor ( #5529 )
2026-09-10 00:02:51 +08:00
fatedier and GitHub
ebb4773c2c
docs: update release notes ( #5521 )
2026-08-29 14:41:43 +08:00
fatedier and GitHub
23ec9b4979
vnet: serialize VirtualNet route lifecycle ( #5512 )
...
* vnet: serialize virtual net route lifecycle
* test: remove fixed virtual net helper parameters
2026-08-28 10:56:05 +08:00
fatedier and GitHub
758f07d59e
deps: migrate to fatedier/yamux v0.2.0 ( #5498 )
2026-08-18 00:24:11 +08:00
fatedier and GitHub
25a4ba306a
ci: pin golangci-lint to v2.12.2 ( #5496 )
2026-08-17 00:48:09 +08:00
4a23aa181c
Release v0.71.0 ( #5495 )
...
* web/frpc: support virtual net visitor plugin (#5414 )
* web/frpc: fix visitor plugin validation for sudp (#5448 )
* web: patch vulnerable transitive dependencies (#5449 )
* web: fix Vite config tsconfig includes (#5450 )
* test(web): add frontend unit test baseline (#5451 )
* build(web): upgrade ESLint to v10 (#5452 )
* build(web): upgrade auto import plugins (#5453 )
* chore(web): upgrade frontend dependencies (#5454 )
* feat: add negotiated binary UDP packets (#5456 )
* docs: add release note for #5456 (#5458 )
* server: validate control pool counts (#5459 )
* feat: use binary codec for SUDP packets (#5461 )
* update version to 0.71.0 (#5464 )
* fix(frpc): respect feature gates in verify (#5465 )
* remove retired Go Report Card badge (#5467 )
* udp: handle closed forwarding channel (#5470 )
* limit: clamp bandwidth limiter burst (#5471 )
* client: reject invalid work connection addresses (#5472 )
* ssh: serialize tunnel channel writes (#5473 )
* config: reject case-insensitive subdomain domains (#5474 )
* docs: add release note for domain validation fix (#5475 )
* log: improve prefix handling (#5489 )
* web: patch vulnerable transitive dependencies (#5490 )
---------
Co-authored-by: barkure <43804451+barkure@users.noreply.github.com >
Co-authored-by: Yarden Shoham <git@yardenshoham.com >
2026-08-14 14:13:20 +08:00
fatedier and GitHub
6c8a8d0a97
web: patch vulnerable transitive dependencies ( #5490 )
2026-08-13 01:12:34 +08:00
fatedier and GitHub
da04e1e07a
log: improve prefix handling ( #5489 )
2026-08-12 23:56:00 +08:00
fatedier and GitHub
71a2bf30f9
docs: add release note for domain validation fix ( #5475 )
2026-08-09 23:04:09 +08:00
fatedier and GitHub
a6a782bed4
config: reject case-insensitive subdomain domains ( #5474 )
2026-08-09 22:52:30 +08:00
fatedier and GitHub
223b44336c
ssh: serialize tunnel channel writes ( #5473 )
2026-08-09 19:12:12 +08:00
fatedier and GitHub
f6688e2a0d
client: reject invalid work connection addresses ( #5472 )
2026-08-09 18:39:21 +08:00
fatedier and GitHub
f666d97b64
limit: clamp bandwidth limiter burst ( #5471 )
2026-08-09 17:30:39 +08:00
fatedier and GitHub
5b68148f11
udp: handle closed forwarding channel ( #5470 )
2026-08-09 15:31:11 +08:00
fatedier and GitHub
1a3a872bd2
fix(frpc): respect feature gates in verify ( #5465 )
2026-08-04 12:53:10 +08:00
fatedier and GitHub
290017cb53
update version to 0.71.0 ( #5464 )
2026-08-03 23:37:36 +08:00
fatedier and GitHub
2291e8835f
feat: use binary codec for SUDP packets ( #5461 )
2026-07-31 16:53:16 +08:00
fatedier and GitHub
1ab59e763c
server: validate control pool counts ( #5459 )
2026-07-30 23:30:16 +08:00
fatedier and GitHub
9d45a55720
docs: add release note for #5456 ( #5458 )
2026-07-30 14:40:54 +08:00
fatedier and GitHub
effa496859
feat: add negotiated binary UDP packets ( #5456 )
2026-07-30 13:19:55 +08:00
fatedier and GitHub
5c6d761c12
chore(web): upgrade frontend dependencies ( #5454 )
2026-07-28 19:36:44 +08:00
fatedier and GitHub
3d89ab7ff1
build(web): upgrade auto import plugins ( #5453 )
2026-07-28 17:09:46 +08:00
fatedier and GitHub
f3828cbfdb
build(web): upgrade ESLint to v10 ( #5452 )
2026-07-28 16:10:29 +08:00
fatedier and GitHub
00c24e39bb
test(web): add frontend unit test baseline ( #5451 )
2026-07-28 01:27:35 +08:00
fatedier and GitHub
2175557d48
web: fix Vite config tsconfig includes ( #5450 )
2026-07-27 19:21:28 +08:00
fatedier and GitHub
de4b483710
web: patch vulnerable transitive dependencies ( #5449 )
2026-07-27 14:57:58 +08:00
fatedier and GitHub
2d63f6b1f9
web/frpc: fix visitor plugin validation for sudp ( #5448 )
2026-07-27 12:04:00 +08:00
fatedier and GitHub
fa3bcca2b0
Merge pull request #5444 from fatedier/dev
...
Release v0.70.1
2026-07-23 15:34:31 +08:00
fatedier and GitHub
18eef83b69
fix(client): synchronize graceful shutdown duration ( #5442 )
2026-07-23 13:55:00 +08:00
fatedier and GitHub
466a94f5d1
update quic-go dependency to v0.60.0 ( #5443 )
2026-07-23 12:28:10 +08:00
fatedier and GitHub
0e53833a2c
refactor: use standard library HKDF ( #5440 )
2026-07-23 01:17:37 +08:00
fatedier and GitHub
c23934bb67
web: update vulnerable transitive dependencies ( #5441 )
2026-07-23 01:16:40 +08:00
fatedier and GitHub
23512f577e
fix: upgrade go-oidc to v3.18.0 ( #5439 )
2026-07-23 00:00:47 +08:00
fatedier and GitHub
84b907a198
deps: bump golib to v0.8.1 ( #5437 )
2026-07-22 21:47:36 +08:00
fatedier and GitHub
f8fc3c6b1b
server: drop HTTP/1.1 h2c upgrade handling ( #5436 )
...
Use net/http Server.Protocols and the merged golib listener path instead of the deprecated h2c handler. Keep HTTP/1.1 and cleartext HTTP/2 prior-knowledge support, while intentionally dropping HTTP/1.1 Upgrade: h2c.
2026-07-22 19:55:42 +08:00
fatedier and GitHub
7dc7be930e
ssh: fix malformed exec payload panic ( #5428 )
2026-07-21 23:04:56 +08:00
fatedier and GitHub
d486018885
fix(server): prevent control replacement lifecycle leaks ( #5424 )
2026-07-21 18:09:09 +08:00
fatedier and GitHub
fe79598ee4
fix: fail fast on cross-compile errors ( #5420 )
2026-07-16 16:40:48 +08:00
fatedier and GitHub
269a26c5d5
fix(nathole): migrate STUN client to golib ( #5419 )
2026-07-16 13:11:45 +08:00
fatedier and GitHub
2886393f5b
ci: remove unsupported s390x image target ( #5412 )
2026-07-11 22:44:45 +08:00
fatedier and GitHub
7b6e01f04f
Merge pull request #5411 from fatedier/dev
...
Release v0.70.0
2026-07-11 18:50:35 +08:00
fatedier and GitHub
5396947c7c
remove retired Go Report Card badge ( #5409 )
2026-07-11 15:59:51 +08:00
fatedier and GitHub
fe61093bc2
bump version to 0.70.0 ( #5406 )
2026-07-11 14:28:19 +08:00
fatedier and GitHub
54aeb2a7b0
feat(server): add typed frps v2 proxy specs ( #5405 )
2026-07-11 10:34:04 +08:00
fatedier and GitHub
84be1938e4
api: expose v2 proxy timestamps as unix seconds ( #5402 )
2026-07-09 14:47:19 +08:00
fatedier and GitHub
becee40715
docs: update API v2 release notes ( #5400 )
2026-07-08 15:54:16 +08:00
fatedier and GitHub
17e788d43b
refactor: clean up frps v2 frontend models ( #5399 )
2026-07-08 13:10:55 +08:00
fatedier and GitHub
68509f5d44
Add frps proxy traffic API v2 ( #5398 )
2026-07-08 02:05:28 +08:00
fatedier and GitHub
5cd722b177
feat: add system prune API v2 ( #5395 )
2026-07-07 13:00:53 +08:00
fatedier and GitHub
5876beceac
feat: add system info API v2 ( #5394 )
2026-07-07 02:00:44 +08:00
fatedier and GitHub
7fe152e3aa
web/frps: use API v2 for client and proxy details ( #5386 )
2026-06-30 01:33:57 +08:00
fatedier and GitHub
7c343fc6e7
web: bump esbuild to 0.28.1 and remove unused ElPopover type ( #5385 )
2026-06-29 23:21:22 +08:00
fatedier and GitHub
a3b3b35b69
feat(ui): default proxies view to all tab ( #5384 )
2026-06-29 22:49:08 +08:00
fatedier and GitHub
ae1c0504ec
feat(dashboard): add v2 client detail status ( #5381 )
2026-06-26 21:15:30 +08:00
fatedier and GitHub
393a533744
docs: add release note for duplicate config names ( #5379 )
2026-06-24 15:03:22 +08:00
fatedier and GitHub
940bde5c46
docs: update release notes ( #5377 )
2026-06-23 17:06:16 +08:00
fatedier and GitHub
14628df63c
test: cover tls2raw proxy protocol header ( #5376 )
2026-06-23 00:04:38 +08:00
fatedier and GitHub
54c6ccdfec
feat: remove proxies client filter ( #5375 )
2026-06-22 22:53:57 +08:00
fatedier and GitHub
9bde0b07de
feat: paginate dashboard clients and proxies via API v2 ( #5354 )
...
Move the frps dashboard Clients and Proxies views to the paginated
/api/v2/clients and /api/v2/proxies endpoints instead of fetching all
data at once, and extend server-side proxy search so the search box
keeps working under pagination.
Frontend:
- Add V2Envelope/V2Page types and getV2 HTTP helper to api/http.ts
- Add v2 paginated fetch functions to api/client.ts and api/proxy.ts
- Add ClientV2Info and ProxyV2Info types for v2 API responses
- Rewrite Clients.vue with server-side pagination, status/user search
filtering, and ElPagination component
- Rewrite Proxies.vue with server-side pagination, type tabs, client
dropdown filter, and a search box that passes q to the API
- Default page size 10, selectable sizes [10, 20, 50, 100]
Backend:
- Extend /api/v2/proxies q matching to also cover online proxy spec
fields: TCP/UDP remotePort and HTTP/HTTPS/TCPMux customDomains and
subdomain, so dashboard search no longer needs to scan every page
- Add controller_v2 tests for the new spec-field matching
2026-06-03 14:08:45 +08:00
fatedier and GitHub
c6c545289c
fix: normalize web package lockfile ( #5353 )
2026-06-02 13:39:37 +08:00
fatedier
503afe78b7
feat: add dashboard API v2 pagination endpoints ( #5351 )
2026-06-01 20:09:25 +08:00
fatedier and GitHub
8dd26c6961
Merge pull request #5350 from fatedier/dev
...
Release v0.69.1
2026-06-01 18:02:22 +08:00
fatedier and GitHub
9ea1d86f03
test: handle wire v2 compatibility baselines ( #5349 )
2026-06-01 17:52:57 +08:00
fatedier
ac3e82db4e
Release v0.69.1 ( #5348 )
2026-06-01 16:22:34 +08:00
fatedier
0773938d70
feat: bridge mixed wire protocol SUDP payloads ( #5347 )
...
SUDP payload codec follows transport wireProtocol; same-protocol v1/v1 and v2/v2 keep raw join; only mixed proxy/visitor protocols use message-aware bridge; no new capability/selection field.
2026-06-01 16:22:34 +08:00
fatedier
9bacce22a2
feat: use wire v2 framing for XTCP NatHoleSid ( #5343 )
2026-06-01 16:22:34 +08:00
fatedier
7f8d68b666
feat: use wire v2 framing for UDP workConn payload ( #5340 )
2026-06-01 16:22:34 +08:00
fatedier and GitHub
c8c1e5116c
Merge pull request #5323 from fatedier/dev
...
Release v0.69.0
2026-05-22 00:55:23 +08:00
fatedier and GitHub
3e19ef9bfd
feat(ui): add xtcp tab to frps dashboard ( #5322 )
2026-05-21 22:18:00 +08:00
fatedier and GitHub
e20f974d61
feat(ui): add all proxies tab to frps dashboard ( #5321 )
2026-05-20 16:20:58 +08:00
fatedier and GitHub
a88e0e9a49
refactor: clean up code ( #5308 )
2026-05-12 11:13:50 +08:00
fatedier and GitHub
8666e3643f
protocol: add AEAD encryption negotiation to v2 wire control channel ( #5304 )
2026-05-06 10:43:47 +08:00
fatedier and GitHub
57bb9e80fe
test/e2e: add compatibility test suite for wire protocol version negotiation ( #5297 )
2026-04-27 18:28:22 +08:00
fatedier and GitHub
cef71fb949
plugin/http_proxy: fix fragmented CONNECT method detection and add read deadline ( #5296 )
2026-04-27 02:30:29 +08:00
fatedier and GitHub
410c4861c4
update Release.md ( #5295 )
2026-04-27 01:31:10 +08:00
fatedier and GitHub
e9464919d1
protocol: add v2 wire protocol with binary framing and capability negotiation ( #5294 )
2026-04-27 00:17:00 +08:00
fatedier and GitHub
4ec8de973f
Merge pull request #5287 from fatedier/dev
...
bump version to v0.68.1
2026-04-14 01:28:33 +08:00
fatedier and GitHub
e8dfd6efcc
web/frpc: use static imports for proxy and visitor route components ( #5286 )
2026-04-14 01:18:31 +08:00
fatedier and GitHub
a9a4416ecf
vhost/http: fix auth bypass when routeByHTTPUser is used with proxy-style requests ( #5285 )
2026-04-14 00:58:19 +08:00
fatedier and GitHub
d667be7a0a
update architecture pic ( #5270 )
2026-03-30 03:22:35 +08:00
fatedier and GitHub
31c3deb4f7
deps: bump golib to v0.6.0 ( #5269 )
2026-03-30 00:29:17 +08:00
fatedier and GitHub
31e271939b
test/e2e: allocate dynamic ports outside whitelist ranges in server whitelist test ( #5268 )
2026-03-30 00:21:30 +08:00
fatedier and GitHub
061c141756
update README.md ( #5267 )
2026-03-29 23:53:17 +08:00
fatedier and GitHub
76abeff881
ci: remove security vulnerability scan workflow ( #5266 )
2026-03-29 22:55:52 +08:00
fatedier and GitHub
5bfcea3d0c
merge dev to master ( #5254 )
...
* ci: bump github actions to latest major versions (#5251 )
* docker: copy shared web directory for npm workspace builds
2026-03-20 15:54:26 +08:00
fatedier
5ed02275da
docker: copy shared web directory for npm workspace builds
2026-03-20 14:39:35 +08:00
fatedier
60c4f5d4bd
ci: bump github actions to latest major versions ( #5251 )
2026-03-20 14:39:00 +08:00
fatedier and GitHub
0a1b4ab21f
Merge pull request #5249 from fatedier/dev
...
bump version
2026-03-20 13:56:28 +08:00
fatedier and GitHub
d20e384bf1
doc: add agent runbooks directory with release process ( #5248 )
...
* web: remove redundant SCSS and CSS files superseded by shared
* doc: add agent runbooks directory with release process
2026-03-20 13:52:12 +08:00
fatedier and GitHub
c95dc9d88a
web: remove redundant SCSS and CSS files superseded by shared ( #5247 )
2026-03-20 13:08:18 +08:00