Flatboard 4.0 Spitz
Flatboard 4.0 Spitz
Fred Saturday 29th November 2025, 20:20:19Flatboard 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 😫.
Suggested Topics

AlexanderLiebrecht@5e3cf8af
started 🇩🇪 What about the use of the new flatboard theme?
General Questions

4082f536
started Edit / Delete Rules?
General Questions

Gavin
started Supporting Bootstrap v5 + font awesome v6
Feature Requests

Michael
started translation Deutsche Übersetzung
Resources