This release brings bugfixes, reliability improvements and cleanups to Misago's codebase.
Updating instructions
To update Misago from 0.6 Alpha 2 to 0.6 Alpha 3, use PIP to uninstall old Misago and install new one:
pip uninstall misago
pip install misago --pre
Next, run migrate
command to update your database to latest version:
python manage.py migrate
New features
- 125 - Added schema.org structural data on threads lists, thread view and users lists.
- 702 - Misago now comes with special "cleansource" utility tool that reformats and lints python codebase using yapf, pylint, isort and custom overrides.
Bugs fixed
- 723 - Added default values for some settings. This solves showstopper on changing forum configuration using empty values, and brings in intended behavior of Misago changing those settings to default if user attempts to clear their values.
- 724 - Fixed misalignment of labels in modals horizontal forms.
- 732 - Threadview pagination could report incorrect number of pages for threads with number of pages on next page equal to
MISAGO_POSTS_TAIL
. - 733 - Disallowed
/options/
,/p/
and/private-threads/
in default robots.txt - 737 - Fixed showstopper when user enters string containing non-ascii characters in auth forms accepting e-mail addresses.
Implementation and API changes
- 594 - Renamed
user.acl
attribute touser.acl_cache
anduser.acl_
touser.acl
. - 629 - User follows and followers lists in API were moved to designated edges.
- 643 -
UserTestCase
,AuthenticatedUserTestCase
andSuperUserTestCase
are usingforce_login
andlogout
utilities instead of previous approach of signing user in and out via test client, which has greatly speed up tests suite. - 644 - Introduced optional API for creating derivate model serializers in situ, via
Serializer.subset_fields
,Serializer.extend_fields
andSerializer.exclude_fields
. Performed cleaning pass over existing serializers making those list's fields easier to maintain. - 648 - Moved constants under their classes or
constants.py
modules, simplified their names and made them easier to use across codebase. - 676 - Misago's
validate_password
utility has been removed and replaced with Django's password validation facilities. - 706 - moved bunch of forms used exclusively by an API to serializers, so they handle json data better.
- 707 - relative imports other than from sibling or child paths have been converted back to absolute.
- 710 - moved user profile and users lists views to classes.
- 726 - replaced
user.is_authenticated()
anduser.is_anonymous()
calls withuser.is_authenticated
anduser.is_anonymous
as per Django 1.10 api change. - 727 - cleanup
get_user_model()
usage and made it consistent with Django's codebase. - 731 - camelcase
Model
,Form
andSearchForm
attributes on generics for writing admin views. - 728 - cleanup
import *
and__all__
clauses in python code. - 734 - moved bulk of user API edges and views to viewmodels.
- 740 - codebase is now tested with pylint to fish out basic errors and omissions like using undefined name, redefining value or having unused imports.
- 741 - cleaned response.json handling in tests a little.
Documentation changes
- 739 - documented installation error that occurs when installing Misago using setuptools release older than 8.