Edgewall Software

Changes between Initial Version and Version 1 of TracDev/ApiChanges/1.4


Ignore:
Timestamp:
Apr 22, 2020, 2:55:22 AM (4 years ago)
Author:
Ryan J Ollos
Comment:

Copied from TracDev/ApiChanges/1.3@32.

Legend:

Unmodified
Added
Removed
Modified
  • TracDev/ApiChanges/1.4

    v1 v1  
     1{{{#!div style="float: right; margin: 0 1em"
     2← [../1.1] | [../1.6] →
     3}}}
     4= Documenting API changes since 1.2.x
     5
     6{{{#!box info
     7The next stable version of Trac will be named 1.4 and will contain the cumulative changes made in the successive 1.2.x releases.
     8
     9These notes reflect the current status for [milestone:1.3.1], in [source:trunk].
     10
     11Proposed changes are prefixed with an OPEN mark and the //paragraph is written in italics.//
     12}}}
     13
     14[[PageOutline(2-4,Summary,inline)]]
     15
     16
     17== Prerequisites
     18
     19**Only Python version 2.7 is supported.**
     20
     21The following language features introduced in Python 2.7 can now be used and the related clean-ups can be done:
     22 - !OrderedDict
     23 - Set literals
     24 - Set and dictionary comprehensions
     25
     26TODO: List supported browsers. Consider using [http://jquery.com/browser-support/ jQuery's list].
     27
     28
     29=== Modified Dependencies
     30
     31See gmessage:trac-dev:nkMUY_8ILF0/rg1rsArDIewJ for a discussion about what dependencies we'll support in Trac 1.4.
     32
     33==== jQuery and jQuery UI (bundled)
     34
     35Upgraded:
     36* jQuery to 1.12.4
     37* jQuery UI to 1.12.1
     38* jQuery Timepicker to 1.6.3
     39
     40==== Babel (optional)
     41
     42==== Jinja2 (mandatory)
     43
     44Jinja2 >= 2.9.3 is required.
     45
     46==== Genshi (optional, deprecated)
     47
     48Genshi support is deprecated as the templating library, having been replaced by Jinja2. Genshi >= 0.6 is still needed to use many plugins.
     49
     50The 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.
     51
     52==== Databases
     53
     54|||| **Database** ||
     55|| SQLite || >= 3.0 ||
     56|| PostgreSQL || >= 9.1.0 ||
     57|| MySQL / MariaDB || >= 5.0 ||
     58|||| **Database Bindings** ||
     59|| pysqlite || >= 2.6.0 (version provided by Python 2.7) ||
     60|| psycopg2 || >= 2.0 ||
     61|| PyMySQL  ||  Any version, but 0.7+ is recommended ||
     62
     63==== Other
     64
     65|| **Package** || **Req or Opt?** || **Version supported** ||
     66|| SetupTools  || Required || >= 0.6, 5.4 - 5.6 are not recommended. ||
     67|| Git         || Optional || >= 1.5.6 ||
     68|| Subversion  || Optional || >= 1.6 ||
     69|| !DocUtils   || Optional || >= 0.3.9 ||
     70|| Textile     || Optional || >= 2.0 ||
     71|| Pygments    || Optional || >= 1.0  ||
     72|| passlib     || Optional || Windows only ||
     73
     74==== Compatible Distros
     75
     76The supported dependencies were determined by aiming to be compatible with the versions provided by the package managers on the following distros.
     77
     78|| **Package** || **Ubuntu 16.04** || Ubuntu 14.04 || **Debian 9.3** || Debian 8.8 || Debian 7.8 || **CentOS 7.4** || **openSUSE 42.1** ||
     79|| Python      || 2.7.12           || 2.7.5        || 2.7.13         || 2.7.9        || 2.7.3      || 2.7.5          || 2.7.9             ||
     80|| Python3     || 3.5.2            || 3.4.0        || 3.5.3          || 3.4.2        || 3.2.3      || n/a            || 3.4.1             ||
     81|| Babel       || 1.3              || 1.3          || 2.3.4          || 1.3          || 0.9.6      || 0.9.6          || 1.3               ||
     82|| Genshi      || 0.7              || 0.7          || 0.7            || 0.7          || 0.6        || n/a            || 0.7               ||
     83|| SQLite3     || 3.11.0           || 3.8.2        || 3.16.2         || 3.8.7        || 3.7.13     || 3.7.17         || 3.8.10.2          ||
     84|| 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 ||
     85|| MySQL       || 5.7.13           || 5.5.41, 5.6.19 || n/a          || 5.5.55       || 5.5.41     || n/a            || 5.6.30            ||
     86|| MariaDB     || 10.0.25          || 5.5.41       || 10.1.26        || 10.0.30      || n/a        || 5.5.56         || 10.0.22           ||
     87|| psycopg2    || 2.6.1            || 2.4.5        || 2.6.2          || 2.5.4        || 2.4.5      || 2.5.1          || 2.6               ||
     88|| PyMySQL     || 0.7.2            ||              || 0.7.10         || n/a          ||            || n/a            ||                   ||
     89|| SetupTools  || 20.7             || 3.3.1        || 33.1.1         || 5.5.1        || 0.6.24     || 0.9.8          || 18.0.1            ||
     90|| Git         || 2.7.4            || 1.9.1        || 2.11.0         || 2.1.4        || 1.7.10     || 1.8.3.1        || 2.6.6             ||
     91|| Subversion  || 1.9.3            || 1.8.8        || 1.9.5          || 1.8.10       || 1.6.17     || 1.7.14         || 1.8.10            ||
     92|| !DocUtils   || 0.12             || 0.11         || 0.13.1         || 0.12         || 0.8.1      || 0.11           || 0.11              ||
     93|| Textile     || 2.2.2            || 2.1.5        || 2.3.5          || 2.1.5        || 2.1.5      || n/a            || n/a               ||
     94|| Pygments    || 2.1              || 1.6          || 2.2.0          || 2.0.1        || 1.5        || 1.4            || 1.6               ||
     95|| Apache      || 2.4.18           || 2.4.7        || 2.4.25         || 2.4.10       || 2.2.22     || 2.4.6          || 2.4.16            ||
     96|| mod_wsgi    || 4.3.0            || 3.4          || 4.5.11         || 4.3.0        || 3.3        || 3.4            || 4.4.8             ||
     97|| mod_python  || 3.3.1            || 3.3.1        || 3.3.1          || 3.3.1        || 3.3.1      || n/a            || 3.5.0             ||
     98|| Nginx       || 1.10.0           || 1.4.6        || 1.10.3         || 1.6.2        || 1.2.1      || n/a            || 1.8.1             ||
     99|| **Last Updated** ||             ||              || 2018-02-13     || 2017-05-25   ||            || 2018-02-13     ||                   ||
     100
     101=== Deprecated Modules and APIs Removed
     102
     103 - API change for `IEnvironmentParticipant` methods //[[ApiChanges/1.1#dbparametersremovedfromfunctionandmethodsignaturesinTrac1.1.2|removal of `db` parameter]]//, is now effective, see for example r15304
     104
     105=== New Dependencies
     106
     107== Detailed List of Developer Visible Changes #list
     108
     109=== In Trac 1.3.1
     110
     111[[TicketQuery(milestone=1.3.1,status=closed,apichanges!=,col=summary,rows=apichanges,group=component,format=table)]]
     112
     113=== In Trac 1.3.2
     114
     115[[TicketQuery(milestone=1.3.2,status=closed,apichanges!=,col=summary,rows=apichanges,group=component,format=table)]]
     116
     117=== In Trac 1.3.3
     118
     119[[TicketQuery(milestone=1.3.3,status=closed,apichanges!=,col=summary,rows=apichanges,group=component,format=table)]]
     120
     121=== In Trac 1.3.4
     122
     123[[TicketQuery(milestone=1.3.4,status=closed,apichanges!=,col=summary,rows=apichanges,group=component,format=table)]]
     124
     125== Other Modifications made to the 1.2 API
     126
     127
     128=== Modified Interfaces
     129
     130==== `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
     131
     132Attachments 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.
     133
     134=== Uncategorized Changes
     135
     136== New in the 1.3 API
     137
     138Be sure to have a look at the new ApiDocs ([http://www.edgewall.org/docs/trac-trunk/html/ for latest trunk]).
     139
     140//This is a work in progress - coverage is still not yet complete.//
     141
     142
     143{{{#!comment
     144=== New Classes
     145==== `trac.x.y.ClassName` ^[source:trunk/trac/x/y.py@#Lnum (1.0)]^ #ClassName
     146
     147...
     148
     149=== Other news
     150
     151}}}