Flatboard 5.8.0 "POLARIS" — Release announcement

Fred Fred ·15 July 2026 à 11:57·5 min read·105· 0 comment

🚀 Flatboard 5.8.0 "POLARIS" — Release announcement

Released: July 15, 2026 · Covers everything shipped since 5.7.2 (releases 5.7.3 → 5.8.0, codenames BEACON → POLARIS)

Flatboard 5.8.0 is the biggest update of the 5.7.x cycle: per-category permissions, unread-discussion tracking, a complete overhaul of the presence system, a smarter ban system, full 6-language parity and a long list of performance, privacy and mobile improvements.

Flatboard Release

✨ Headline features

🔐 Per-category permissions (requested in #184)

Every category now has three independent, group-based permission levels, editable in Admin → Categories:

LevelWhat it controlsDefault
VisibilityWho can see the categoryPublic
PostingWho can reply and post in itEveryone
Discussion creationWho can start new discussionsAnyone who can post

The levels are hierarchical, Discourse-style (create ⇒ reply ⇒ see), admins always bypass, and existing categories are unaffected. This unlocks:

  • Marketplace categories — everyone browses, only verified sellers post;
  • Announcement categories — staff opens threads, everyone replies;
  • Private rooms — invisible outside the allowed groups (as before).

Members outside the allowed groups get a graceful read-only UI, and the server enforces the rules on every write path — including the REST API.

🔵 Unread discussions — "since your last visit"

  • Threads with new activity show an unread indicator in every discussion list.
  • A navbar badge counts your unread discussions in every theme.
  • A per-user baseline is captured at login, so your pre-registration history is never flagged as unread.
  • Read tracking now actually persists (a type bug meant opening a discussion never marked it read).

👥 Presence system, rebuilt

  • 2025–2026 crawler generation detected: OAI-SearchBot, Claude-User/SearchBot, Perplexity-User, MistralAI-User, DuckAssistBot, GoogleOther, Google-Extended, Diffbot and friends no longer pollute your visitors list — and bots now display their real names instead of "Mozilla".
  • Cloud/datacenter IPs (AWS, GCP, Azure, Alibaba, OVH, Hetzner…) are moved out of "anonymous visitors" and grouped under Bots; remaining visitors are grouped by subnet with a ×N badge.
  • The visited page is now a clickable link in the presence lists (with strict safety rules).
  • Privacy fixes: discussion titles from restricted categories no longer leak to unauthorized viewers via presence lists or RSS descriptions.
  • Bots no longer inflate Analytics visits/unique-visitor counts, and referrer spam is filtered out of traffic sources.

🔨 Smarter ban system

Banning a member by account silently creates an IP ban to block re-registration — these two records are now linked: revoking or deleting the user ban cascades to its auto-created IP ban, the relationship is visible in the bans table, and deleting the account cleanly detaches the IP ban (the IP stays blocked). Covered on every deletion path, including inactive-account purges.


🌍 Internationalization

  • Polish (pl) is now a fully supported language everywhere: core + all 35 plugins ship a complete pl.json. The Polish language pack was contributed by @nononsense in thread #177.
  • Full key parity across the 6 locales on every core domain (main, admin, errors, emails, auth) — dozens of pre-existing gaps filled (45 keys in Portuguese admin alone).
  • Previously hardcoded French strings are now translated: upload error messages (which also no longer leak server paths), admin webhooks pages, profile reaction lists, RSS feed descriptions, default reaction names, plugin descriptions in the admin list.
  • Markdown tables now render even when pasted with leading indentation.

📱 Mobile & UI

  • Zero horizontal scroll at 360/768/1024 px in every theme — long URLs, wide tables and oversized images are contained; guest reply banner and IPB navbar wrap properly.
  • Premium theme: redesigned, more compact discussion rows (tags under the title, last-reply preview, stat mini-boxes, condensed mobile layout) and category headings with count + feed pills.
  • Header refresh in all themes: avatar-only user menu with an identity block in the dropdown, direct "back to forum" icon in the admin header, consistent notification bell matching the backend.
  • Discussion-view tags now render with their custom colors and icons, matching the lists.
  • Post scrubber and j/k keyboard navigation now land at the top of the target post.

⚡ Performance

  • Plugin metadata is read once per plugin at boot (~105 redundant file reads removed per request on all plugins install).
  • Anonymous visitor tracking no longer scans every active visitor on each page view (single indexed query).
  • Presence lists: N+1 removed, 5-second shared cache finally implemented (measured 18 ms → 3 ms).
  • A dead presence-list JS layer (~10 KB shipped on every page) was removed entirely.
  • Bundled plugins dropped eager require_once loading in favor of the PSR-4 autoloader.

🛠 Fixes worth noting

  • SQLite: no such column: auto_user_id crash when deleting a user (missed schema bump).
  • Inline CSS minifier: an apostrophe inside a CSS comment could silently delete the following rules.
  • discussion.deleted events now fire on every deletion path with the reply authors in the payload — so plugins like Reputation can take points back, and audit logs/webhooks see admin deletions too.
  • Plugin settings: re-saving a form no longer wipes stored values whose default is empty (credential fields).
  • Post author stats stay accurate after moderator deletions; the online-members panel no longer shows 0 posts on SQLite.
  • Orphaned .tmp_* folders in stockage/updates/ are now swept automatically.
  • CLI: cache:clear, user:create, categories:rebuild and webhook:* commands actually run.
  • Reaction notifications now name the discussion; the notification bell hides when empty.

📦 Plugin highlights (packaged)

  • FlatHome 1.0.21 (Pro) — CMS Pages admin UX overhaul: guided navigation builder with live preview, clearer content-type labels; contact form is now extensible by plugins (CAPTCHA support).
  • FlatModerationExtend 1.0.11 (Pro) — bulk deletions reach the audit log; every moderation action is audited and attributed to the moderator.
  • PrivateMessaging 1.1.8 (Pro) — dashboard widget finally respects the forum language.
  • EasyMDE 2.3.15 (Community) — client-side image size limit aligned with the server (no more false 2 MB rejections).
  • All packaged plugins now require Flatboard ≥ 5.7.0 and ship the 6 locales.

⬆️ Upgrading

Update from Admin → Tools → Updates as usual. SQLite installs are migrated automatically on the first request (schema v22). JSON installs need no migration. All changes are backward compatible — categories, permissions and plugins behave exactly as before until you configure the new options.

Full details in the CHANGELOG · Docs: Categories and Discussions page for the new permission levels.

Thanks to everyone who reported issues and requested features on the forum, several items in this release (#182, #183, #184) came straight from your feedback. 🙏

Share this article:

Fred

👨‍💻 Flatboard Founder 🔧 Flatboard Core Developer.
Full-Stack Web Developer
Expert in Portable and Interoperable Solutions (PHP/JSON)

Member since December 2025

0 comment

No comments yet. Be the first!

Log in to leave a comment.