• March 19, 2023, 3:40 p.m.

    Misago 0.30 is a feature release introducing completely redone posting UI. It also includes bug fixes and other changes.

    New posting UI

    Misago 0.30 ships with new posting UI that sticks to bottom of screen on large displays, enabling you to compose your reply as you scroll the screen across content you want to reply to. If you need to see more content, you can now minimize the UI. Likewise if you need to focus on your content, you can maximize the UI to take entire screen, giving you more space for composing your content. On small displays like mobile devices, reply UI takes entire screen, but it can still be minimized.

    Editor improvements

    UI editor's toolbar was moved above the text area and its controls were updated to use custom UI for content insertion in place of old browser-native prompts.

    Toolbar also now provides formatting help icon that can be clicked to see complete reference of all formatting supported by Misago by default.

    New attachments may now be uploaded by dropping them on editor's textarea or by pasting them.

    Message preview is now displayed in editor area instead of separate window.

    Select to quote

    Selecting fragment of other user's post in Misago 0.30 now causes "Quote" button to appear under selection. This makes it easier to reply to parts of messages of other users.

    Message contexts for translators

    Misago 0.30 is first Misago to ship with message contexts for translators. Those contexts add small amount of information about message's meaning in the UI (eg. "may" has different meaning as adjective or verb) enable more accurate translations to other languages. Currently only portion of messages include those contexts, but I plan to add contexts to more messages in future releases.


    Support for specifying upload limit per attachment size has been deprecated. It will not be checked in Misago 0.30 onwards. This feature will be deleted from UI and database in Misago 1.0.

    Known issues

    3rd party library "atWho" used for mentions suggestions (dropdown with user names when "@username" is entered in editor) is known to don't reliably work with new UI, but I was unable to resolve the case. 0.30 includes hotfix for this issue, but I've already started working on custom suggestions mechanism that I plan to introduce in future version of Misago.

    Moment.js library used for formatting dates is included with all translations, ballooning the vendor.js file to twice it's size. 0.30 removes secondary import of translations for site's locale (only case if you are not using English locale). In future releases Moment.js will be removed altogether and browser's native localization features will be used for formatting dates.

    Quote markup created from selected texts is less than ideal. This is limitation of current posts parser producing gibberish HTML that is hard to reverse into clean markup. In future releases Misago will use new markup parser back ported from v4 branch that produces much better HTML.


    • Added support for quoting other users posts by selecting text in their messages and clicking new "quote" button. (#1446)
    • Replaced old posting UI with new one. (#1446)
    • Text size in posts was increased to 16px. (#1446)
    • Fixed some youtube videos failing to embed. (#1462)
    • Fixed threads displaying as unread to guests on threads list. (#1463)
    • Fixed very long text lines not breaking, causing posts UI to overflow. (#1438)
    • Fixed moderation options being displayed in thread's bottom toolbar on mobile devices for users without moderator permissions. (#1469)
    • Deprecated support for setting per-type upload size limit. This size limit is no longer checked by Misago and it will be removed from database and UI in 1.0 release. (#1288)
    • Added support for generating thumbnails for webp images. Updated default attachment types to support webp files.
    • Added misago-authenticated and misago-anonymous css classes to body element depending on user auth state. (#1471 1471 1471)
    • Removed support for using GET method for access token retrieval in the OAuth2 client. (#1472)
    • Replaced use of validate_new_registration hook with new dedicated oauth2_validators plugin hook enabling custom validation logic in OAuth2. (#1473)
    • Fixed wrong spacing on social login form page. (#1476)
    • Changed quotation styles from orange to blue. (#1485)
    • Removed unused moment.js locales script import for locales other than english. (#1489)
    • Synchronized translations with Transifex. (#1490)
    • Updated default icons. (#1491)