Version 18 (modified by 8 years ago) ( diff ) | ,
---|
Documenting API changes since 1.2.x
The next stable version of Trac will be named 1.4 and will contain the cumulative changes made in the successive 1.2.x releases.
These notes reflect the current status for 1.3.1, in trunk.
Proposed changes are prefixed with an OPEN mark and the paragraph is written in italics.
Summary
- Prerequisites
- Detailed List of Developer Visible Changes
- Other Modifications made to the 1.2 API
- New in the 1.3.1 API
Prerequisites
Only Python version 2.7 is supported.
The following language features introduced in Python 2.7 can now be used and the related clean-ups can be done:
- OrderedDict
- Set literals
- Set and dictionary comprehensions
TODO List supported browsers. Consider using jQuery's list.
Modified Dependencies
See gmessage:trac-dev:nkMUY_8ILF0/rg1rsArDIewJ for a discussion about what dependencies we'll support in Trac 1.4.
jQuery and jQuery UI (bundled)
Babel (optional)
Jinja2 (mandatory)
OPEN The plan is to apply the TracDev/Proposals/Jinja early in the 1.3.x development cycle.
Genshi (optional, deprecated)
OPEN Jointly with the switch to Jinja2, Genshi support will be deprecated but kept functional for the whole 1.3.x cycle, and likely for the 1.4.x stable releases as well, in a similar spirit to what we did when we switched from ClearSilver to Genshi 10 years ago.
The goal is nevertheless to remove Genshi support during the 1.5.x development cycle, at the latest, so plugin developers will be urged to do the switch as well, as explained in PortingFromGenshiToJinja.
Databases
Database | |
SQLite | ≥ 3.0 |
PostgreSQL | ≥ 8.0 |
MySQL / MariaDB | ≥ 5.0 |
Database Bindings | |
pysqlite | ≥ 2.4.1 (version provided by Python 2.6), avoid 2.5.2 - 2.5.4 |
psycopg2 | ≥ 2.0 |
MySQLdb | ≥ 1.2.2 |
Other
Package | Req or Opt? | Version supported |
SetupTools | Required | ≥ 0.6, 5.4 - 5.6 are not recommended. |
Git | Optional | ≥ 1.5.6 |
Subversion | Optional | ≥ 1.6 |
DocUtils | Optional | ≥ 0.3.9 |
Textile | Optional | ≥ 2.0 |
Pygments | Optional | ≥ 0.6. Let's consider bumping the requirement to at least 1.0, released in 2008 |
passlib | Optional | Windows only |
Compatible Distros
The supported dependencies were determined by aiming to be compatible with the versions provided by the package managers on the following distros.
Package | Ubuntu 16.04 | Ubuntu 14.04 | Debian 8 | Debian 7.8 | CentOS 7.2.1511 | CentOS 6.6 | openSUSE 42.1 |
Python | 2.7.5 | 2.7.9 | 2.7.3 | 2.7.5 | 2.6.6 | 2.7.9 | |
Python3 | 3.4.0 | 3.4.2 | 3.2.3 | n/a | n/a | 3.4.1 | |
Babel | 1.3 | 1.3 | 0.9.6 | 0.9.6 | 0.9.4 | 1.3 | |
Genshi | 0.7 | 0.7 | 0.6 | n/a | n/a | 0.7 | |
SQLite | 3.8.2 | 3.8.7 | 3.7.13 | 3.7.17 | 3.6.20 | 3.8.10.2 | |
PostgreSQL | 9.3.6 | 9.4.1 | 9.1.15 | 9.2.15 | 8.4.20 | 9.4, 9.3.11, 9.4.6 | |
MySQL | 5.5.41, 5.6.19 | 5.5.42 | 5.5.41 | n/a | 5.1.73 | 5.6.30 | |
MariaDB | 5.5.41 | 10.0.16 | n/a | 5.5.47 | n/a | 10.0.22 | |
psycopg2 | 2.4.5 | 2.5.4 | 2.4.5 | 2.5.1 | 2.0.14 | 2.6 | |
MySQLdb | 1.2.3 | 1.2.3 | 1.2.3 | 1.2.3 | 1.2.3 | 1.2.5 | |
SetupTools | 3.3.1 | 5.5.1 | 0.6.24 | 0.9.8 | 0.6.10 | 18.0.1 | |
Git | 1.9.1 | 2.1.4 | 1.7.10 | 1.8.3.1 | 1.7.1 | 2.6.6 | |
Subversion | 1.8.8 | 1.8.10 | 1.6.17 | 1.7.14 | 1.6.11 | 1.8.10 | |
DocUtils | 0.11 | 0.12 | 0.8.1 | 0.11 | 0.6 | 0.11 | |
Textile | 2.1.5 | 2.1.5 | 2.1.5 | n/a | n/a | n/a | |
Pygments | 1.6 | 2.0.1 | 1.5 | 1.4 | 1.1.1 | 1.6 | |
Apache | 2.4.7 | 2.4.10 | 2.2.22 | 2.4.6 | 2.2.15 | 2.4.16 | |
mod_wsgi | 3.4 | 4.3.0 | 3.3 | 3.4 | 3.2 | 4.4.8 | |
mod_python | 3.3.1 | 3.3.1 | 3.3.1 | n/a | n/a | 3.5.0 | |
Nginx | 1.4.6 | 1.6.2 | 1.2.1 | n/a | n/a | 1.8.1 |
Deprecated Modules Removed
New Dependencies
Detailed List of Developer Visible Changes
Ticket | Summary |
---|---|
#12242 | TracAdmin "permission add" command should be atomic |
API Changes |
|
Component: database backend (1 match) |
|
Ticket | Summary |
#12496 | Include PostgreSQL version in environment_info table |
API Changes |
|
Component: general (2 matches) |
|
Ticket | Summary |
#11874 | Allowing logger to be extended with different handlers |
API Changes |
|
#12558 | Add contextmanager for Popen |
API Changes |
Added context manager for |
Component: search system (1 match) |
|
Ticket | Summary |
#11748 | Disabling SearchModule does not remove search box |
API Changes |
|
Component: wiki system (1 match) |
|
Ticket | Summary |
#9612 | `WikiPage` doesn't need the `ipnr` attribute |
API Changes |
Added |
Other Modifications made to the 1.2 API
Uncategorized Changes
New in the 1.3.1 API
Be sure to have a look at the new ApiDocs (for latest trunk).
This is a work in progress - coverage is still not yet complete.