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

nemito@b1bf54a8
started 🇫🇷 Affichage de date de publication ne fonctionne plus
General Questions

Max
started solved Edit time is corrupted
Bug reports

Fred
started Flatboard 3.2.2 'Shiba'
Announcements

Fred
started plugin RSS (external site)
Resources