5 The Postorius Django app provides a web user interface to
8 Postorius is free software: you can redistribute it and/or
9 modify it under the terms of the GNU Lesser General Public License as
10 published by the Free Software Foundation, version 3 of the License.
12 Postorius is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
15 General Public License for more details.
17 You should have received a copy of the GNU Lesser General Public License
18 along with Postorius. If not, see <http://www.gnu.org/licenses/>.
26 * Expose additional list settings. (See !483)
27 * Correct description of Digest Frequency. (Closes #395)
28 * Added links to Reply-To munging articles. (Closes #401)
29 * Fix "Show Headers" button to show the held message headers in the
30 held message popup. (Closes #407)
31 * Fix the held message popup structure and increase the max width of the popup
32 to be 800px(modal-lg) for larger screens. (Closes #405)
33 * Fix FILTER_VHOST = True option to try to find the email host corresponding
34 to the requesting web host. (Closes #394)
35 * Allow specifying a reason when rejecting a held message. (Closes #412)
36 * Allow users to set their preferred language in their preferences. (Closes #413)
37 * Add support to ban addresses for the entire Mailman installation. (Closes #357)
38 * Un-handled ``HTTPError`` exception raised from MailmanClient now results in an
39 error page and proper logging instead of mysterious ``KeyError`` in logs.
48 * Do not show pagination, when user is authenticated. (Closes #387)
49 * Drop support for Django 1.11.
50 * Add support to choose options for ``pre_confirm``, ``pre_approve`` and
51 ``pre_verify`` when mass subscribing. (Fixes #203)
58 * Show templates' file names in selection list where admins can pick
59 individual templates for customization. (See !425)
60 * Make template short names more prominent on all email templates related
62 * Bind object attributes to local variables in {% blocktrans %} (See !439)
63 * Set the initial style in new list form as the default style. (Closes #310)
64 * Fix a bug where logged in users's index page view would cap the total number
65 of lists for a role to 50. (Closes #335)
66 * Fix a bug where handling non-existent held message can raise 500
67 exception. (Closes #349)
68 * Emit appropriate signals when Domain and MailingList is updated. (Closes
70 * Do not strip leading whitespaces in Email Templates. (Closes #301)
71 * Hold date for held messages are now displayed correctly. (Closes #312)
72 * Add support for Python 3.8.
73 * Add support for Django 3.0.
80 * Fix a string substitution bug which would cause un-substituted raw string to
81 be exposed as notification to admin. (Closes #327)
82 * Add support for ``FILTER_VHOST`` option to filter MalingLists based on
83 ``HOST`` header of incoming request. (Closes #330)
84 * List Summary page now renders List info as markdown. (Closes #244)
85 * Moderation action for held message's sender can now be set from held
86 message's view.(Closes #127)
87 * Add a 'Ban' button to list of subscription requests to help administrators
88 against spams. (Closes #339)
89 * Added support for Django 2.2.
90 * ``pytest`` will be used to run tests instead of default Django's test runner.
91 * Remove ``vcrpy`` and use fixtures to start and stop Mailman's REST API to
92 test against, without having to record tapes to be replayed.
93 * Corrected display message in 'recieve_list_copy' option in global mailman
94 preferences of mailman settings. (Closes #351)
95 * Allow setting a MailingList's Preferred Language. (Closes #303)
96 * Allow a empty templates as a workaround for missing settings to skip
97 email decoration. (Closes #331)
98 * Expose ``digest_volume_frequency``, ``digest_send_periodict`` and
99 ``digests_enabled`` settings for MailingLists.
100 * Add a badge with count of held messages and pending subscription requests
101 for moderator approval. (Closes #308)
102 * Add support to add, view and remove domain owners.
103 * Allow setting the visibility options for MailingList's member list.
104 * Make page titles localizable.
111 * Add support for ``explicit_header_only`` in list settings.
119 * Expose ``max_num_recipients`` in list settings. (Closes #297)
120 * Add support for Non-member management in Postorius. (Closes #265)
121 * ``Members`` tab in Mailing List settings page is now called ``Users``.
123 * Show pending subscription requests are only pending for Moderator.
131 * Add support for Python 3.7 with Django 2.0+
132 * Index page only shows related lists for signed-in users with option to
133 filter based on role.
134 * Expose respond_to_post_requests in Postorius. (Closes #223)
141 * A Django migration was missing from version 1.2.0. This is now added.
147 * Postorius now runs only on Python 3.4+ and supports Django 1.8 and 1.11+
148 * Added the ability to set and edit ``alias_domain`` to the ``domains`` forms.
149 * List Create form now allows selecting the ``style``. A ``style`` is how a new
150 mailing list is configured.
151 * Minimum supported Mailman Core version is now 3.2.0. This is because the
152 ``styles`` attribute for MailingList resource is exposed in 3.2, which
153 contains all the default ``styles`` supported by Core and their human readable
155 * Account subscription page now lists all the memberships with their respective
156 roles. This avoids repeated API calls for the way data was displayed
157 before. (Closes #205)
158 * Postorius now supports only Django 1.11+.
159 * Duplicate MailingList names doesn't return a 500 error page and instead adds
160 an error to the New MailingList form. (Fixes #237)
161 * Pending subscription requests page is now paginated. (See !298)
162 * Add owners/moderators form now allows specifying a Display Name, along with
163 their email. (Fixes #254)
164 * Members views now show total number of members at the top. (See !315)
165 * Fixed a bug where GET on views that only expect a POST would cause 500 server
166 errors instead of 405 method not allowed. (Fixes #185)
167 * Member preferences form can now be saved without having to change all the
169 * Fixed a bug where the 'Delete' button to remove list owners didn't work due to
170 wrong URL being rendered in the templates. (Fixes #274)
171 * Require Explicit Destination is added to the Message Acceptance form.
173 * Delete Domain page now shows some extra warning information about all the
174 mailing lists that would be deleted after deleting the Domain. (See !250)
175 * Superusers can now view Mailman Core's current version and REST API version
176 being used under 'System Information' menu in the top navigation bar. (See !325)
177 * Fixed a bug where 500 error template wouldn't render properly due to missing
178 context variables in views that render that templates (See !334)
179 * Postorius now allows adding and editing templates for email headers, footers
180 and some of the automatic responses sent out by Mailman. (See !327)
186 * Added a new ``reset_passwords`` command that resets _all_ user's passwords
187 inside of Core. This password is different from the one Postorius
188 maintains. The Postorius password is the one used for logging users in.
189 * Postorius now sets the 'Display Name' of the user in Core correctly. This
190 fixes a security vulnerability where user's display_name would be set as their
198 * Improved testing and internal bug fixes.
199 * Preserve formatting of Mailing List description in the summary view.
200 * Site's Name isn't capitalized anymore in the navigation bar.
201 * html5shiv and response.js libraries are now included, instead of loading from a CDN.
203 1.1.0 -- "Welcome to This World"
204 ================================
207 * Added DMARC mitigation settings
208 * Switch to Allauth auth library
209 * Preference page improvements
210 * Moderation page improvements
211 * Django support up to Django 1.11
212 * Added form to edit header matches
213 * Domain edit form improvements
214 * All pipelines recognized in alter messages form
215 * Use django-mailman3 to share common code with HyperKitty
216 * Various bug fixes, code cleanup, and performance improvements
237 * Help texts Small visual alignment fix; removed unnecessary links to
239 * Import fix in fieldset_forms module (Django1.6 only)
242 1.0.0 -- "Frizzle Fry"
243 ======================
246 * French translation. Provided by Guillaume Libersat
247 * Addedd an improved test harness using WebTest. Contributed by Aurélien Bompard.
248 * Show error message in login view. Contributed by Aurélien Bompard (LP: 1094829).
249 * Fix adding the a list owner on list creation. Contributed by Aurélien Bompard (LP: 1175967).
250 * Fix untranslatable template strings. Contributed by Sumana Harihareswara (LP: 1157947).
251 * Fix wrong labels in metrics template. Contributed by Sumana Harihareswara (LP: 1409033).
252 * URLs now contain the list-id instead of the fqdn_listname. Contributed by Abhilash Raj (LP: 1201150).
253 * Fix small bug moderator/owner forms on list members page. Contributed by Pranjal Yadav (LP: 1308219).
254 * Fix broken translation string on the login page. Contributed by Pranjal Yadav.
255 * Show held message details in a modal window. Contributed by Abhilash Raj (LP: 1004049).
256 * Rework of internal testing
257 * Mozilla Persona integration: switch from django-social-auto to django-browserid: Contributed by Abhilash Raj.
258 * Fix manage.py mmclient command for non-IPython shells. Contributed by Ankush Sharma (LP: 1428169).
259 * Added archiver options: Site-wide enabled archivers can not be enabled
260 on a per-list basis through the web UI.
261 * Added functionality to choose or switch subscription addresses. Contributed by Abhilash Raj.
262 * Added subscription moderation, pre_verification/_confirmation.
263 * Several style changes.
266 1.0 beta 1 -- "Year of the Parrot"
267 ==================================
270 * fixed pip install (missing MANIFEST) (LP: 1307624). Contributed by Aurélien Bompard
271 * list owners: edit member preferences
272 * users: add multiple email addresses
273 * list info: show only subscribe or unsubscribe button. Contributed by Bhargav Golla
274 * remove members/owners/moderator. Contributed by Abhilash Raj
277 1.0 alpha 2 -- "Is It Luck?"
278 ============================
281 * dev setup fix for Django 1.4 contributed by Rohan Jain
282 * missing csrf tokens in templates contributed by Richard Wackerbarth (LP: 996658)
283 * moderation: fixed typo in success message call
284 * installation documentation for Apache/mod_wsgi
285 * moved project files to separate branch
286 * show error message if connection to Mailman API fails
287 * added list members view
288 * added developer documentation
289 * added test helper utils
290 * all code now conform to PEP8
291 * themes: removed obsolete MAILMAN_THEME settings from templates, contexts, file structure; contributed by Richard Wackerbarth (LP: 1043258)
292 * added access control for list owners and moderators
293 * added a mailmanclient shell to use as a ``manage.py`` command (``python manage.py mmclient``)
294 * use "url from future" template tag in all templates. Contributed by Richard Wackerbarth.
295 * added "new user" form. Contributed by George Chatzisofroniou.
296 * added user subscription page
297 * added decorator to allow login via http basic auth (to allow non-browser clients to use API views)
298 * added api view for list index
299 * several changes regarding style and navigation structure
300 * updated to jQuery 1.8. Contributed by Richard Wackerbarth.
301 * added a favicon. Contributed by Richard Wackerbarth.
302 * renamed some menu items. Contributed by Richard Wackerbarth.
303 * changed static file inclusion. Contributed by Richard Wackerbarth.
304 * added delete domain feature.
305 * url conf refactoring. Contributed by Richard Wackerbarth.
306 * added user deletion feature. Contributed by Varun Sharma.
310 1.0 alpha 1 -- "Space Farm"
311 ===========================
314 Many thanks go out to Anna Senarclens de Grancy and Benedict Stein for
315 developing the initial versions of this Django app during the Google Summer of
318 * add/remove/edit mailing lists
320 * show all mailing lists on server
321 * subscribe/unsubscribe/mass subscribe mailing lists
323 * show basic list info and metrics
324 * login using django user account or using BrowserID
325 * show basic user profile
326 * accept/discard/reject/defer messages
327 * Implementation of Django Messages contributed by Benedict Stein (LP: #920084)
328 * Dependency check in setup.py contributed by Daniel Mizyrycki
329 * Proper processing of acceptable aliases in list settings form contributed by