As first half of the year nears the end, I would like to share updated roadmap for the rest of 2018:
Currently under development, "Social Auth" means integration of
python-social-auth into Misago's code, thus making it possible for site administrators to enable users to join or log in using their account in social site supported by aforementioned library.
For power users
python-social-auth exposes the framework for writing custom integration with oauth poviders that are not supported in the core.
UPDATE: Social auth has been released in Misago 0.18!
As soon as social auth gets released, I'll be moving on to implement features making it easier to comply with GDPR regulation that comes into effect in EU on 25th of May. Misago already implements data anonymization on account deletion, but there are two other tasks imposed on site administrators that could be supported in core package: adminable list of explicit consents and personal data export.
Removing Python 2.7 and Python 3.4
Increasing number of Python libraries are becoming Python 3-only, with special attention being given to Python 3.5 that brings useable type annotations to the Python. I think its time to drop 2.7 and 3.4 from Misago codebase, to open the way for those libraries, as well as to reduce current maintenance burden.
Docker for local dev and production
We want to make it easier to start and run Misago communities as well as to try it out locally to for those who want to see it's moderation and administration tools. Thanks to contributions from @einarf, it is now possible to get Misago running on your machine with zero file edits and no python knowledge by just 3 commands in terminal.
The next step is to provide Docker setup that can be ran in production environments, simplifying long and tedious process of setting up and configuring Misago, UWSGI, Nginx, Lets encrypt with caching and email, as well as abstract away the process of editing
settings.py. Instead user will be provided with basic config file and guide on how to go about different setups, with actual configuration using sane defaults being generate from that. Power-users will still be able to get their hands dirty with configuration files.
Single Sign On/Integration with existing sites
Top feature request of all time for Misago is easy integration with existing sites. While my original plan was to try make Misago easier to integrate with existing Django projects, after much exploration on the matter I have concluded that doing so would be a mistake, resulting solution nightmare to maintain and integrate with.
Instead Misago will implement features enabling it to be configured to use cookie with JWT set by your site as well as to redirect users to your login/registration forms, as well as expose you additional API endpoint to forcefully update user from your own application if you wish so.
GraphQL API, deprecation of JSON API
When Facebook was demoing the GraphQL on ReactConf 2016, I've considered it interesting but terribly immature piece of technology. The time sure flies, and GraphQL together with tool ecosystem has matured a lot in those 2.5 years.
Today I am convinced that GraphQL is the way to build API for modern web applications, and I want to replace current JSON API with new GraphQL API in one of future releases, making it a new requirement for new frontend.
Due to large scope of this change, it is unlikely to land in 2018, but it will also not be a blocker from making smaller maintenance releases adding small tweaks, fixes or features.