Edgewall Software

1.2 | 1.4

Release Notes for Trac development releases 1.3.x

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

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

However, by following 1.3.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.3.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.3 page.

Highlights

  • Modernized the code to support Python 2.7 idioms (earlier versions are no longer supported) (#12046, #12148, #12558, #12569)
  • Removed lots of backward compatibility APIs from pre-1.0 days; in particular, the database API is now exclusively based on the context managers (#9612, #11901)

Development Releases

Overview

1.3.1

17 / 17

Tickets with release notes

Milestone: 1.3.3 (12 matches)

Ticket Release Notes
#12090

Repository cannot be added from the admin page if a repository of the same name is already defined in the [repositories] section of trac.ini.

#12642
  • Ticket preview is disabled when there are no workflow actions.
  • The default reset action is not added if there is no new state in the workflow.
#12706

Redirect to the query module after deleting a ticket. If the deleted ticket is in the list of results from the last query, the last query is displayed, otherwise the default query is displayed.

#12716

Added comment edit link to wiki diff view.

#12771

trac-svn-hook can be configured using the hook script environment configuration, available in Subversion 1.8 and later.

#12873

Fixed duplicate ids on page when more than one wiki toolbar.

#12879

Values in owner, reporter and CC property changes are decorated with trac-author-* classes (by Chrome.authorinfo).

#12891
  • Removed repostype and repospath arguments from trac-admin initenv command.
  • All cached repositories are synchronized on environment creation.
#12899

TracGuide wiki pages are set readonly when creating an environment.

#12919

Fix malformed html being rendered when a report has only one column.

#12947

The behavior user can edit CC field for new ticket without possessing TICKET_EDIT_CC is implemented in DefaultTicketPolicy. This allows the behavior to be modified by replacing DefaultTicketPolicy.

#11112

Changed styling and position of the You may use WikiFormatting here hint.

Milestone: 1.3.2 (56 matches)

Ticket Release Notes
#12639

The template engine used by Trac is now Jinja2. Genshi templates rendering in plugins will be supported until Trac 1.5.1.

#633

Use relative font sizes in Trac CSS stylesheets

#3776

Added autopreviews to all textareas that accept wiki markup.

#8778

The TICKET_CHG_MILESTONE action is used internally to grant/deny changing the ticket milestone. DefaultPermissionPolicy grants the action when the user has MILESTONE_VIEW for the milestone. See CookBook/PermissionPolicies#RestrictChangingTicketMilestone for details on implementing fine-grained access control for changing the ticket milestone.

#9487

Extracted variables in WikiModule for the start page and title index page, so they can be overridden by a plugin.

#10454

Respect spacing within inline code style in the wiki

#10635

5 times speed-up when rendering query results, thanks to the migration from Genshi to Jinja2.

#10656

Added ticket delete_comment command to TracAdmin.

#10735

The tracopt.ticket.clone optional component makes it possible to clone a ticket starting from one of its comment, which can be useful to create "sub-tickets".

#11317

Made the navigation more configurable.

  • Entries can be added to the navigation
  • Entries provided by Trac and plugins can be moved the between meta and main navigation
  • Added a permission attribute for controlling visibility of the entry
#11341

Milestone admin page can be accessed by a user possessing MILESTONE_ADMIN. TICKET_ADMIN is required to set the default ticket milestone and default retarget milestone.

#11419
  • Traceback is not shown when existing resource is added using TracAdmin (e.g. trac-admin $env milestone add <milestone>.
  • Cached fields returned by TicketSystem.get_ticket_fields were not updated when milestone due or completed dates were changed.
#11502

Added test coverage for TracAdmin help commands.

#11649

Added description field to ticket enums.

#11723
  • Ticket validators are called in batch modify request.
  • TICKET_BATCH_MODIFY grants TICKET_MODIFY.
#11825

Leading whitespace (indentation) is removed from extracted messages.

#11865

Workflow macro can render files from the repository.

#12223

Report sort order is preserved when changing Max items per page.

#12230

Report dynamic variables are autocompleted in the preferences form.

#12265

Absolute path to wiki page can be passed in the template argument by prefixing path with / (e.g. /TheTemplate). This is useful for plugins and links that wish to use a template that shouldn't be visible in the templates dropdown of the wiki new page form. Relative paths are still prefixed with PageTemplates/.

#12299

Added TracAdmin convert_db command, which migrates a database to the same or new environment while changing the database backend.

#12348

Fixed now button in jQuery timepicker not using session timezone preference.

#12564

Added test coverage for Request.__repr__.

#12590

Added max_size attribute to text and textarea custom fields.

#12640

Restyles the wiki and allow toggling the page between narrow and full width.

#12649

Fixed case-insensitive usernames in AuthzPolicy, a regression introduced in Trac 1.2.

#12653

Improve interoperability on Windows with the Windows subsystem for Linux (WSL). Repository paths stored as Windows paths will be converted at runtime to the equivalent POSIX paths if needed.

#12663

Use setUpModule and tearDownModule in trac.ticket.tests.notification to avoid test failures when running individual test cases rather than all tests in the module.

#12666

The path /milestone redirects to /roadmap even when a user doesn't have MILESTONE_VIEW.

#12680

Improved exception trapping and logging when executing ExtensionPoints: IEnvironmentSetupParticipant, INavigationContributor and ITimelineEventProvider.

#12684

Fixed exceptions due to req.args.get unexpectedly returning a list.

#12689

Fixed timeline date headings not localized (regression in Jinja2 porting).

#12704

Fixed TypeError when report is saved with an empty Query.

#12719
  • Added a new permission policy for the ticket system (DefaultTicketPolicy):
    • Authenticated user with TICKET_APPEND or TICKET_CHGPROP can modify description of ticket they reported.
  • Renamed ReadonlyWikiPolicy to DefaultWikiPolicy.
  • Modified LegacyAttachmentPolicy to allow authenticated users to delete their own attachments.
#12721

Timeline Ticket updates filter is enabled by default and the filter value defaults to True.

#12725
  • Ticket comment edits are validated. ITicketManipulators are called and [ticket] max_comment_size is enforced.
  • Added ticket warnings above the preview.
#12736

Empty Comment field is not displayed when viewing diff of a comment.

#12738

Fixed TypeError when deleting wiki page with more than one version.

#12773

Avoid extra spaces in each title of diff block.

#12784

No Changes is shown in side-by-side wiki diff mode when there are no differences.

#12794

The version release date is shown in the title of the Version link of the ticket box.

#12798
  • Fix typo, __slot__, in trac.util.html.
  • Fix UnicodeEncodeError raised from Element.__str__.
  • Fix TemplateRuntimeError raised in error.html when faulty plugins are more than one.
#12807

The allowed ticket owners can be programmatically controlled by subclassing ConfigurableTicketWorkflow and overriding the get_allowed_owner method.

#12814

Added help links to documentation on various pages.

#12821

PyMySQL is the supported MySQL library, with support dropped for MySQL-python.

#12822

Use url-regexp for tc.follow() rather than text-regexp to avoid modifying incorrect textarea value by twill.

#12824
  • The workflow is upgraded in db21.py rather than ConfigurableTicketWorkflow.upgrade_environment.
  • The wiki-macros directory is removed in db26.py rather than EnvironmentAdmin._do_upgrade.
#12842

The authenticated user is used as the reporter when cloning a ticket.

#12843

The cloned ticket description is quoted when cloning a ticket.

#12850

Fix wrong msgid_plural in wiki_delete.html.

#12862

Fix distutils.log has no attribute warning.

#12869

Improve check_catalog command to check whether same markups are used between msgid and msgstr in translations.

#12870

Added attachment move command to TracAdmin.

#12874

Fix switch to plain-text/interactive mode in error.html when preferred language is not English.

#12876

Remove unnecessary __FORM_TOKEN from ticketdeleter forms.

#12674

Fixed regression in r15010 that resulted in TypeError when exporting iCal from the roadmap.

Milestone: 1.3.1 (16 matches)

Ticket Release Notes
#11837

Default values for TracReport dynamic variables can be specified in the SQL query itself, inside SQL comments.

#11874

EnvironmentStub logs to a MemoryHandler and a list of (debug_level, message) tuples can be retrieved through the log_messages property.

#11901

Removed deprecated functions, classes, attributes and methods.

#12046

Replaced StringIO.StringIO and cStringIO.StringIO with io.StringIO and io.BytesIO.

#12148

Replaced uses of optparse with argparse throughout codebase.

#12205

Ticket changes can be used to format the subject template. changes is the dictionary returned from Ticket.get_change.

#12242

The trac-admin permission add command is atomic when operating on a list of permissions. If the user already possesses one of the permissions, a warning will be printed and the other permissions in the list will be granted. If one of the permissions raises a TracError (e.g. not a valid action), none of the permissions in the list are granted.

#12496
  • PostgreSQL version is shown in System Information table.
  • The minimum PostgreSQL version is now 9.1.0.
#12539

Fixed regression in r14888.

#12558

Refactored code to use Popen context manager.

#12559

Dropped support for PostgreSQL < 9.1.

#12569

Refactored code to use open and contextlib.closing context managers.

#9612

Remove ipnr from attachment and wiki models.

#11748

The search box is only visible when the SEARCH_VIEW permission is defined and granted to the user.

#12622

Load libpq library to call libpq_version only if it is dynamically linked.

#11292

Remember last selected search filters in the session

Developer-visible changes

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

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. Therefore, it seems appropriate to name 1.4 "Jinja".

Last modified 6 months ago Last modified on May 26, 2017, 3:29:19 AM
Note: See TracWiki for help on using the wiki.