A lot of new significant features are included in this release, including:
* The notion of "projects" has been integrated. Now every topic in
the system is associated with a single project. There are now
screens for creating new projects, and modifying their
names/descriptions. It is now possible to perform topic searches
and to limit it within specific projects. This has been added in to
support deployments where there is a large number of users working
on different projects. The create topic and view topic screens have
been modified accordingly.... read more
Modified the diff parser to handle diffs of the form: "cvs diff -uN -r TAG1 -r TAG2". This allows code reviews to occur for different development practices, for example, if separate branches are used for development, which are then reviewed, before collapsing into the mainline branch.
Comments associated with a specific line in a review now have the notion of state, which includes "Submitted" (the initial state), "Invalid" (indicating an invalid comment) and "Completed" (indicated that the comments have been addressed). The new screen "list comments" allows an author of the review to see all the comments appropriately listed (order by line, then date), and allows for the mass changing of states. This is likely to be easier to handle than wading through a mass of emails. The screen also allows for replies to comments to be easily made against existing comments.
In the topic list screen, it is now possible to selected multiple topics and mass update their state, or delete them. Improved error message reporting when topics have been deleted and they are trying to be viewed, or the state of a topic is attempted to be updated when it has already been changed by another user (ie the topic is "stale"). The repository textfield in the create topic screen is replaced with a drop-down list of valid repositories. The repositories are set in codestriker.conf for the configuration variable @valid_repositories.
If there are missing form elements in the create topic page, redirect back with the error messages appearing at the top. Also fixed some minor warnings in checksetup.pl for MySQL databases, and from the topic list screen when the cc field for a topic is empty. The public server on sourceforge has been updated.
Codestriker 1.6.1 has been released, with an example deployment available on sourceforge. Please check http://codestriker.sourceforge.net for connectivity details.
* Modified to use Net::SMTP to allow Codestriker to run under Windows,
and to not hardwire the mail sending program to "sendmail".
* Allow for the list/search topics and topic deletion to possibly be
disabled. This is required for a codestriker server which is
handling "anonymous" reviews on a public site. This option is set
from the codestriker.conf file.... read more
The Template Toolkit is now used for generating HTML output, which can be easily customised without modifying any Perl code.
Set the attachment field in the HTTP header when downloading the topic text, to make IE happier, as the filename topicXXXX.txt.
Handle CVS diffs which have whitespace at the start of the review.
Codestriker has been integrated with LXR, so that when viewing a code review, those identifiers known to LXR will be automatically hyperlinked. This is an enormous aid to the code reviewing process, as you can quickly determine where a variable/function/method/class is defined and where it is used quickly, while studying the proposed changes.
Modified database for MySQL deployments to remove the annoying 64KB review size. Now it is 24MB. IE caching for the topic list and edit topic screens has been removed. Deleting a topic is now possible. Patch files with different timezone formats are now supported. Focusing between the different popup windows and main browser are now handled correctly for IE.
* When the topic state is updated, add a confirmation message to the
top of the view topic screen.
* If the uploaded file doesn't exist, output an appropriate error
* Fixed the table of contents display if a binary file is present.
Text files after a binary file weren't hyperlinked. This was a
database load problem, not a rendering problem.
* Further integration with Bugzilla. When a topic is created, or the
state is changed, a suitable comment is added to all bugs associated
with the topic. This allows important information to be available
within the context of displaying a bug. Support for other
bug-tracking systems should be easy to implement.
* Make sure topic titles are HTML escaped in the topic list view.
Added Message-Id, In-Reply-To and References headers, so Codestriker emails relating to the same topic will be displayed in the same thread, for those email clients which supported threaded views. Also fixed minor rendering bug in view single file mode.
Fixed minor bug in view file popup, which didn't handle diffs with blank lines properly.
As detailed in the 1.5.0b releases, this is a major rewrite, decomposing the system into modules, using a database as a backing store, providing new search functionality, topic lists displays, and more bandwidth-friendly behaviour for larger code reviews.
Minor rendering bug in coloured diff mode has been fixed.
This is a beta-release before 1.5.0 is released.
* Broke up the system into a number of Perl modules to make future work far easier to accomplish.
* Now uses a database for storing Codestriker's data. This simplifies searching and updating of the data, compared to the previous filesystem persistance.
* There is now a topic search screen, which displays its results in a simple topic list screen. From here, individual topics can be selected for display.... read more
Fixed a number of minor rendering bugs. Can now handle diff files that use the -b flag (ignore whitespace), and also diffs which mention changes in binary files. Codestriker 1.5 will be a major restructure, and will support queries such as "what topics am I a reviewer of?"
Support for running under mod_perl, coloured diff mode can now be viewed in either monospaced or variable-width font (chosen dynamically), and there is now support for sending the HTML compressed to browsers which support it (Mozilla/konqueror/galleon).
New popup viewing mode which shows the contents of the original file from CVS, and the proposed new file, side-by-side using coloured diffs. The "-p" and "--show-function-line" flags for diffs and CVS diff reviews are now supported. URLs in the description or a comment will be automatically hyperlinked. The bug field upon topic creation can now handle multiple bug IDs. The tab width can be set dynamically by the user and there is now a configuration file to make upgrades easier.
Can now handle diffs which each in: "\ No newline at end of file". Changed the HTML generation for popup windows displaying old/new versions of a file to use <PRE> rather than a table, which cuts down the loading time considerably.
Fixed minor bug where popup windows in IE were not resizeable.
Fixed minor bug where popup windows in IE were resizeable.
In coloured diff mode, popup windows can be bought up containing either the original or the new version of the file being reviewed (with the lines colour-coded). This can aid tremendously when reviewing "terse" diffs. Comments can also be made in these popup windows.
Filenames for each file-block can be optionally linked to CVSweb or viewCVS. An optional bug number can be submitted with each review, to allow for integration with a bug tracking system such as bugzilla. Comment emails sent now include the filename and line number (where possible) that the comment was made against. The creation date of the topic is now shown, and the topic text can now be downloaded as "text/plain".