Edgewall Software

1.0 | 1.2?

Release Notes for Trac development releases 1.1.x

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

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

However, by following 1.1.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.1.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're a plugin developer, be sure to also check the ApiChanges/1.1 page.


  • Extensible notification system (#3517)
  • Notification preference panel (#4056)
  • Usernames replaced with full names (#7339)
  • Restyled ticket changelog (#11835)
  • Workflow controls on the New Ticket page (#2045)
  • Editable wiki page version comments (#6573)
  • Datetime custom fields (#1942)

Development Releases



64 / 65


8 / 8


19 / 19


20 / 20


40 / 40


42 / 42


9 / 9

Tickets with release notes

Milestone: 1.2 (58 matches)

Ticket Release Notes

Fix not working notification preference panel with PostgreSQL.


Add a notice when quick-jumping from the search box to a resource.


Pygments lexer options can be specified as WikiProcessor arguments and defaults can be set in the environment configuration.


Usernames are replaced with full names when [trac] show_full_names is true and the full name has been set in the user's preferences.


The multirepository timeline filter has separate toggle all and tree expander functions.


[milestone] default_group_by specifies the default field for grouping tickets in the grouped progress bar.


Third party JavaScript libraries have been upgraded:

  • jQuery-UI to 1.11.4
  • jQuery to 1.11.3
  • jQuery UI Timepicker to 1.5.5

The TracAdmin initenv command accepts an optional parameter --config, the path to a file containing a configuration to be used when creating the environment.


Replaced suite function in test modules with test_suite.


Deleting the default Component, Milestone, Version or Enum clears the complementary default value (e.g. [ticket] default_component).


Enum tables on the Ticket Admin pages can be reordered by drag and drop. The ordering is also dynamically updated when changing the Select boxes.


User with TICKET_ADMIN can batch modify the reporter field.

  • The ticket owner is shown in the ticket properties box during preview when the value is < default >.
  • <default> is allowed as an alias for < default > in the [ticket] default_owner setting.

The ticket owner change was not shown in the ticket preview for the special case of the owner being set to the component owner on component change.


Improved error message when adding and removing an invalid action with TracAdmin.


Added shortcuts for modifying the state of TracQuery checkbox filters.

  • Added ticket number to ticket TracLink title.
  • Added ticket number and description to ticket comment TracLink title.

Subscription rules preferences are hidden if no rules are available.


Fix conflicted priority_value with the same named custom field in ticket query.


On the milestone edit page the retargeting elements are only shown when there are open tickets associated with the milestone.


Fixed transitive import in trac/web/main.py and added direct import of io module, replacing use of StringIO with io.BytesIO.


Refactored modules in ticket package to use item accessors rather than manipulating ticket.values directly.


Renamed INSTALL to INSTALL.rst and UPGRADE to UPGRADE.rst. Modified the default value of [mimeviewer] mime_map_patterns so that INSTALL.rst isn't matched by the regular expression for the text/plain mime type. INSTALL.rst and UPGRADE.rst should now be rendered to HTML when docutils is installed, even when viewing the files in a Git repository (or any other VCS that doesn't allow the mimetype to be set as a repository property, like Subversion does).


Replaced suggest.js with jQuery UI's autocomplete.


Repository.short_rev and Repository.display_rev always return a string or None.


Fixed regression in notification subject when ticket summary was changed: old summary was not included in the subject.


issue can be used as ticket TracLink, in addition to bug and ticket (e.g. issue:1). Comment TracLinks also support issue and bug as aliases for ticket: comment:1:bug:1 and comment:1:issue:1.


Version control components are not required when there is a repository for the backend. This reverts behavior added in 1.1.2 ([12820]).


Notification emails use the author's full name when [trac] show_full_names is True.


Corrected display of UTC timezone when format is ISO8601 (regression with upgrade to jQuery UI Timepicker 1.5.5 in #11019).


Datetime format hints are hidden when JavaScript is enabled.


Permission cannot be granted if it differs from a defined action by case only.


Autocomplete is disabled for text fields with a datepicker or datetimepicker.


Added function wikisyntax_test_suite in trac.wiki.test, which plugins can use to create wiki syntax tests.


Replaced fcrypt dependency with passlib.

  • Repository admin page is hidden if there are no repository connectors enabled.
  • Synchronization is skipped for repository with an invalid connector.

Fixed regression in which author was not always obfuscated in a quoted ticket comment reply.


The option [trac] auth_cookie_domain sets the domain attribute of the auth cookie, allowing cookies to be shared across subdomains.


Tickets created before a custom field was added default to using the default value provided in the custom field definition.


Fixed regression in Show property changes preference on ticket page, after upgrade to jQuery 1.11.3 (#11019).


Query is used in place of Report when a query is being created or edited.


Fixed regression in which full name was not used, when available, in a quoted ticket comment reply.


Removed scripts in contrib/cgi-bin, which were equivalent to the scripts created by TracAdmin deploy.


Support jQuery v1.11.3.


Fix missing datetime import and crashing with invalid datetime string for time custom fields.


Fix incorrect time field with date/datetime format in ticket box.


Fix not working datetime picker for time field with relative format.

  • An EnvironmentError is raised when processing a request if the Python interpreter optimization level is nonzero.
  • An error code is returned and a message printed to the terminal when calling trac-admin in a Python process that has a nonzero optimization level.

Pressing the modifier key while selecting a search filter will unselect all other search filters.


history_view.html uses ${resource.realm} rather than hard-coded ticket class for #content.


Gitweb repository configuration is moved from the [git] section to the [gitweb-repositories] section.


Fixed regression in r14707 that resulted in AttributeError: 'FakeSession' object has no attribute 'as_int'.


Fixed author not formatted when query filter added (related to #7339).


Added additional debug logging for request handling.


Column labels are used when exporting query results to CSV. The labels are not translated.


Restyled the ticket changelog. Added a Show comments preference.


Renamed contextual navigation link Custom Query to New Custom Query.


Fixes for the restyled ticket changelog (#11835).

Milestone: 1.1.6 (6 matches)

Ticket Release Notes

Preference panels are modular and can be individually enabled and disabled.


Fine-grained permission checks are implemented when rendering an author in the ticket workflow dialog.


Access to timeline can be controlled using TracFineGrainedPermissions.


Save notification on wiki page includes a link to the diff of the changes.


Replaced all print statements with print function calls.


psycopg2 and MySQLdb are specified as dependencies in setup.py's extras_require.

Milestone: 1.1.5 (17 matches)

Ticket Release Notes

Fixed raising TypeError from parse_subscriber_config when an attribute is used in [notification-subscriptions].


Fixed incorrect highlighting of unmodified values in the Configuration section of the About Trac page.


Added a new [notification-subscriber] config section for general configuration of notification subscription defaults, and replacing the [notification] always_notify_* options. Added a new SubscriberListMacro.


The .order attributes of the options in the [mainnav] and [metanav] sections control navigation item sort order. The options [trac] mainnav and [trac] metanav have been removed.


Removed dependency on ConfigObj. The package was previously needed by AuthzPolicy.


Allow plugins to provide changeset bookmarks and render them in the browser, on the revision log and on the timeline.


Fixed: default milestone selected after ticket creation when milestone empty.


Lazy attributes can be invalidated for re-evaluation even if not evaluated yet.


Image macro supports InterWiki prefixes.


Fixed regression in [13888] that resulted in KeyError when backing up a PostgreSQL database.


Fix issues with Add button in notifications panel.

  • Add button not working when no subscription rules.
  • Label of added rule is empty on Internet Explorer.

Fixed htdigest appending newlines to every existing entry each time a new entry was added.


Fixed timeline CSS rules interfering with styling of custom themes.


New helper methods on DatabaseManager class for plugins to upgrade the database.


The option [wiki] default_edit_area_height is used when a value for editrows hasn't been saved in the session attributes.


Removed favicon link supporting IE8 and earlier.


htpasswd.py prompts user for password when the password is not specified as an argument.

Milestone: 1.1.4 (19 matches)

Ticket Release Notes

Fixed: custom workflow attributes would raise a KeyError.


Add an auto-increment primary key to node_change table and indices (repos, rev, path) and (repos, path, rev).


Use mediumtext type for text columns on MySQL database since text type is too short.


Click on row label of Permissions admin page toggles all of the checkboxes in the group.

  • The default values of configuration options are written to trac.ini when a plugin is enabled through the web administration page or using TracAdmin, provided the options don't already exist in trac.ini or one of its parent configurations.
  • # option-name = <inherited> is not written to trac.ini when the option is specified in a parent configuration.

Relative paths for the [authz_policy] authz_file option are resolved relative to the Environment's conf directory, rather than relative to the Environment directory.


Moved repository-related configuration options to new sections.

  • [trac] repository_type[versioncontrol] default_repository_type
  • [trac] authz_file[svn] authz_file
  • [trac] authz_module_name[svn] authz_module_name

Replaced use of deprecated Environment.get_read_db() with transaction context manager db_query.


Fixed regression in [13323]: Default language was always selected even when a language had been set.


Fix missing X-Trac-Ticket-URL and X-Trac-Ticket-ID headers in ticket notification mail.

  • Make EmailDistributor allow text/html format
  • Create always multipart/related message as root
  • Create multipart/alternative message with text/plain and text/html if text/html is preferred
  • Fallback to text/plain format when text/html formatter fails

Replaced use of deprecated with_transaction decorator with transaction context manager.


The workflow controls in the batch modify section of the Query page are disabled until the associated action is selected.


Fixed regression in notification of previous owner when ticket is reassigned.

  • Fix not working smtp_always_cc and smtp_always_bcc options in [notification] section.
  • Fix not working smtp_from_author option in [notification] section.

Allow to reorder subscription rules using drag-and-drop and submit in bulk in notifications panel of preferences.


In the db33 upgrade step, the create_and_assign action is only added if the assigned state exists in the workflow.


Fixed warning The action "None" is not available when cloning a ticket.


Minimum version of pysqlite is enforced to be 2.4.1. Minimum version of SQLite is enforced to be 3.0.0.

Milestone: 1.1.3 (33 matches)

Ticket Release Notes

Allow plugins to extend notification system.


Added a Notification preferences panel.


Use some of the more common WikiCreole style markup in the wiki editor toolbar.


Fine-grained permission check is used to populate the list of owners when [ticket] restrict_owner = True.


The milestone select is hidden from the ticket form if the user doesn't have MILESTONE_VIEW. Previously an empty select would be rendered.


Unicode control codes are replaced with spaces in attachment filenames.


List of attachments is shown on the wiki, ticket and milestone delete pages, along with a warning that the attachments will be deleted if the resource is deleted.


The [trac] default_date_format and default_dateinfo_format, and the [logging] log_type and log_level options are now ChoiceOptions. A ConfigurationError exception will be raised if an invalid entry is specified for one of the options in trac.ini.


The usernames in the default workflow hints are wrapped in spans with class trac-author, trac-author-anonymous or trac-author-none.


Removed deprecated [trac] repository_dir configuration option. An upgrade step attempts to move the configuration for the default repository to the [repositories] section.


The entire h3 is highlighted when linking to a ticket comment, rather than just the enclosed span.


Reworded the timeline filter text.


Model objects now use their name or id as part of their repr e.g. WikiPage u'StartPage@5'>.


The [trac] repository_sync_per_request option was removed and each repository now has a sync_per_request attribute. The default value of sync_per_request is False. An upgrade step handles the migration while preserving the behavior.

The sync_per_request attribute can be set on repositories defined in the database from the Repositories web admin page or using the trac-admin command. For repositories defined in the [repositories] section of trac.ini, the <name>.sync_per_request attribute can be edited.


Comment and author boxes span width of forms on wiki edit and attachment pages.


The ticket prefs checkbox label was changed from Comments only to Show property changes.


Removed support for SilverCity, Enscript and PhpRenderer syntax highlighters.

  • Improved layout of elements on the Advanced, Date & Time and Language preferences panels.
  • Combined Date & Time and Language preference panels as Localization.
  • Moved default_handler from the General to the User Interface preferences panel.
  • Moved localization settings on the Basic Settings admin page to their own fieldset.
  • Renamed Date relative/absolute format label to Time format.

Fixed test execution failure when unit test components remained enabled in functional tests.

  • Removed deprecated compat attribute of InterTrac links.
  • Removed support for legacy admin pages contributed by the WebAdminPlugin (Trac < 0.11).
  • Removed support for Trac 0.10 ITimelineEventProviders.

Removed from documentation the version in which a configuration option was added for versions of Trac < 0.12.


Added label attribute to the TracWorkflow actions and deprecated the name attribute. If neither name nor label is specified, the label will be created from the action name by replacing underscores with whitespace.

If not specified, the label attribute of TracTicketsCustomFields will be created from the custom field name by replacing underscores with whitespace.


Reduced size of editor symbols on wiki history page.


Groups and permissions can be specified in the comma-separated list of the set_owner workflow attribute.


Preference panels now support modular child panels.


Split up trac.notification module into a package of sub-modules.


Allow notification subscribers to watch individual resources etc.


Fixed regression in [13393] due to use of removed repository_sync_per_request attribute of RepositoryManager class.


Removed support for missing email module (Python 2.1) and old module names (Python 2.4).


The ticket creation step can be configured in the TracWorkflow and the workflow controls are present on the NewTicket page. The pre-creation state is specified in the TracWorkflow using the special <none> state. These changes allow the new state to be renamed, and support transitions other than <none>new (e.g. <none>assigned can be a workflow transition).


Wiki page version comments in change history can now be edited. (Requires WIKI_ADMIN permission.)

  • Moved the Add Comment fields below the Modify Ticket ones. This is both more user-friendly and eliminates the problem of the Submit button being displaced by the apparition of the preview.
  • Moved the author field to the Comment and Properties fieldsets.

Improved positioning of the Create this page button on the wiki page create form.

Milestone: 1.1.2 (33 matches)

Ticket Release Notes

Added may_set_owner workflow operation which is like set_owner but the value defaults to the existing owner.

  • Added [ticket] allowed_empty_fields, which specifies ticket select fields for which an empty value is one of the selections. The option was named optional_fields prior to 1.1.6.
  • Added Clear Default button to the Component and Enum pages.

Line numbers and row highlighting can be specified for WikiProcessor code blocks.


Added Select All checkboxes to the admin Components, Milestones, Priorities, Repositories, Resolutions, Severities, Ticket Types and Versions tables.


Milestone timeline filter label changed from Milestones reached to Milestones completed.


Submit buttons are disabled if the required items are not selected.


Replaced HTML tt tags with code tags.


Added a Copy Permissions form to the Permissions admin page.


The read-only attribute on wiki pages is now enforced using the ReadonlyWikiPolicy permission policy. ReadonlyWikiPolicy must be added to [trac] permission_policies before DefaultPermissionPolicy, LegacyAttachmentPolicy and, when present, after AuthzPermissionsPolicy. If additional permission policies are enabled, particular care should be given to the order of the policies when upgrading.


The default_milestone and default_version can be set to empty using the Clear default buttons on the corresponding Ticket System admin panels.


When editing or deleting a milestone and there are no tickets associated with the milestone, the retarget elements are not shown and a hint is shown in their place.


Removed duplicate linking of diff.css when rendering diff_view.html.


Moved inline styling in about.html template to external stylesheet, about.css.


Fix date/time picker not working with 24 hour time since updating to jquery-ui-addon v1.1.1


Added datepickers to time fields with the Relative format on the Query page. This change restores datepickers to the Created and Modified fields.


Added support for the prefix in TitleIndex macro to be resolved relative to current wiki page. (E.g. [[TitleIndex(./)]] lists all subpages.)


Removed old-style macro examples in sample-plugins directory.

  • Changed styling of Milestone, Ticket System Admin and Repository Admin edit pages by removing fieldsets around the Descriptions.
  • When milestone edit validations fail on the Milestone Admin page, a warning is added rather than redirecting to the error page.

The [trac] default_handler option can be set from the Basic Settings admin page. A ConfigurationError is raised when navigating to the base url if [trac] default_handler is set to a class for which is_valid_default_handler is False.


Removed listing of default values from option documentation. The default values aren't needed in the description since the TracIni macro outputs a column with the default value, and removing them makes the documentation more accurate and easier to maintain.


Reduced code duplication in the about.html and error.html templates.


The GitConnector and SubversionConnector are required components when a repository of their type is configured. When required, the Component cannot be disabled from the plugin admin page and its version is displayed on the About and Error pages. With these changes the behavior of the repository connectors matches that of database connectors.


The default_handler can be set as a session preference.


Minimum required Python version is 2.6.


Git and Mercurial raise a TracError rather than showing a traceback when attempting to view added and deleted files (#9775).


CommitTicketUpdater recognizes long-form ticket references with a trailing #comment:N or #comment:description in the token.


Updated notification options documentation using content that was previously on the TracNotification page.


The milestone table on the Milestone Admin page has a link from the ticket count to a query showing all tickets associated with the milestone, grouped by status. The link is only present when the ticket count is not zero.


Submit buttons are consistently located below the fieldsets on forms (horizontal-forms excepted).

  • Fine-grained permissions can be used to restrict access to the Report List page using the resource id -1.
  • Fine-grained permission checks are implemented on the Report List resource (for ReportModule) and the ticket realm (for QueryModule) before displaying the mainnav and contextual navigation items.
  • Fine-grained permissions can be used to grant the REPORT_CREATE permission for the report realm (using [report:*] in the authz file).

The option [milestone] default_retarget_to determines the default milestone to which tickets are retargeted when closing or deleting a milestone. The option can be set from the Milestone Admin page.


Author names are decorated in a span with class trac-author.


All stylesheets are added using add_stylesheet rather than using a link element in the template.

Milestone: 1.1.1 (9 matches)

Ticket Release Notes

Added support for custom ticket fields of type time.


In new tickets, custom time ticket fields may default to an absolute or relative date / time.


In TracBatchModify, custom time ticket fields can be changed with a date(time)picker popup control.


Optionally display the component of tickets in their timeline entries ([timeline] ticket_show_component setting).


Fixed batch modification when no fields are changed.


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


Dynamic variables can be used in the report title and description.


Handle case of report description being None for report variable substitution implemented in #10979.


File size is pretty-printed when the file can't be previewed or uploaded due to exceeding a size limit.

Code Name

The 0.11 release was dubbed "Genshi" and 0.12 "Babel", after the names of the Python packages that became closely associated to these Trac versions.

With Trac 1.0, no new strong dependency was added, so we went back to our age long tradition of picking a zombie related code name by naming it "Cell", following the 0.6 "Solanum", 0.7, "Fulci", 0.8 "Qualia", 0.9 "Vodun",0.10 "Zengia" releases :-)

So let's find a new cool name for 1.2

  • "Datura" — itamarost
  • "Austen" — yaelg
  • "Algol" — trbs
  • "Stubbs" — cm
  • "☣" — cboos
  • "Hermes" (or some other messenger deity)— psuter


Could be anything, like:

… or even something completely different ;-)

Last modified 6 weeks ago Last modified on Sep 12, 2016, 9:39:55 AM