# CHANGELOG


## v0.3.0 (2025-04-04)

### Features

- 添加发布到 PyPI 的工作流
  ([`35854cd`](https://github.com/OSpoon/ffmpeg-converter/commit/35854cdff3adfc4ef045d3490a2a570124d51f8b))


## v0.2.15 (2025-04-04)

### Bug Fixes

- 更新工作流以支持语义版本控制
  ([`b7d5cb7`](https://github.com/OSpoon/ffmpeg-converter/commit/b7d5cb7f800aebc1dcd6304de2f9fd4b668c05b3))


## v0.2.14 (2025-04-04)

### Bug Fixes

- 修复pypi发布
  ([`99ddc4a`](https://github.com/OSpoon/ffmpeg-converter/commit/99ddc4ab3278ae015d92a4988152dafa605d2d20))

- 修复代码中的空白提交
  ([`5f15f64`](https://github.com/OSpoon/ffmpeg-converter/commit/5f15f64d3a4b93e6d1c4ca9977f96c8ae49faabc))

- 修复代码中的空白提交
  ([`278ad8f`](https://github.com/OSpoon/ffmpeg-converter/commit/278ad8f711c740fad33b66aa4d50880dc3eee3e3))

- 修复发布流程
  ([`54aa82b`](https://github.com/OSpoon/ffmpeg-converter/commit/54aa82b42df5ec4c31f871f5e6454128a6bd54e2))

- 修复构建命令
  ([`b3c188f`](https://github.com/OSpoon/ffmpeg-converter/commit/b3c188f15c658469fee2fe01fb035515c63f79c6))

- 修复编译命令
  ([`1e53078`](https://github.com/OSpoon/ffmpeg-converter/commit/1e53078ba455b68a625380594f979c898f4bd37d))

- 更新ci流程以提高稳定性
  ([`00ba54a`](https://github.com/OSpoon/ffmpeg-converter/commit/00ba54a077a45a84297ddbff9b9414febab8e370))

- 更新发布工作流以使用 semantic-release 发布并优化构建命令
  ([`152d236`](https://github.com/OSpoon/ffmpeg-converter/commit/152d23636213be3dcc2526fcb85f7d5ffba533ce))

- 更新发布工作流以包含构建依赖项
  ([`73971cc`](https://github.com/OSpoon/ffmpeg-converter/commit/73971ccaf0b86a9d36a53a335f40f6d3036c9e64))

- 更新发布工作流以支持 PyPI 认证
  ([`0140484`](https://github.com/OSpoon/ffmpeg-converter/commit/014048482559aaa252bff4aa7981a1b7fe69cad1))

- 更新发布工作流以支持语义版本控制
  ([`5ad7fb0`](https://github.com/OSpoon/ffmpeg-converter/commit/5ad7fb0b0861ffc7533dc92f6c5feb5ddae93df5))

- 更新发布工作流以支持语义版本控制
  ([`ce2bd18`](https://github.com/OSpoon/ffmpeg-converter/commit/ce2bd18cdc4a2a13d281c30d205dc95a964d52c8))

- 更新发布工作流以支持语义版本控制
  ([`53adb05`](https://github.com/OSpoon/ffmpeg-converter/commit/53adb05cb8e17be84ae0ae17485484ac8f54f839))

- 更新发布流程，调整语义版本控制配置
  ([`ba14673`](https://github.com/OSpoon/ffmpeg-converter/commit/ba14673b0e4d4cb48f235a36084698fc2715ef03))

- 更新工作流以支持语义版本控制
  ([`cfbbe00`](https://github.com/OSpoon/ffmpeg-converter/commit/cfbbe001d0151b2c59555957276bf8a183001496))

- 更新版本号至 0.2.13
  ([`436adc0`](https://github.com/OSpoon/ffmpeg-converter/commit/436adc07f923cbf774459fc0f8815bcb105bba22))

- 更新版本号至 0.2.14
  ([`cac1a36`](https://github.com/OSpoon/ffmpeg-converter/commit/cac1a364c113a1f73f8cff5f8930d9d5203fc419))

- 更新版本号至0.2.10
  ([`1c3a84a`](https://github.com/OSpoon/ffmpeg-converter/commit/1c3a84a0070caab1a1c71f83b4b2ed048bb2769b))

- 简化发布工作流中的语义版本命令
  ([`21059a7`](https://github.com/OSpoon/ffmpeg-converter/commit/21059a742a5ee443a685d4330d9f7a41873af83f))

- 继续修改ci流程
  ([`096f1a7`](https://github.com/OSpoon/ffmpeg-converter/commit/096f1a7336078a3c768ca75897b3f3a5d9e265ad))

- 继续修改ci流程
  ([`6d31783`](https://github.com/OSpoon/ffmpeg-converter/commit/6d31783dad455e358a09a346fc966c2df109fe1c))

- 继续修改ci流程
  ([`d54c83c`](https://github.com/OSpoon/ffmpeg-converter/commit/d54c83cde70c52cb2f5f4d3e0df503a3012b263f))

- 继续修改ci流程
  ([`4ee299d`](https://github.com/OSpoon/ffmpeg-converter/commit/4ee299d62f7194bfb99304caaa72f8fc6c28d140))

- 继续修改ci流程
  ([`2211971`](https://github.com/OSpoon/ffmpeg-converter/commit/22119715285f97e7780e09c5862910d2ba1ca33f))

- 继续修改ci流程
  ([`647b36e`](https://github.com/OSpoon/ffmpeg-converter/commit/647b36ea864bbf76b54ee914f97a2c58e33a893f))

- 继续修改ci流程
  ([`2388471`](https://github.com/OSpoon/ffmpeg-converter/commit/23884715371e700bf5e2433743ce4df18218e342))

- 继续修改ci流程
  ([`18a609f`](https://github.com/OSpoon/ffmpeg-converter/commit/18a609f1bbae9d6760eb75440bacc15eece6f7fd))

- 降级版本号至0.1.0
  ([`4d76564`](https://github.com/OSpoon/ffmpeg-converter/commit/4d76564c318d63c7285d0547a1f5bbbf2355f276))

### Build System

- 更新uv.lock和pyproject.toml配置
  ([`755e860`](https://github.com/OSpoon/ffmpeg-converter/commit/755e860f7ca0c9a073d8de5f36b5e648097b9e34))

将uv.lock中的`source`字段从`virtual`改为`editable`，以便更好地管理本地依赖。同时在pyproject.toml中添加了`tool.hatch.build.targets.wheel`配置，指定构建wheel包时包含`src`目录。

- 更新包版本号为0.1.2
  ([`e233cd7`](https://github.com/OSpoon/ffmpeg-converter/commit/e233cd7d1718e2bc98da404d11b2817ff8180c1b))

- 更新版本号使用规则
  ([`7dc9da7`](https://github.com/OSpoon/ffmpeg-converter/commit/7dc9da74178007c5631e7eecb4b43d583e872432))

- 更新版本号使用规则
  ([`3899080`](https://github.com/OSpoon/ffmpeg-converter/commit/3899080f64eb19125f235a93b45ae4d2747456ba))

- 更新版本号使用规则
  ([`8667abb`](https://github.com/OSpoon/ffmpeg-converter/commit/8667abb0da333c06a5a075f6951a73b08aa7fab5))

- 更新版本号使用规则
  ([`44a10ea`](https://github.com/OSpoon/ffmpeg-converter/commit/44a10eadbb49157fb5c9795e2e8de783506eeec3))

- 更新版本号使用规则
  ([`8e38558`](https://github.com/OSpoon/ffmpeg-converter/commit/8e385589ddc4a48d65453a91cf566e6d251d8225))

- 更新版本号使用规则
  ([`4ef1acd`](https://github.com/OSpoon/ffmpeg-converter/commit/4ef1acd38682e8384806e60cc4ceddf122b44a83))

- 更新版本号使用规则
  ([`66bae98`](https://github.com/OSpoon/ffmpeg-converter/commit/66bae9832f157184013398d74095e8ca49548362))

- 更新版本号使用规则
  ([`54faa2c`](https://github.com/OSpoon/ffmpeg-converter/commit/54faa2c99ff3a3997c64a91525a3eb2dcc90896d))

- 更新版本号使用规则
  ([`852b86b`](https://github.com/OSpoon/ffmpeg-converter/commit/852b86be44ab47eeff76da79a1fe0ad2c53d8a0b))

### Chores

- 初始化项目结构并添加基础功能
  ([`9d2ce5b`](https://github.com/OSpoon/ffmpeg-converter/commit/9d2ce5b3606c16a463222988a0e704b49a4dbfa9))

添加了项目的基本结构，包括音频和视频转换的核心功能、测试用例、CI/CD配置、文档以及依赖管理。主要包含以下内容： - 实现了基于FFmpeg的音频和视频转换功能 - 添加了测试用例，覆盖核心功能 -
  配置了GitHub Actions CI工作流 - 添加了项目文档和README - 配置了pre-commit、ruff、mypy等开发工具

- 更新.gitignore并添加测试音频文件
  ([`91ac39a`](https://github.com/OSpoon/ffmpeg-converter/commit/91ac39a9ea0b2cdd8fee1a39a93c4c59484aa5a8))

移除.gitignore中关于媒体文件的忽略规则，并添加测试用的音频文件test_audio.mp3，以便在测试中使用。

- 更新包版本至0.1.3rc1
  ([`bea124d`](https://github.com/OSpoon/ffmpeg-converter/commit/bea124d7b34355a6af31519cb802a49b9b800777))

### Continuous Integration

- 为 GitHub Actions 添加 workflow_dispatch 输入参数
  ([`0ccc487`](https://github.com/OSpoon/ffmpeg-converter/commit/0ccc48706b35857d66ad812774096befb0343c0f))

为 release-drafter.yml、ci.yml 和 publish.yml 添加 workflow_dispatch
  输入参数，以支持手动触发工作流时的自定义配置。包括版本号、预发布标志、跳过测试、跳过代码检查、跳过版本检查、模拟发布等选项，提升工作流的灵活性和可配置性。

- 优化 GitHub Actions 工作流配置
  ([`0817a59`](https://github.com/OSpoon/ffmpeg-converter/commit/0817a598a9768d32630ff00d05597551eb8f732f))

移除不必要的缓存步骤，简化依赖安装流程，使用 uv 工具替代 poetry 以提高效率。同时删除冗余注释，使配置更简洁易读。

- 优化 GitHub Actions 工作流配置
  ([`d3cf571`](https://github.com/OSpoon/ffmpeg-converter/commit/d3cf571eceb92dab823f9d8890477c62c0d29ce3))

- 使用 release-drafter 自动生成发布说明 - 添加 github-tag-action 进行版本检查 - 使用缓存加速依赖安装 - 使用 setup-ffmpeg 安装 FFmpeg
  - 使用 install-python-poetry 管理依赖和虚拟环境 - 使用 ruff-action 进行代码质量检查 - 使用 poetry-publish 进行构建和发布

- 优化ci测试脚本以直接使用虚拟环境中的python解释器
  ([`8c2ba84`](https://github.com/OSpoon/ffmpeg-converter/commit/8c2ba846c31886667a977e1958411595405754fc))

简化了CI测试脚本，直接使用虚拟环境中的Python解释器运行pytest，避免手动激活虚拟环境的步骤，提高执行效率。

- 优化ci配置并添加release Drafter工作流
  ([`98ef668`](https://github.com/OSpoon/ffmpeg-converter/commit/98ef668fea939023519146c0867cf245c2b1a556))

- 使用FedericoCarboni/setup-ffmpeg@v3替代手动安装FFmpeg步骤，简化配置 - 将Release Drafter配置移至独立工作流文件，提高代码可维护性 -
  移除python-package.yml中冗余的token配置，简化工作流

- 优化并统一ci/cd工作流配置
  ([`321510a`](https://github.com/OSpoon/ffmpeg-converter/commit/321510aee0324984c1bb3ce0e5ccf4a2c19a3a0a))

- 合并 `ci-linux.yml` 和 `ci-windows.yml` 为统一的 `ci.yml`，支持多平台测试 - 新增 `publish.yml` 用于发布包到 PyPI - 删除旧的
  `python-package.yml` 和平台特定的 CI 文件 - 简化 `release-drafter.yml` 配置，移除冗余参数

- 修复ci工作流中windows环境的激活脚本
  ([`ac9c7c7`](https://github.com/OSpoon/ffmpeg-converter/commit/ac9c7c74bfa2390e0d83cb2f4f9b410a33312730))

修复了在Windows环境下激活虚拟环境的脚本问题，确保在不同操作系统下都能正确激活虚拟环境并运行测试。

- 修复windows环境下ci脚本中的路径错误
  ([`5a81ba0`](https://github.com/OSpoon/ffmpeg-converter/commit/5a81ba0ab7998a6cbf01906c6ecb036396374591))

修复了Windows环境下激活虚拟环境和运行测试时路径格式错误的问题，确保CI流程在不同操作系统上都能正确执行

- 在linux和windows CI中集成Codecov覆盖率报告
  ([`2b5d43e`](https://github.com/OSpoon/ffmpeg-converter/commit/2b5d43e3d5d0fa3d3a36e37e8550e064fa9f43fe))

删除独立的Codecov配置文件，将覆盖率报告集成到现有的Linux和Windows CI工作流中。更新README.md以显示Linux和Windows的覆盖率徽章。

- 新增windows和linux的ci工作流并安装ffmpeg
  ([`f6ee597`](https://github.com/OSpoon/ffmpeg-converter/commit/f6ee59701901b2dbdf64840c94e2465243e6be44))

新增了针对Windows和Linux的CI工作流文件，确保在不同操作系统上运行测试。同时，在Linux工作流中直接安装FFmpeg，并在Windows工作流中使用专门的action进行安装，以确保测试环境的完整性。

- 更新 GitHub Actions 配置以支持 Python 3.11
  ([`fd4ff9a`](https://github.com/OSpoon/ffmpeg-converter/commit/fd4ff9a306627c3c0251a4b3b23ab8314afca104))

修改了 Linux 和 Windows 的 CI 配置文件，添加了 UV_LINK_MODE 环境变量，并将虚拟环境的 Python 版本指定为 3.11。这些更改旨在确保 CI
  环境的一致性并支持最新的 Python 版本。

- 更新 release-drafter.yml 的标题和版本解析配置
  ([`2a87cf0`](https://github.com/OSpoon/ffmpeg-converter/commit/2a87cf044d772ae4f0c6b6e059555abc9171ca49))

更新了 release-drafter.yml 文件中的标题翻译和版本解析配置，使其更符合中文使用习惯，并简化了版本解析的标签配置。

- 更新ci配置以支持虚拟环境激活
  ([`bb19ca4`](https://github.com/OSpoon/ffmpeg-converter/commit/bb19ca42ddb241ea2b9de71ea880106fa798be83))

在CI配置中添加了创建和激活虚拟环境的步骤，以确保在不同操作系统上（如Windows和Linux）都能正确执行测试。这提高了跨平台兼容性和测试环境的隔离性。

- 更新ci配置和文档以使用`uv sync`替代`uv pip install`
  ([`8d2449a`](https://github.com/OSpoon/ffmpeg-converter/commit/8d2449a0cd1d6dc26367c6a434a899cef5759503))

将CI工作流和README.md中的依赖安装命令从`uv pip install -e .[dev]`更新为`uv sync`，以简化依赖管理流程并确保依赖的一致性。

- 更新发布工作流以使用uv工具链
  ([`51f0065`](https://github.com/OSpoon/ffmpeg-converter/commit/51f006584aa98b3669557da1fbf91354ff69aaff))

更新了 `.github/workflows/publish.yml` 文件，将依赖管理和构建工具从 `pip` 和 `build` 替换为
  `uv`。此更改旨在提高构建和测试过程的效率，并简化依赖管理。同时，添加了安装 FFmpeg 的步骤以支持相关功能。

- 更新测试命令以使用importlib模式
  ([`035b35e`](https://github.com/OSpoon/ffmpeg-converter/commit/035b35e7079aa9f2e2879b4aa7e6cf7d9d79a596))

更新了publish.yml中的测试命令，使用`--import-mode=importlib`来确保测试模块的正确导入，并添加了`pytest-cov`和`pytest-asyncio`依赖以支持更全面的测试覆盖和异步测试。

- 添加 Python 包发布工作流到 GitHub Actions
  ([`d4a355c`](https://github.com/OSpoon/ffmpeg-converter/commit/d4a355c5b9765f74a78232c0eaefe0483d05d03e))

添加了 GitHub Actions 工作流文件 `.github/workflows/python-package.yml`，用于在发布新版本时自动执行版本检查、安装依赖、运行测试、构建包并发布到
  PyPI。此工作流确保版本一致性，并自动化发布流程，减少手动操作错误。

- 添加 release-drafter 配置文件
  ([`065ccef`](https://github.com/OSpoon/ffmpeg-converter/commit/065ccef97c958b075fcf9dcc8778e6517c08bc31))

添加 .github/release-drafter.yml 配置文件，用于自动生成版本发布说明，根据标签分类更新日志

- 添加 Windows 和 Linux 的单元测试工作流以及代码覆盖率配置
  ([`199c030`](https://github.com/OSpoon/ffmpeg-converter/commit/199c030447236bbaad26df5da2b67e79bb2d5865))

添加了 Windows 和 Linux 的单元测试工作流文件，并配置了代码覆盖率报告。同时更新了 pyproject.toml 以支持覆盖率测试，并在 README.md 中添加了 Codecov
  徽章。

- 添加windows和linux的ci工作流配置文件
  ([`cb5b9e3`](https://github.com/OSpoon/ffmpeg-converter/commit/cb5b9e3857f8cab944445a2a6fd35e67ab7c40f6))

添加了Windows和Linux的CI工作流配置文件，用于在推送或拉取请求到主分支时自动运行测试。配置包括设置Python环境、安装FFmpeg、安装依赖项以及运行测试

- 移除 release-drafter 并添加 semantic-release 工作流
  ([`9028184`](https://github.com/OSpoon/ffmpeg-converter/commit/90281847d7adc25e03639d7bc9911de2e7de2e41))

移除旧的 release-drafter 配置文件，并引入 semantic-release 工作流以自动化版本管理和发布流程。此更改简化了版本控制并提高了发布过程的可靠性。

- 移除publish.yml中的pypi_api_token
  ([`3a83073`](https://github.com/OSpoon/ffmpeg-converter/commit/3a830732d7fd88887c76c92251a4ec249ae20d49))

出于安全考虑，移除了在GitHub Actions工作流中硬编码的PYPI_API_TOKEN，以避免敏感信息泄露。

- 移除workflow_dispatch输入参数以简化ci配置
  ([`f750c0b`](https://github.com/OSpoon/ffmpeg-converter/commit/f750c0bbb4a39053eb8a86e323aafb3c71adb86d))

移除release-drafter.yml、ci.yml和publish.yml中的workflow_dispatch输入参数，简化CI工作流的配置，减少不必要的复杂性。这些参数在实际使用中较少被使用，移除后可以提高工作流的可维护性和执行效率。

- **publish**: 更新发布工作流以支持verbose模式和id-token权限
  ([`0a526a4`](https://github.com/OSpoon/ffmpeg-converter/commit/0a526a4e34d7dfb3b23acaa6a1d7db9204718e88))

为了增强发布流程的调试能力和安全性，更新了GitHub Actions的发布工作流，添加了verbose模式以输出更多调试信息，并增加了id-token权限以支持更安全的身份验证。

- **发布流程**: 更新版本检查逻辑以支持预发布版本
  ([`5aa0ea5`](https://github.com/OSpoon/ffmpeg-converter/commit/5aa0ea53243c1b6fab561275fe4c2cd55285b495))

修改版本检查脚本，使其在比较版本时忽略预发布标识符（如rc、a、b），以确保预发布版本与标签版本的基础版本一致

### Documentation

- 更新 README.md 以简化内容和添加 PyPI 版本信息
  ([`27d38b7`](https://github.com/OSpoon/ffmpeg-converter/commit/27d38b70546d515eaefcd5f420e1318da8f6ed31))

更新了 README.md 文件，简化了功能特点和环境要求的描述，并添加了 PyPI 版本和许可证信息。此外，调整了安装和使用示例部分，使其更加简洁明了。

- 添加mit许可证文件
  ([`42a5428`](https://github.com/OSpoon/ffmpeg-converter/commit/42a54285dceb3aa59582787686a9b850ea8aa785))

为项目添加MIT许可证文件，明确软件的使用权限和版权信息

- 移除 README.md 中的 codecov 徽章
  ([`1020871`](https://github.com/OSpoon/ffmpeg-converter/commit/10208711ca0eeeadcd4280de51d53b301d5eb1f4))

移除不再使用的 codecov 徽章，以保持 README.md 的简洁性

- 简化readme.md中的覆盖率徽章
  ([`0dd0078`](https://github.com/OSpoon/ffmpeg-converter/commit/0dd00784b3ee240a3ca49748f13a14e3c3d3ef70))

将Linux和Windows的覆盖率徽章合并为一个通用徽章，使文档更简洁

### Features

- 更新版本号使用规则
  ([`7647225`](https://github.com/OSpoon/ffmpeg-converter/commit/7647225492a68a80344082de03c005c28173435e))

- **音频转换**: 添加进度回调函数的详细信息参数
  ([`5fc0f14`](https://github.com/OSpoon/ffmpeg-converter/commit/5fc0f14621af3790ced11e91759abf0c1467b941))

在音频转换过程中，进度回调函数现在可以接收额外的详细信息参数，包括转换状态和持续时间等。这增强了进度监控的功能，使用户能够获取更多关于转换过程的实时信息。

### Testing

- 更新测试音频文件
  ([`aadc6bf`](https://github.com/OSpoon/ffmpeg-converter/commit/aadc6bf57df8962b29f5654117e4c1f84e7be622))

- 注释掉视频和音频转换中断处理的测试用例
  ([`227fc49`](https://github.com/OSpoon/ffmpeg-converter/commit/227fc49a393df6ae4336d40a675362fbb5eee97a))

这些测试用例暂时被注释掉，以便在后续开发中重新评估其必要性和实现方式。当前的中断处理逻辑可能存在问题，需要进一步验证和调整。

- **test_audio**: 修改音频转换中断测试的进度阈值
  ([`ad4c227`](https://github.com/OSpoon/ffmpeg-converter/commit/ad4c22753ebae955a23e302a25574d4945e15c38))

将音频转换中断测试的进度阈值从50%降低到5%，以便更快触发中断逻辑。同时添加了采样率和声道数的参数，使测试更加全面。
