github MetaCubeX/mihomo v1.17.0

latest releases: v1.18.10, v1.18.9, v1.18.8...
11 months ago

Breaking Changes

Binary file name changes to mihomo, along with most of the const such as default config path, check and update these file/path before update to this version.

What's Changed

  • feat(sniffer): add quic sniffer by @5aaee9
  • feat: Add outbound sing-mux tcp-brutal support by @H1JK
  • feat: add reload signal support (#780) by @andrei Shevchuk
  • feat: Add v2ray httpupgrade fast open support by @H1JK
  • feat: add certificate and private-key to vmess listener by @wwqgtxx
  • feat: add include-all-providers to proxy-groups by @xishang0128
  • feat: add override to proxy-providers by @Larvan2
  • feat: add skip-auth-prefixes by @wwqgtxx
  • feat: add v2ray-http-upgrade support by @wwqgtxx
  • feat: add ws-path to vmess listener by @wwqgtxx
  • feat: cancel RULE-SET nested SUB-RULE restrictions by @Skyxim
  • feat: share more code from android branch by @Steve Johnson
  • feat: support ARC for DNS cache by @Larvan2
  • feat: support clash premium's structured log stream (#735) by @NyaMisty
  • feat: support REJECT-DROP by @Larvan2
  • feature: add environs startup option support (#2909) by @septs
  • feature: add xdg base support (#2913) by @septs
  • Merge pull request #810 from 5aaee9/Alpha by @Larvan2

BUG & Fix

  • fix: avoid tls panic by @wwqgtxx
  • fix: BBR bandwidth estimation edge case by @wwqgtxx
  • fix: BBR memory leak by @wwqgtxx
  • fix: build error by @wwqgtxx
  • fix: dhcp not working on windows by @wwqgtxx
  • fix: DNS NCACHE TTL and OPT RRs (#2900) by @jiahao Lu
  • fix: fix android-arm64 build by @Steve Johnson
  • fix: fix package name rules match by @Steve Johnson
  • fix: gvisor panic by @wwqgtxx
  • fix: gVisor UDP 6to4 check by @wwqgtxx
  • fix: health check at startup by @Skyxim
  • fix: health check available for 'selector' if configured by @Larvan2
  • fix: hy2/tuic inbound cert isn't path by @Larvan2
  • fix: improve feature check and add missing patches by @Steve Johnson
  • fix: method in vmess http-opts is not used by @sduoduo233
  • fix: Mux missing sing logger & initializing race by @H1JK
  • fix: only force health check compatible providers by @Skyxim
  • fix: parsing override by @Larvan2
  • fix: Pool panic when putting small buffer by @H1JK
  • fix: quic-go min MTU by @wwqgtxx
  • fix: reality panic by @wwqgtxx
  • fix: remote logic rules cannot be parsed (#837) by @HolgerHuo
  • Fix: should check all ips need to fallback (#2915) by @yaling888
  • fix: sing listener panic by @wwqgtxx
  • fix: socks5 udp associate by @Dreamacro
  • fix: ssr panic by @wwqgtxx
  • fix: Trojan websocket header panic by @H1JK
  • fix: unmap 4in6 ip by @wwqgtxx
  • fix: v2ray http upgrade Hosts header not working by @wwqgtxx

Maintenance

  • chore: add android feature and patch by @Steve Johnson
  • chore: add CMFA auto update-dependencies trigger by @Steve Johnson
  • chore: add labels to issue template by @Steve Johnson
  • chore: add new bbr implementation by @wwqgtxx
  • chore: add route exclude support by @wwqgtxx
  • chore: add SetupContextForConn for common/net by @wwqgtxx
  • chore: add some warning log by @wwqgtxx
  • chore: better atomic using by @wwqgtxx
  • chore: better bufio.Reader warp by @wwqgtxx
  • chore: better dns batchExchange by @wwqgtxx
  • chore: better tls handshake by @wwqgtxx
  • chore: Cleanup code by @H1JK
  • chore: cleanup error using of dialer.DefaultInterface by @wwqgtxx
  • chore: code cleanup by @wwqgtxx
  • chore: decrease goroutine used in core tunnel by @wwqgtxx
  • chore: decrease memory copy in quic sniffer by @wwqgtxx
  • chore: decrease memory copy in sing listener by @wwqgtxx
  • chore: direct append data to bufio.Reader's internal buffer as much as possible by @wwqgtxx
  • chore: do websocket client upgrade directly instead of gobwas/ws by @wwqgtxx
  • chore: fix bbr bugs by @wwqgtxx
  • chore: fix sniffer log error by @xishang0128
  • chore: fix subscription_info by @xishang0128
  • chore: geo link replaced with github by @xishang0128
  • chore: improve subscription userinfo parsing (#781) by @septs
  • chore: inMemoryAuthenticator unneed sync map by @wwqgtxx
  • chore: listeners can set mux-option by @wwqgtxx
  • chore: merge some quic-go fix by @wwqgtxx
  • chore: migrate from gorilla/websocket to gobwas/ws by @wwqgtxx
  • chore: modify configuration fields by @xishang0128
  • chore: modify some fields by @xishang0128
  • chore: modify ua by @xishang0128
  • chore: NameServerPolicy will match inorder by @wwqgtxx
  • chore: netip.Prefix should not using pointer by @wwqgtxx
  • chore: Pool allocate arrays instead of slices by @H1JK
  • chore: print colored log by @Larvan2
  • chore: reduce memory alloc by @Larvan2
  • chore: reduce string split immediately after string concat (#773) by @kiva
  • chore: reorder atomic TypedValue see: https://gfw.go101.org/article/unofficial-faq.html#final-zero-size-field by @wwqgtxx
  • chore: Replace stack collection with list by @H1JK
  • chore: revert default global ua by @Steve Johnson
  • chore: share dnsClient in NewResolver by @wwqgtxx
  • chore: share some code by @wwqgtxx
  • chore: Shrink allocator pool range by @H1JK
  • chore: simplify fast open code by @wwqgtxx
  • chore: support reject proxy type by @wwqgtxx
  • chore: support relative path for hy2/tuic inbound cert by @Larvan2
  • chore: support v2ray http upgrade server too by @wwqgtxx
  • chore: system resolver can autoupdate by @wwqgtxx
  • chore: temporary seal by @Larvan2
  • chore: Update dependencies by @H1JK
  • chore: update dependencies by @Larvan2
  • chore: Update dependencies by @wwqgtxx
  • chore: update gvisor by @wwqgtxx
  • chore: update quic-go to 0.39.0 by @wwqgtxx
  • chore: Update quic-go to v0.40.0 by @wwqgtxx
  • chore: update sing-tun by @wwqgtxx
  • chore: upgrade xsync to v3 by @wwqgtxx
  • chore: using wk8/go-ordered-map/v2 replace internal StringMapSlice by @wwqgtxx
  • docs: support reload in service by @Larvan2
  • docs: update about quic sniffer by @5aaee9
  • docs: update readme.md by @Larvan2

Full Changelog: v1.16.0...v1.17.0

Don't miss a new mihomo release

NewReleases is sending notifications on new releases.