Releases: Sha0huaZhang/MacWave
Release list
Index Update-2026092301
Index Update 索引更新
Add pacakges: fzf tmux
新增软件包:fzf tmux
由于wave install会自动拉取最新数据,你无需手动更新
Because of wave install automatically pulls the latest data, you don't need to update manually.
MacWave 2.2
Release Note 更新日志
新增:支持含有依赖的软件包,采用引用计数和依赖自动管理,无需手动处理依赖
软件包和依赖均支持多版本共存,且均在MacWave目录下,减小系统库更新造成的影响
新增软件包:ffmpeg
New: Support for software packages with dependencies, using reference counting and automatic dependency management, with no need to handle dependencies manually.
Both software packages and dependencies support multi-version coexistence, and they are all stored under the MacWave directory, reducing the impact caused by system library updates.
New software packages: ffmpeg
Install 安装
运行以下命令以下载/更新到此版本
Run the following command to download/update to this version.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Sha0huaZhang/MacWave/2.2.0/lib/install.sh)"
MacWave 2.1
About This Release / 关于本次发布
Due to numerous unexpected and hard-to-fix bugs in 2.0RC and early 2.1.0 betas, we decided to rewrite the project from the ground up. The 2.0 stable release is skipped, and all earlier 2.1.0 betas are deprecated. This is the new starting point.
由于 2.0RC 和早期 2.1.0 Beta 出现大量非预期、难以修复的 bug,我们决定从底层重写整个项目。2.0 正式版跳过,此前的所有 2.1.0 Beta 作废。此版本是重写后的新起点。
What's Included / 本版本包含
wave install <package>@<version>— install packages with mandatory version suffix
安装软件包,强制带版本号wave uninstall <package>[@<version>|@*]— uninstall single, multiple, or all versions
卸载单个、多个或全部版本wave list— list installed packages
列出已安装的软件包wave search <query>— search packages in the remote infosource
在远程 infosource 中搜索软件包wave info <package>— show package info (local if installed, remote otherwise)
查看软件包信息(已安装查本地,未安装查远程)- SHA256 verification before extraction
解压前进行 SHA256 校验 - Resumable downloads (
-C/--continue)
断点续传 - Rate limiting (
--limit-rate)
限速 - Proxy support (
--proxy)
代理支持 - SSL verification toggle (
--skip-ssl)
SSL 校验开关 - Support for 8 archive formats: no-extension,
.zip,.tar.gz,.tar.bz2,.tar.xz,.tar,.gz,.bz2
支持 8 种压缩格式 - CI workflow that tests all 8 archive formats on every push
每次 push 自动在 macOS runner 上跑覆盖全部 8 种格式的 CI 测试
What's Removed / 已移除
wave upgrade— useuninstall+installinstead
请用uninstall+install替代- Local caching — metadata is now fetched live from
infosource
本地缓存 —— 元数据改为从infosource实时拉取 parser.rbcustom DSL parser — data is now read as JSON
自定义 DSL 解析 —— 数据改为直接读取 JSON
Known Limitations / 已知限制
- Dependency handling is not yet available. Only packages without dependencies can be installed. This is planned for 2.2.
暂不支持依赖处理。 目前仅能安装无依赖的软件包。计划在 2.2 版本引入。 surfboard/modules are present but not active.
surfboard/模块已存在但暂未启用。
For Developers / 面向开发者
- Modular architecture:
wave.pyis a pure dispatcher; install/query/uninstall logic live in separate modules.
模块化架构:wave.py只做调度,安装/查询/卸载逻辑各自独立成模块。 - Clear contracts: each module exposes a single entry function.
接口清晰:每个模块只暴露一个入口函数。 - Unified style: see
STYLE.md.
风格统一:参见STYLE.md。 - CI-verified: every push runs a format test on macOS runners.
CI 验证:每次 push 都会在 macOS runner 上自动跑格式测试。 - Reusable test script:
scripts/format_test.shruns the same tests locally and in CI.
测试脚本可复用:本地和 CI 共用同一套测试。 - Shared dev config:
.vscode/is committed, so new contributors can debug and run tests immediately.
共享开发配置:.vscode/已提交,新成员 clone 后即可调试和测试。
Install / 安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Sha0huaZhang/MacWave/main/lib/install.sh)"
Feedback / 反馈
If you encounter bugs, please open an issue on GitHub with your OS version, reproduction steps, and error logs.
如果你遇到 bug,请在 GitHub Issues 中反馈,附上系统版本、复现步骤、报错日志。
MacWave 2.0RC
更新说明 Release Note
1.解耦了数个程序。原来的wave.py和pkginstaller.py被拆分成wave.py(调用接口); pkginstaller.py(下载和删除软件包); versionparser.py(解析软件包版本号); help.py(输出帮助信息)。
1. Decoupled several modules. The original wave.py and pkginstaller.py have been split into: wave.py (interface caller); pkginstaller.py (package download and removal); versionparser.py (version number parsing); help.py (help message output).
2.创建Linux分支。MacWave产生分支LinuxWave,专门服务于Linux。
2. Created a Linux branch. MacWave spawned a branch LinuxWave, dedicated to serving Linux.
3.更多的目录选择。macOS可安装到~/.local/macwave,/opt/macwave,/usr/local/macwave(仅Intel Mac)或自定义目录,Linux可安装到~/.local/linuxwave,/opt/linuxwave,/usr/local/linuxwave,/home/linuxwave/.linuxwave或自定义目录。
3. More directory options. macOS can be installed to ~/.local/macwave, /opt/macwave, /usr/local/macwave (Intel Mac only), or a custom directory. Linux can be installed to ~/.local/linuxwave, /opt/linuxwave, /usr/local/linuxwave, /home/linuxwave/.linuxwave, or a custom directory.
4.清晰分类Git目录。现在,所有Git文件都被放置在pkg/,lib/,templates/,scripts/目录中。
4. Clear categorization of Git directories. All Git files are now placed in the pkg/, lib/, templates/, and scripts/ directories.
5.清晰分类用户目录。wave不再和软件包放在同一目录。现在,有关软件包的程序和文件(pkginfo_arm64(amd64).txt; pkgparser.rb; pkginstaller.py; versionparser.py; repo_cache.json; installed.json)均放置在pkg/,核心文件(wave和help.py)放置在lib/,临时目录(tmp/)放置在downloads/,软件包放置在bin/,做好了结构分离。
5. Clear categorization of user directories. wave is no longer placed in the same directory as packages. Programs and files related to packages (pkginfo_arm64(amd64).txt; pkgparser.rb; pkginstaller.py; versionparser.py; repo_cache.json; installed.json) are now placed in pkg/. Core files (wave and help.py) are placed in lib/. Temporary directories (tmp/) are placed in downloads/. Packages are placed in bin/, achieving a clear structural separation.
6.分离出配置文件(config.json,VERSION.json),并放在固定位置(/opt/macwave_config)
6. Separated configuration files (config.json, VERSION.json) and placed them in a fixed location (/opt/macwave_config).
7.引入自定义的微型DSL(特定领域语言): pkginfo_arm64.txt pkginfo_amd64.txt
7. Introduced a custom mini-DSL (Domain-Specific Language): pkginfo_arm64.txt pkginfo_amd64.txt.
8.软件包索引(pkginfo_arm64(amd64).txt)下载到本地,无需从网络获取。
8. The package index (pkginfo_arm64(amd64).txt) is downloaded locally, eliminating the need to fetch it from the network.
9.重写pkginstaller.py
9. Rewrote pkginstaller.py.
10.改进了部分输出
10. Improved some output messages.
架构图参考附加文件的图片: Arch_digram_Modules.png Arch_digram_Dir.png Flowchart_Download.png Flowchart_Uninstall.png
For the architecture diagram, please refer to the image in the attached file.: Arch_digram_Modules.png Arch_digram_Dir.png Flowchart_Download.png Flowchart_Uninstall.png
若要安装此版本,请先执行下列命令完全删除MacWave 2.0 beta 2之前的版本(如有):
To install this version, please first execute the following command to completely remove the previous version of MacWave 2.0 beta 2 (if any):
rm -rf ~/.local/macwave
执行下列命令以下载2.0RC版本:
Execute the following command to download version 2.0RC:
/bin/bash -c "$(curl -fsSL https://github.com/Sha0huaZhang/MacWave/releases/download/v2.0.0-rc/install.sh)"
MacWave 2.0.0-beta2
更新说明 Release Note
1.解耦了数个程序。原来的wave.py和pkginstaller.py被拆分成wave.py(调用接口); pkginstaller.py(下载和删除软件包); versionparser.py(解析软件包版本号); help.py(输出帮助信息)。
1. Decoupled several modules. The original wave.py and pkginstaller.py have been split into: wave.py (interface caller); pkginstaller.py (package download and removal); versionparser.py (version number parsing); help.py (help message output).
2.创建Linux分支。MacWave产生分支LinuxWave,专门服务于Linux。
2. Created a Linux branch. MacWave spawned a branch LinuxWave, dedicated to serving Linux.
3.更多的目录选择。macOS可安装到~/.local/macwave,/opt/macwave,/usr/local/macwave(仅Intel Mac)或自定义目录,Linux可安装到~/.local/linuxwave,/opt/linuxwave,/usr/local/linuxwave,/home/linuxwave/.linuxwave或自定义目录。
3. More directory options. macOS can be installed to ~/.local/macwave, /opt/macwave, /usr/local/macwave (Intel Mac only), or a custom directory. Linux can be installed to ~/.local/linuxwave, /opt/linuxwave, /usr/local/linuxwave, /home/linuxwave/.linuxwave, or a custom directory.
4.清晰分类Git目录。现在,所有Git文件都被放置在pkg/,lib/,templates/,scripts/目录中。
4. Clear categorization of Git directories. All Git files are now placed in the pkg/, lib/, templates/, and scripts/ directories.
5.清晰分类用户目录。wave不再和软件包放在同一目录。现在,有关软件包的程序和文件(pkginfo_arm64(amd64).txt; pkgparser.rb; pkginstaller.py; versionparser.py; repo_cache.json; installed.json)均放置在pkg/,核心文件(wave和help.py)放置在lib/,临时目录(tmp/)放置在downloads/,软件包放置在bin/,做好了结构分离。
5. Clear categorization of user directories. wave is no longer placed in the same directory as packages. Programs and files related to packages (pkginfo_arm64(amd64).txt; pkgparser.rb; pkginstaller.py; versionparser.py; repo_cache.json; installed.json) are now placed in pkg/. Core files (wave and help.py) are placed in lib/. Temporary directories (tmp/) are placed in downloads/. Packages are placed in bin/, achieving a clear structural separation.
6.分离出配置文件(config.json,VERSION.json),并放在固定位置(/opt/macwave_config)
6. Separated configuration files (config.json, VERSION.json) and placed them in a fixed location (/opt/macwave_config).
7.引入自定义的微型DSL(特定领域语言): pkginfo_arm64.txt pkginfo_amd64.txt
7. Introduced a custom mini-DSL (Domain-Specific Language): pkginfo_arm64.txt pkginfo_amd64.txt.
8.软件包索引(pkginfo_arm64(amd64).txt)下载到本地,无需从网络获取。
8. The package index (pkginfo_arm64(amd64).txt) is downloaded locally, eliminating the need to fetch it from the network.
9.重写pkginstaller.py
9. Rewrote pkginstaller.py.
架构图参考附加文件的图片: Arch_digram_Modules.png Arch_digram_Dir.png Flowchart_Download.png Flowchart_Uninstall.png
For the architecture diagram, please refer to the image in the attached file.: Arch_digram_Modules.png Arch_digram_Dir.png Flowchart_Download.png Flowchart_Uninstall.png
若要安装此版本,请先执行下列命令完全删除MacWave之前的版本(如有):
To install this version, please first execute the following command to completely remove the previous version of MacWave (if any):
rm -rf ~/.local/macwave
执行下列命令以下载2.0Beta2版本:
Execute the following command to download version 2.0Beta2:
/bin/bash -c "$(curl -fsSL https://github.com/Sha0huaZhang/MacWave/releases/download/v2.0.0-beta2/install.sh)"
MacWave v2.0.0-beta1
更新说明 Releases Note
不再兼容 repo.json,改为 pkginfo_arm64.txt pkginfo_amd64.txt
Dropped compatibility with repo.json and switched to pkginfo_arm64.txt pkginfo_amd64.txt instead
新增pkginstaller.py
Added pkginstaller.py
执行以下命令以更新到 2.0.0-beta1
Run the following command to update to 2.0.0-beta1:
/bin/bash -c "$(curl -fsSL https://github.com/Sha0huaZhang/MacWave/releases/download/v2.0.0-beta1/install.sh)"
MacWave 1.1
更新说明 Release Note
修复了更新时可能导致死锁的问题
Fixed an issue that could cause a deadlock during updates
packageinstaller.py 更名为 pkginstaller.py
Renamed packageinstaller.py to pkginstaller.py
执行以下命令以更新到 1.1:
Run the following command to update to 1.1:
/bin/bash -c "$(curl -fsSL https://github.com/Sha0huaZhang/MacWave/releases/download/v1.1.0/install.sh)"
MacWave 1.1RC
更新说明 Release Note
修复了更新时可能导致死锁的问题
Fixed an issue that could cause a deadlock during updates
packageinstaller.py 更名为 pkginstaller.py
Renamed packageinstaller.py to pkginstaller.py
执行以下命令以更新到 1.1RC:
Run the following command to update to 1.1RC:
/bin/bash -c "$(curl -fsSL https://github.com/Sha0huaZhang/MacWave/releases/download/v1.1.0-rc/install.sh)"
MacWave v1.1.0-beta3
更新说明 Release Note
删除了有问题的软件包(ChOma v1.0-macwaveteam1),添加了新版软件包(ChOma v1.0-macwaveteam2)
Delete the problematic package (ChOma v1.0-macwaveteam1) and add its new version(ChOma v1.0-macwaveteam2)
执行以下命令以更新到 1.1.0 beta3:
Run the following command to update to 1.1.0 beta3:
/bin/bash -c "$(curl -fsSL https://github.com/Sha0huaZhang/MacWave/releases/download/v1.1.0-beta3/install.sh)"
MacWave v1.1.0-beta2
更新说明 Releases Note
修复了部分情况下版本号显示异常的问题
Fixed an issue where the version number was displayed incorrectly in some cases
新增软件包 choma ,版本为 1.0-macwaveteam1
注:此版本为MacWave作者使用M4和Intel Mac编译的由opa334开发的Choma(原链接为https://github.com/opa334/ChOma),作者fork后发布Release(链接为https://github.com/Sha0huaZhang/ChOma-macwave/releases/tag/v1.0-macwaveteam1)
Added a new software package choma, version 1.0-macwaveteam1
Note: This version is compiled by the MacWave author using M4 and Intel Mac, based on Choma developed by opa334 (original link: https://github.com/opa334/ChOma). The author forked the repository and published a Release (link: https://github.com/Sha0huaZhang/ChOma-macwave/releases/tag/v1.0-macwaveteam1)
执行以下命令以更新到 1.1.0 beta2:
Run the following command to update to 1.1.0 beta2:
/bin/bash -c "$(curl -fsSL https://github.com/Sha0huaZhang/MacWave/releases/download/v1.1.0-beta2/install.sh)"