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