Last updated: 2025-12-20
This document defines the official release process, versioning scheme, support status, and end-of-life (EOL) policy for web2py.
It is intended to provide clear, unambiguous guidance to users, contributors, auditors, and downstream consumers.
- web2py will not receive new features.
- Only limited, best-effort maintenance may occur.
- Users are strongly encouraged to migrate to py4web, the official successor.
Recommended successor:
https://py4web.com
py4web is smaller, significantly faster, actively developed, and compatible with web2py’s:
- Templates
- pydal database layer
- Core concepts
Porting existing applications is typically straightforward.
web2py follows Semantic Versioning (SemVer) with additional constraints based on Python compatibility.
MAJOR.MINOR.PATCH
| Major Version | Python Support | Notes |
|---|---|---|
| 2.x.x | Python 2.7 | End of Life |
| 3.x.x | Python ≥ 3.9 | Limited maintenance |
- v2.27.1 is the final release supporting Python 2.7
- All 3.x.x releases require Python 3.9 or newer
- Major version changes are primarily tied to Python version compatibility
- Historically, web2py has avoided introducing breaking changes outside of Python transitions
- If unavoidable breaking changes were ever required, they would:
- Be clearly documented
- Trigger a new major version
- Be announced in advance via official channels
When a new version of web2py is released:
- A GitHub release is published
- The release is announced to the community
Official release announcements are made via:
- Google Group:
https://groups.google.com/g/web2py - GitHub Releases & Tags:
https://github.com/web2py/web2py/releases
https://github.com/web2py/web2py/tags
Announcements include:
- Version number
- Summary of changes
- Security relevance (if applicable)
- Link to release notes and commits
| Version | Status | Support Level |
|---|---|---|
| 2.27.1 | EOL | No support |
| 3.x.x (latest minor) | Limited | Best-effort fixes only |
Limited support means:
Support May include:
- Critical bug fixes
- Severe security fixes (best effort)
Support Will NOT include:
- New features
- Performance improvements
- Backports to older release lines
- Guaranteed response times
- Long-term support commitments
Support may cease entirely at any time.
A version is considered End of Life when:
- It is no longer maintained
- It receives no bug or security fixes
- Users must upgrade or migrate
- All web2py 2.x releases, including 2.27.1, are EOL
- EOL events are announced via:
- Google Group
- Prominent notice on https://web2py.com
- The homepage notice explicitly states:
- Python 2 support has ended
- Future development is discouraged
- Security fixes are released publicly via GitHub
- Releases addressing security issues are clearly identifiable in:
- GitHub release notes
- Associated commits
Example:
Release v2.24.1 includes a security-related fix:
https://github.com/web2py/web2py/releases/tag/v2.24.1
- web2py does not maintain a private security embargo process
- Vulnerabilities are fixed and disclosed publicly
- Users relying on web2py must monitor official release channels
web2py does not backport fixes.
- Fixes are applied only to the latest supported release line
- Older versions do not receive patches once superseded
- This policy reinforces the importance of upgrading or migrating
Given web2py’s limited maintenance status:
All users are strongly encouraged to migrate to py4web
Benefits include:
- Active development
- Improved performance
- Modern Python support
- Easier long-term maintenance
Migration assistance is available via:
- py4web Google Group
- Community support channels
- web2py is in limited maintenance mode
- No new features will be added
- Only best-effort critical fixes may occur
- No backporting or long-term support guarantees
- Users should migrate to py4web
This document represents the authoritative policy for web2py versioning, releases, and support.