Skip to content

Releases: Fred89/Flatboard

Flatboard 4.0 Spitz

23 Dec 19:33
fa8a682

Choose a tag to compare

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:

    • 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.

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() and Parser::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 TypeError issues in flatboard.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

05 Sep 11:21
03a2c61

Choose a tag to compare

Flatboard 3.7: SHIKOKU

Flatboard Shikoku

⚠️ Reminder: Don’t forget to backup first and update!


📅 Release Date: September 1, 2025


🔧 Enhancements & Features

Enhanced PRO Plugins

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_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.

🔗 Useful Links

Flatboard "AKITA"

19 Jul 09:59
461078d

Choose a tag to compare

=== 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)
  • 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"

03 Jun 08:15
6304d81

Choose a tag to compare

flatboard-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

24 Mar 15:57
94afd1d

Choose a tag to compare

[New] Add Español & Chinese language pack (Thank arleycn and SurveyBuilder-Admin).
🐛[Fix] More bugs

Changelog v3.0.1 - Release date: 2021-07-24

24 Mar 15:57
94afd1d

Choose a tag to compare

  • 💢 #12 Unpacker redirects to 404 page
  • 💢 Small others fix.

Changelog v3.0 - Release date: 2021-07-03

24 Mar 15:55
94afd1d

Choose a tag to compare

  • 💢 PHP 8 support.
  • 💢 template fix on forum.tpl.php.
  • 💢 Minor fix.

Changelog v3.0 RC1 - Release date: 2021-06-11

24 Mar 15:54
94afd1d

Choose a tag to compare

  • 💢 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...