Flatboard 4.0 Spitz

Fred
Flatboard 4.0 Spitz
Fred Saturday 29th November 2025, 20:20:19

Flatboard Changelog


Version 4.0 - 2025-11-29

Performance Optimizations
  • Database Query Optimization: Implemented static caching for flatDB::readEntry() and flatDB::listEntry() to reduce redundant file system operations
  • N+1 Query Fixes: Eliminated N+1 query problems in feed.php, view.php, search.php, and other core files
  • Parser Optimization: Added static cache for Parser::title() and optimized Parser::content() and Parser::summary()
  • Plugin System: Implemented static caching for plugin configurations and hook validations
  • BBCode/BBlight Optimization: Added static cache for quote entries to prevent repeated database reads
  • User Management: Implemented static cache for ban list with 60-second TTL
  • Search Enhancement: Optimized search functionality with relevance scoring, result limiting, and content preview optimization


Library Improvements
  • flatDB Library: Added static caching system with automatic invalidation (5-second TTL)
  • Plugin Library: Added cache for hook validation checks
  • HTMLForm Library: Added cache for description sanitization
  • GlobalRequestLimiter: Fixed potential undefined variable error


RSS Feed Fixes
  • Fixed RSS feed redirection issue - now returns valid Atom XML error feed instead of redirecting
  • Improved date validation in feed generation
  • Optimized topic caching in feed.php


Date Formatting
  • Fixed date formatting issues with strftime codes
  • Added convertStrftimeToDateTime() function for proper format code conversion
  • Enhanced config.php with select dropdowns for date format presets
  • Added "Custom" option with dynamic text input for date formats


Security Enhancements
  • Ban System Overhaul:
  • [list]
  • Replaced strpos() with ipInCidr() for accurate IP/CIDR range checking
  • Added isValidIpOrCidr() for robust IP and CIDR validation (IPv4/IPv6)
  • Improved ban list management with search, sort, and add functionality
  • Added confirmation for ban removal
  • Implemented static cache for ban list with automatic invalidation

[*] CSRF Protection: Enhanced CSRF token generation and validation
[*] Input Sanitization: Improved HTML sanitization in help descriptions with whitelist-based approach
[*] IP Validation: Enhanced IP address validation including CIDR support
[/list]

User Interface Improvements
  • Added logout button to frontend header for all logged-in users
  • Tags field now only displays if visible tags are configured
  • Improved responsive design for various screen sizes
  • Enhanced form validation and error display


Plugin Enhancements
  • Identicon Plugin (v3.6.0):
  • [list]
  • Added configurable options for status dot (online/offline) display
  • Added configurable options for role badge (admin/moderator) display
  • Improved caching for online status checks
  • Enhanced role detection with optimized caching
  • Fixed CSS positioning for status dots and badges

[*] Online Plugin:
  • Implemented static caching for plugin data, hits, and authenticated users
  • Optimized cleanup of inactive IPs and authenticated users
  • Added configuration options for timeout and max_entries
  • Enhanced modal to display authenticated users, visitors, and bots
  • Improved IPv6 masking for privacy
  • Added crawler detection with static caching

[*] FlatBBeditor Plugin:
  • Fixed conflicts with TinyMCE editor in page plugin
  • Added conditional loading to prevent conflicts
  • Fixed undefined array key warnings in markdown editor
  • Implemented static cache for plugin data

[*] Darkmode Plugin:
  • Fixed Firefox crashing issues
  • Added color format validation
  • Improved error handling and initialization
  • Added static caching for plugin configuration

[*] Page Plugin:
  • Ensured TinyMCE editor doesn't conflict with FlatBBeditor
  • Added proper content field handling
  • Improved translation support

[/list]

Content Parsing Improvements
  • Markdown Editor:
  • [list]
  • Fixed HTML tag display issue in homepage summaries
  • Added HTML-to-Markdown conversion for pre-existing HTML content
  • Improved content parsing in Parser::content() and Parser::summary()

[*] BBCode Processing: Optimized quote processing with static caching
[/list]

JavaScript Enhancements
  • Improved plugin activation/deactivation with better error handling
  • Added comprehensive AJAX error handling with timeouts
  • Enhanced UI feedback for user actions
  • Fixed TypeError issues in flatboard.js


[h2]Bug Fixes[/h2]
  • Fixed white page error in identicon plugin
  • Fixed undefined array key warnings in multiple files
  • Fixed date formatting display issues
  • Fixed search functionality optimization
  • Fixed tag display logic in forms
  • Fixed various PHP warnings and notices


Code Quality
  • Improved error handling throughout the application
  • Added comprehensive logging for debugging
  • Enhanced code documentation
  • Improved code organization and structure


Previous Versions

Version 3.7.0 - 2025-02-08
  • Initial release of optimized version
  • Base functionality improvements

Last modified by Fred on Saturday 29th November 2025, 22:53:00
Fred stickied the discussion.
  • Before ask a question, read the documentation.
  • 🎉  Featured as #1 product of the day on Product Hunt
  • Please like in alternativeto.net 👍🏻
  • ╰☆╮Flatboard╰☆╮ is a open source and community contributions are essential to project success!
  • <TextField>, my new CMS project designed by a passionate developer, for developers!
  • My last project Fast⚡︎CMS, a Flat-File cms.
  • I am currently busy 😫.