Aqr-K
61aa3cd649
refactor(sdk): 插件契约基类迁入 SDK 并由 Compat 承接旧包根符号 ( #6701 )
2026-09-15 07:01:00 +08:00
jxxghp
17eaf47c34
refactor(music)!: remove Musixmatch and expose lyrics plugin types
...
BREAKING CHANGE: remove the Musixmatch module and settings without migration. Lyrics providers can use the public music candidate SDK and existing plugin module hook.
2026-09-09 23:04:20 +08:00
jxxghp
71147c1d96
feat(classification): support multi-source media rules
2026-09-03 11:51:18 +08:00
Aqr-K
626d8217ba
feat(plugin): 开放插件自有数据库声明与句柄接口
...
_PluginBase 新增 get_database_models()/get_database_migrations() 声明钩子
与 get_database() 句柄入口,按类名(含分身)解析插件标识;
app/sdk/database.py 导出 plugin_declarative_base 与 PluginDatabaseHandle。
docs/rules/10-data-and-persistent.md 补充 Plugin-Owned Databases 小节,
说明 db_query/db_update 的自动兜底仍绑定宿主会话、需显式传入插件会话。
2026-09-02 02:14:19 -04:00
InfinityPacer
e9313c6644
feat(sdk): expose custom separator configuration
2026-08-31 18:00:27 +08:00
jxxghp
0c05956814
refactor(architecture): enforce module naming policy
2026-08-29 22:17:17 +08:00
jxxghp
8460e72c42
refactor(scheduler): split runtime owners and preserve plugin ABI
2026-08-28 23:17:45 +08:00
jxxghp
2fe39d856c
refactor(architecture): invert application adapter boundaries
2026-08-28 18:45:47 +08:00
jxxghp
7a10964526
refactor(subscription): close typed persistence boundary
2026-08-28 13:56:42 +08:00
jxxghp
c656da1e28
refactor(site): close typed persistence boundary
2026-08-28 12:37:30 +08:00
jxxghp
017fecabd6
refactor(history): close transfer history boundary
2026-08-28 11:57:38 +08:00
jxxghp
aa8751f775
refactor: close transactional boundary debt batch
2026-08-28 10:36:12 +08:00
jxxghp
0a2726d372
Merge origin/v3 into codex/feat/plugin-data-query-sdk-v3
2026-08-28 06:57:20 +08:00
jxxghp
17d8be2af2
refactor(workflow): isolate legacy execution writes
2026-08-28 02:10:40 +08:00
InfinityPacer
7657618f08
Merge upstream/v3 into codex/feat/plugin-data-query-sdk-v3
2026-08-28 00:43:57 +08:00
InfinityPacer
9575a523e8
refactor(sdk): isolate plugin query persistence
2026-08-28 00:15:46 +08:00
jxxghp
e9de149dbf
refactor(transfer): complete durable recovery state machine
2026-08-28 00:03:36 +08:00
InfinityPacer
6bae137d25
refactor(sdk): isolate plugin query snapshots
2026-08-27 23:41:54 +08:00
InfinityPacer
7fa03650bd
feat(sdk): add unified plugin data queries
2026-08-27 23:41:54 +08:00
jxxghp
f134e068e7
refactor: normalize capability module paths
2026-08-27 22:20:38 +08:00
jxxghp
e82ce8447c
refactor: complete durable transfer execution settlement
2026-08-27 20:27:42 +08:00
jxxghp
a62c541ec0
refactor: add fenced transfer recovery leases
2026-08-27 14:39:38 +08:00
jxxghp
9dbe424c3d
refactor(config): retire RuntimeSettingsCompat host usage
2026-08-26 15:55:21 +08:00
jxxghp
3ba4027d84
feat(events): expose typed payload snapshots
2026-08-25 22:32:33 +08:00
InfinityPacer
326b5cf3ad
feat: 新增 Python 3.14t 自由线程镜像 ( #6434 )
...
* fix(resource): select free-threaded extension ABI
* chore(deps): require moviepilot-rust 0.2.9
* perf: add free-threaded runtime comparison
* feat: add free-threaded runtime profile
* chore(deps): require moviepilot-rust 0.3.0
* test: isolate system endpoint import graph
* fix(docker): preserve runtime profile during recovery
* feat(runtime): expose active GIL state
* feat(plugin): log GIL fallback attribution
* test: refresh runtime observability dependency baseline
* fix(plugin): validate the active uv runtime profile
* test(runtime): expand free-threaded benchmark evidence
* docs(runtime): define v3t governance gates
* test(runtime): separate rust benchmark modes
* docs: sync free-threaded architecture baseline
* perf: add PostgreSQL driver comparison
* docs(runtime): record final free-threaded evidence
* fix(runtime): converge dual-profile dependency verification
* fix(runtime): scope Python 3.14 warning filter
* fix(runtime): match actual oss2 syntax warning
* docs(runtime): refresh free-threaded benchmark evidence
* test(architecture): refresh runtime dependency baseline
* ci: skip unused Trivy Java database
* build: exclude local verification artifacts
* docs(runtime): refresh PostgreSQL driver benchmarks
* docs(runtime): record plugin restore acceptance
* docs(runtime): record amd64 candidate acceptance
* ci: pin beta image publisher action
* test(architecture): merge runtime dependency baseline
* feat(runtime): expose Python GIL status
* docs(runtime): document Python runtime status fields
2026-08-24 17:48:14 +08:00
jxxghp
6e69258e3c
refactor: make model sessions explicit
2026-08-23 23:33:07 +08:00
jxxghp
9f3be0ea4b
refactor: restore architecture governance gates
2026-08-23 20:17:28 +08:00
jxxghp
97d2dcd7fb
fix(ci): align architecture and pylint gates
2026-08-22 08:50:25 +08:00
InfinityPacer
f700db5ac8
feat(database): add managed backup and offline restore ( #6359 )
2026-08-19 17:34:32 +08:00
jxxghp
c2a27f7c71
refactor: 收口订阅与插件应用边界
2026-08-18 13:54:17 +08:00
jxxghp
8472bcff43
refactor: 收口 V3 分层架构与插件兼容边界
2026-08-18 13:22:02 +08:00
jxxghp
5128ae9e1e
refactor: 推进后端分层架构治理
2026-08-18 00:29:14 +08:00
jxxghp
5810f6bc2b
refactor(application): filter_rules.py 更名 rules.py 并合并 RuleHelper
...
规则域收敛为单一事实来源 app/application/rules.py:
- filter_rules.py 更名为 rules.py(内置规则集 + RuleParser)
- filter.py 仅含 66 行 RuleHelper(用户规则组配置访问),并入 rules.py
- 同步更新 5 处引用方导入、nettest stub 目标与架构文档
- 兼容映射 app.helper.rule 指向新路径,legacy 导入仍可用
2026-08-16 17:13:51 +08:00
InfinityPacer
b8b59ae20a
refactor(runtime): activate managed resources on demand ( #6334 )
2026-08-16 16:44:45 +08:00
jxxghp
96118e73e7
refactor(string): split utilities by responsibility
2026-08-15 08:03:55 +08:00
jxxghp
a2117bafc8
fix(compat): preserve legacy plugin imports
2026-08-15 07:15:03 +08:00
jxxghp
369d7d6448
refactor: reorganize backend module boundaries
2026-08-14 19:53:33 +08:00
jxxghp
7b3444c366
refactor backend module architecture
2026-08-14 15:45:38 +08:00