News / Changelog¶
1.3.2¶
(2020-01-12)
Remove support for Django 1.11. (Closes #273)
Skip
Thread.DoesNotExist
exception when raised withinrebuild_thread_cache_votes
. (Closes #245)Send 400 status code for
ValueError
when archiving. (Closes #271)Fix a bug where exception for elasticsearch backend would not be caught. (Closes #263)
1.3.1¶
(2019-12-08)
Add support to delete mailing list. (Closes #3)
Fix a bug where messages with attachments would skip adding the body when exporting the email. (Closes #252)
Fix a bug where exporting mbox with messages that have attachments saved to disk would raise exception and return a corrupt mbox. (Closes #258)
Fix a bug where downloaded attachments are returned as a memoryview object instead of bytes and hence fail to download. (Closes #247)
Fix a bug where migrations would fail with exceptions on postgresl. (Closes #266)
Add support for Django 3.0.
1.3.0¶
(2019-09-04)
Unread messages now have a blue envelope icon, instead of a gray one before to to make them more visible.
Quoted text in emails have different visual background to improve readability.
Quoted text is now visually quoted to 3 levels of replies with different visual background to improve readability.
Add a new “All Threads” button in MailingList overview page to point to all the the threads in reverse date order. This should give a continuous list of threads.
Fixes a bug where “All Threads” button leads to 500 page if there aren’t any threads. (Closes #230)
Add support for Django 2.2.
Fix a bug where bad Date header could cause
hyperkitty_import
to exit withTypeError
due to bad date type.Change the Overview page to remove the List of months from left side bar and convert different thread categories into tabs.
Replace unmaintained
lockfile
dependency withflufl.lock
.Remove
SingletonAsync
implementation ofAsyncTask
and use the upstream version for better maintenance.Run update_index job hourly by default instead of minutely for performance reasons of whoosh.
Email body now preserves leading whitespaces on lines and wraps around line boundary. (Closes #239)
Do not indent replies on small screens. (Closes #224)
- Add a keyboard shortcut
?
to bring up list of keyboard shortcuts. (Closes #240)
- Add a keyboard shortcut
1.2.2¶
(2019-02-22)
paintstore
is no longer a dependency of Hyperkitty. This change requires that people change theirsettings.py
and removepaintstore
fromINSTALLED_APPS
. (See #72)Folded Message-ID headers will no longer break threading. (#216)
MailingList descriptions are no longer a required field. This makes HyperKity more aligned with Core. (Closes #211)
1.2.1¶
(2018-08-30)
Several message defects that would cause
hyperkitty_import
to abort will now just cause the message to be skipped and allow importing to continue. (#183)If an imported message has no Date: header,
hyperkitty_import
will now look for Resent-Date: and the unixfrom date before archiving the message with the current date. (#184)Add support for Django 2.1. Hyperkitty now supports Django 1.11-2.1 (#193)
1.2.0¶
(2018-07-10)
Handle email attachments returned by Scrubber as bytes or as strings with no specified encoding. (#171)
Remove robotx.txt from Hyperkitty. It wasn’t working correctly anyway. If you still need it, serve it from the webserver directly. (#176)
Add the possibility to store attachments on the filesystem, using the
HYPERKITTY_ATTACHMENT_FOLDER
config variable.If a message in the mbox passed to
hyperkitty_import
is missing aMessage-ID
, a generated one will be added. (#180)There is a new management command
update_index_one_list
to update the search index for a single list. (#175)
1.1.4¶
(2017-10-09)
Use an auto-incrementing integer for the MailingLists’s id. WARNING: this migration will take a very long time (hours!) if you have a lot of emails in your database.
Protect a couple tasks against thread and email deletion
Improve performance in the cache rebuilding async task
Drop the
mailman2_download
command. (#148)Adapt to the newest mailmanclient version (3.1.1).
Handle the case when a moderated list is opened and there are pending subscriptions. (#152)
Protect export_mbox against malformed URLs. (#153)
1.1.1¶
(2017-08-04)
Fix the Javascript in the overview page
Make two Django commands compatible with Django >= 1.10
Fix sorting in the MailingList’s cache value
Don’t show emails before they have been analyzed
Fix slowdown with PostgreSQL on some overview queries
1.1.0¶
(2017-05-26)
Add an async task system, check out the installation documentation to run the necessary commands.
Support Django < 1.11 (support for 1.11 will arrive soon, only a dependency is not compatible).
Switch to the Allauth login library
Performance optimizations.
Better REST API.
Better handling of email sender names.
Improve graphic design.
1.0.3¶
(2015-11-15)
Switch from LESS to Sass
Many graphical improvements
The SSLRedirect middleware is now optional
Add an “Export to mbox” feature
Allow choosing the email a reply or a new message will be sent as
0.9.6¶
(2015-03-16)
Adapt to the port of Mailman to Python3
Merge KittyStore into HyperKitty
Split off the Mailman archiver Plugin in its own module: mailman-hyperkitty
Compatibility with Django 1.7
0.1.7¶
(2014-01-30)
Many significant changes, mostly on: * The caching system * The user page * The front page * The list overview page
0.1.5¶
(2013-05-18)
Here are the significant changes since 0.1.4:
Merge and compress static files (CSS and Javascript)
Django 1.5 compatibility
Fixed REST API
Improved RPM packaging
Auto-subscribe the user to the list when they reply online
New login providers: generic OpenID and Fedora
Improved page loading on long threads: the replies are loaded asynchronously
Replies are dynamically inserted in the thread view
0.1.4¶
(2013-02-19)
Here are the significant changes:
Beginning of RPM packaging
Improved documentation
Voting and favoriting is more dynamic (no page reload)
Better emails display (text is wrapped)
Replies are sorted by thread
New logo
DB schema migration with South
General style update (Boostream, fluid layout)
0.1 (alpha)¶
(2012-11-22)
Initial release of HyperKitty.
login using django user account / browserid / google openid / yahoo openid
use Twitter Bootstrap for stylesheets
show basic list info and metrics
show basic user profile
Add tags to message threads