Edgewall Software

Version 1 (modified by Christian Boos, 6 years ago) ( diff )

copied from ReleaseNotes/1.0

1.1 | 1.3

Release Notes for Trac 1.2 Hermes Release

Trac 1.2 is the current stable version of Trac.
These notes reflect the final status.


  • 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)

Maintenance Releases



33 / 33

Tickets with release notes

Milestone: 1.2.6 (2 matches)

Ticket Release Notes

Modified text of error message when permission not granted because user with PERMISSION_GRANT doesn't possess the permission.


Fixed ticket autopreview triggering without a form change.

Milestone: 1.2.5 (3 matches)

Ticket Release Notes

Fix unit-test failing with non en_US locale.


Fixed KeyError in log file due to invalid query filter request.


List owner, reporter and updater of the ticket in To header, when [notification] use_public_cc option is enabled.

Milestone: 1.2.4 (8 matches)

Ticket Release Notes

Fixed TracError exception and preserve log level and log file options when the log type is changed to none.


Improved error message when environment is incorrect version.


Modified trac-pre-commit-hook to use Trac 1.0 database API.

  • TracStandalone checks for existence of environment and authorization file paths.
  • Fixed absolute path not used for pidfile.

Fix an error raised when custom field of type time is constrained by range on PostgreSQL.


Do not translate custom field's labels.


Fixed margins around quoted lines containing bullet points.


Fixed instance of empty comment block in timeline.

Milestone: 1.2.3 (22 matches)

Ticket Release Notes

Added a notification subscriber for new tickets.


Fixed poor layout of Basic Settings admin page.


A module in the plugins directory that raises SystemExit exception will no longer disable the Trac instance.


Query system returns None for time field being NULL rather than an empty string and fix query system crashing when time and/or changetime columns are NULL and saved query exists in the user's session.


Components that failed to load due to missing required dependencies would still show on the plugin admin page.


Empty configuration sections are listed in command completion output of trac-admin interactive mode.


LF is always used as separator when generating HTML rather than using platform-dependent line separator.


Fixed failure to save default version from admin panel when trac.ini was not writable.


Use public schema by default for the Postgres database.


Workflow action is not shown for set_owner_to_self operation when ticket status is equal to the new state and ticket owner is the logged-in user.


Fix incorrect None bytes in repository browser when Node.content_length is None.


Fixed wiki formatting hint not visible for ticket description when wiki toolbars disabled.


Removed unintended fieldset around ticket description field.


The Release field on the Version edit page is no longer populated with the current datetime when the version release date is not set.


Fixed incorrect logging of negated permission as invalid in AuthzPolicy.


Fixed incorrect rendering of TracError message containing a div.


Fixed some actions not available on batch modify page.


The 'summary' metadata is read for single file plugins.


Request headers are configurable through the [http-headers] section of trac.ini.


The psycopg2-binary package satisfies requirements for using the PostgreSQL database backend.


Fix ProgrammingError raised on postgresql when query sorting by custom time field.


Fixed incorrect rendering of child preference panels.

Milestone: 1.2.2 (19 matches)

Ticket Release Notes

Invalid logging configuration can no longer disable the Trac instance when saving the configuration through the WebAdmin. Invalid configuration changes are not saved and a warning is displayed with the exception message.


The ticket author is used in the notification from field when [notification] smtp_from_author = enabled, rather than the ticket reporter. This changes the behavior for users with TICKET_ADMIN, since they are allowed to edit the Reporter field.


Filename, module or package can be passed to make pylint.


Updated TracQuery documentation to clarify the results returned by querying a modified date range.


Fixed incorrect CC field when full name but not email set in preferences.


Message is printed to console when synchronizing a non-cached repository using trac-admin.


Extra entries and comments in htpasswd and htdigest files are ignored.


Fix a regression of #12658, ticket notification not sending for authenticated users without email.


Render message in place of diff when changeset is not rendered due to exceeding [changeset] max_diff_bytes or [changeset] max_diff_files.


Fix [notification] use_short_addr and smtp_default_domain options being ignored for subscriptions without email address.


Fix signature lines in notification mails.


Error message differs for Git control files not found vs path does not exist.


The post_process_request method can redirect during exception handling from an exception raised in process_request (fix for regression in r14604).


Workflow hint is not added in transition to *, which restores the behavior prior to Trac 1.2. The behavior is utilized by the AdvancedTicketWorkflowPlugin's triage operation.


The positional arguments of the initenv trac-admin command are optional when using the --config switch.


Fixed poor error message when resource id is empty or None.


Fixed missing report heading in first group when value is empty


Fix incorrectly stripping [ and ] characters from the filename given to Image macro.


Fixed [logging] log_level and log_type were incorrectly case-sensitive after Trac 1.1.3.

Milestone: 1.2.1 (29 matches)

Ticket Release Notes

Fixed recursive directory copies with the trac-admin deploy command. The target directory cannot be equal to or below any of the source directories (e.g. $env/htdocs is not allowed as a target).

  • Fix unable to save notification format with no subscription rules in prefs/notification.
  • Add Default format in prefs/notification.
  • Add [notification] default_format.email option.

Fixed recursion in permission policy checks.


Fixed ValueError when version or old_version argument to WikiModule not an int.


Fix ValueError from datetime with local timezone when the offset isn't a whole number of minutes.


Add section and option named arguments which do glob matching to [[TracIni]] macro.


A ConfigurationError exception is raised when there is an error parsing the authz file for AuthzSourcePolicy, or if the file can't be found.


Fix invalid xhtml being generated for definition list after paragraph.


AuthzPolicy will only raise a ConfigurationError if it's in the list of permission_policies.


Fix email address not resolving for user without email.


EmailDistributor.resolvers returns only configured resolvers.


The TracAdmin upgrade command documentation specifies that the backup location is governed by [trac] backup_dir.


Replaced use of deprecated encrypt method from passlib library with hash.


Improve usability of Reply and Edit buttons associated with ticket comments


Fixed regression from r14208 for Pygments < 1.4.


Reduce logging level from error to warning for TracError: Session ID must be alphanumeric.


Error message is displayed rather than traceback when QuerySyntaxError is raised in TicketQuery macro.


Fixed failure to add always_notify_updater = TicketUpdaterSubscriber and always_notify_previous_updater = TicketPreviousUpdatersSubscriber to [notification-subscribers] in trac.ini when the default value of always_notify_updater was not present in trac.ini.


Added wikitext class to input fields that accept wiki markup.


Added shortcut for modifying state of Column checkboxes on Custom Query page.


VersionConflict and ImportError exceptions from single file plugins are logged at ERROR level. Previously a traceback would result.


Buttons in report view are available even when no query.


Improved logging for classes inheriting from EmailDistributor.


Milestone that exists but user does not have permission to view is not rendered in the missing style.


Directory listing in the Browser and Revision Log views label the date column as Date when Time format is Absolute. The column is labeled as Age when Time format is Relative.


Fixed missing ticket field change conflict markers (regression).


Invalid actions in authz file are logged at warning level.


Fixed error when calling Image macro with no arguments: [[Image(,)]].


Added an anchor to each option and highlight the corresponding entry in [[TracIni]] macro.

Trac 1.2: Detailed User Visible Changes

Component: admin/console (2 matches)

Ticket Release Notes

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


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

Component: admin/web (2 matches)

Ticket Release Notes

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.

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

Component: database backend (1 match)

Ticket Release Notes

Component: general (13 matches)

Ticket Release Notes

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.


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

Replaced suite function in test modules with test_suite.


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


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.


Replaced fcrypt dependency with passlib.


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

  • 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.

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

Component: i18n (1 match)

Ticket Release Notes

Fixed incorrect entries in pot (translation) file due to string interpolation in option description.

Component: notification (4 matches)

Ticket Release Notes

Subscription rules preferences are hidden if no rules are available.


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


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


Fix not working notification preference panel with PostgreSQL.

Component: plugin/git (1 match)

Ticket Release Notes

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

Component: query system (3 matches)

Ticket Release Notes

Added shortcuts for modifying the state of TracQuery checkbox filters.


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


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

Component: rendering (2 matches)

Ticket Release Notes

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


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).

Component: report system (1 match)

Ticket Release Notes

Component: roadmap (2 matches)

Ticket Release Notes

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


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

Component: search system (2 matches)

Ticket Release Notes

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


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

Component: ticket system (15 matches)

Ticket Release Notes

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


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.

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

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


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.


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


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


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.


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.


Fixed wrong groupby parameter of query in milestones admin panel.

Component: timeline (1 match)

Ticket Release Notes

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

Component: version control (2 matches)

Ticket Release Notes

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


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

Component: version control/browser (1 match)

Ticket Release Notes

Support jQuery v1.11.3.

Component: version control/changeset view (1 match)

Ticket Release Notes

Replaced suggest.js with jQuery UI's autocomplete.

Component: web frontend (5 matches)

Ticket Release Notes

Fixed 'AttributeError: FakeSession' object has no attribute 'authenticated' error, due to missing attributes on DetachedSession class.


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


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


Component: wiki system (2 matches)

Ticket Release Notes

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


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


  • This release requires a database upgrade when upgrading from the 1.0.x series:
    trac-admin $TRAC_ENV upgrade

Developer-visible changes

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

Note: See TracWiki for help on using the wiki.