All Versions
10
Latest Version
Avg Release Cycle
24 days
Latest Release
614 days ago

Changelog History

  • v0.19.4

    November 01, 2018

    πŸš€ Misago 0.19.4 is a security release that updates Python requests to 2.20, resolving potential vulnerability in HTTP connections handling.

    ⚑️ Updating instructions

    ⚑️ To update Misago from 0.19.3 to 0.19.4 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    
  • v0.19.3

    October 27, 2018

    πŸš€ Misago 0.19.3 is a maintenance release focused on fixing issues.

    ⚑️ Updating instructions

    ⚑️ To update Misago from 0.19.2 to 0.19.3 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    

    βœ… Next, run following commands to make sure your forum database and static files are up to date with latest changes:

    python manage.py migrate
    python manage.py collectstatic
    

    πŸ†• New features

    none

    Theme changes

    none

    πŸ› Bugs fixed

    • #1109 - "Undelete" moderation option is displayed to non-moderators on threads list.
    • #1110 - Active users page displays all users that ever posted, not just users that posted during ranked period.
    • #1111 - Program name passed by misago.core.setup.start_misago_project to execute_from_command_line was start-misago.py instead of misago-start.py.

    Implementation and API changes

    • 🚚 #1116 - Removed unnecessary compilemessages from ./dev txsync as this was already being done in ./dev txpull step ran internally.

    πŸ“š Documentation changes

    none

    Localization changes

    • 🌐 #1116 - Synchronized translation files with Transifex.
  • v0.19.2

    September 16, 2018

    πŸš€ Misago 0.19.2 is a maintenance release focused on fixing issues and improving different areas of project.

    ⚑️ Updating instructions

    ⚑️ To update Misago from 0.19.1 to 0.19.2 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    

    βœ… Next, run following commands to make sure your forum database and static files are up to date with latest changes:

    python manage.py migrate
    python manage.py collectstatic
    

    πŸ†• New features

    none

    Theme changes

    none

    πŸ› Bugs fixed

    • 🐳 #1051 - Debug Toolbar was not being displayed inside development docker container.
    • #1100 - createfakeusers could run out of usernames.

    Implementation and API changes

    • 🚚 #993 - Removed dependency on β€œpackaging" module in "check version" admin tool.
    • 🚚 #1061 - Moved requirements management to pip-tools.
    • #1079 - Consolidated all bash dev scripts into single file.
    • #1084 - createsuperuser will no longer require password to pass validation. This change is to bring its behavior in line with Django 2.0 implementation, and make it easier to create throwaway super user accounts in development.
    • #1088 - Misago will now add rel=noopener to outgoing links posted by users.
    • #1091 - Replaced GitHub API with PyPi in "check version" admin tool.
    • #1100 - Progress bar displayed by bulk-processing commands now also displays number of completed items.
    • πŸ— #1101 - buildactivepostersranking management command will now display time it took to complete. It should also be little faster than it used to be.
    • ⚑️ #1104 - Updated default cron.txt to have 5 minute delays between each maintenance task run, conserving host's memory better.

    πŸ“š Documentation changes

    none

    Localization changes

    • ⚑️ #1082 - Translation source for django.po has changed. Transifex has been updated.
  • v0.19.1

    August 28, 2018

    πŸš€ Misago 0.19.1 is a maintenance release focused on fixing issues found in Misago 0.19.0.

    ⚑️ Updating instructions

    ⚑️ To update Misago from 0.19 to 0.19.1 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    

    βœ… Next, run following commands to make sure your forum database and static files are up to date with latest changes:

    python manage.py migrate
    python manage.py collectstatic
    

    πŸ†• New features

    none

    Theme changes

    none

    πŸ› Bugs fixed

    • #985 - Login view crashed if redirect_to contained non-ascii characters.

    • #1027 - Uploading new avatar didn't delete old avatar files.

    • #1067 - absoluteurl processed already absolute urls.

    • #1072 - It was possible for get_by_username_or_email to return more than one user.

    Implementation and API changes

    • #1070 - Renamed force flag in initdev tool from --f to -f.
    • #1075 - If user has to accept both changed Terms of Service and Privacy Policy, display the terms first.

    πŸ“š Documentation changes

    none

    Localization changes

    none

  • v0.19.0

    August 19, 2018

    πŸš€ Misago 0.19 is a feature release focused on making compliance with GDPR easier for forum admins, as well as to store less data about the users and treat stored data better.

    πŸ“š This is also the release that moves documentation from main repo to dedicated one, named Misago-Docs, making amount of data needed to checkout from GitHub smaller, and opening the way for including screenshots in our guides.

    MISAGO_ADDRESS setting

    πŸ— In past Misago relied on the HttpRequest (or just request) Django object to build links in emails sent to users. However this approach has tied email sending to the duration of request-response cycle.

    Misago 0.19 solves this issue by introducing the MISAGO_ADDRESS setting, making it possible to send-emails from management commands and (in future) celery tasks, opening the road for implementing new notification mechanisms in future, such as notifying the categories watchers about new threads.

    Misago now provides dedicated admin interface for managing the agreements, located in the "Users" section. This interface enables site administrators to have multiple versions of agreements defined at single time, as well as decide which version should be used.

    In addition to above Misago will now keeps track of which agreements users have accepted, and will require user to accept new agreement if they haven't done so.

    Automatic deletion of inactive accounts

    Misago allows administrators to require registering users to activate their accounts via activation link in e-mail message or have their accounts activated by admin manually. Both of those have different purposes, such as making sure that users specify valid e-mail addresses or access to community is only allowed for those that pass admin review.

    πŸ“± Unintended side-effect of requiring activation is site accumulating inactive ("abandoned") user accounts. In era of GDPR those accounts may be considered liability to site administrators responsive for processing user data.

    βœ‚ Misago 0.19 provides deleteinactiveusers management command that deletes of accounts that weren't activated in time specified in the MISAGO_DELETE_NEW_INACTIVE_USERS_OLDER_THAN_DAYS setting.

    This command is intended to be ran periodically in cron.

    IP addresses handling

    πŸš€ GDPR considers IP addresses personal data and while Misago already anonymized user's personal address, overwriting it with 0.0.0.0 when user's account is being deleted, but this release takes this further by limiting number of places where IPs are stored to two and removing user IPs altogether instead of overwriting them with zeroes. If you wish so, you may also delete IPs when they are older than specified number of days to keep your IP record small.

    ⚑️ Updating instructions

    ⚑️ To update Misago from 0.18 to 0.19 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    

    βœ… Next, run following commands to make sure your forum database and static files are up to date with latest changes:

    python manage.py migrate
    python manage.py updatepostschecksums
    python manage.py collectstatic
    

    🚚 Misago relies on management commands to remove old IP's, delete new user account's that weren't activated in long time, process new data download requests and expire old ones. If you plan to use those features (and you should because it helps keep amount of personal data processed by site in check), please add following lines to your crontab (please note that you will likely need to enter custom path to manage.py or your python):

    25 1 * * * python manage.py deleteinactiveusers
    0 2 * * * python manage.py removeoldips
    0 2 * * * python manage.py expireuserdatadownloads
    0 7 * * * python manage.py prepareuserdatadownloads
    

    Next, open your settings.py and add following code to it:

    # Complete HTTP address to your Misago site homepage. Misago relies on this address to create
    # links in e-mails that are sent to site users.
    # On Misago admin panel home page you will find a message telling you if you have entered the
    # correct value, or what value is correct in case you've didn't.
    
    MISAGO_ADDRESS = 'http://my-misago-site.com/'
    

    You will need to replace the http://my-misago-site.com/ with valid http address to your Misago site's main page.

    Data download feature requires temporary directory where it will be able to collect files to for archivization. Create directory named userdata in same directory that you have media and static, then add this line to your settings.py:

    # Path to the directory that Misago should use to prepare user data downloads.
    # Should not be accessible from internet.
    
    MISAGO_USER_DATA_DOWNLOADS_WORKING_DIR = os.path.join(BASE_DIR, 'userdata')
    

    Next, also add:

    # Specifies the number of days that IP addresses are stored in the database before removing.
    # Change this setting to None to never remove old IP addresses.
    
    MISAGO_IP_STORE_TIME = 50
    

    0️⃣ By default Misago will delete IPs that are older than 50 days, but you may make this number larger or smaller by changing it there.

    If you wish to use automatic deletion of inactive accounts, you will need to add following setting:

    # Automatically delete new user accounts that weren't activated in specified time
    # If you rely on admin review of new registrations, make this period long, disable
    # the "deleteinactiveusers" management command, or change this value to zero. Otherwise
    # keep it short to give users a chance to retry on their own after few days pass.
    
    MISAGO_DELETE_NEW_INACTIVE_USERS_OLDER_THAN_DAYS = 2
    

    Misago 0.19 removes LastIpField profile field. If your site is using it, you will have to find and remove 'misago.users.profilefields.default.LastIpField', from your MISAGO_PROFILE_FIELDS setting in settings.py.

    πŸ†• New features

    • 🚚 #1002 - Added removeoldips management command that removes old IP addresses from the database.
    • #1019 - Users and administrators may now request data download with their data stored on Misago site.
    • #1045 - Added deleteinactiveusers management command that deletes newly registered user accounts that weren't activated in specified time.
    • πŸ‘ #1047 - Legal agreements are more explicit, support versions, ask site user's to accept new agreement when those are created (or terminate user account if they decline).

    Theme changes

    none

    πŸ› Bugs fixed

    • #1023 - Private thread invitation has unescaped markup around thread title.
    • #1043 - Avatar galleries implementation assumed that avatars are stored locally, breaking feature for sites storing static files on separate storage such as S3.
    • πŸš€ #1053 - Lock dev docker to Python 3.5 so it doesn't explode when new python version gets released.

    Implementation and API changes

    • 🚚 #1012 - Moved IP storage to dedicated model named AuditTrail.
    • #1037 - Added MISAGO_ADDRESS setting and changed the misago.core.mail functions to don't take request argument.
    • #1044 - Renamed anonymize_content to anonymize_data for user model method and signal.

    πŸ“š Documentation changes

    • πŸ“š #1010 - Moved documentation to dedicated repo and updated from gitbook legacy to newest and bestest version.
    • #1013 - Added basic GDPR compliance guide for forum administrators.

    Localization changes

    none

  • v0.18.1

    June 05, 2018

    πŸ›  This release is small bugfix release that fixes error on login and register forms that happens when site has not enabled the social login feature.

    ⚑️ Updating instructions

    ⚑️ To update Misago from 0.18 to 0.18.1 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    

    βœ… Next, run following commands to make sure your forum database and static files are up to date with latest changes:

    python manage.py migrate
    python manage.py collectstatic
    

    πŸ› Bugs fixed

    • πŸ’» #1015 - Don't crash UI when user tries to open login or register forms on site with social auth disabled.
  • v0.18.0

    June 01, 2018

    ⚑️ Updating instructions

    ⚑️ To update Misago from 0.17 to 0.18 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    

    Now, open your forum's settings.py and find INSTALLED_APPS in it. Next, find this code:

    # 3rd party apps used by Misago'debug\_toolbar', 'crispy\_forms', 'mptt', 'rest\_framework',
    

    And add social_django below rest_framework, like this:

    # 3rd party apps used by Misago'debug\_toolbar', 'crispy\_forms', 'mptt', 'rest\_framework', 'social\_django',
    

    Also add following code at the end of your settings.py:

    SOCIAL\_AUTH\_PIPELINE = ( # Steps required by social pipeline to work - don't delete those!'social\_core.pipeline.social\_auth.social\_details', 'social\_core.pipeline.social\_auth.social\_uid', 'social\_core.pipeline.social\_auth.social\_user', # Uncomment next line to let your users to associate their old forum account with social one.# 'misago.users.social.pipeline.associate\_by\_email',# Those steps make sure banned users may not join your site or use banned name or email.'misago.users.social.pipeline.validate\_ip\_not\_banned', 'misago.users.social.pipeline.validate\_user\_not\_banned', # Reads user data received from social site and tries to create valid and available username# Required if you want automatic account creation to work. Otherwhise optional.'misago.users.social.pipeline.get\_username', # Uncomment next line to enable automatic account creation if data from social site is valid# and get\_username found valid name for new user account:# 'misago.users.social.pipeline.create\_user',# This step asks user to complete simple, pre filled registration form containing username,# email, legal note if you remove it without adding custom one, users will have no fallback# for joining your site using their social account.'misago.users.social.pipeline.create\_user\_with\_form', # Steps finalizing social authentication flow - don't delete those!'social\_core.pipeline.social\_auth.associate\_user', 'misago.users.social.pipeline.require\_activation', )SOCIAL\_AUTH\_POSTGRES\_JSONFIELD = True
    

    Misago 0.18 also renamed the "Full name" field to "Real name", if your settings.py contains following line:

    'misago.users.profilefields.default.FullNameField',
    

    You will have to change it to following to keep your forum working:

    'misago.users.profilefields.default.RealNameField',
    

    Next, open your urls.py and find following lines in it:

    urlpatterns = [ url(r'^', include('misago.urls', namespace='misago')),
    

    Now add url(r'^', include('social_django.urls', namespace='social')), below that code, so it looks like this:

    urlpatterns = [ url(r'^', include('misago.urls', namespace='misago')), url(r'^', include('social\_django.urls', namespace='social')),
    

    βœ… Run following commands to make sure your forum's database and static files are up to date with latest changes:

    python manage.py migrate
    python manage.py collectstatic
    python manage.py deleteprofilefield fullname
    

    You will also need to run regularly clear the database tables used to hold temporary data returned from social sites. To do this, add following task to your cron:

    25 0 * * * python manage.py clearsocial
    

    πŸ“š To learn how to enable social login for selected site on your Misago, see the guide in documentation.

    πŸ†• New features

    • #416 - Sign in or join using social authentication.

    Theme changes

    • πŸ“Š #996 - Don't require user to vote/view votes to access poll edit/delete buttons.

    πŸ› Bugs fixed

    • #995 - Posting action doesn't recognize and display attachments errors to the user.
    • #997 - Don't prompt user for label if they didn't enter URL in previous prompt.
    • #998 - Private Threads icon in header erroneously claims that user has unread messages.

    Implementation and API changes

    • #416 - Function signature for registration validators has changed to request, cleaned_data={}, add_error=None, with add_error kwarg being an add_error bound method belonging to form or serializer requesting registration validation.
    • #994 - Make registration-only bans option behavior more intuitive. Previously bans with "registration only" option disabled were ignored during registration, username or email changes.
    • #1004 - Delete marked users management task will delete already-marked user accounts even if administrator disabled option for users to request account deletion with MISAGO_ENABLE_DELETE_OWN_ACCOUNT = False.

    πŸ“š Documentation changes

    • #416 - Added guide for setting up social auth using GitHub as provider.

    Localization changes

    none

  • v0.17.4

    April 24, 2018

    πŸš€ Misago 0.17.4 is an maintenance release that fixes displaying of erroneous "moderation" button on thread page that opens empty menu.

    ⚑️ Updating instructions

    ⚑️ To update Misago to 0.17.4 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    

    Then run migrate and collectstatic commands to make sure your forum's database and static files are up to date:

    python manage.py migrate
    python manage.py collectstatic
    

    πŸ› Bugs fixed

    • #982 - Thread view contains empty moderation menu.
  • v0.17.3

    April 02, 2018

    Misago 0.17.3 is small bugfix release that Misago not fallbacking to setting's default value when MISAGO_ENABLE_DELETE_OWN_ACCOUNT is not set in your settings.py.

  • v0.17.2

    April 01, 2018

    πŸš€ Misago 0.17 is a feature release that adds "best answer" and "delete my account" functionalities to Misago's forums as well as fixes the path handling logic that stopped admin control panel from working when Misago was ran under the path.

    ⚑️ Updating instructions

    ⚑️ To update Misago from 0.16 to 0.17 use PIP to uninstall old Misago and install new one:

    pip uninstall misago
    pip install misago
    

    Then run migrate and collectstatic commands to make sure your forum's database and static files are up to date:

    python manage.py migrate
    python manage.py collectstatic
    

    πŸ‘ Misago 0.17 implements better compliance with GDPR regulation that comes into effect within EU in coming months:

    Data anonymization

    Starting with Misago 0.17, deleting user account will also replace all IP addresses associated with this account with 0.0.0.0 and replace cached usernames with "Ghost".

    If you want to customize this username for your community, you may do so by adding this line to your settings.py:

    MISAGO\_ANONYMOUS\_USERNAME = "Wisp"
    

    βœ‚ Delete own account

    Big change introduced by Misago 0.17 is feature allowing your forum's users to delete their own accounts on their own accord by using the "Delete my account" option on their forum options page.

    0️⃣ This feature is enabled by default on newly created forums, but needs to be enabled manually on every Misago forum that was created using earlier version.

    To enable this feature manually, add following line to your settings.py:

    MISAGO\_ENABLE\_DELETE\_OWN\_ACCOUNT = True
    

    Likewise, to disable this feature, simply make sure that MISAGO_ENABLE_DELETE_OWN_ACCOUNT is not present in your settings.py.

    Deleting user account may take some time to process, and as such happens in dedicated task that you should add to your crontab:

    0 1 * * * python manage.py deletemarkedusers
    

    🐳 Docker for development

    🐳 Misago now has Docker for development setup! If you want to give Misago a try, but you are weary of having to setup python project together with database, you may do it now easily if you have Docker installed.

    This feature is contribution from our community member, @einarf.

    πŸ†• New features

    • #969 - Mark a post as best answer in a thread.
    • #971 - Allow users to delete their own forum accounts.
    • 🐳 #981 - Misago now has docker config, which should make it easier to setup for developing locally.
    • #983 - Added fixcategoriestree management command for repairing the thread category tree in case it gets corrupted.

    Theme changes

    none

    πŸ› Bugs fixed

    • πŸ›  #925 - Fixed fake data generators after they stopped working due to fake-factory's rename to Faker.
    • #970 - Misago incorrectly relied on request.path_info whereas it actually wanted request.path, thus breaking admin auth and redirections as well as other small features that operated on path strings.

    Implementation and API changes

    none

    πŸ“š Documentation changes

    none

    Localization changes

    • 🌐 #965 - Changed turkish locale's code to tr from tr_TR. Synced translations with Transifex.
    • 🌐 #974 - Added translation strings for best answers and own account deletion to Transifex.
    • 🌐 #974 - Synchronized translations with Transifex.