{{{#!div style="float: right; margin: 0 1em" ← [../1.1.1] | [../1.1.3] → }}} = Documenting API changes since 1.1.1 = {{{#!box info 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 [milestone:1.1.2], 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 versions 2.6 and 2.7 are supported.** === Modified Dependencies === ==== jQuery and jQuery UI (bundled) The bundled version of [http://jquery.com jQuery] will be **1.9 / 2.0** instead of 1.8.3 in Trac 1.1.1. See jQuery release notes for the corresponding major updates: - http://blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released/ OPEN // The bundled version of the full minified [http://jqueryui.com jQuery UI] package will be [http://jqueryui.com/docs/Changelog/1.10.1 1.10.1]. See #11019. // ==== Babel (optional) The internationalization support (i18) for Trac is depending on [http://babel.edgewall.org/ Babel], version 0.9.5 and later. Support has been added for Babel 1.0 through 1.3 (the most recent at the time of this release). ==== Genshi (mandatory) Genshi 0.6.x and 0.7 are supported. ==== Subversion (optional) Subversion 1.6 - 1.8 are supported. ==== Git (optional) Git 1.5.6 - 2.0 are supported. === New Dependencies === None! == Detailed List of Developer Visible Changes #list [[TicketQuery(milestone=1.1.2,status=closed,apichanges!=,col=summary,rows=apichanges,group=component,format=table)]] == 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 {{{#!comment === Modified Interfaces === ==== `I...` ^[source:trunk/trac/.../api.py@rev:highlighted-linenum#Lnum (1.0)] [source:branches/0.12-stable/trac/.../api.py@rev:rev:highlighted-linenum#Lnum (0.12)]^ ==== #I...r ... }}} === Database API Changes === ==== `Environment.get_db_cnx` has been removed #get_db_cnx Following the [../0.12#get_db_cnx deprecation] made in 0.12, the method `Environment.get_db_cnx` has been removed. 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: {{{#!python 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: {{{#!python 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.get_read_db` and the decorators `@with_transaction(env)` and `env.with_transaction()` have been [../1.0#with_transaction deprecated] since Trac 1.0 and will be removed in Trac 1.3.1. ==== `db` parameters removed from function and method signatures With the introduction of `@with_transaction(env)` decorators in 0.12 and continuing with the introduction of the database connection context managers in 1.0, the `db` parameters passed as function and method arguments became [../0.12#Othernews deprecated]. The `db` parameters have been removed from nearly all function and method signatures. The `db` arguments are still present on methods of `IEnvironmentParticipant` implementations, but are deprecated and should no longer be used. They will be removed in 1.3.1. ==== `ConnectionBase` class The `ConnectionBase` class defines an abstract interface that database backends must adhere to when implementing a `Connection` class. === Template and CSS changes `tt` tags are not support in HTML5 and have been replaced with `code` tags in Trac (#11094). The styling of `tt` and `code` tags is the same in Trac , but `code` tags should be used since the styling for `tt` tags will be removed in a future version of Trac. The `about.css` stylesheet has been removed and the rules contained in that stylesheet have been moved to `trac.css`. The table of environment information on the //Error// and //About// pages have been extracted to a new template `environment_info.html` and the markup and associated rules in the stylesheet have been significantly changed. //Many more changes to be added, depending on how details we want to get. TracUpgrade#CustomizedTemplates claims that changes to `id`s and CSS `class`es will be documented in ApiChanges.// == New in the 1.1.2 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 ... === New Interfaces === ==== `trac.x.y.IClassName` ^[source:trunk/trac/x/y.py@#Lnum (1.0)]^ ==== #IClassName === Other news === }}}