diff --git a/README.md b/README.md index dbdc027..dbd93a5 100644 --- a/README.md +++ b/README.md @@ -360,7 +360,7 @@ Find other organization projects at [file-bricks](https://github.com/file-bricks ## Third-Party Licenses -ProFiler itself is licensed under **AGPL-3.0-only**; see [LICENSE](LICENSE). +ProFiler itself is licensed under **AGPL-3.0-or-later**; see [LICENSE](LICENSE). [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md) and [THIRD_PARTY_LICENSES.txt](THIRD_PARTY_LICENSES.txt) list declared direct runtime and optional dependencies plus selected development/build tools, with links to upstream license sources. This is not a complete inventory of transitive packages or bundled binaries and is not a license-compatibility or legal review. diff --git a/README_de.md b/README_de.md index 35c9a89..f87175e 100644 --- a/README_de.md +++ b/README_de.md @@ -360,7 +360,7 @@ Weitere Organisationsprojekte findest du unter [file-bricks](https://github.com/ ## Drittanbieter-Lizenzen -ProFiler selbst ist unter **AGPL-3.0-only** lizenziert; maßgeblich ist [LICENSE](LICENSE). +ProFiler selbst ist unter **AGPL-3.0-or-later** lizenziert; maßgeblich ist [LICENSE](LICENSE). [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md) und [THIRD_PARTY_LICENSES.txt](THIRD_PARTY_LICENSES.txt) führen deklarierte direkte Laufzeit- und optionale Abhängigkeiten sowie ausgewählte Entwicklungs- und Build-Werkzeuge mit Verweisen auf Upstream-Lizenzquellen auf. Das ist kein vollständiges Verzeichnis transitiver Pakete oder gebündelter Binärdateien und keine Lizenzkompatibilitäts- oder Rechtsprüfung. diff --git a/README_es.md b/README_es.md index 309e530..dea3a32 100644 --- a/README_es.md +++ b/README_es.md @@ -107,4 +107,4 @@ ProFiler Suite forma parte del ecosistema de herramientas de escritorio de alto ## Licencia -Distribuido bajo la licencia [AGPL-3.0-only](LICENSE). Consulte [`NOTICE`](NOTICE) y [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md) para más detalles sobre componentes de terceros. +Distribuido bajo la licencia [AGPL-3.0-or-later](LICENSE). Consulte [`NOTICE`](NOTICE) y [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md) para más detalles sobre componentes de terceros. diff --git a/README_ja.md b/README_ja.md index a9fb59d..cf6ee6d 100644 --- a/README_ja.md +++ b/README_ja.md @@ -107,4 +107,4 @@ ProFiler Suite は、高品質なローカルデスクトップツール群を ## ライセンス -[AGPL-3.0-only](LICENSE) ライセンスの下で提供されています。サードパーティ製コンポーネントの詳細は [`NOTICE`](NOTICE) および [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md) をご確認ください。 +[AGPL-3.0-or-later](LICENSE) ライセンスの下で提供されています。サードパーティ製コンポーネントの詳細は [`NOTICE`](NOTICE) および [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md) をご確認ください。 diff --git a/README_ru.md b/README_ru.md index 55ea0d7..8828a84 100644 --- a/README_ru.md +++ b/README_ru.md @@ -107,4 +107,4 @@ ProFiler Suite входит в линейку инструментов **file-br ## Лицензия -Распространяется под лицензией [AGPL-3.0-only](LICENSE). См. [`NOTICE`](NOTICE) и [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md). +Распространяется под лицензией [AGPL-3.0-or-later](LICENSE). См. [`NOTICE`](NOTICE) и [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md). diff --git a/README_zh.md b/README_zh.md index f7fe6a0..e797cd2 100644 --- a/README_zh.md +++ b/README_zh.md @@ -107,4 +107,4 @@ ProFiler Suite 隶属于 **file-bricks** / **open-bricks** 本地生产力工具 ## 开源许可证 -遵循 [AGPL-3.0-only](LICENSE) 协议发布。详情请查阅 [`NOTICE`](NOTICE) 及 [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md)。 +遵循 [AGPL-3.0-or-later](LICENSE) 协议发布。详情请查阅 [`NOTICE`](NOTICE) 及 [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md)。 diff --git a/llms.txt b/llms.txt index fc57e0d..1b04e94 100644 --- a/llms.txt +++ b/llms.txt @@ -36,7 +36,7 @@ Application settings and indexes use local paths whose exact locations depend on The Python wheel packages Python runtime modules, locale data, and selected icons; it is not a standalone native executable. The reviewed checkout lacks the Tesseract and Poppler files required by `build_exe.bat`, so the native executable build is currently blocked. No signed MSIX, current WACK result on a built package, or Store submission is evidenced. Staging files do not establish release approval. -The project is licensed under AGPL-3.0-only; see `LICENSE`. Review the exact artifact contents and included license texts before any binary redistribution. The dependency notes do not determine license compatibility. +The project is licensed under AGPL-3.0-or-later; see `LICENSE`. Review the exact artifact contents and included license texts before any binary redistribution. The dependency notes do not determine license compatibility. ## Search phrases diff --git a/pyproject.toml b/pyproject.toml index 4e7f4bd..41764d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ version = "15.0.2" description = "Local-first desktop file and document manager with search, preview, and privacy inspection." readme = "README.md" requires-python = ">=3.11" -license = "AGPL-3.0-only" +license = "AGPL-3.0-or-later" license-files = ["LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.md", "THIRD_PARTY_LICENSES.txt"] authors = [ {name = "file-bricks Contributors", email = "support@lukasgeiger.com"} diff --git a/store_package.json b/store_package.json index 7f7c7d5..a5155b5 100644 --- a/store_package.json +++ b/store_package.json @@ -71,7 +71,7 @@ "age_rating": "3+", "privacy_url": "https://github.com/file-bricks/ProFiler/blob/master/PRIVACY_POLICY.md", "support_url": "https://github.com/file-bricks/ProFiler/blob/master/SUPPORT.md", - "license": "AGPL-3.0-only", + "license": "AGPL-3.0-or-later", "languages": [ "de-DE", "en-US", diff --git a/tests/test_security_license_contract.py b/tests/test_security_license_contract.py index 2290e4d..786b02c 100644 --- a/tests/test_security_license_contract.py +++ b/tests/test_security_license_contract.py @@ -157,13 +157,13 @@ def test_no_hardcoded_user_paths_or_plaintext_secrets() -> None: def test_license_parity_across_manifests() -> None: - """Ensure the AGPL-3-only grant matches SPDX metadata and packaged license files.""" + """Ensure the AGPL-3.0-or-later grant matches SPDX metadata and packaged license files.""" license_text = (ROOT / "LICENSE").read_text(encoding="utf-8") assert "GNU AFFERO GENERAL PUBLIC LICENSE" in license_text assert "Version 3" in license_text pyproject_text = (ROOT / "pyproject.toml").read_text(encoding="utf-8") - assert 'license = "AGPL-3.0-only"' in pyproject_text + assert 'license = "AGPL-3.0-or-later"' in pyproject_text assert 'license-files = ["LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.md", "THIRD_PARTY_LICENSES.txt"]' in pyproject_text for path in ("LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.md", "THIRD_PARTY_LICENSES.txt"): assert (ROOT / path).is_file(), f"Declared license file is missing: {path}" diff --git a/tests/test_store_materials.py b/tests/test_store_materials.py index 0865ea2..5d3b1c0 100644 --- a/tests/test_store_materials.py +++ b/tests/test_store_materials.py @@ -42,7 +42,7 @@ def test_store_package_matches_project_metadata() -> None: assert package["executable"] == "ProFiler.exe" assert package["capabilities"] == "runFullTrust" assert package["category"] == "Productivity" - assert package["license"] == "AGPL-3.0-only" + assert package["license"] == "AGPL-3.0-or-later" assert package["version"] == f"{_read_version_from_pyproject()}.0" assert package["privacy_url"].endswith("/PRIVACY_POLICY.md") assert package["support_url"].endswith("/SUPPORT.md")