= Release Notes for Trac [milestone:0.10] = == Improved modularity == Trac now support database and version control backends as third-party plugins. It is now easier to support new database backends. In addition to the already existing support for SQLite and PostgreSQL, Trac features now experimental support for MySQL database. For the version control system support, Trac still features best of breed Subversion support, but the dependency on the Subversion is no longer mandatory, which makes life far easier for those wanting to use Trac and don't need to work with Subversion. Support for other version system backends are available as external plugins. == Improved notification system == ''Placeholder -- manu, can you take care of this one?'' == Advanced diff support == The TracRevisionLog view can 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, that is, the part of a changeset corresponding to a given path, starting from the ''Last Change'' that occurred on the currently browsed path. It's even possible to compare two arbitrary paths (at any given revision), e.g. 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 seemlessly 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 besides the Trac packages, on the TracDownload page. == Wiki syntax improvements == Numerous improvements have been made on the WikiFormatting syntax. * headings can optionally be given explicit ''id'' * MoinMoin `["internal free link"]` is supported * Introduced citation syntax for the Wiki, e-mail style. * More robust parsing and formatting of Wiki lists and robust coupling of lists and quotes * Improve the way external links are displayed. * Lots of new ways to refer to specific repository views * htdocs: for refering to local resources in TracStandalone * MoinMoin style syntax for description lists * Support for direct embedding of images using links has been removed: use the ![[Image]] macro instead. == Developer visible changes == === `unicode` everywhere === Trac used to handle text content by using `str` objects, in which bytes where encoding Unicode characters using the UTF-8 encoding. This lead to various problems with most non-western languages, and the decision was made to use the dedicated `unicode` datatype to be able to handle consistently text written in any language. === Better way to programatically generate of HTML fragments === ''Placeholder: introduce briefly the Markup and Element classes''