Nik Clayton
and 1 contributors

CHANGES

# SYNOPSIS

Changes between SVN::Web versions.

# DESCRIPTION

This is a list of the main changes between different versions of SVN::Web. Please see UPDATING.pod for details about any changes you may need to make when updating an SVN::Web installation.

## 0.53, released Apr 29, 2007

• Change how path's are encoded, to work around new strictness in Template Toolkit's uri filter. SVN::Web now works with versions of TT > 2.15.

• Adjust t/timedate-format.t to work correctly in non-English locales. Fixes rt#25435, reported by ema_zep@libero.it.

## 0.52, released Jan 22, 2007

• Belatedly update the SVN::Web installation to note that Subversion 1.4.0 or above is now required to use SVN::Web.

## 0.51, released Jan 15, 2007

• reposparent functionality was inadvertently broken in 0.50. This release fixes that. This was rt#24377 reported by Christoph Buescher <Christoph.Buescher@fiducia.de>.

## 0.50, released Jan 12, 2007

• SVN::Web now supports accessing repositories that are not on the same host as the SVN::Web installation. Repositories can be accessed using the file:///, http://, and svn:// protocols.

• A mechanism for configuring which actions are available on each page has been introduced. See "Action menu configuration" in SVN::Web for more.

• A new action, SVN::Web::Blame has been introduced. This generates output that shows the Subversion annotation/blame information for a file.

• Diff output (from SVN::Web::Diff and SVN::Web::Revision) is now generated by Subversion, rather than SVN::Web. This makes diff generation much faster, and much less memory intensive. However, it has meant that the context option is no longer available.

There are several small tweaks to the diff and revision output.

• Refactoring and rewriting has meant that Digest::MD5, Text::Diff, and Text::Diff::HTML are no longer prequisites.

• A bug has been fixed in RSS generation. The contents of the <description> element are now wrapped in CDATA markers to ensure that any embedded markup is preserved.

• There is now support for keeping localisation files in arbitrary directories, configured by the language_dirs configuration option. This makes it simpler to maintain your own localisation files outside of SVN::Web, and makes it easier to integrate third party actions in to an SVN::Web installation.

See "Languages" in SVN::Web and SVN::Web::I18N for more details.

• The Template::Toolkit log_msg meta-filter has been replaced with a Template::Toolkit MACRO, defined in _log_msg. The effect is the same, but this approach affords more flexibility (e.g., having different log message filters per repository).

• The log template now supports rudimentary 'paging' through the log messages. Proper paging support requires new functionality in Subversion. Selecting the number of log messages to show per page is also more straightforward.

• SVN::Web::Revision supports a max_diff_size configuration option to cope with revisions which may generate huge diffs.

• The configuration file (config.yaml) must contain a version key, otherwise a fatal error is generated.

• Most extraneous whitespace is now removed from the templates when output is being produced.

• Documentation bug rt#22282, reported by Andrew Sterling Hanenkamp <sterling@hanenkamp.com>, has been fixed.

## 0.49, released Aug 23, 2006

• SVN::Web now properly supports Apache 2 / mod_perl 2. In addition, the test suite contains tests that work under Apache 2, and ensure that future changes should not introduce regressions in this functionality.

• File::Spec is now used when constructing filesystem paths, instead of assuming that the directory separator is /. This should allow the use of native paths on Windows, e.g. C:\path\to\svnweb.

• A bug in the mod_perl handler meant that the [% script %] directive wasn't generating fully qualified links. This resulted in links in the RSS feed being relative. This is now fixed. Reported by Dietrich Streifert <dietrich.streifert@visionet.de>.

• When testing the generated httpd.conf includes an explicit ServerName directive, removing a warning on some hosts. Reported in rt#20170 by <fiajro@cy.ath.cx>.

• Set permissions on the temporary directories when running tests as root. Otherwise they fail. Reported in rt#20170 by <fiajro@cy.ath.cx>.

• Fix a bug encounted on Solaris. SVN::Core::time_from_cstring() was returning negative numbers.

• The questions that are asked when running perl Build.PL can now be answered and/or skipped by passing command line options to Build.PL. Run perldoc Build.PL for the documentation options.

• Paths to Apache modules are no longer hardcoded in conf/httpd.tt. apxs is used to retrieve the value of the Apache library directory. In addition, the name of the mod_perl .so file is now configurable, as different systems call it different things.

• Included documentation on using SVN::Web with the IIS web server. Submitted by Tom Hukins <tom@eborcom.com> in rt#20341.

• A bug in the author's testing environment meant that 0.48 shipped with templates that generated HTML that was not strictly valid. This, and the templates, have been fixed.

## 0.48, released Jun 28, 2006

• The interface localisation can now be selected. The interface has always been localised, but the mechanism for choosing it has been badly exposed. SVN::Web now supports two configuration options (languages and default_language) to specify the language selection.

In addition, the available configured languages are also exposed through the (trac) user interface, and the user can choose from the list of available localisation. Their choice is saved in a cookie.

• Generation of RSS feeds is now done using a template, instead of using XML::RSS. This removes a dependency on XML:RSS, and should make it easier to customise the content of the RSS feed should you desire.

This fixes rt#18169, reported by Mike Ellery <mikee@s2technologies.com>.

• RSS feeds are now autodiscoverable in modern browsers.

• The formatting of timestamps is now configurable using "strftime" in POSIX. You can choose how timestamps are formatted, and they can be displayed in UTC (the Subversion default), the server's local timezone, or the timezone of your choice. See "Time and date formatting" in SVN::Web for details.

This fixes rt#18806, reported by Mike Ellery <mikee@s2technologies.com>.

• Worked around a bug in Subversion where repository paths that were specified with a tailing slash would trigger an assertion. This fixes rt#19273, reported by Michael Schwern <MSCHWERN@cpan.org>.

• Fixed a bug where the directory_umask cache backend option was not being treated as an octal number. This fixes rt#19272, reported by Michael Schwern <MSCHWERN@cpan.org>.

• The SVN::Web::Revision action now show's the repository's youngest revision if no rev parameter is provided.

• Fixed a bug in SVN::Web::Revision. Revisions that contain files that were copied from another file, modified, and then committed will now be displayed properly instead of generating an error.

• The documentation for SVN::Web includes an example configuration for Apache and FastCGI, contributed by Robert Spier <rspier@pobox.com>.

• Made extensive changes to the test suite. Include tests that exercise SVN::Web when running under svnweb-server, as a CGI script, and as an Apache mod_perl1 handler. These tests are optional -- the installer is prompted at perl Build.PL time whether to run these tests, and to provide the information the tests need (such as the port to run on).

## 0.47, released May 6, 2006

• Implement support for caching the results of the actions, using any of the Cache::Cache family of modules. In tests (see t/benchmark.t) this can yield a 20% or greater speed benefit. See "Data cache" in SVN::Web for details of how to enable the cache and configure cache related options.

• Support Subversion repo directories and files that have spaces or other characters that should be URI escaped in their names. Fixes rt#19093, reported by <gbloice@gmail.com>.

• Commented out the references to Template::Plugin::Clickable and Template::Plugin::Clickable::Email in the config file that is generated by svnweb-install. This stops log files filling up with warnings if they're not present. The lines remain, commented out, as a suggestion for users.

• Improved the modperl2 support, fixing rt#19004, rt#18437, and rt#18346 (Garrison Hoffman <garrison@codefix.net>, <cpan@rickster.com>, Thomas Nagel <me@thomasnagel.com>).

## 0.46, released Mar 9, 2006

• Fixed a bug in svnweb-server. The CGI module is now always used when running under this server, instead of CGI::Fast. This should fix problems if you are trying to use svnweb-server on a host with CGI::Fast installed.

## 0.45, released Mar 8, 2006

• Fixed a bug that broke mod_perl support.

## 0.44, released Mar 8, 2006

• When browsing the repository the trac templates now include age of the file, expressed as {seconds, minutes, hours, days, weeks, months, years} since the file was last modified.

• The revision, log, view, and rss actions are much more conservative with memory when processing commits that changed a large number of files. Fixes rt#17359, reported by Dietrich Streifert <dietrich.streifert@visionet.de>.

• Included support for running under mod_perl2 as well as mod_perl1. Fixes rt#17085 and rt#17350. Based on a patch from Garrison Hoffman <garrison@codefix.net>.

• Fixed a bug when running under mod_perl -- the HTTP headers were not being sent. Some browsers could cope with this, others just displayed the raw HTML. Reported by Dominic Mitchell <dom@happygiraffe.net>.

• Entering a revision number that does not exist will now generate a localised error message. Fixes rt#17822, reported by <gk5885@kickstyle.net>

• The SVN::Web::Revision action will now not show diffs between file revisions if either revision of the file has a non-text MIME type. Fixes rt#17625, reported by Mike Ellery <mikee@s2technologies.com>.

• Fixed some bugs in svnweb-server. Option parsing works properly, fixing rt#17347 (reported by <miyagawa@cpan.org>) and the --net-server option is now honoured.

• svnweb-install should now work if any directories in the install path contain regexp metacharacters in the filename. Fixes rt#17282, reported by <CORION@cpan.org>. It also emits warnings if copying files or making directories during the install process fails, fixing rt#17283.

## 0.43, released Jan 25, 2006

• Fix a syntax error in the config file generated by svnweb-install.

• Fix the instructions and code for running under mod_perl.

• When viewing an HTML diff, include a link to the plain text equivalent.

• Showing diffs when viewing a revision is now optional, but defaults to on.

• Require Exception::Class 1.22 or above. Versions below lack the necessary caught() syntax.

• Improve the installation and configuration documentation.

• Include svnweb-server, a simple web server to make it easier for people to get started with SVN::Web.

## 0.42, released Dec 16, 2005

• Throw exceptions instead of die()ing on almost all errors. Catch the exceptions and generate much friendlier error messages. Error messages are now easy to localise.

• When viewing a diff, the trac templates show the two revision numbers being compared, and include a link allowing the user to reverse the order of the diff.

• The syntax for specifying permitted actions, and the classes that implement them, has changed. See UPDATING for more information. This mechanism also allows for easy configuration of per-action options.

• A (partial) French localisation has been supplied by Cyril Brulebois.

• Any svn:externals properties that are set on a directory are now shown when browsing that directory.

• When viewing a file's revision log, you can now select two arbitrary revisions and get a diff showing the changes between those revisions. Fixes rt#15813.

• If you only have one repository configured then the list action can be configured to immediately redirect to browsing that repository, saving the user from having to click through an intermediate page. See SVN::Web::List for more information.

## 0.41, released Nov 4, 2005

• Introduce a [% base_uri %] variable so templates can refer to files relative to the directory that svnweb-install was run in. Fix a hardcoded reference to my home directory in a template.

• Update some of the packaging files, which were out of date.

## 0.40, released Nov 4, 2005

• Maintainership handed from Chia-ling Kao to Nik Clayton.

• Overhauled the templates, so the out-of-the-box experience is much nicer.

• Add a view action that shows the contents of a file, along with the most recent log message.

• More customisation options, making it easier to add or remove actions from the list of things that SVN::Web is allowed to do.

• Added huge swathes of information to the documentation. It should now be much easier for anyone else to contribute code and/or templates to SVN::Web.

• A fix for rt#12431. URLs without trailing slashes are fixed.

• A mechanism to 'stack' Template Toolkit filters. You can easily run log messages through an arbitrary number of filters, without causing problems if one or more of the filters is not installed.

• Inline display of some content from the repository where appropriate (e.g., viewing an image works properly).

• Fixed a bug that meant the results from the automated tests weren't valid. Fixed the bugs that this uncovered.

• Added tests to ensure that the generated HTML is valid.

Never released.

## 0.38, released Nov 21, 2004

• Fix pool mess causing apache to segfault under mod_perl.

• Add limit option to log.

## 0.37, released Jun 3, 2004

• Templates are now css friendly. [Autrijus]

• heavy branch detection no longer default.

## 0.36, released Nov 24, 2003

• Make mod_perl 1 work.

• I18n support from Autrijus.

• Repository list action from DROLSKY

• Fix poor pool usage for branch init.

## 0.35, released Nov 19, 2003

• Fix RSS links to revisions under mod_perl.

• Misc fixes and API catch-up.

## 0.30, released Aug 27, 2003

• Fix - Escape log message properly.

• Add log message when describing a revision.

• Sort the entries in browsing.

• Adjust pool usage for opened repos so it's easier for modperl to work

• Add mod_perl support.

## 0.2, released Aug 26, 2003

• Add path navigation support.

• Add file diff support.

• Add RSS support for tracking changes.

• Add mime-type support for checkout and browse.

• Add branch info support in directory browsing.

• Add branchpoint info in log mode.

• Update document.

## 0.11, released Aug 25, 2003

• Fix - Missing '/' in path in links.

## 0.1, released Aug 25, 2003

• Initial release.