These pages provide information about the development of Trac and its extensions, such as WikiMacros and other plugins.
We also keep track of what has been deprecated or removed between releases, see our Release Notes and the summary of API Changes. API Changes are summarised using the API change field attached to every ticket; this is a feature implemented since 1.0dev.
How to get started?
Then, you should get familiar with Trac's ComponentArchitecture, PluginDevelopment and DatabaseApi. The TracTroubleshooting page contains some debugging tips which are also quite useful during development.
When you're ready to make changes that you want to contribute, note that we're picky about our CodingStyle when SubmittingPatches. To be accepted, the modified Trac source should still pass the UnitTests and the FunctionalTests. Ideally, also contribute new tests.
Discussions about Trac Development happen on the Trac-dev mailing list. New development ideas are usually best discussed first on that list, it's a quick and easy way to get feedback on any given topic or question. As usual, search the archive first, to avoid rehashing old discussions. For longer term developments, or for documentation purposes, one should rather use the wiki. For referring to a mail from Trac-dev in this wiki, use the
googlegroups InterWiki prefix e.g. googlegroups:trac-dev:1b9c4e3eaeda3a0d.
You can see the message identifier in the address bar of your browser when viewing the message in Individual Message view mode. You can go there from the default threaded view by clicking on More options and then on the Individual Message or Show Original links.