Edgewall Software

Version 8 (modified by Christian Boos, 12 years ago) ( diff )

OPENTODO

1.0 | 1.1.2

Documenting API changes since 1.0.x

The next stable version of Trac will be named 1.2 and will contain the cumulative changes made in the successive 1.1.x releases.

These notes reflect the current status for 1.1.1, 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. Genshi (mandatory)
    2. New Dependencies
  2. Detailed List of Developer Visible Changes
  3. Other Modifications made to the 1.0 API
    1. Database API Changes
      1. Environment.get_db_cnx has been removed
      2. Environment.db_query() and Environment.db_transaction() (1.0)​
  4. New in the 1.1.1 API

Prerequisites

Python 2.5 support will be dropped. Only Python versions 2.6 and 2.7 are supported.

The following language feature introduced in Python 2.6 can now be used:

  • remove __future__ import with_statement
  • use string format(), print()
  • except Cls as val
  • class decorators to avoid the implements hack?
  • @prop.setter / @prop.deleter
  • namedtuples!
  • there's no longer need of from __future__ import with_statement
  • next(iterator, [default]) to clean-up some unit tests
  • timeout in smtplib

Modified Dependencies

jQuery and jQuery UI (bundled)

OPEN The bundled version of jQuery is now 1.x.y instead of 1.7.2 in Trac 1.0-stable.

See jQuery release notes for the corresponding major updates 1.8.

OPEN The bundled version of the full minified jQuery UI package is now 1.8.x instead of 1.8.21 in Trac 1.0-stable.

Babel (optional)

The internationalization support (i18) for Trac is depending on Babel, version 1.0. (#10882)

Babel 0.9.6 is still supported.

Genshi (mandatory)

OPEN Genshi 0.7

Genshi 0.6.x is still supported.

New Dependencies

None!

Detailed List of Developer Visible Changes

Component: report system (1 match)

Ticket Summary
#10979 Allow dynamic variables to be used in a report title and description
API Changes

New function sub_vars in trac.util.text for substituting $XYZ-style variables in a string.

Component: ticket system (1 match)

Ticket Summary
#1942 [patch] Add support for date type in custom ticket fields
API Changes

new TicketFieldList class for efficiently accessing fields by name (r11330).

Component: web frontend (1 match)

Ticket Summary
#10976 Compatibility issue between jQuery UI < 1.8.22 and jQuery 1.8
API Changes

jQuery upgraded to 1.8.3, jQuery UI upgraded to 1.9.2 and jQuery UI Timepicker upgraded to 1.1.1.

Other Modifications made to the 1.0 API

Take the will be removed in version 1.1.1 comments in the code seriously. The earlier the planned API changes in 1.1.x, the better (gives more time to plugin authors to adapt). TODO

Database API Changes

Environment.get_db_cnx has been removed

Following the deprecation made in 0.12, using Environment.get_db_cnx for obtaining a database connection has now been removed. TODO

One should now only use the context managers for retrieving a database Connection in read or write mode.

  • a read-only Connection can be used to form queries:
    with env.db_query as db:
        ...
    
    a db instance obtained the above way should only be used for executing SELECT queries
  • a writable Connection can be used to modify the database content in a transaction:
    with env.db_transaction as db:
        ...
    
    a db instance obtained the above way can be used to execute INSERT/UPDATE/DELETE queries; they will be committed when the last such automatic transaction in the control flow completes successfully. See DatabaseApi for the full details.

Environment.db_query() and Environment.db_transaction() (1.0)

The @with_transaction(env) / @env.with_transaction() decorators introduced in 0.12 and deprecated in Trac 1.0 are now even more deprecated ;-) They will be removed in 1.3.1.

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

Note: See TracWiki for help on using the wiki.