Edgewall Software

1.4 | 1.8

Release Notes for for Trac 1.6 Py3 Release

This page documents changes in the 1.5.x releases leading up to 1.6. This page will eventually document the final status of 1.6.

1.5.x releases are "stable" and tested snapshots of trunk. They can be seen as sub-milestones on the road towards 1.6.

As opposed to maintenance releases, we offer no guarantees on feature and API compatibility from one 1.5.x release to the next.

However, by following 1.5.x you get a chance to use new features earlier, and therefore be able to contribute feedback when things are still in flux. It's also less risky than just getting the latest trunk, as we won't cut a 1.5.x release in the middle of a series of changes, though we had and still intend to have a good record of keeping things always working on trunk.

If you are a plugin developer, also check the ApiChanges/1.6 page.


  • Dropped support for Python 2.7. Python 3.5+ is supported (#12130).

Development Releases



18 / 19


11 / 11


5 / 5


11 / 11

Tickets with release notes

Milestone: 1.5.4 (16 matches)

Ticket Release Notes

Fix use of reload() which has been removed in Python 3.0, when mod_python is used.


Fix internal server error when uploading files using fcgi.


Fixed SEGV raised from SQLite cursor with Python 3.11.


Make fcgi frontend compatible with Python 3.


Make compatible with Jinja2 3 and MarkupSafe 2.1.0, and add workaround for AssertionError when Jinja2 3.0.0 is used.


Fixed incorrect rendering of Git version in System Information table.


Fix incorrect repository_dir metadata for Subversion repository.


Fixed wrong content_type for a file in Subversion repository when svn:mime-type is not set.

  • Allow bcrypt, sha-256 and sha-512 password hashes in htpasswd file.
  • Added -t method option to contrib/htpasswd.py.

Fixed incompatible with Jinja2 3.1.


Fixed message extraction with Python3, Babel and Jinja2 3+.


Perfer text/* type in order to prevent rendering as an image for *.c filename with Pygments 2.11+.


Fixed wrong pagination links in search page.


Upgraded the bundled jQuery to version 3.6.3.


Fixed TypeError raised from changeset view when non-default property renderer is used and the quality is 1.


Use importlib rather than deprecated imp to load *.py plugin files.

Milestone: 1.5.3 (9 matches)

Ticket Release Notes

Add workaround for SmtpEmailSender with unicode credentials.


ConfigurationError will be raised when there are duplicate sections and options in trac.ini.


Fixed TypeError when CommitTicketReference macro or wiki processor is used on the New Ticket form.


Fixed -d/--daemonize failure for tracd.


Fix global shutdown crashes while creating new database connection.


Fix double-destroying memory pool error from tracd server on functional-test


The minimum required setuptools version is 30.3.


Workaround for test failures due to changing locale on call of tidylib.tidy_document.


Avoid crashing when apr memory pools (parent and child) are destroyed by cyclic garbage collector.

Milestone: 1.5.2 (3 matches)

Ticket Release Notes

Changed Python compatibility to 3.5+.


Fixed slow repository sync command for cached repository with many commits.


Bump setuptools requirement from >= 0.6> 5.6.

Milestone: 1.5.1 (5 matches)

Ticket Release Notes

Open tickets can be retargeted from the Ticket Admin > Milestones page.


Added View Milestone contextual navigation to the Admin milestone edit page.


The default value is shown on the preferences page in the label of the default selection of various Select inputs.


Added option --no-default-data to trac-admin initenv, for creating an empty environment without any reports, permission groups or sample data (components, milestones, enums).


The [query] ticketlink_query value can be uniquely specified for each custom field using the ticketlink_query option in the [ticket-custom] section. This applies to all custom field types for which [query] ticketlink_query would be applied, which excludes text (format: plain and wiki), textarea and time fields.

Developer-visible changes

A detailed view of the API changes since 1.4.x can be found in TracDev/ApiChanges/1.6.

Code Name

The 0.11 release was dubbed "Genshi", 0.12 "Babel" and 1.4 "Jinja2" after the names of the Python packages that became closely associated to these Trac versions. The most significant change in 1.6 is Python 3 support, so it seems appropriate to name 1.6 "Py3".

Last modified 21 months ago Last modified on May 10, 2021, 2:29:44 AM
Note: See TracWiki for help on using the wiki.