Skip to content

Releases: rafalp/Misago

Misago 0.19.2

16 Sep 15:43
1fe0a9d
Compare
Choose a tag to compare

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.

Misago 0.19.1

28 Aug 19:31
Compare
Choose a tag to compare

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

Misago 0.19.0

19 Aug 18:43
5847d99
Compare
Choose a tag to compare

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.

Legal agreements have been revamped

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

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

Misago 0.18.1

05 Jun 17:14
Compare
Choose a tag to compare

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.

Misago 0.18.0

01 Jun 01:10
Compare
Choose a tag to compare

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

Misago 0.17.4

24 Apr 17:22
Compare
Choose a tag to compare

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.

Misago 0.17.3

02 Apr 15:27
Compare
Choose a tag to compare

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.

Misago 0.17.2

01 Apr 21:22
Compare
Choose a tag to compare

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.

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.

Misago 0.16.0

25 Feb 19:57
Compare
Choose a tag to compare

Misago 0.16 is quality of life release that brings small fixes and and improvements to project's codebase.

Updating instructions

To update Misago from 0.15 to 0.16 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

New features

  • #966 - Redirect user from guest-only view to url defined in LOGIN_REDIRECT_URL if they signed in on it instead of displaying him an error 403.

Theme changes

none

Bugs fixed

  • #963 - Instead of 404, display message about category being non-browseable when user can see the category, but not its contents.

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

Misago 0.15.0

10 Feb 22:10
Compare
Choose a tag to compare

Misago 0.15 is quality of life release that brings small fixes and visual update to project's branding and default theme as well as updates translation files to be in sync with Transifex.

Updating instructions

To update Misago from 0.14 to 0.15 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

New features

none

Theme changes

  • #951 - Changed default theme's color scheme to be less gray all-around and bolder with brand's color. Updated branding to be more obvious on small sizes. Updated default og:image to use new branding.

Bugs fixed

  • #953 - Guest's menu on desktop was displayed wrong on Safari.
  • #955 - Don't display signed out message in tabs where user is already signed out.
  • #957 - Don't display moderation button on user profile if no moderation actions are available.

Implementation and API changes

  • #950 - Added test that checks if JavaScript translation files are correctly loaded and served under django-i18n.js url.

Documentation changes

none

Localization changes

  • Updated translation files for es, fr, ru, tr_TR and zh_Hans language codes.