Misago 0.28 is now available!
0.28 is a feature release that addresses some long-standing issues in the UX, removes build-in SSO clients and adds OAuth 2 client in its place. It also fixes few bugs and updates dependencies. Lastly, it updates Python version used to 3.11, which should speed up things even more.
Forum threads list has been completely redesigned. New list uses tabular layout and icons to increase the information density. It also replaces labels with icons for communicating thread states. Icon for unread state, arguably most important of all, is placed in front of thread's title, replacing thread's author's avatar. This icon also acts as hyperlink to first unread post. Categories are also now more pronounced, with new options for setting their color in the UI and short name for use in places where space is limited. Information about last poster has been rolled into avatar, freeing more space for larger timestamp of last activity in thread. To further save space, control for changing thread's subscription is now displayed only on subscribed threads list. On mobile devices threads table breaks into two-row layout.
Page headers have also been completely redesigned. On categories pages threads filters and new thread button were moved from the header to the toolbar below it. Thread's page header now uses some of components from threads list, but also includes small profile card for thread's author. Thread's subscription and moderation options were also moved under the thread title, giving more space to threads before they have to break into two lines. Breadcrumbs now include color elements if those are set on categories. User profiles follow threads in design direction, but also make user's avatar more pronounced.
Probably greatest change to headers lies in their new markup, which includes multiple layers enabling for some great customization. Stay tuned for a guide showing what's possible with those.
Navs and toolbars
Misago 0.28 removes tabs from its UI. Threads list relied on tabs for threads filtering, but this feature now lives in a dropdown on thread's toolbar, next to category menu. On users lists taps have been replaced with pills. Pills also replace side-menu on user profiles, giving more horizontal space for users activity feeds and follows lists.
Old "category" menu that opened a dropdown with list of available categories has been replaced with new navigation. When threads from whole forum are displayed, this button is labeled with "All categories". Opening it will show a list of all top-level categories available to the user. Clicking on any of those will move the user to thread's list for selected category, and replace button's label with name of category they are viewing. By clicking the button again they will be able to select other top-level category or return to all categories list. If category has subcategories, another button is displayed next to it with analogous function.
On many pages buttons have been moved from page headers to button rows (toolbars) located below them, freeing space for headers and making hierarchy of items saner to reason about.
OAuth 2 client for single sign on
Popular use for internet forum is an addon for an existing website. In some cases this website already stores and manages user accounts, making additional registration of account on forum unwanted. Solution to this problem is implementation of single sign-on setup where one web application acts as source of truth about user accounts ("auth provider") and those applications connect to it when users want to log in to it ("single sign-on clients").
In previous versions Misago could be configured to act as an client to other site, delegating account creation, login, username and e-mail changes to it. This was achieved with the Django Simple SSO library, which implemented custom standard and only had implementation for Django framework, seriously limiting available integration options for site owners. Misago 0.28 drops Django Simple SSO, in its place providing configurable OAuth 2 client, which is industry standard for user authentication and authorization in applications.
Moved client build from Gulp.js to Webpack
I wasn't too happy with Misago's setup of Gulp.js with Browserify for building JS and CSS for Misago's client, so I've put work to move it to new setup using Webpack.
I know this was a pain point for some people wanting to fiddle with Misago's frontend. I hope things will now be little more bearable for them.
- 1422: Added OAuth 2 client.
- 1399: Categories can have colors and short names.
- 1403: Made links in posts open in new tab by default.
- 1412: Page header on forum index is now optional.
- 1388: Removed SSO using Django Simple SSO.
- 1398: Changed build system used for client assets from Gulp.js to Webpack.
- 1399: Categories now can have color and short name set on them thats used to conserve space in the UI.
- 1399: Redesigned threads list.
- 1412: Redesigned page headers.
- 1417: Redesigned navigation on user profile, account options and users lists pages.
- 1406: Redesigned toolbars.
- 1418: Moved posts away from Bootstrap grid too flexbox.
- 1346: Fixed default subscriptions options not setting on new user accounts.
- 1427: Locked locale in testrunner to en-us.
- 1416: Success message displayed in admin panel when theme was created or updated contained empty quotation marks, missing theme's name.