Version 29 (modified by 6 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 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)
Upgraded:
- jQuery to 1.12.4
- jQuery UI to 1.12.1
- jQuery Timepicker to 1.6.3
Babel (optional)
Jinja2 (mandatory)
Jinja2 ≥ 2.9.3 is required.
Genshi (optional, deprecated)
Genshi support is deprecated as the templating library, having been replaced by Jinja2. Genshi ≥ 0.6 is still needed to use many plugins.
The goal is 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 | ≥ 9.1.0 |
MySQL / MariaDB | ≥ 5.0 |
Database Bindings | |
pysqlite | ≥ 2.6.0 (version provided by Python 2.7) |
psycopg2 | ≥ 2.0 |
PyMySQL | Any version, but 0.7+ is recommended |
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 | ≥ 1.0 |
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.8 | Debian 7.8 | CentOS 7.3 | CentOS 6.6 | openSUSE 42.1 |
Python | 2.7.12 | 2.7.5 | 2.7.9 | 2.7.3 | 2.7.5 | 2.6.6 | 2.7.9 |
Python3 | 3.5.2 | 3.4.0 | 3.4.2 | 3.2.3 | n/a | n/a | 3.4.1 |
Babel | 1.3 | 1.3 | 1.3 | 0.9.6 | 0.9.6 | 0.9.4 | 1.3 |
Genshi | 0.7 | 0.7 | 0.7 | 0.6 | n/a | n/a | 0.7 |
SQLite3 | 3.11.0 | 3.8.2 | 3.8.7 | 3.7.13 | 3.7.17 | 3.6.20 | 3.8.10.2 |
PostgreSQL | 9.5.3 | 9.3.6 | 9.4.12 | 9.1.15 | 9.2.18 | 8.4.20 | 9.4, 9.3.11, 9.4.6 |
MySQL | 5.7.13 | 5.5.41, 5.6.19 | 5.5.55 | 5.5.41 | n/a | 5.1.73 | 5.6.30 |
MariaDB | 10.0.25 | 5.5.41 | 10.0.30 | n/a | 5.5.52 | n/a | 10.0.22 |
psycopg2 | 2.6.1 | 2.4.5 | 2.5.4 | 2.4.5 | 2.5.1 | 2.0.14 | 2.6 |
PyMySQL | 0.7.2 | n/a | n/a | n/a | |||
SetupTools | 20.7 | 3.3.1 | 5.5.1 | 0.6.24 | 0.9.8 | 0.6.10 | 18.0.1 |
Git | 2.7.4 | 1.9.1 | 2.1.4 | 1.7.10 | 1.8.3.1 | 1.7.1 | 2.6.6 |
Subversion | 1.9.3 | 1.8.8 | 1.8.10 | 1.6.17 | 1.7.14 | 1.6.11 | 1.8.10 |
DocUtils | 0.12 | 0.11 | 0.12 | 0.8.1 | 0.11 | 0.6 | 0.11 |
Textile | 2.2.2 | 2.1.5 | 2.1.5 | 2.1.5 | n/a | n/a | n/a |
Pygments | 2.1 | 1.6 | 2.0.1 | 1.5 | 1.4 | 1.1.1 | 1.6 |
Apache | 2.4.18 | 2.4.7 | 2.4.10 | 2.2.22 | 2.4.6 | 2.2.15 | 2.4.16 |
mod_wsgi | 4.3.0 | 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 | 3.3.1 | n/a | n/a | 3.5.0 |
Nginx | 1.10.0 | 1.4.6 | 1.6.2 | 1.2.1 | n/a | n/a | 1.8.1 |
Last Updated | 2017-05-25 | 2017-05-25 |
Deprecated Modules and APIs Removed
- API change for
IEnvironmentParticipant
methods removal of `db` parameter, is now effective, see for example r15304
New Dependencies
Detailed List of Developer Visible Changes
In Trac 1.3.1
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 |
In Trac 1.3.2
Ticket | Summary |
---|---|
#11419 | More user-friendly error message from trac-admin console commands when IntegrityError in database |
API Changes |
|
#12667 | Make test case in trac.admin.tests.console reusable by plugins |
API Changes |
Added base class |
Component: attachment (1 match) |
|
Ticket | Summary |
#12870 | Add API to rename attachments |
API Changes |
|
Component: database backend (1 match) |
|
Ticket | Summary |
#12643 | Check for table existence in DatabaseManager.upgrade_tables |
API Changes |
|
Component: general (5 matches) |
|
Ticket | Summary |
#11317 | Allow navigation items to be added through the mainnav or metanav sections |
API Changes |
Added the |
#12231 | Add is_authenticated property to Request class |
API Changes |
Added |
#12649 | Simplify configuration parsing in svn_authz module |
API Changes |
|
#12684 | _RequestArgs.get should alias getfirst |
API Changes |
|
#12812 | Move test helpers to test.py modules |
API Changes |
Ticket test helper methods can be found in the |
Component: i18n (2 matches) |
|
Ticket | Summary |
#12348 | Now button in datetime picker use wrong time when timezones are different between Trac and browser |
API Changes |
Upgraded:
|
#12852 | extract_messages command failing without Genshi |
API Changes |
Error is raised when extracting messages from Genshi template if Genshi is not installed. |
Component: query system (1 match) |
|
Ticket | Summary |
#11723 | Call ticket manipulators during batch modify |
API Changes |
|
Component: rendering (2 matches) |
|
Ticket | Summary |
#12639 | Integrate Jinja2 branch |
API Changes |
Major changes in |
#12680 | TypeError: wiki_page_changed() takes exactly 7 arguments (6 given) |
API Changes |
Improved exception trapping and logging when executing
|
Component: report system (2 matches) |
|
Ticket | Summary |
#11550 | folding.js not available on report pages |
API Changes |
|
#12704 | TypeError: unicode argument expected, got 'str' |
API Changes |
|
Component: ticket system (2 matches) |
|
Ticket | Summary |
#11865 | Workflow macro could read files from the repository |
API Changes |
Added method |
#12807 | Make it easier to customize the allowed owners for a ticket |
API Changes |
Added |
Component: version control (1 match) |
|
Ticket | Summary |
#12653 | git support under "Bash for Ubuntu for Windows" |
API Changes |
Added |
Component: wiki system (1 match) |
|
Ticket | Summary |
#9487 | Control the default wiki page through trac.ini |
API Changes |
Extracted variables in |
Other Modifications made to the 1.2 API
Modified Interfaces
IAttachmentChangeListener
(1.3.2) (1.2)
Attachments can now be renamed, so attachment_moved(attachment, old_parent_realm, old_parent_id, old_filename)
has been added to allow plugins to be notified of this.
Uncategorized Changes
New in the 1.3 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.