|Version 15 (modified by 10 years ago) ( diff ),|
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
If the old interface can't be maintained, document it as such in the appropriate TracDev/ApiChanges/<version> page.
Detailed changes per version
See also the ApiDocs themselves.
- : 0.12b1
- : templates/macros.html deprecated
- : zero-padding of revision numbers in the repository cache (upgrade needed)
- : timestamps stored as bigints (microsecond resolution) in the db (upgrade needed)
- : 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
- r6805: functional tests available in trunk (see TESTING-README)
- r6352 removed the
req.warning("...")call. Replace it with
- r6139 integrated the API changes developed in the context-refactoring branch. The early 0.11dev plugins most probably need to be adapted. See the TracDev/ApiChanges/0.11 page.
- r5514: Flexible permission system
- r5378: Flexible/extensible ticket workflow
- r4819: Setuptools integration
- r4095: WebAdmin integration
- r4561: versioncontrol "blame" support
- r3947: jQuery integration
- r3935: Timezone support and internal use of
- r3832: Genshi integration (open tickets)