Edgewall Software

Version 1 (modified by Ryan J Ollos, 4 years ago) ( diff )

Add page for 1.6 API changes.

1.4 | 1.6

Documenting API changes since 1.4.x

The next stable version of Trac will be named 1.6 and will contain the cumulative changes made in the successive 1.4.x releases and 1.5.x releases. This page documents the API changes in the 1.5.x developer-preview releases leading up to 1.6.

These notes reflect the current status in trunk.

Proposed changes are prefixed with an OPEN mark and the paragraph is written in italics.

Summary

  1. Prerequisites
    1. Modified Dependencies
      1. jQuery and jQuery UI (bundled)
      2. Babel (optional)
      3. Jinja2 (mandatory)
      4. Genshi (removed)
      5. Databases
      6. Other
      7. Compatible Distros
    2. Deprecated Modules and APIs Removed
    3. New Dependencies
  2. Detailed List of Developer Visible Changes
    1. In Trac 1.5.1
  3. Other Modifications made to the 1.4 API
    1. Modified Interfaces
    2. Uncategorized Changes
  4. New in the 1.6 API

Prerequisites

Modified Dependencies

jQuery and jQuery UI (bundled)

Babel (optional)

Jinja2 (mandatory)

Genshi (removed)

Support for Genshi was removed in 1.5.1.

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 9.3 Debian 8.8 Debian 7.8 CentOS 7.4 openSUSE 42.1
Python 2.7.12 2.7.5 2.7.13 2.7.9 2.7.3 2.7.5 2.7.9
Python3 3.5.2 3.4.0 3.5.3 3.4.2 3.2.3 n/a 3.4.1
Babel 1.3 1.3 2.3.4 1.3 0.9.6 0.9.6 1.3
Genshi 0.7 0.7 0.7 0.7 0.6 n/a 0.7
SQLite3 3.11.0 3.8.2 3.16.2 3.8.7 3.7.13 3.7.17 3.8.10.2
PostgreSQL 9.5.3 9.3.6 9.6.6 9.4.12 9.1.15 9.2.23 9.4, 9.3.11, 9.4.6
MySQL 5.7.13 5.5.41, 5.6.19 n/a 5.5.55 5.5.41 n/a 5.6.30
MariaDB 10.0.25 5.5.41 10.1.26 10.0.30 n/a 5.5.56 10.0.22
psycopg2 2.6.1 2.4.5 2.6.2 2.5.4 2.4.5 2.5.1 2.6
PyMySQL 0.7.2 0.7.10 n/a n/a
SetupTools 20.7 3.3.1 33.1.1 5.5.1 0.6.24 0.9.8 18.0.1
Git 2.7.4 1.9.1 2.11.0 2.1.4 1.7.10 1.8.3.1 2.6.6
Subversion 1.9.3 1.8.8 1.9.5 1.8.10 1.6.17 1.7.14 1.8.10
DocUtils 0.12 0.11 0.13.1 0.12 0.8.1 0.11 0.11
Textile 2.2.2 2.1.5 2.3.5 2.1.5 2.1.5 n/a n/a
Pygments 2.1 1.6 2.2.0 2.0.1 1.5 1.4 1.6
Apache 2.4.18 2.4.7 2.4.25 2.4.10 2.2.22 2.4.6 2.4.16
mod_wsgi 4.3.0 3.4 4.5.11 4.3.0 3.3 3.4 4.4.8
mod_python 3.3.1 3.3.1 3.3.1 3.3.1 3.3.1 n/a 3.5.0
Nginx 1.10.0 1.4.6 1.10.3 1.6.2 1.2.1 n/a 1.8.1
Last Updated 2018-02-13 2017-05-25 2018-02-13

Deprecated Modules and APIs Removed

New Dependencies

Detailed List of Developer Visible Changes

In Trac 1.5.1

Component: admin/console (1 match)

Ticket Summary
#12242 TracAdmin "permission add" command should be atomic
API Changes

PermissionSystem.grant_permission raises PermissionExistsError rather than IntegrityError when the user already has the action or is a member of the group.

Component: database backend (1 match)

Ticket Summary
#12496 Include PostgreSQL version in environment_info table
API Changes
  • Added get_system_info to IDatabaseConnector interface.
  • DatabaseManager implements ISystemInfoProvider to return the database version. MySQLConnector, PostgreSQLConnector and SQLiteConnector no longer implement ISystemInfoProvider.
  • Moved IEnvironmentSetupParticipant and ISystemInfoProvider from trac.env to trac.api.

Component: general (2 matches)

Ticket Summary
#11874 Allowing logger to be extended with different handlers
API Changes
  • EnvironmentStub logs to a MemoryHandler and a list of (debug_level, message) tuples can be retrieved through the log_messages property.
  • logger_handler_factory no longer returns the handler as the second return parameter. The handler can be accessed through Environment.log.handlers[0].
  • Added function trac.log.shutdown for cleaning up logger handlers.
  • Added dictionary LOG_LEVEL_MAP in trac.log module, for mapping string log levels to integer log levels.
#12558 Add contextmanager for Popen
API Changes

Added context manager for Popen to trac.util.compat. The code is copied from the Python 3.2 implementation.

Component: search system (1 match)

Ticket Summary
#11748 Disabling SearchModule does not remove search box
API Changes

PermissionSystem.get_user_permissions returns only defined permissions, unless the undefined parameter is True. The default value of undefined is False.

Component: wiki system (1 match)

Ticket Summary
#9612 `WikiPage` doesn't need the `ipnr` attribute
API Changes

Added upgrade_tables method to DatabaseManager class. Added method to Table class for removing columns: remove_columns.

Other Modifications made to the 1.4 API

Modified Interfaces

Uncategorized Changes

New in the 1.6 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.

Note: See TracWiki for help on using the wiki.