Changes between Initial Version and Version 1 of PluginCompatibility

Oct 3, 2017, 12:59:57 AM (5 years ago)
Ryan J Ollos

First draft of documentation on plugin compatibility.


  • PluginCompatibility

    v1 v1  
     1= Plugin Compatibility
     3The following are some hints for determining if a plugin is compatible with a particular Trac version. This page assumes you are installing from the source that is checked out from SVN or downloaded as a zip.
     5First, look for a tag on the project's wiki page, such as [tag:1.0] or [tag:1.2]. If the plugin is tagged with the Trac major release number then it claims to be compatible with all minor releases of that Trac version. For example, a project page tagged with Trac 1.2 should be compatible with all 1.2.x releases of Trac.
     7The absence of a tag for your Trac version does not mean the plugin won't work with your version of Trac. It may mean no one has tested the plugin with that version, or simply that the project wiki page tags are out-of-date. It is suggested your proceed by:
     81. Reviewing the project wiki page for documentation about Trac compatibility.
     91. Reviewing open tickets for the plugin. Issues with particular Trac releases may have already been reported.
     101. Testing the plugin in a sandbox instance of Trac. This is always a good idea before installing to your production instance. Open a ticket if you find any defects.
     111. Ask on the [trac:MailingList#Trac-users trac-users mailing list].
     13If you find the plugin to be compatible with particular Trac version you can be a good citizen by updating the project page tags. See HackProcedures#Tagguidelines for details.
     15It can sometimes be difficult to determine which source you should install, even for a plugin that claims to be compatible with your Trac version. Plugins often use a directory structure where the basename is the Trac version that the plugin was developed for (e.g. `0.11` or `1.0`).  The code in that directory will often be compatible with later Trac versions, as much of the API does not change from release to release. In fact, there were few breaking API changes from 0.11 to 1.0, and many changes in Trac 1.2 when deprecated code was removed from the API. The code in a `0.11` directory is likely compatible with Trac 0.12.x, and may even be compatible with 1.0.x and 1.2.x.  See [trac:RoadMap#MilestoneCategories] for information about the Trac versioning convention.
     17If there are multiple source code directories, such as `0.11` and `1.2`, this is an even stronger hint that the `0.11` directory is compatible with all Trac versions up to `1.2`, and the `1.2` directory is likely compatible with all 1.2.x versions and maybe even later Trac versions like 1.4.x.