This file documents changes (current commit level since, no tagged releases yet).
- Introduced stricter app versioning requirements for all Frappe apps.
- All apps (Marketplace and private) must now:
- Include a
pyproject.tomlfile - Declare a bounded Frappe dependency under
[tool.bench.frappe-dependencies]. - Support is only added for NPM based versioning,
- Include a
- Apps without a
pyproject.tomlfile will fail validation. - Apps using unbounded Frappe version ranges (e.g.
^,~, or single-sided constraints) are rejected.
Frappe app version constraints are validated using NPM-style semantic versioning (NpmSpec), in favour of internal frappe applications such as CRM and helpdesk.
As a result:
- Version ranges must follow NPM semver syntax
- Python-style version specifiers (PEP 440), such as
~=, are not supported
[tool.bench.frappe-dependencies]
frappe = ">=16.0.0-dev,<17.0.0-dev"