286 lines
9.7 KiB
Text
286 lines
9.7 KiB
Text
|
Release 1.5.0
|
||
|
=============
|
||
|
|
||
|
Backward-incompatible change
|
||
|
----------------------------
|
||
|
|
||
|
The name of classes for environment was misnamed as `*Environement`.
|
||
|
It is now `*Environment`.
|
||
|
|
||
|
New features
|
||
|
------------
|
||
|
|
||
|
* A Thread-Index header is now added to each email sent (except for
|
||
|
combined emails where it would not make sense), so that MS Outlook
|
||
|
properly groups messages by threads even though they have a
|
||
|
different subject line. Unfortunately, even adding this header the
|
||
|
threading still seems to be unreliable, but it is unclear whether
|
||
|
this is an issue on our side or on MS Outlook's side (see discussion
|
||
|
here: https://github.com/git-multimail/git-multimail/pull/194).
|
||
|
|
||
|
* A new variable multimailhook.ExcludeMergeRevisions was added to send
|
||
|
notification emails only for non-merge commits.
|
||
|
|
||
|
* For gitolite environment, it is now possible to specify the mail map
|
||
|
in a separate file in addition to gitolite.conf, using the variable
|
||
|
multimailhook.MailaddressMap.
|
||
|
|
||
|
Internal changes
|
||
|
----------------
|
||
|
|
||
|
* The testsuite now uses GIT_PRINT_SHA1_ELLIPSIS where needed for
|
||
|
compatibility with recent Git versions. Only tests are affected.
|
||
|
|
||
|
* We don't try to install pyflakes in the continuous integration job
|
||
|
for old Python versions where it's no longer available.
|
||
|
|
||
|
* Stop using the deprecated cgi.escape in Python 3.
|
||
|
|
||
|
* New flake8 warnings have been fixed.
|
||
|
|
||
|
* Python 3.6 is now tested against on Travis-CI.
|
||
|
|
||
|
* A bunch of lgtm.com warnings have been fixed.
|
||
|
|
||
|
Bug fixes
|
||
|
---------
|
||
|
|
||
|
* SMTPMailer logs in only once now. It used to re-login for each email
|
||
|
sent which triggered errors for some SMTP servers.
|
||
|
|
||
|
* migrate-mailhook-config was broken by internal refactoring, it
|
||
|
should now work again.
|
||
|
|
||
|
This version was tested with Python 2.6 to 3.7. It was tested with Git
|
||
|
1.7.10.406.gdc801, 2.15.1 and 2.20.1.98.gecbdaf0.
|
||
|
|
||
|
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.
|