Merge branch 'sg/reflog-past-root'
[git] / contrib / hooks / multimail / CHANGES
1 Release 1.4.0
2 =============
3
4 New features to troubleshoot a git-multimail installation
5 ---------------------------------------------------------
6
7 * One can now perform a basic check of git-multimail's setup by
8   running the hook with the environment variable
9   GIT_MULTIMAIL_CHECK_SETUP set to a non-empty string. See
10   doc/troubleshooting.rst for details.
11
12 * A new log files system was added. See the multimailhook.logFile,
13   multimailhook.errorLogFile and multimailhook.debugLogFile variables.
14
15 * git_multimail.py can now be made more verbose using
16   multimailhook.verbose.
17
18 * A new option --check-ref-filter is now available to help debugging
19   the refFilter* options.
20
21 Formatting emails
22 -----------------
23
24 * Formatting of emails was made slightly more compact, to reduce the
25   odds of having long subject lines truncated or wrapped in short list
26   of commits.
27
28 * multimailhook.emailPrefix may now use the '%(repo_shortname)s'
29   placeholder for the repository's short name.
30
31 * A new option multimailhook.subjectMaxLength is available to truncate
32   overly long subject lines.
33
34 Bug fixes and minor changes
35 ---------------------------
36
37 * Options refFilterDoSendRegex and refFilterDontSendRegex were
38   essentially broken. They should work now.
39
40 * The behavior when both refFilter{Do,Dont}SendRegex and
41   refFilter{Exclusion,Inclusion}Regex are set have been slightly
42   changed. Exclusion/Inclusion is now strictly stronger than
43   DoSend/DontSend.
44
45 * The management of precedence when a setting can be computed in
46   multiple ways has been considerably refactored and modified.
47   multimailhook.from and multimailhook.reponame now have precedence
48   over the environment-specific settings ($GL_REPO/$GL_USER for
49   gitolite, --stash-user/repo for Stash, --submitter/--project for
50   Gerrit).
51
52 * The coverage of the testsuite has been considerably improved. All
53   configuration variables now appear at least once in the testsuite.
54
55 This version was tested with Python 2.6 to 3.5. It also mostly works
56 with Python 2.4, but there is one known breakage in the testsuite
57 related to non-ascii characters. It was tested with Git
58 1.7.10.406.gdc801, 1.8.5.6, 2.1.4, and 2.10.0.rc0.1.g07c9292.
59
60 Release 1.3.1 (bugfix-only release)
61 ===================================
62
63 * Generate links to commits in combined emails (it was done only for
64   commit emails in 1.3.0).
65
66 * Fix broken links on PyPi.
67
68 Release 1.3.0
69 =============
70
71 * New options multimailhook.htmlInIntro and multimailhook.htmlInFooter
72   now allow using HTML in the introduction and footer of emails (e.g.
73   for a more pleasant formatting or to insert a link to the commit on
74   a web interface).
75
76 * A new option multimailhook.commitBrowseURL gives a simpler (and less
77   flexible) way to add a link to a web interface for commit emails
78   than multimailhook.htmlInIntro and multimailhook.htmlInFooter.
79
80 * A new public function config.add_config_parameters was added to
81   allow custom hooks to set specific Git configuration variables
82   without modifying the configuration files. See an example in
83   post-receive.example.
84
85 * Error handling for SMTP has been improved (we used to print Python
86   backtraces for legitimate errors).
87
88 * The SMTP mailer can now check TLS certificates when the newly added
89   configuration variable multimailhook.smtpCACerts.
90
91 * Python 3 portability has been improved.
92
93 * The documentation's formatting has been improved.
94
95 * The testsuite has been improved (we now use pyflakes to check for
96   errors in the code).
97
98 This version has been tested with Python 2.4 and 2.6 to 3.5, and Git
99 v1.7.10-406-gdc801e7, 2.1.4 and 2.8.1.339.g3ad15fd.
100
101 No change since 1.3 RC1.
102
103 Release 1.2.0
104 =============
105
106 * It is now possible to exclude some refs (e.g. exclude some branches
107   or tags). See refFilterDoSendRegex, refFilterDontSendRegex,
108   refFilterInclusionRegex and refFilterExclusionRegex.
109
110 * New commitEmailFormat option which can be set to "html" to generate
111   simple colorized diffs using HTML for the commit emails.
112
113 * git-multimail can now be ran as a Gerrit ref-updated hook, or from
114   Atlassian BitBucket Server (formerly known as Atlassian Stash).
115
116 * The From: field is now more customizeable. It can be set
117   independently for refchange emails and commit emails (see
118   fromCommit, fromRefChange). The special values pusher and author can
119   be used in these configuration variable.
120
121 * A new command-line option, --version, was added. The version is also
122   available in the X-Git-Multimail-Version header of sent emails.
123
124 * Set X-Git-NotificationType header to differentiate the various types
125   of notifications. Current values are: diff, ref_changed_plus_diff,
126   ref_changed.
127
128 * Preliminary support for Python 3. The testsuite passes with Python 3,
129   but it has not received as much testing as the Python 2 version yet.
130
131 * Several encoding-related fixes. UTF-8 characters work in more
132   situations (but non-ascii characters in email address are still not
133   supported).
134
135 * The testsuite and its documentation has been greatly improved.
136
137 Plus all the bugfixes from version 1.1.1.
138
139 This version has been tested with Python 2.4 and 2.6 to 3.5, and Git
140 v1.7.10-406-gdc801e7, git-1.8.2.3 and 2.6.0. Git versions prior to
141 v1.7.10-406-gdc801e7 probably work, but cannot run the testsuite
142 properly.
143
144 Release 1.1.1 (bugfix-only release)
145 ===================================
146
147 * The SMTP mailer was not working with Python 2.4.
148
149 Release 1.1.0
150 =============
151
152 * When a single commit is pushed, omit the reference changed email.
153   Set multimailhook.combineWhenSingleCommit to false to disable this
154   new feature.
155
156 * In gitolite environments, the pusher's email address can be used as
157   the From address by creating a specially formatted comment block in
158   gitolite.conf (see multimailhook.from in README).
159
160 * Support for SMTP authentication and SSL/TLS encryption was added,
161   see smtpUser, smtpPass, smtpEncryption in README.
162
163 * A new option scanCommitForCc was added to allow git-multimail to
164   search the commit message for 'Cc: ...' lines, and add the
165   corresponding emails in Cc.
166
167 * If $USER is not set, use the variable $USERNAME. This is needed on
168   Windows platform to recognize the pusher.
169
170 * The emailPrefix variable can now be set to an empty string to remove
171   the prefix.
172
173 * A short tutorial was added in doc/gitolite.rst to set up
174   git-multimail with gitolite.
175
176 * The post-receive file was renamed to post-receive.example. It has
177   always been an example (the standard way to call git-multimail is to
178   call git_multimail.py), but it was unclear to many users.
179
180 * A new refchangeShowGraph option was added to make it possible to
181   include both a graph and a log in the summary emails.  The options
182   to control the graph formatting can be set via the new graphOpts
183   option.
184
185 * New option --force-send was added to disable new commit detection
186   for update hook. One use-case is to run git_multimail.py after
187   running "git fetch" to send emails about commits that have just been
188   fetched (the detection of new commits was unreliable in this mode).
189
190 * The testing infrastructure was considerably improved (continuous
191   integration with travis-ci, automatic check of PEP8 and RST syntax,
192   many improvements to the test scripts).
193
194 This version has been tested with Python 2.4 to 2.7, and Git 1.7.1 to
195 2.4.
196
197 Release 1.0.0
198 =============
199
200 * Fix encoding of non-ASCII email addresses in email headers.
201
202 * Fix backwards-compatibility bugs for older Python 2.x versions.
203
204 * Fix a backwards-compatibility bug for Git 1.7.1.
205
206 * Add an option commitDiffOpts to customize logs for revisions.
207
208 * Pass "-oi" to sendmail by default to prevent premature termination
209   on a line containing only ".".
210
211 * Stagger email "Date:" values in an attempt to help mail clients
212   thread the emails in the right order.
213
214 * If a mailing list setting is missing, just skip sending the
215   corresponding email (with a warning) instead of failing.
216
217 * Add a X-Git-Host header that can be used for email filtering.
218
219 * Allow the sender's fully-qualified domain name to be configured.
220
221 * Minor documentation improvements.
222
223 * Add this CHANGES file.
224
225
226 Release 0.9.0
227 =============
228
229 * Initial release.