Release 1.4.0
=============

New features to troubleshoot a git-multimail installation
---------------------------------------------------------

* One can now perform a basic check of git-multimail's setup by
  running the hook with the environment variable
  GIT_MULTIMAIL_CHECK_SETUP set to a non-empty string. See
  doc/troubleshooting.rst for details.

* A new log files system was added. See the multimailhook.logFile,
  multimailhook.errorLogFile and multimailhook.debugLogFile variables.

* git_multimail.py can now be made more verbose using
  multimailhook.verbose.

* A new option --check-ref-filter is now available to help debugging
  the refFilter* options.

Formatting emails
-----------------

* Formatting of emails was made slightly more compact, to reduce the
  odds of having long subject lines truncated or wrapped in short list
  of commits.

* multimailhook.emailPrefix may now use the '%(repo_shortname)s'
  placeholder for the repository's short name.

* A new option multimailhook.subjectMaxLength is available to truncate
  overly long subject lines.

Bug fixes and minor changes
---------------------------

* Options refFilterDoSendRegex and refFilterDontSendRegex were
  essentially broken. They should work now.

* The behavior when both refFilter{Do,Dont}SendRegex and
  refFilter{Exclusion,Inclusion}Regex are set have been slightly
  changed. Exclusion/Inclusion is now strictly stronger than
  DoSend/DontSend.

* The management of precedence when a setting can be computed in
  multiple ways has been considerably refactored and modified.
  multimailhook.from and multimailhook.reponame now have precedence
  over the environment-specific settings ($GL_REPO/$GL_USER for
  gitolite, --stash-user/repo for Stash, --submitter/--project for
  Gerrit).

* The coverage of the testsuite has been considerably improved. All
  configuration variables now appear at least once in the testsuite.

This version was tested with Python 2.6 to 3.5. It also mostly works
with Python 2.4, but there is one known breakage in the testsuite
related to non-ascii characters. It was tested with Git
1.7.10.406.gdc801, 1.8.5.6, 2.1.4, and 2.10.0.rc0.1.g07c9292.

Release 1.3.1 (bugfix-only release)
===================================

* Generate links to commits in combined emails (it was done only for
  commit emails in 1.3.0).

* Fix broken links on PyPi.

Release 1.3.0
=============

* New options multimailhook.htmlInIntro and multimailhook.htmlInFooter
  now allow using HTML in the introduction and footer of emails (e.g.
  for a more pleasant formatting or to insert a link to the commit on
  a web interface).

* A new option multimailhook.commitBrowseURL gives a simpler (and less
  flexible) way to add a link to a web interface for commit emails
  than multimailhook.htmlInIntro and multimailhook.htmlInFooter.

* A new public function config.add_config_parameters was added to
  allow custom hooks to set specific Git configuration variables
  without modifying the configuration files. See an example in
  post-receive.example.

* Error handling for SMTP has been improved (we used to print Python
  backtraces for legitimate errors).

* The SMTP mailer can now check TLS certificates when the newly added
  configuration variable multimailhook.smtpCACerts.

* Python 3 portability has been improved.

* The documentation's formatting has been improved.

* The testsuite has been improved (we now use pyflakes to check for
  errors in the code).

This version has been tested with Python 2.4 and 2.6 to 3.5, and Git
v1.7.10-406-gdc801e7, 2.1.4 and 2.8.1.339.g3ad15fd.

No change since 1.3 RC1.

Release 1.2.0
=============

* It is now possible to exclude some refs (e.g. exclude some branches
  or tags). See refFilterDoSendRegex, refFilterDontSendRegex,
  refFilterInclusionRegex and refFilterExclusionRegex.

* New commitEmailFormat option which can be set to "html" to generate
  simple colorized diffs using HTML for the commit emails.

* git-multimail can now be ran as a Gerrit ref-updated hook, or from
  Atlassian BitBucket Server (formerly known as Atlassian Stash).

* The From: field is now more customizeable. It can be set
  independently for refchange emails and commit emails (see
  fromCommit, fromRefChange). The special values pusher and author can
  be used in these configuration variable.

* A new command-line option, --version, was added. The version is also
  available in the X-Git-Multimail-Version header of sent emails.

* Set X-Git-NotificationType header to differentiate the various types
  of notifications. Current values are: diff, ref_changed_plus_diff,
  ref_changed.

* Preliminary support for Python 3. The testsuite passes with Python 3,
  but it has not received as much testing as the Python 2 version yet.

* Several encoding-related fixes. UTF-8 characters work in more
  situations (but non-ascii characters in email address are still not
  supported).

* The testsuite and its documentation has been greatly improved.

Plus all the bugfixes from version 1.1.1.

This version has been tested with Python 2.4 and 2.6 to 3.5, and Git
v1.7.10-406-gdc801e7, git-1.8.2.3 and 2.6.0. Git versions prior to
v1.7.10-406-gdc801e7 probably work, but cannot run the testsuite
properly.

Release 1.1.1 (bugfix-only release)
===================================

* The SMTP mailer was not working with Python 2.4.

Release 1.1.0
=============

* When a single commit is pushed, omit the reference changed email.
  Set multimailhook.combineWhenSingleCommit to false to disable this
  new feature.

* In gitolite environments, the pusher's email address can be used as
  the From address by creating a specially formatted comment block in
  gitolite.conf (see multimailhook.from in README).

* Support for SMTP authentication and SSL/TLS encryption was added,
  see smtpUser, smtpPass, smtpEncryption in README.

* A new option scanCommitForCc was added to allow git-multimail to
  search the commit message for 'Cc: ...' lines, and add the
  corresponding emails in Cc.

* If $USER is not set, use the variable $USERNAME. This is needed on
  Windows platform to recognize the pusher.

* The emailPrefix variable can now be set to an empty string to remove
  the prefix.

* A short tutorial was added in doc/gitolite.rst to set up
  git-multimail with gitolite.

* The post-receive file was renamed to post-receive.example. It has
  always been an example (the standard way to call git-multimail is to
  call git_multimail.py), but it was unclear to many users.

* A new refchangeShowGraph option was added to make it possible to
  include both a graph and a log in the summary emails.  The options
  to control the graph formatting can be set via the new graphOpts
  option.

* New option --force-send was added to disable new commit detection
  for update hook. One use-case is to run git_multimail.py after
  running "git fetch" to send emails about commits that have just been
  fetched (the detection of new commits was unreliable in this mode).

* The testing infrastructure was considerably improved (continuous
  integration with travis-ci, automatic check of PEP8 and RST syntax,
  many improvements to the test scripts).

This version has been tested with Python 2.4 to 2.7, and Git 1.7.1 to
2.4.

Release 1.0.0
=============

* Fix encoding of non-ASCII email addresses in email headers.

* Fix backwards-compatibility bugs for older Python 2.x versions.

* Fix a backwards-compatibility bug for Git 1.7.1.

* Add an option commitDiffOpts to customize logs for revisions.

* Pass "-oi" to sendmail by default to prevent premature termination
  on a line containing only ".".

* Stagger email "Date:" values in an attempt to help mail clients
  thread the emails in the right order.

* If a mailing list setting is missing, just skip sending the
  corresponding email (with a warning) instead of failing.

* Add a X-Git-Host header that can be used for email filtering.

* Allow the sender's fully-qualified domain name to be configured.

* Minor documentation improvements.

* Add this CHANGES file.


Release 0.9.0
=============

* Initial release.
