Subversion Notify for Windows

A simple executable for your complex Subversion needs.
Home
About...
Manual
Contact/Support
Quick Start
News / Release
Upgrade v1.x to 2.x
Etc...

Change Log/ Release Notes

 

Version 2.x Important!:Changes have been made to the naming of several elements and attributes in the configuration file. Please see the upgrade instructions to make sure your configuration is compatible!

 

Version 2.0.6 and above: Contain important fix for defect in Subversion 1.5.0

Version 2.1.0

CHANGED: Modified Bugzilla integration from using the e-mail API to the more versatile XML-RPC API.
Utilized bugzproxy (https://sourceforge.net/projects/bugzproxy/) and XML-RPC library (http://www.xml-rpc.net/) - Thanks guys!!
  
ADDED: Ability to add a Bugzilla item comment with a custom message format (using token replacement)
  
UPDATED: Improved documentation - including sample "quick start" configuration files to get users up and running fast. Also improved website at http://www.subversionnotify.com

 

FIXED: Subversion.Utility.exe - originally came up with a a bad form!

 

UPDATED: Changed logging from custom implementation to log4net (http://logging.apache.org/log4net/index.html)

 

 

Version 2.0.10

 ADDED: New 'FileNameRegex' and 'RegexIgnoreCase' attributes added to the <MailTo> configuration element. This allows you to control who gets email notification based on the files or folders that are included in the commit. (Thanks to batzendev for this update)

ADDED: New 'ExcludeFromPrecedenceFilter' attribute added to the <RepoPathConfig> element. By default, Subversion notify will only apply the most specific RepoPathConfig control element when performing an action. For instance, if you have one config element set to control "/branches" and another set for "/branches/dev", when you commit a file "/branches/dev/test.cs" only the settings from the "/branches/dev" RepoPathConfig element would be in effect. This is called the precedence filter.

If you set ExcludeFromPrecedenceFilter="true" for a RepoPathConfig element, this is telling the tool that it should ignore this filtering. In the above example, if you set the value to "true" for the "/branches" configration, then both of the RepoPathConfig elements would perform their actions. This is very useful if you want to have some general e-mail settings but more specific commit control checks for instance.

ADDED: New, more complete user manual that is updated with the latest features of the tool.


 Version 2.0.9

FIXED: Corrected logic for case-insensitive file match. Made is so that the file match is truly on a per-directory basis avoiding the issue reported here

NOTE: this is a minor release available only via the Subversion repository (revision 48). Files changed since last full release: 

  • SubversionNotify.exe

Version 2.0.8

ADDED: Additional DEBUG information for the case-insensitive check to try and troubleshoot "False positive in pre-commit failure"

NOTE: this is a minor release available only via the Subversion repository (revision 47). Files changed:

  • SubversionNotify.exe

Version 2.0.7

ADDED: FileNameRegex and LogRegexto the <Execute> element adding more granular control to when an external process is kicked off.

Version 2.0.6

*** NOTICE: This version contains a fix for an SVN v1.5 defect in the svnlook.exe program ***


(The fix is compatible with both Subversion v1.4x and v1.5)

CHANGED: Added workaround for SVN 1.5 defect in the svnlook.exe utility. This defect puts the file
header/separator at the bottom of the unified diff results. This lead to a bad notification e-mail. The workaround
detects when this defect is present and fixes the order of the header prior to processing the e-mail.

FIXED: Rally integration was displaying the task/defect description instead of name in a failed status check. Now correctly displays the task/defect name.

CHANGED: Updated HTML email log message from a <PRE> tag to a <DIV> thus allowing the message to wrap
properly when the message is longer than the viewing window. Prior to this change, the reader would have
to scroll to the right to see the entire message.

ADDED: Debug messages to identify UserException issues with DisallowedStatus element

Version 2.0.4

 NOTE: This is a full release available for download from SourceForge.net and includes the changes in the prior minor releases 2.0.1 - 2.0.3
ADDED: Ability to specify a failure message for the first Regex test in a CommitRequirement via new attribute RegexFailureMsg (Contributed by Andrew Francis)

ADDED: New feature to concatenate pre-commit failures into a single message so that the committer knows all of the reasons the commit will fail, not just the first one. This is configured via a new ConcatPreCommitFailures attribute of the <subversionNotifyConfig> root element. Default is true to concatenate the failures.


FIXED: Quality Center center data output to remove the tab characters that were showing up as non-printable characters in client windows.

FIXED: Rally output to include the item number and description in the failure message to make incorrect tagging more obvious.

ADDED: New CustomEmailTemplateFile attribute and Custom enumeration value to EMailType attribute both of the <MailTo> element. This allows you to specify a custom formatted e-mail template so that you can send out e-mails in what ever look and feel you like.

ADDED: New UserSecureConnection attribute to the <MailServer> element. This allows you to specify that you want to use an SSL connection to connect to the SMTP server to send mail.

FIXED: Corrected HTML of Deleted file list (the <LI> tags were outside of the <UL> tags)

FIXED: When ConcatPreCommitFailuresattribute was set to true, commit failure messages were not getting sent to the PreCommitFailureMessagerecipients


Version 2.0.0

CHANGE: Changed numerous element and attribute names to correct errors and improve consistency
ADDED: Plug-in architecture to simplify integration with bug and task tracking systems
ADDED: Integration plug-in for Rally
ADDED: Integration plug-in for HP Quality Center
CHANGE: Integration plug-in for Bugzilla (if you are using the integration from v1.x, please refer to the manual to and the upgrade instructions to ensure a smooth transition
ADDED: New MaximumEMailSizeInMb attribute to limit the size of the notification e-mails
ADDED: New MaximumEmailSubjectChars attribute to limit the length of the notification e-mail subject line ADDED: New RegexIgnoreCase attribute to the <FileTypeTagCheck>, <FileTypeExclusion>, <FolderNameExclusion>, <CommitRequirement> and <PrePropChangeRequirement> elements. This give the flexability to specify how the Regex will match case sensitive or insensitive. Default it true to ignore case (this was the default prior to the configuration option as well).
ADDED: DEFAULT setting to <RepoPathConfig> element's ControlledPaths and ControlledRepos attributes. If either of these is set to DEFAULT, then this configuration will only be used if there are no other matches by path and repository.
ADDED: Added #repoPhysicalPath# as an additional replacement token for the CustomSubjectFormat option of the <MailTo> element
ADDED: Allow administrator to use either SubversionNotify.cfg or SubversionNotify.xml as the configuration file name
ADDED: New <PreCommitFailureMessage> root element that will let admistrators get an e-mail whenever a pre-commit check fails.
ADDED: Added the ability so use encrypted values for the <MailServer> element's UserName and Password attribute values for added security. Encryption available via the SubversionNotify.Utility.exe program
ADDED: New UserException attribute on the <DisallowedStatus> element to allow specific users to commit against tracked items that are in a state that is otherwise not allowed.
ADDED: Repository check for duplicate/pre-existing file with differing letter case. Since Subversion is case sensitive and Windows file names are not, this is needed to ensure you don't duplicate files. If you were to get two of the "same" files committed, subsequent check-outs or updates would fail.

Version 1.4.5.3

CHANGE: Changed EMailGroup sub-element from Email to EMail to be more consistent with the rest of the application.

Version 1.4.5.2

FIXED: Error in send e-mail loop, causing same e-mail address to be sent multiple times
FIXED: Null exception in FolderNameExclusion - FolderNameRegex attribute.
ADDED: Additional DEBUG level logging entries

Version 1.4.5.1

ADDED: New <EMailGroup> element to manage distribution lists more easily. This goes in conjunction with a new EMailGroupName attribute on the <MailTo> element (see manual for details)

Version 1.4.5.1

ADDED: New <EMailGroup> element to manage distribution lists more easily. This goes in conjunction with a new EMailGroupName attribute on the <MailTo> element (see manual for details)

Version 1.4.5.0

ADDED: New ControlledRepros attribute of the <ReproPathConfig> element allows you to configure a single instance of Subversion Notify to
control multiple Subversion repositories. See manual for details.
ADDED: New ControlledRepros attribute of the <LockedPath> element allows you to configure a single instance of Subversion Notify to
control multiple Subversion repositories. See manual for details.
ADDED: New replacement tolken #repoPhysicalPath# that can be used as a commandline parameter for the <Execute> element's external process execution.
CHANGE: Changed the controlledPaths attribute to ControlledPaths for consistency in capitalization. Note that backward compatability IS maintained
and no changed to an existing configuration is required.

Version 1.4.4.3

FIXED: Fixed error when the <CommitterExclusions> element was missing - this was supposed to be optional and now it is!

Version 1.4.4.2

FIXED: Fixed custom subject format error when the committed files were in the root path of the repository (i.e. no path separator "/" in the file path)

Version 1.4.4.1

FIXED: Fixed null exception error when <LockedPaths> element was missing.
FIXED: Fixed null exception error when EMailSuppressionChar was left as empty string.
ADDED: Logging levels DEBUG, INFO, ERROR as an attribute of the root <subversionNotifyConfig> element to control the amount of logging in the file.

Version 1.4.4.0

NEW!!! Improved granularity of control for the <FileTypeTagCheck>,<FileTypeExclusion> and <FolderNameExclusion> elements. Each has a new
attribute - "controlledActionType" that lets you specify the checks and exclusions to a specific file commit action (add,update,delete) or
any combination of actions The default value is "All", so no change is required for existing configuration files.
ADDED: Folder name Regex checking for <FolderNameExclusion> tag. If provided, the Regex takes precidence over any provided FolderName attribute value
ADDED: Optional ability to specify SMTP port via MailServer - Port attribute
ADDED: Additional logging to record when a post-commit e-mail can't be sent because a matching "controlledPaths" value wasn't found
ADDED: Changed schema so that <LockedPaths> is no longer required
ADDED: New element <CommitterExcusions> that allow user level configuration to exclude the sending of commit messages and external process execution
ADDED: New manual and documentation included!
ADDED: Ability to customize the e-mail subject
FIXED: Added Global error handling to log general application failures and eliminate server side pop-up error messages
FIXED: Hooked in Uncode converter to e-mail messages to handle non-Latin characters in diff e-mails.
FIXED: Bug #1904759: File exclusion bug when file extension includes a "~" character.

Version 1.4.3.1

FIXED: Changed Regex match on FileTypeTagCheck and FileTypeExclusion to be case insensitive

Version 1.4.3.0

NEW!!! Additional Commit Requirement Configuration Options: <FileTypeTagCheck> ; <FileTypeExclusion> ; <FolderNameExclusion>
(All sub-elements of <CommitRequirements>) allow a greater control of what can be committed
to your repository. These are configured for complete exclusion of files by extention or Regex match or folders by name. Also,
with the FileTypeTagCheck, you can allow commits of certain files only when the user adds a specific tag to the commit log.
With each new check, you have the option to add a custom commit failure message as well to explain why the files
are being excluded. (See the sample SubversionNotify.cfg for examples)
ADDED: <UserMappings> element. This can be used to map a user's Subversion ID to the same user's Active Directory ID.
This will allow SubversionNotify to be able to get the user's e-mail addres and full name from AD.
ADDED: Unicode converter to help handle non Latin character SVN log messages
FIXED: Removed dependency on Active Directory (but without it, you can't retrieve e-mail and user name)
FIXED: Added extra catch in case an e-mail address is not found from Active Directory. Will now default to the
configuration files MailServer.FromAddress attribute

Version 1.4.2.12

1) Change in root path to accomodate full repository control:
The ReproPathConfig tag now expects the controlledPaths attribute to start with a "/".
For instance, instead of
<ReproPathConfig controlledPaths="PathOne">
it should now be
<ReproPathConfig controlledPaths="/PathOne">
If controlledPaths="/", then this will include all files in the repository.
2) Support SMTP username & password (values taken from cfg file)
3) Use the ActiveDirectory name as the from-mail DisplayName
4) ADDED ability to suppress emails by appending the suppress-character (defined in cfg file) at the end of the comment.
5) ADDED functionality to execute external application on Post-Commit