Edgewall Software

Version 11 (modified by anonymous, 18 years ago) ( diff )

sp

Release Notes for Trac 0.10

Improved modularity

Trac now supports database and version control backends as third-party plugins.

It is now easier to add support for new database backends. In addition to the already existing support for SQLite and PostgreSQL, Trac now features experimental support for the MySQL database.

As for the version control systems, Trac still features best of breed Subversion support, but the dependency on the Subversion bindings and libraries is no longer mandatory. This will make life far easier for those wanting to use Trac without Subversion. Other version system backends are supported by the way of external plugins.

Improved notification system

MIME encoding scheme can be selected: base64 (default), quoted-printable or none. This feature decreases email size and avoids useless encodings for western languages that make some touchy SMTP servers bounce the notifications.

Improved support for local network installations supporting local email addresses (addresses without a domain name) and default domain name.

Support for both visible and blind carbon copies.

Advanced diff support

The TracRevisionLog view can now be used to select two arbitrary revisions of a given path in the repository and see the differences between them, in the familiar TracChangeset view.

A related change is the possibility to navigate through a sequence of restricted changesets. A restricted changeset is the subset of changes within a changeset that are corresponding to a given path. One can easily start navigating such a sequence by following the new Last Change navigation link present for the currently browsed path.

It's even possible to compare two arbitrary paths (at any given revision). This can be useful to check the differences between a tagged version and the trunk, or to review the set of differences between two branches…

InterWiki and InterTrac support

An InterWiki link can be used for referring to a Wiki page located in another Wiki system, and by extension, to any object located in any other Web application, provided a simple URL mapping can be done.

An InterTrac link can be seen as a scoped TracLinks. It is used for referring to a Trac resource (Wiki page, changeset, ticket, …) located in another Trac environment. This makes it easier to work in a TracMultipleProjects setup, and seamlessly refer to resources from one Trac to another.

Use WSGI as web-frontend protocol

Placeholder — cmlenz, your take ;)

Better protection against spam

Trac now has in place the internal hooks necessary to filter out spam content. In order to take benefit from this, the SpamFilter plugin must be installed and enabled.

We should probably package that plugin separately, but put it right beside the Trac packages, on the TracDownload page.

Lots of minor improvements

To the Wiki syntax

Numerous improvements have been made in the WikiFormatting syntax:

  • Headings can optionally be given explicit id.
  • MoinMoin ["internal free link"] syntax is now supported.
  • Introduced citation syntax for the Wiki (e-mail style).
  • Added more robust parsing and formatting of Wiki lists and robust coupling of lists and quotes.
  • Improved the way external links are displayed.
  • Lots of new ways to refer to specific repository views (diff:from//to, log:, [x:y], rx:y)
  • htdocs:, useful for refering to local resources in TracStandalone
  • MoinMoin-style syntax for description lists
  • Removed support for direct embedding of images using links: use the [[Image]] macro instead.

To the Wiki subsystem

  • Quicker access to last change on a page and better navigation in the page history
  • Preview the change comment before saving a change and display the change comment when viewing a specific version of a page. This hopefully will encourage authors to document their changes!

To the Ticket subsystem

  • Possibility to Reply to ticket description and changes
  • Export individual ticket data in CSV or RSS format

Developer-visible changes

unicode everywhere

Trac used to handle text content by using str objects, in which Unicode characters were represented using UTF-8 encoding. This lead to various problems with most non-western languages. We now use the dedicated unicode datatype to consistently handle text written in any language.

This removes all the problems caused by mistakenly cutting a UTF-8-encoded string between the bytes of a multi-byte character.

Better way to programatically generate HTML fragments

Placeholder: introduce briefly the Markup and Element classes

Unit test framework for email notifications

Email notifications can now be validated; unit tests include a private SMTP server and helper methods to extract and decode email data.

Note: See TracWiki for help on using the wiki.