本次更新共计 1208 次提交。更新摘要如下,详细变更日记请参阅 CHANGELOG 或见下方。重大变动配置目录拆分为 config_dir 和 data_dir,尽量减少 config_dir 的修改。Windows 下可选择修改配置目录,让网盘同步配置。使用 React 19 RC 改善性能。新功能跨平台的服务模式,支持 Linux(除 AppImage)、macOS、Windows。基于 Material Design You 思路客制化的全新界面。支持 Mihomo 的图标展示,并添加图标缓存支持。加入概览页面,方便一览信息以及快捷操作。代理链支持 Profile 级。支持使用 Lua 处理配置。JavaScript 处理单元改用 ESM 格式(旧配置自动兼容)。改进 Merge 单元,加入 filter 操作,操作支持递归处理。支持导入本地配置文件。加入迁移管理模块。托盘切换支持子菜单选择。加入一键反馈按钮。Windows 下支持窗口置顶。支持自定义托盘。支持配置 Tun 堆栈。界面与用户体验改进改进动画效果,提高用户体验。改善页面加载逻辑,缓解页面切换卡顿。新增 UI 组件,如 BaseDialog、LoadingSwitch、ExpandMore 等,提升界面可操作性。支持新主题创建方法,增强界面定制能力。性能优化内核管理器重构,使用多线程下载,加入进度展示功能。使用 React memoization 优化 UI 组件,减少不必要的重新渲染。异步组件加载,提升应用响应速度。平台兼容性与支持改进改善与 Clash Rust 的兼容性。Windows 下支持窗口置顶和自定义托盘。macOS 添加 dock 显示/隐藏 API 支持。修复和优化 Linux 下的托盘支持及应用内功能。开发者体验(DX)改进重构脚本处理节点管理器,改善 DX(开发体验)。使用 BoaJS 替代 rquickjs。使用 redb 替代 rocksdb 改善跨平台兼容性。引入 monorepo 配置,优化开发流程。增加 TypeScript 项目配置与 lint 修复,提升代码质量。安全性与稳定性改进修复了 Linux、macOS 下窗口位置无法记忆的问题。修复了 Windows 下 custom scheme 无法正确打开窗口并跳转到添加 Profile 对话框的问题。缓解了 Linux 下托盘无法使用代理选择的问题。修复若干渲染和性能问题,提升应用稳定性。改进 CSP 设置,增强应用安全性。错误修复修复了 AppImage 下打开目录、网址的问题。屏蔽了 Linux 下应用内更新功能。屏蔽了 AppImage 下的服务模式。修复了代理链、Profile 应用、更新时不会触发配置更新问题。修复了若干 Linux 和 macOS 兼容性问题。修正了多个导致应用崩溃和功能失效的错误The update includes a total of 1208 commits. A summary of the updates is provided below. For detailed changes, please refer to the CHANGELOG on GitHub, or see the detailed log below.Major ChangesConfiguration directories split into config_dir and data_dir to minimize modifications to config_dir. On Windows, users can choose to change the configuration directory to synchronize settings via cloud storage.Upgraded to React 19 RC to improve performance.New FeaturesCross-platform service mode support for Linux (excluding AppImage), macOS, and Windows.A brand new interface customized based on Material Design You principles.Support for displaying Mihomo icons, with added icon caching support.New overview page added for a quick glance at information and easy access to shortcuts.Proxy chain support at the Profile level.Added support for using Lua to process configurations.JavaScript processing unit now uses ESM format (old configurations are automatically compatible).Improved Merge unit with added filter operation, supporting recursive processing.Support for importing local configuration files.Added a migration management module.Tray switching now supports submenu selection.Added a one-click feedback button.Window always-on-top feature added for Windows.Custom tray support.Support for configuring Tun stack.UI and User Experience ImprovementsImproved animation effects for a better user experience.Optimized page loading logic to reduce lag during page transitions.New UI components like BaseDialog, LoadingSwitch, ExpandMore, etc., enhancing interface usability.Support for a new theme creation method, enhancing UI customization capabilities.Performance OptimizationsRefactored core manager with multithreaded download and progress display features.UI components optimized with React memoization to reduce unnecessary re-renders.Asynchronous component loading to improve app responsiveness.Platform Compatibility and Support ImprovementsEnhanced compatibility with Clash Rust.Added window always-on-top and custom tray support for Windows.Dock show/hide API support added for macOS.Fixed and optimized tray support and in-app functionalities for Linux.Developer Experience (DX) ImprovementsRefactored script processing and node manager to enhance DX (Developer Experience).Replaced rquickjs with BoaJS.Replaced rocksdb with redb for improved cross-platform compatibility.Introduced monorepo configuration to optimize the development process.Enhanced TypeScript project setup and lint fixes to improve code quality.Security and Stability ImprovementsFixed issues with window position memory on Linux and macOS.Resolved issues with the custom scheme on Windows not correctly opening the window and navigating to the Add Profile dialog.Mitigated tray proxy selection issues on Linux.Fixed various rendering and performance issues to enhance app stability.Improved CSP settings to enhance application security.Bug FixesFixed issues with opening directories and URLs under AppImage.Disabled in-app update functionality for Linux.Disabled service mode for AppImage.Fixed issues with proxy chain, Profile application, and configuration updates not triggering correctly.Fixed various compatibility issues with Linux and macOS.Addressed multiple bugs causing crashes and functional failures.[1.6.0] - 2024-08-29Change Details Breaking ChangesTsconfig options by @keiko233⚡ Performance Improvementshook: Add debounce callback & do nothing when minimized by @keiko233proxies: Add useTransition by @keiko233ui: Memoized children node by @keiko233ui: Add ref support for BasePage by @keiko233Switch log page & rule page to async component by @keiko233✨ Featurescomponent: Add children props support for PaperButton by @keiko233connections: Lazy load connections and close #1208 by @greenhat616connections: Add no connection display by @keiko233connections: New design for ConnectionsPage by @keiko233custom-schema: Experimental compatible with common clash schema by @greenhat616custom-scheme: Use one desktop file to process mime by @greenhat616custom-theme: Background color picker minor tweak by @keiko233dashboard: Add service status shortcuts card by @keiko233dashboard: Add proxy shortcuts panel by @keiko233dashboard: Special grid layout for drawer by @keiko233dashboard: Add health panel by @keiko233dashboard: Init Dashboard Page by @keiko233delay-button: Minor tweaks for animetion by @keiko233downloader: Make downloader status readable by @greenhat616drawer: Enable panel collapsible by @keiko233drawer: Add small size layout by @keiko233drawer: Minor tweak for small size by @keiko233enhance: Experimental add lua runner support by @greenhat616enhance: Make merge process more powerful by @greenhat616experimental: Initial react compiler support by @keiko233interface: Initial ClashWS by @keiko233interface: Add profile js interface by @keiko233interface: Add current clash mode interface by @keiko233interface: Add useClashCore hook method by @keiko233interface: Add app tauri invoke interface by @keiko233interface: Add profiles api with SWR by @keiko233interface: Add ClashInfo interface with SWR by @keiko233interface: Init code by @keiko233ipc: Replace timing utils ofetch to tokio by @keiko233ipc: Export delay test and core status call by @greenhat616layout: Add scrollbar track margin by @keiko233logs: New design LogsPage by @keiko233macos: Try to impl dock show/hide api by @greenhat616macos: Add traffic control offset for macos by @keiko233migration: Add discard method for discarding changes while migration failed by @greenhat616monaco: Add monaco types support by @keiko233monaco: Add typescript language service by @keiko233monaco: Import lua language support by @keiko233monaco-edit: Switch to lazy load module by @keiko233monaco-editor: Support props value changes and language switching by @keiko233monaco-editor: Support language change on prop by @keiko233motion: Add lighten animation effects config by @keiko233nyanpasu: Node list support proxy delay testing by @keiko233nyanpasu: Import react devtools on dev env by @keiko233nyanpasu: Use new design Proxies Page by @keiko233nyanpasu: Import tailwind css by @keiko233nyanpasu: Experimentally added new settings interface by @keiko233nyanpasu: Add SettingLegacy component by @keiko233nyanpasu: Add SettingNyanpasuVersion component by @keiko233nyanpasu: Add SettingNyanpasuUI component by @keiko233nyanpasu: Add SettingNyanpasuPath component by @keiko233nyanpasu: Add SettingNyanpasuPath component by @keiko233nyanpasu: Add PaperButton component by @keiko233nyanpasu: Add SettingNyanpasuTasks component by @keiko233nyanpasu: Add SettingSystemService component by @keiko233nyanpasu: Add SettingSystemBehavior component by @keiko233nyanpasu: Add SettingSystemClash component by @keiko233nyanpasu: Add SettingClashCore component by @keiko233nyanpasu: Use grid layout for SettingClashWeb by @keiko233nyanpasu: Add SettingClashField component by @keiko233nyanpasu: Add SettingClashWeb component by @keiko233nyanpasu: Add SettingClashExternal component by @keiko233nyanpasu: Add SettingClashPort component by @keiko233nyanpasu: Add SettingClashBase component by @keiko233nyanpasu: Add nyanpasu setting props creator by @keiko233nyanpasu: Use new theme create method by @keiko233nynapasu: Add SettingNyanpasuMisc component by @keiko233profiles: Adapting scroll area & add position animation by @keiko233profiles: Add diff dialog hint by @greenhat616profiles: Add max log level triggered notice, and close #1291 by @greenhat616profiles: Add black touch new option by @greenhat616profiles: Add text carousel for subscription expires and updated time by @greenhat616profiles: Minor tweaks & add click card to apply profile by @keiko233profiles: Add split pane support & minor tweaks by @keiko233profiles: Profiles new design by @keiko233profiles: Add proxy chain side page by @keiko233profiles: Add monaco editor for ProfileItem by @keiko233profiles: Complete profile operation menu by @keiko233profiles: Redesign profile cards & new profile editor by @keiko233profiles: Profile dialog support edit mode by @keiko233profiles: Add QuickImport text arae component by @keiko233profiles: Init new profile page by @keiko233providers: Add proxy provider traffic display support by @keiko233providers: Support proxies providers by @keiko233providers: New design ProvidersPage by @keiko233proxies: Filter proxies nodes by @greenhat616proxies: Adapting scroll area by @keiko233proxies: Support proxy group test url by @keiko233proxies: Add scroll to current node button by @keiko233proxies: Add node card animation by @keiko233proxies: Group name transition use framer motion by @keiko233proxies: Add none proxies tips by @keiko233proxies: Add virtual scrolling to grid node list by @keiko233proxies: Group list use virtual scrolling by @keiko233proxies: Add node list sorting function by @keiko233proxies: Add group name text transition by @keiko233proxies: Add diff clash mode page layout by @keiko233proxies: Support group icon show by @keiko233proxies: Disable button when type is not selecor by @keiko233rules: Move filter text input to header by @keiko233rules: New design for RulesPage by @keiko233service: Add a service control panel and sidecar check script by @greenhat616setting-clash-base: Add uwp tools support by @keiko233setting-clash-core: Support core update by @keiko233setting-clash-field: Add ClashFieldFilter switch by @keiko233sotre: Add persistence support by @keiko233theme: Add MDYPaper style override by @keiko233tray: Add custom tray icon support by @greenhat616tray: Add submenu proxies selector by @greenhat616ui: Md3 style segmented button by @greenhat616ui: Add scroll area support for side page by @keiko233ui: Tailwind css support mui breakpoint by @keiko233ui: Base page use radix-ui scroll area by @keiko233ui: Dialog allow windows drag when prop full is true by @keiko233ui: Add full screen style for dialog by @keiko233ui: Minor tweaks for border radius by @keiko233ui: Replace Switch to LoadingSwitch for SwitchItem by @keiko233ui: Init sparkline chart by @keiko233ui: Add sideClassName props for SidePage component by @keiko233ui: Add reverse icon props for ExpandMore component by @keiko233ui: Add MuiLinearProgress material you style override by @keiko233ui: Add more props support for BaseDialog by @keiko233ui: Add side toggle animation & reverse layout props by @keiko233ui: Add SidePage component by @keiko233ui: Add TextItem component by @keiko233ui: Add BaseItem component by @keiko233ui: Add TextFieldProps for NumberItem by @keiko233ui: Add ExpandMore component by @keiko233ui: Add loading props support for BaseCard by @keiko233ui: Add LoadingSwitch component by @keiko233ui: Add divider props support for BaseDialog by @keiko233ui: Add BaseDialog component by @keiko233ui: Add MuiDialog material you override by @keiko233ui: Add disabled props for MenuItem by @keiko233ui: Add selectSx for MenuItem component by @keiko233ui: Add divider props for NumberItem by @keiko233ui: Add Expand component by @keiko233ui: Add NumberItem component by @keiko233ui: Add MenuItem component by @keiko233ui: Add SwitchItem component by @keiko233ui: Add BaseCard label props undefined type support by @keiko233ui: Add MDYBaseCard component by @keiko233ui: Add MuiSwitch material you override by @keiko233ui: Add MuiCard & MuiCardContent material you override by @keiko233ui: Custom breakpoints by @keiko233ui: Add memo suuport for MDYBasePage header by @keiko233ui: Add MuiPaper material you override by @keiko233ui: Add MDYBasePage component by @keiko233ui: Add MuiButtonGroup material you override by @keiko233ui: Add MuiButton material you override by @keiko233ui: Add new mui theme create method for material you by @keiko233updater: Add a view github button by @greenhat616use-message: Add nyanpasu title prefix by @keiko233util: Add a util to collect env infos to submit issues by @greenhat616web: Replace default utl to Dashboard Page by @keiko233window: Always on top by @greenhat616Minor tweaks for app layout by @keiko233Draft updater dialog, and close #1328 by @greenhat616Add core updater progress by @keiko233Draft core updater progres by @greenhat616Add lazy loading for proxies icons by @greenhat616Allow select on rule page & log page by @keiko233Add clash icon local cache by @greenhat616Add runtime config diff dialog by @greenhat616Add tun stack selector by @greenhat616Impl script esm and async support (#1266) by @greenhat616 in #1266Should hidden speed chip while no history by @greenhat616Add auto migration before app run by @greenhat616Add migrations manager and cmds to run migration by @greenhat616Add swift feedback button by @greenhat616Print better build info by @greenhat616Add a experimental mutlithread file download util by @greenhat616Experimental add draggable logo by @greenhat616Resizable sidebar without config presistant by @greenhat616Use node octokit deps by @keiko233Profile spec chains support by @greenhat616Support lua script type and do a lot refactor by @greenhat616 Bug Fixesapp-setting: Missing fields with template by @keiko233chians: Throw backend log on use native dialog by @keiko233ci: Update publish script by @greenhat616ci: Updater checkout issue by @greenhat616ci: Updater checkout issue by @greenhat616ci: Prepend changelog by @greenhat616ci: Build by @greenhat616clash: Accpet clash rs status code and handle status error by @greenhat616clash: Hidden ipv6 setting while clash rs by @greenhat616clash-web: Fix reversed Boolean value by @keiko233clash-web: Empty array err by @keiko233config: Replace enable_auto_check_update by @keiko233connections: Table type filed err by @keiko233connections: Host undefined err by @keiko233csp: Allow loading local cache server assets by @greenhat616csp: Allow img-src from https by @keiko233custom-scheme: Xdg-mime default wrong call format by @greenhat616custom-scheme: Front page redirect by @greenhat616custom-scheme: Should pass single-instance while launched by custom schema by @greenhat616custom-scheme: Support mutiple scheme by @greenhat616custom-theme: Unregister event when the themoe mode is not system by @keiko233custom-theme: Fix custom theme effect & system theme sync event by @keiko233dashboard: Data panel layer size err by @keiko233dashboard: Zero value display err by @keiko233deep link: Use different identifiers in dev mode by @keiko233deps: Add misssing deps by @keiko233deps: Vite-plugin-monaco-editor version err by @keiko233dev: When dev feature force use dev app dir by @keiko233drawer: Style prop merge err by @keiko233drawer: Offset value err by @keiko233drawer: Small size drawer layout err by @keiko233drawer: Minor tweaks by @keiko233drawer: Fix scroll err & hidden scrollbar by @keiko233drawer: Fix padding & text position by @keiko233enhance: Rm useless use_lowercase hook, and close #1323 by @greenhat616enhance: Use oxc ast to wrap function main, close #1298 by @greenhat616enhance: Should update after editing activated chain item by @greenhat616enhance: Transform allow lan decrepation by @greenhat616enhance: Should export default by @greenhat616enhance: Use indexmap to ensure the process order by @greenhat616enhance: Mark process fn async by @greenhat616guard: Remove ipv6 field while core is clash rs by @greenhat616hook: Replace DebounceFn to ThrottleFn by @keiko233image-resize: Correct image buffer extraction and resizing logic by @keiko233interface: Close all connections err by @keiko233interface: Drop defalut clash mode set by @keiko233interface: Bad references by @keiko233interface: Add clash rs version format method by @keiko233interface: Request clash when use set by @keiko233interface: Data type err by @keiko233interface: Typos by @keiko233layout: Bringup layout control to top layer by @keiko233lint: Prettier plugin load err by @keiko233linux: Replace backdrop blur to background opacity by @keiko233linux: Service controls gui prompt, and close #1443 by @greenhat616linux: Try to use symbol to fix tray issue by @greenhat616linux: Use a workaround to make tray select work by @greenhat616linux: Try to solve sysproxy resolver in appimage by @greenhat616linux: Try to solve xdg-open in AppImage by @greenhat616logs: Disable log state err by @keiko233logs: Logs page freeze by @keiko233logs: Logs page style err by @keiko233macos: App icon size by @keiko233macos: Dialog layout position err by @keiko233macos: Remove prevent close block in macos by @greenhat616macos: Rename single instance check path by @greenhat616macos: Try to use another name to fix create dir error by @greenhat616node-card: Layout err by @keiko233nsis: Uninstall service check by @greenhat616nsis: Stop running core by service while install and rm service dir while uninstall by @greenhat616nyanpasu: Missing of recoil drop commit by @keiko233nyanpasu: Missing tailwind css import by @keiko233nyanpasu: Word typos by @keiko233nyanpasu: Undfined value err by @keiko233nyanpasu: Props usage error by @keiko233nyanpasu: Drop tooltips to fix mui warning by @keiko233portable: Add nyanpasu service binary by @greenhat616profile: Dialog padding err by @keiko233profile: Just invisble progress by @greenhat616profile: Correctly handle filtering of script types in filterProfiles function by @keiko233profile-viewer: Replace default profile user agent to clash-nyanpasu by @keiko233profiles: Dont use sub component to solve the loss data issue by @greenhat616profiles: Scoped chians state update err by @keiko233profiles: Add missing open file on chains menu by @keiko233profiles: Monaco dialog style err by @keiko233profiles: Fix new chain method err by @keiko233profiles: Fix profile item selected color on dark mode by @keiko233profiles: Fix color on dark mode by @keiko233profiles: Add missing open file method by @keiko233profiles: Profile traffic percent calculation error by @keiko233profiles: Add selected props for ProfileItem by @keiko233providers: Single line layout err by @keiko233proxies: Proxy node select err & render err by @keiko233proxies: Sorting cannot be performed in global mode by @keiko233proxies: Nodecard transition by @keiko233proxies: Delay sort & timeout string by @keiko233proxies: Global proxy select err by @keiko233proxies: Incorrect judgment leading to value transfer error by @keiko233proxies: Missing import by @keiko233proxies: Current group get err by @keiko233route: Reaplce icon dashboard to Dashboard by @keiko233rules: Rules page display err by @keiko233script: Decompress nyanpasu-service by @greenhat616script: Replace appimage to rpm pkg by @keiko233script: Use latest node version by @keiko233script: Fix build with nightly prepare script by @keiko233script: Nightly prepare package.json path by @keiko233scripts: Typos by @keiko233scripts: Telegram notify failed to request github repo releases info by @keiko233service: Restart core while service mode enabled and service state changed by @greenhat616service: Adapt the current ui by @greenhat616setting: Service mod toggle by @keiko233setting-clash-core: Disable initial animetion by @keiko233setting-clash-core: Add user triger check update loading status by @keiko233setting-nyanpasu-version: Incorrect value passing by @keiko233setting-system-proxy: Grid layout breakpoint value by @keiko233setting-web-ui: Zero value for index err by @keiko233settings: Version pkg import err by @keiko233settings: Swr use err by @keiko233settings: Page masonry layout err by @keiko233settings: Fix auto check update fileld stats err by @keiko233single-instance: Should use path instead of namespace in linux by @greenhat616string: Typo in side-chain.tsx (#999) by @NalCol in #999styles: Try to use normalize.css to solve webkit font issue by @greenhat616tauri: Missing dialog features by @keiko233tauri: Mixed content err by @keiko233theme: Fix value merge null err by @keiko233theme: Update breakpoint value by @keiko233tray: Add a barrier to try to solve the tray selector issue in linux by @greenhat616tsconfig: Typescript type reference issue by @keiko233tun: Compatible with clash rs by @greenhat616ui: Dialog exit animation err by @keiko233ui: Close animetion position err by @keiko233ui: Fix dialog unmount err by @keiko233ui: Missing dialog z index css prop by @keiko233ui: Refactor dialog use radix ui portal by @keiko233ui: Scroll bar hidden on no padding by @keiko233ui: Base page dom layout err by @keiko233ui: Add Menu Paper box shadow by @keiko233ui: Fixed FloatingButton position by @keiko233ui: Fixed FloatingButton position by @keiko233ui: Force set FloadtingButton posotion absolute by @keiko233ui: Drop memo children too by @keiko233ui: Drop SidePage memo by @keiko233ui: Hide SidePage side content when there is no side by @keiko233ui: Drop width for MDYBasePage-content by @keiko233ui: Fix BasePage content width by @keiko233ui: Disable loading mask animetion initial for BaseCard by @keiko233ui: Default unmount dialog modal by @keiko233ui: Replace padding to Box element by @keiko233ui: Disable initial animetion for Expand component by @keiko233ui: Add disabled overlay for MuiSwitch by @keiko233ui: Fix BaseDialog content height err by @keiko233ui: Pin MenuItem width by @keiko233ui: Disbale MuiPaper override by @keiko233updater: Invaild date issue by @greenhat616updater: Fetch version.json from main branch (#968) by @aviraxp in #968util: Speed test should use desc order by @greenhat616webkit: Border radius not apply on absolute layout by @keiko233window: Show window when frontend mounted by @keiko233windows: Window controller position by @keiko233windows: Custom scheme call by @greenhat616Disable migrate app dir feature in macos, linux by @greenhat616Custom scheme url parser in webkit by @greenhat616Try to fix read profile state again by @greenhat616Add a key to try to solve read profile issue by @greenhat616Log time issue, and close #1447 by @greenhat616Disable core update check in linux by @greenhat616Disable app updater for linux expect AppImage by @greenhat616Rm macos unsupport transparent by @greenhat616Try to fix cross platform save win state issue by @greenhat616Lint by @greenhat616Lint by @greenhat616Use open_that workaround for appimage by @greenhat616React deps by @greenhat616Check button issue by @greenhat616Lint by @greenhat616Profile runtime config button color by @greenhat616Nsis build issue by @greenhat616Exhaustive-deps lint by @greenhat616Disable react complier lint until it fixes bug by @greenhat616Add 172.16.0.0/12 system proxy passby on windows (#1405) by @Remonli in #1405Use tauri client for asn request by @greenhat616Proxies nodes list update issue, and close #1402 by @greenhat616Lint by @greenhat616Mutate core version while updater finished by @greenhat616Updater replace issue, and close #1377 by @greenhat616Script prepare gh token by @greenhat616Lint by @greenhat616Build by @greenhat616Build by @greenhat616Build by @greenhat616Lint by @greenhat616Lint by @greenhat616Try to fix ts project import issue by @greenhat616Ts project settings (#1394) by @greenhat616 in #1394Ts project lint by @greenhat616Correct the update order to ensure the script changes get applied by @greenhat616Clash config select issue, and close #1303 by @greenhat616Spawn orientation random updater id by @keiko233Throw single instance create error by @greenhat616Connection page lazy loading by @greenhat616Config detect, and close #1305 by @greenhat616Quick import submit when enter press by @greenhat616Icon loader should not lazy by @greenhat616Icon lazy image by @greenhat616Show a error dialog while check latest cores error, and close #1302 by @greenhat616Issues by @greenhat616Marquee by @greenhat616No need retry while os error 232 by @greenhat616Not save clash overrides config, close #1295 by @greenhat616Fix broken pipe causing too many logs #637 by @4o3FFix tray not able to reset by @4o3FUpdate sysproxy-rs to support KDE by @4o3FFix url scheme issue #902 by @4o3FUse window open counter to prevent double-click opening the window immediately by @greenhat616Should update match by @greenhat616Make profile yaml file to be formatted by serde yaml by @greenhat616Update config while patch profile scoped chain by @greenhat616Lint by @greenhat616Lint by @greenhat616Lint by @greenhat616Clash rs core switch by @greenhat616Patch profile chains by @greenhat616Patch profile chains by @greenhat616Lint by @greenhat616Ignore deleteConnection error while applying new profile by @greenhat616Make port strategy check better by @greenhat616No exit code on unix platform by @greenhat616Try to solve the migration failed issue by @greenhat616Lint by @greenhat616Ui service control and updater path by @greenhat616Cleanup codes by @greenhat616Lint by @greenhat616Lint by @greenhat616Skip migration while home dir is not exist, and close #1235 by @greenhat616Skip migration while home dir is not exist, and close #1235 by @greenhat616Lint by @greenhat616Should create data dir and config dir when fetch it if not exist by @greenhat616Styles by @greenhat616Lint by @greenhat616Migration panic by @greenhat616Migrate all upcoming migrations while pending by @greenhat616Migration missing dirs touch by @keiko233Left container scrollbar gutter (#1225) by @fu050409 in #1225Add quote prefix, and solve the undefined issue by @greenhat616Drawer resize panel style by @keiko233Lint by @greenhat616Lint by @greenhat616Build by @keiko233Build by @keiko233Missing export by @keiko233Lint in linux by @greenhat616Enhance process panic while profiles is empty by @greenhat616Fmt by @greenhat616Log path by @greenhat616Use webview2-com-bridge to solve ra crash issue by @greenhat616Lint by @greenhat616Minor issues (#884) by @greenhat616 in #884Ci by @greenhat616Lint by @greenhat616Vite plugin monaco editor overrides by @greenhat616Fix issue #776 by @4o3FMac x64 use mihomo compatible core (#773) by @SakurasanLint by @keiko233Change storage_db name by @4o3FFix database creation issue by @4o3F Documentationreadme: Add nyanpasu 1.6.0 label by @keiko233readme: Fix resource path err by @keiko233Fix dev build shields card link err by @keiko233Update screenshot & clean up docs by @keiko233 Refactorchains: Use bitflags instead of custom support struct by @greenhat616connections: Drop mui/x-data-grid & use material-react-table by @keiko233core: Use new core manager from nyanpasu utils to prepare for new nyanpasu service by @greenhat616custom-scheme: Use nonblocking io and create window if window is not exist by @greenhat616dashboard: Split health panel by @keiko233dirs: Split home_dir into config_dir and data_dir by @greenhat616drawer: Use react-split-grid replace react-resizable-panels by @keiko233frontend: Make monorepo by @keiko233hook: Use-breakpoint hook with react-use by @keiko233hook: Optimize useBreakpoint hook to reduce unnecessary updates by @keiko233hotkeys: First draft hotkeys setting dialog by @greenhat616interface!: Increase code readability by @keiko233interface/service: Tauri interface writing by @keiko233layout: New layout design by @keiko233nsis: Use nsis's built-in com plugin instead of ApplicationID plugin (#9606) by @amrbashirprofiles: Chians component by @keiko233proxies: Drop memo use effert to update by @keiko233proxies: Delay button using tailwind css and memo by @keiko233script: Manifest generator script by @keiko233script: Resource check script by @keiko233service: Add new service backend support by @greenhat616theme: Migrating to CSS theme variables by @keiko233ui: Drop mui dialog & use redix-ui with framer motion by @keiko233updater: Support speedtest and updater concurrency by @greenhat616Drop async component use react suspense by @keiko233Proxies page use new interface by @keiko233Refactor rocksdb into redb, this should solve #452 by @4o3F in #755Refactor rocksdb into redb, this should fix #452 by @4o3FNew Contributors@Remonli made their first contribution in #1405@fu050409 made their first contribution in #1225@NalCol made their first contribution in #999@aviraxp made their first contribution in #968@amrbashir made their first contribution@Sakurasan made their first contributionFull Changelog: v1.5.1...v1.6.0