# 🚀 ap_ds v4.0.0 发布公告

**发布日期：2026年8月11日**

**分支：LFV（Latest Feature Version）**

---

## 一次架构重构

v4.0.0 是 ap_ds 进入 4.x 时代的第一个版本，也是自 v3.0.0 LTS 以来最大的一次内部调整。它**不含新的用户功能**，重点在于**把长期积累的模块职责重新划清**——为后续版本的演进打地基。

---

## 🏗️ 架构调整

### 1. SDL2 绑定独立成模块

**变化：** 新增 `ap_ds/_sdl2.py`（约 1000 行），把原先散落在 `player.py` 里的 SDL2 相关调用（设备初始化、通道管理、缓冲区操作）全部收敛进来。

**收益：** `player.py` 从 1151 行瘦身，职责回归到「播放调度」本身；SDL2 相关的兼容性处理集中一处，出问题只需看一个文件。

### 2. 元数据模块合并

**变化：** 原 `audio_info.py` 被合并进 `audio_parser.py`。

**原因：** 两者职责高度重叠（都是解析音频文件的头部信息），分开维护反而容易产生不一致的解析结果。合并后单一入口。

### 3. 测试脚本归入子包

**变化：** 测试脚本从包根目录移入 `ap_ds/Test/` 子包，避免污染顶层命名空间。

**包含：**

| 脚本 | 用途 |
|------|------|
| `IMPORT_TEST.py` | 导入完整性检查 |
| `CI,CD_TEST.py` | 持续集成测试 |
| `GUI_TEST.py` | 图形界面测试 |

### 4. 打包配置与许可证

- 新增 `setup.cfg`，与 `setup.py` 配合
- 新增独立的 `LICENSE.md`

---

## ⚠️ 已知问题（已在 v4.0.1 修复）

**v4.0.0 的 `ap_ds/Test/` 目录没有被打进安装包。**

原因：`setup.py` 使用 `find_packages()` 自动发现包，但 `ap_ds/Test/` 下缺少 `__init__.py`，Python 的包发现机制会**静默跳过**这个目录——不报错、不警告，只是不打包。

**后果：** `pip install ap_ds==4.0.0` 装完后拿不到任何测试脚本。

**建议：** 如果你需要完整功能，**请直接使用 v4.0.1**（同日发布，仅隔 30 分钟，专门修复此问题）。

---

## 📊 版本状态参考

| 版本 | 分支 | 类型 | 说明 |
|------|------|------|------|
| v4.0.1 | LFV | ✅ **推荐** | 修复 v4.0.0 打包缺陷，含完整 Test 目录 |
| **v4.0.0** | **LFV** | ⚠️ **已被 v4.0.1 取代** | Test 目录丢失，不建议新项目使用 |
| v3.1.x | LFV | 常规版本 | 含新功能，无长期支持 |
| v3.0.0 LTS | APDSLTS001 | ✅ LTS | 5 年支持（2026-2031） |
| v2.4.1 | LFV | 稳定 | 已被 v3.0.0 LTS 取代 |

---

## 📥 安装

```bash
# 推荐直接用 v4.0.1
pip install ap_ds==4.0.1

# 如需复现历史环境
pip install ap_ds==4.0.0
```

验证版本：

```bash
python -c "import ap_ds; print(ap_ds.__version__)"
```

---

## 🔗 官方资源

| 资源 | 链接 |
|------|------|
| **项目主页** | https://apds.top |
| **代码仓库** | https://apds.top/code?branch=LFV |
| **主仓库 (GitCode)** | https://gitcode.com/dvsxt/ap_ds |
| **国内镜像 (Gitee)** | https://gitee.com/dssxt/ap_ds |
| **PyPI** | https://pypi.org/project/ap-ds/ |
| **作者博客** | https://dvsx.top |

---

## 📧 联系与支持

- **技术问题：** GitCode Issues / Gitee Issues
- **授权咨询：** me@dvsyun.top 或 dvs6666@163.com
- **响应时间：** 标准咨询 7 个工作日，紧急问题 48 小时

---

**感谢您使用 ap_ds！**

*—— Dvs (DvsXT)*

请支持我们的创作，更多精彩内容请访问爱发电页面：https://afdian.com/a/dvsxt
爱发电是一个连接创作者与粉丝的会员制平台，感谢您的每一份支持！
