Trac Graphviz Plugin v0.7.1 Release Notes ========================================= March 18, 2008 Graphviz plugin v0.7.1 for Trac is now available. The v0.7.x series provides support for Trac 0.11. The Graphviz wiki processor is a plugin for Trac that allows the the dynamic generation of diagrams by the various graphviz programs. The text of a wiki page can contain the source text for graphviz and the web browser will show the resulting image. Changes for release v0.7.1 -------------------------- * Changed the interfaces used to communicate w/ Trac to support Trac 0.11. * Replaced the use of os.popen3 with subprocess.Popen to better support running on Windows. This implies that the Graphviz plugin requires Python 2.4 and above. * Renamed GraphvizMacro to Graphviz. * Added support for OS X when searching for the Graphviz executable programs. Fixes #1999. * Expanded the default locations used when searching for the Graphviz executable programs. Changes for release v0.7.0 -------------------------- * Internal release. Changes for release v0.6.8 -------------------------- * Added better support for non-ascii characters in graphviz wiki documents. Changes for release v0.6.7 -------------------------- * The GraphvizMacro v0.6.5 release introduced a bug with the now optional cmd_path. If run on a platform whose sys.platform name is not in the GraphvizMacro.cmd_paths dictionary, the self.cmd_path variable isn't initialized. This caused a wee problem and stack trace in Trac. Changes for release v0.6.6 -------------------------- * The GraphvizMacro v0.6.5 release introduced a bug with the IHTMLPreviewRenderer interface. The render method assumed that the content parameter was an object with a read method. Under trac 0.10 with a Subversion repository, this object is a svn.core.Stream. Under trac 0.9 the object is a string with the contents from the repository. As a result, the v0.6.5 wouldn't render the images and the raw text was displayed. Changes for release v0.6.5 -------------------------- * The default graphviz processor is now the only processor that must be found on the system. GraphvizMacro will not work without it. If any of the other processors are missing, a warning message will be sent to the trac log, the processor will be removed from the list of known GraphvizMacro processors and GraphvizMacro will continue. Resolves issue http://trac-hacks.org/ticket/159. * The cmd_path configuration parameter in trac.ini is now optional. Reasonable default values have been set for Linux, Win32 and FreeBSD6. * Altered the way the GraphvizMacro description is returned in get_macro_description. Instead of returning a description for each variant (graphviz, graphviz/png, graphviz/svg, etc.) only return a description for graphviz. This will cleanup the WikiMacros page a bit to hopefully make it easier to navigate. It isn't a perfect solution since all the graphviz macro names are still displayed but it no longer repeats the same description for each permutation. Resolves issue http://trac-hacks.org/ticket/284. * Implemented the IRequestHandler interface to return graphviz generated images. This means that graphviz images can be referenced via http://URL_TO_TRAC_SERVER/graphviz/HASH_KEY. As a result of this change, the prefix_url configuration parameter is no longer needed in the trac.ini file. Resolves issue http://trac-hacks.org/ticket/86. * Links within images that are rendered as SVG are now automatically prefixed with javascript:window.parent.location.href= to force the link to be displayed in the parent window instead of the SVG object window. Resolves issue http://trac-hacks.org/ticket/560. * Included the processor options when calculating the sha key used for the image file name. This should help in testing various graphviz settings in trac.ini. Resolves issue http://trac-hacks.org/ticket/575. * Fixed expand_wiki_links to allow for javascript URL references. Resolves issue http://trac-hacks.org/ticket/559. * GraphvizMacro is now also an IHTMLPreviewRenderer. This was done by adding application/graphviz as the mimetype for files with the extension of .graphviz, .dot, .neato, .twopi, .circo and .fdp. When browsing the source code in the respoitory, any files with those extensions will be treated as graphviz programs and will be rendered via the GraphvizMacro. Resolves issue http://trac-hacks.org/attachment/ticket/576. * Escaped the error message before displaying it. Resolves issue http://trac-hacks.org/ticket/574. Changes for release v0.6.4 -------------------------- * Fixed problem where boolean values in the trac.ini file for Graphviz would always evaluate to True. Resolves issue http://trac-hacks.org/ticket/373. Changes for release v0.6.3 -------------------------- * Corrected Trac 0.10 specific config API calls to allow the plugin to work with 0.9 as well as 0.10 releases of Trac. Changes for release v0.6.2 -------------------------- * Simplify the code to read the configuration files. Instead of having lots of if structures, default values are passed as a parameter to the self.config.get call. * Renamed Readme.txt to README.txt. * Added a additional comment to README.txt about rsvg not being available on Windows. * Changed plugin structure to use entry_points in setup.py instead of graphviz.egg-info/trac_plugin.txt. * Removed graphviz.egg-info from svn repository. It is generated via "python setup.py bdist_egg" and shouldn't be in the repository. * Added Windows trac.ini [graphviz] example. * Fixed access to global vs local config variables. Resolves issue http://trac-hacks.org/ticket/242. Changes for release v0.6.1 -------------------------- * Applied patch from eblot to correct the regular expression for embedded URLs. Resolves issue http://trac-hacks.org/ticket/161. * Renamed module variable __version__ to __revision__ to better reflect the intent. * Moved the release version number from setup.py to graphviz/graphviz.py. The version number is now logged when the graphviz module is initialized. * Commented out the many self.log.debug messages. As pointed out in, http://trac-hacks.org/ticket/238, the core seems to be mostly stable and having lots and lots of debugging messages may no longer be needed. * Added defaults for the cache management control values: * cache_max_size = 10,000,000 * cache_min_size = 5,000,000 * cache_max_count = 2,000 * cache_min_count = 1,500 The resolves issue http://trac-hacks.org/ticket/160. Changes for release v0.6 ------------------------ * In render_macro, corrected the self.log.debug statements that were printing out the req.args and req.base_url. They are not always available. Removed the reference to req.base_url since it was not being used and may not always be an attribute to req. Resolves issue http://trac-hacks.org/ticket/193. * Added import for the inspect module. Resolves issue http://trac-hacks.org/ticket/236. Changes for release v0.5.1 -------------------------- * Corrected typo in graphviz.py where the wrong internal variable was being used to display an error message. Changes for release v0.5 ------------------------ * Added a note in the Readme.txt wrt using load_examples.py to import the Graphviz examples into a wiki. Fixed load_examples.py so that it correctly looks for Graphviz examples in directories other than the working directory. * Fixed a bug whereby image maps were a bit off when using the png antialiasing option. * URL= strings in diagrams can now have Trac wiki links like ticket:1, report:7, changeset:47, wiki:CamelCasePage, milestone:milestone1 and source:Readme.txt. * Added additional examples for links in SVG images and using Trac wiki links. * Fixed the bug #102 (http://trac-hacks.swapoff.org/ticket/102) whereby popen2.Popen3 is not available on Windows. Changes for release v0.4 ------------------------ * Map support for bitmap images, allowing to use URL="" attributes in graphs. Maps are only generated if the URL= string is found in the Graphviz diagram. * Antialiasing on PNG images, using rsvg, from . * Better display of SVG images and IE support. * Display errors graphviz may produce. * Support for global graph options. * Updated documentation. * Example graphs have been created to outline the basic capabilities of the plugin. * The tmp_dir is no longer needed. Instead of creating temp files to be processed by graphviz, the plugin now communicates with the graphviz programs through pipes. * Expanded info and debugging messages to allow for better debugging of the running environment. * Error messages that occur when running the grapviz programs will now be displayed in the browser. This should help in resolving syntax problems with graphviz code. * Graphviz program paths are now enclosed in quotes. This should resolve the problem when there are spaces in the path as is typical on Windows. Changes for release v0.3 ------------------------ * A simple cache manager has been added to keep the cache disk space and directory entry count under control. A series of parameters in the [graphviz] section of the trac.ini configuration file are used to control the cache manager. * The tmp files used in processing the graphviz language are now deleted after the new image is created. * A series of debugging statements are now in the code. See the Trac logging documentation section for details on how logging works. More Information ---------------- The graphviz plugin macro home page can be found at: https://trac-hacks.swapoff.org/wiki/GraphvizPlugin The plugin has been tested on a Linux x86 system running python 2.4 and the latest version of trac from subversion. Testing on other platforms would be appreciated. Bugs and enhancement requests can be submitted at: http://trac-hacks.swapoff.org/newticket?component=GraphvizPlugin&owner=pkropf $Id$