Edgewall Software
Last modified 9 months ago Last modified on May 14, 2011 4:43:15 PM

Evolution of the Trac API

Guidelines for API changes

Always try to maintain API compatibility.

If an interface must be changed:

  • try to maintain the old interface for at least one minor version change (e.g. 0.10 -> 0.11)
  • log deprecation warnings if the old method is used
  • document the API change:
    • in TracDev/ApiChanges/<version> or in the API changes field of the corresponding ticket if any.
    • in the docstring, make use of the .. versionmodified:: and .. deprecated:: directives.

If the old interface can't be maintained, document it as such in the appropriate TracDev/ApiChanges/<version> page.

Detailed changes per version

TracDev/ApiChanges/ 0.10, 0.11, 0.12, 0.13

See also the ApiDocs themselves.

Development Milestones

Milestone 0.13

Milestone 0.12

  • [9825]: 0.12rc1 - javascript translations and setup.py changes (get_l10n_cmdclass and get_l10n_js_cmdclass)
  • [9595]: 0.12b1
  • [9260]: templates/macros.html deprecated
  • [9224]: zero-padding of revision numbers in the repository cache (upgrade needed)
  • [9210]: timestamps stored as bigints (microsecond resolution) in the db (upgrade needed)
  • [9175]: MultiRepos merge, (repository resync needed)
  • ... (well, tons of changes)
  • r7705: i18n support for plugins - you'll need Genshi's advanced-i18n for getting translated templates.
  • r6986: Internationalization support

Milestone 0.11