Releases: Fred89/Flatboard
Flatboard 4.0 Spitz
Flatboard Changelog
Version 4.0 - 2025-11-29
Performance Optimizations
- Database Query Optimization: Implemented static caching for
flatDB::readEntry()andflatDB::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 optimizedParser::content()andParser::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
strftimecodes. - Added
convertStrftimeToDateTime()function for proper format code conversion. - Enhanced
config.phpwith select dropdowns for date format presets. - Added "Custom" option with dynamic text input for date formats.
Security Enhancements
-
Ban System Overhaul:
- Replaced
strpos()withipInCidr()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.
- Replaced
-
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.
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):
- 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.
Content Parsing Improvements
-
Markdown Editor:
- Fixed HTML tag display issue in homepage summaries.
- Added HTML-to-Markdown conversion for pre-existing HTML content.
- Improved content parsing in
Parser::content()andParser::summary().
-
BBCode Processing: Optimized quote processing with static caching.
JavaScript Enhancements
- Improved plugin activation/deactivation with better error handling.
- Added comprehensive AJAX error handling with timeouts.
- Enhanced UI feedback for user actions.
- Fixed
TypeErrorissues inflatboard.js.
Bug Fixes
- 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.
Flatboard 3.7: SHIKOKU
Flatboard 3.7: SHIKOKU
⚠️ Reminder: Don’t forget to backup first and update!
📅 Release Date: September 1, 2025
🔧 Enhancements & Features
Enhanced PRO Plugins
- All plugins in the PRO version have been updated and enhanced with additional options.
Enhanced CAPTCHA System
- The CAPTCHA has been enhanced with added noise and more characters to improve security.
Enhanced Login System Improvements
Secure session_start() Configuration
- Used
ini_set()to enforce secure session settings (e.g.,session.cookie_httponly,session.cookie_secure). - Ensured sessions are configured to prevent common vulnerabilities.
Removed Unnecessary Cookie
- Eliminated redundant cookies by storing all session data server-side.
- Improved security by reducing client-side exposure.
Session Binding to IP/User-Agent
- Added validation to tie sessions to the user’s IP address and User-Agent.
- Prevents session hijacking by ensuring consistency between requests.
Session Timeout
- Implemented a 30-minute inactivity timeout.
- Automatically logs out users after the specified period.
Failed Login Attempt Logs
- Added logging for failed login attempts (IP, timestamp, username).
- Enhances security monitoring and intrusion detection.
Session ID Regeneration on Logout
- Regenerates the session ID upon logout to prevent session fixation.
- Ensures a clean state for subsequent logins.
Comprehensive PHPDoc Documentation
- Added detailed PHPDoc comments in French for all modified classes/methods.
- Improves code maintainability and developer understanding.
PHP Version Compatibility
- These changes are backward-compatible with PHP versions prior to 8.4.
RSS/ATOM FIX Applied
1. Object-Oriented Structure
- Created AtomFeedGenerator class that encapsulates all logic.
- Separated responsibilities with specialized methods.
- Better code reusability and maintainability.
2. Performance Improvements
- Result Limitation: Added default limit of 20 entries to prevent feed overload.
- HTTP Caching: Added cache headers (5 minutes) to reduce server load.
- Loop Optimization: Used
array_slice()to limit processing.
3. Enhanced Security
- Improved XML Escaping: Using
ENT_XML1 | ENT_QUOTESfor better security. - Error Handling: Added global try-catch with error logging.
- Data Validation: Additional checks before processing.
4. Readability and Maintenance
- Constants: Defined constants for repeated values.
- Short Methods: Split into specialized methods under 20 lines.
- Explicit Naming: More descriptive method and variable names.
- Documentation: PHPDoc comments for each method.
5. Specific Optimizations
- XML Generation: Used heredoc for better readability.
- Reduced DB Calls: Cached results in local variables.
- Empty Case Handling: Specialized methods for empty feeds.
6. Robustness
- Null Checks: Systematic validation before using data.
- Error Management: Default return values in case of issues.
- Logging: Error recording for debugging purposes.
🔗 Useful Links
- Documentation
- Product Hunt - #1 Product of the Day
- AlternativeTo
- GitHub - Fred89/flatboard
- Fast⚡CMS (author’s latest project)
Flatboard "AKITA"
=== 3.6 - Release date: 2025-07-18 ===
I'll optimize the Unpack & Flatboard code for PHP 8.4, incorporating modern PHP features, improved type safety, and better performance. Key changes include:
-
- Refactoring class
-
- Using typed properties and return types
-
- Replacing deprecated functions and syntax
-
- Using arrow functions where appropriate
-
- Simplifying language detection
-
- Improving error handling with exceptions
-
- Using modern array syntax and string functions
-
- Removing jQuery and using vanilla JavaScript (Unpack script)
-
- Update Russian lang pack(Thank PaulBid)
- RSS Optimizations Applied
1. Object-Oriented Structure
-
Created AtomFeedGenerator class that encapsulates all logic -
Separated responsibilities with specialized methods -
Better code reusability and maintainability
2. Performance Improvements
-
Result Limitation: Added default limit of 20 entries to prevent feed overload -
HTTP Caching: Added cache headers (5 minutes) to reduce server load -
Loop Optimization: Used array_slice() to limit processing
3. Enhanced Security
-
Improved XML Escaping: Using ENT_XML1 | ENT_QUOTES for better security -
Error Handling: Added global try-catch with error logging -
Data Validation: Additional checks before processing
4. Readability and Maintenance
-
Constants: Defined constants for repeated values -
Short Methods: Split into specialized methods under 20 lines -
Explicit Naming: More descriptive method and variable names -
Documentation: PHPDoc comments for each method
5. Specific Optimizations
-
XML Generation: Used heredoc for better readability -
Reduced DB Calls: Cached results in local variables -
Empty Case Handling: Specialized methods for empty feeds
6. Robustness
-
Null Checks: Systematic validation before using data -
Error Management: Default return values in case of issues -
Logging: Error recording for debugging purposes
Flatboard 3.2 "SHIBA"
3.2 - Release date: 2024-05-21
After a long time, Flatboard updated and fully worked on PHP 8.2 (Tested on PHP 8.3.7)
- 🐛[Fix] PHP 8.2: French date
- 🐛[Fix] PHP 8.1 PHP Deprecated: strftime — Format a local time/date according to locale settings
- [Clean] Cleaning up unnecessary code Simon 😉
- 🐛 Some bugs fix!
3.0.2 - Release date: 2021-11-13
[New] Add Español & Chinese language pack (Thank arleycn and SurveyBuilder-Admin).
🐛[Fix] More bugs
Changelog v3.0.1 - Release date: 2021-07-24
- 💢 #12 Unpacker redirects to 404 page
- 💢 Small others fix.
Changelog v3.0 - Release date: 2021-07-03
- 💢 PHP 8 support.
- 💢 template fix on forum.tpl.php.
- 💢 Minor fix.
Changelog v3.0 RC1 - Release date: 2021-06-11
- 💢 Reworked installation.
- 💢 Security update to force user login with security Trip
- [Update] FlatBBeditor to 3.0
- 🐛[Fix] Header category in viewForum
- 🐛[Fix] User trip limit (20 to 50)
- 🐛[Fix] Fix null in PHP7.4 version treated as an array
- 🐛[Fix] Fix select forum order on newthread modal
- [New] Add session storage for pseudo + Mail
- [New] Welcome user + avatar (Need plugin activate)
- 🐛[Fix] Logout worked with users
- [New] User && Staff post without captcha verification
- [New] Users can edit/delete old posts (Yeah!)
- [New] Add BBcode Hide
- [Add] Language strings
- [New] Rebuild Identicon plugin without dependencies (Fast efficient).
- 🐛[Fix] Pinned post in blog page.
- [New] Add Markdown support with new editor with preview.
- [New] Add date for last reply in forum page and viewforum.
- [New] Add default format date in language string
- 🐛[Fix] French date.
- More list...
