{{{#!div style="float: right; margin: 0 1em" ← [../1.1] | [../1.5] → }}} = Documenting API changes since 1.2.x {{{#!box info 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 [milestone:1.3.1], in [source:trunk]. Proposed changes are prefixed with an OPEN mark and the //paragraph is written in italics.// }}} [[PageOutline(2-4,Summary,inline)]] == 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 [http://jquery.com/browser-support/ 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.4** || **openSUSE 42.1** || || Python || 2.7.12 || 2.7.5 || 2.7.9 || 2.7.3 || 2.7.5 || 2.7.9 || || Python3 || 3.5.2 || 3.4.0 || 3.4.2 || 3.2.3 || n/a || 3.4.1 || || Babel || 1.3 || 1.3 || 1.3 || 0.9.6 || 0.9.6 || 1.3 || || Genshi || 0.7 || 0.7 || 0.7 || 0.6 || n/a || 0.7 || || SQLite3 || 3.11.0 || 3.8.2 || 3.8.7 || 3.7.13 || 3.7.17 || 3.8.10.2 || || PostgreSQL || 9.5.3 || 9.3.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 || 5.5.55 || 5.5.41 || n/a || 5.6.30 || || MariaDB || 10.0.25 || 5.5.41 || 10.0.30 || n/a || 5.5.56 || 10.0.22 || || psycopg2 || 2.6.1 || 2.4.5 || 2.5.4 || 2.4.5 || 2.5.1 || 2.6 || || PyMySQL || 0.7.2 || || n/a || || n/a || || || SetupTools || 20.7 || 3.3.1 || 5.5.1 || 0.6.24 || 0.9.8 || 18.0.1 || || Git || 2.7.4 || 1.9.1 || 2.1.4 || 1.7.10 || 1.8.3.1 || 2.6.6 || || Subversion || 1.9.3 || 1.8.8 || 1.8.10 || 1.6.17 || 1.7.14 || 1.8.10 || || !DocUtils || 0.12 || 0.11 || 0.12 || 0.8.1 || 0.11 || 0.11 || || Textile || 2.2.2 || 2.1.5 || 2.1.5 || 2.1.5 || n/a || n/a || || Pygments || 2.1 || 1.6 || 2.0.1 || 1.5 || 1.4 || 1.6 || || Apache || 2.4.18 || 2.4.7 || 2.4.10 || 2.2.22 || 2.4.6 || 2.4.16 || || mod_wsgi || 4.3.0 || 3.4 || 4.3.0 || 3.3 || 3.4 || 4.4.8 || || mod_python || 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.6.2 || 1.2.1 || n/a || 1.8.1 || || **Last Updated** || || || 2017-05-25 || || 2018-02-13 || || === Deprecated Modules and APIs Removed - API change for `IEnvironmentParticipant` methods //[[ApiChanges/1.1#dbparametersremovedfromfunctionandmethodsignaturesinTrac1.1.2|removal of `db` parameter]]//, is now effective, see for example r15304 === New Dependencies == Detailed List of Developer Visible Changes #list === In Trac 1.3.1 [[TicketQuery(milestone=1.3.1,status=closed,apichanges!=,col=summary,rows=apichanges,group=component,format=table)]] === In Trac 1.3.2 [[TicketQuery(milestone=1.3.2,status=closed,apichanges!=,col=summary,rows=apichanges,group=component,format=table)]] == Other Modifications made to the 1.2 API === Modified Interfaces ==== `IAttachmentChangeListener` ^[source:trunk/trac/attachment.py@16160:73#L61 (1.3.2)] [source:branches/1.2-stable/trac/attachment.py@16042#L59 (1.2)]^ #IAttachmentChangeListener 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 ([http://www.edgewall.org/docs/trac-trunk/html/ for latest trunk]). //This is a work in progress - coverage is still not yet complete.// {{{#!comment === New Classes ==== `trac.x.y.ClassName` ^[source:trunk/trac/x/y.py@#Lnum (1.0)]^ #ClassName ... === Other news }}}