Posted by Marc in Development on September 27th, 2025
We’re excited to announce the release of phpBB 4.0.0-a1, the first alpha version of phpBB 4.0. This release marks a significant milestone in our project, as we introduce a modernized foundation and several new features. This version is intended for developers and enthusiasts to test and provide feedback.
Key Architectural Changes
We’ve made major updates to the core of phpBB to improve performance, security, and maintainability.
Symfony 6.4 as the backend: phpBB is now built on the Symfony 6.4 framework, providing a more up-to-date, robust and flexible foundation.
Minimum PHP 8.1 version: To leverage modern PHP features, phpBB 4.0 now requires a minimum of PHP 8.1.
Cookie-based authentication: Authentication now relies on cookies for improved security and standardisation.
New update system: phpBB now provides an automatic update system for easier updates. This feature can only be used when there are no local file edits. This will be enabled in a later release.
New Features
This alpha release includes several new features designed to improve user interaction and administrative control.
Webpush notifications: Users can now opt-in to receive real-time notifications directly in their browser for new posts and mentions.
Mentions: A new @username feature allows users to mention and notify other members in posts.
Cloudflare Turnstile support: We’ve added support for Cloudflare’s Turnstile captcha to help prevent spam.
Refactored ban system: The ban system has been updated with full IPv6 and CIDR support and a simplified structure.
Extensions catalog: You can now install extensions directly from the Admin Control Panel.
Direct media playback: Media attachments can now be played directly within the post body.
Custom BBCode icons: It’s now possible to add icons to custom BBCodes.
New storage system: We’ve introduced a new system that makes it easier to add Extensions for integration with cloud storage services.
Codebase Cleanup
To modernise the codebase, we’ve removed deprecated functions and stopped supporting INCLUDEPHP and other PHP includes in templates. This helps to create a cleaner and more secure environment. We also no longer support Oracle as database type, and have removed the convertor from phpBB2.
Call for Testers
This is an alpha release and is not recommended for live forums. We encourage developers and testers to try it out and report any issues you find. Your feedback is crucial for the development of phpBB 4.0.
Submission to the customisations database are not supported yet during the alpha stage.
The packages can be downloaded from the official phpBB download archive or the Area51 downloads section:
We are excited to announce the release of phpBB 3.3.15-RC1, a new release candidate for the upcoming stable release of phpBB 3.3.15. This pre-release version is now available for downloading and testing.
Notable Improvements
phpBB 3.3.15-RC1 introduces a number of improvements aimed at enhancing the user experience and overall stability of the software. These include:
Improved handling of version check with Guzzle: The handling of version checks for Extensions with the new Guzzle implementation has been improved. PHPBB-17443
Support TLS v1.3 for SMTP servers: TLS v1.3 connection to SMTP servers is now properly supported. PHPBB-17467
Notable Bugfixes
This release candidate also includes fixes for several reported bugs, including:
Fatal error when converting from phpBB 2 with Attachment MOD: Fixed an issue that resulted in a PHP fatal error when converting from phpBB 2 with Attachment MOD. PHPBB-17436
Pagination in wrong direction for user posts search: The pagination for users posts search was cached, essentially resulting in them showing up with incorrect order when sorting them. PHPBB-17422
Duplicate users on memberlist: Memberlist sometimes showed duplicate users when sorting. PHPBB-17227
Overflow of topic views column: The size of the topic views column was increased to allow for higher numbers. PHPBB-17381
How to Get Involved
The phpBB team encourages everyone to download and test phpBB 3.3.15-RC1 extensively. User feedback is essential in ensuring a smooth and stable final release.
The packages can be downloaded from the official phpBB download page or the Area51 downloads section:
Posted by Marc in Development on October 22nd, 2024
We are excited to announce the release of phpBB 3.3.14-RC1, a new release candidate for the upcoming stable release of phpBB 3.3.14. This pre-release version is now available for downloading and testing.
Notable Improvements
phpBB 3.3.14-RC1 introduces a number of improvements aimed at enhancing the user experience and overall stability of the software. These include:
Distinct disabled and not installed Extensions in ACP: Extensions in the ACP will be displayed in separate lists depending on whether they are disabled or not installed yet. PHPBB-17359
Support force reparsing BBCodes via CLI: It is now possible to force reparsing BBCodes in posts, PMs, and similar elements. PHPBB-17402
Notable Bugfixes
This release candidate also includes fixes for several reported bugs, including:
AJAX error on deleting cookies: We fixed an issue that resulted in AJAX errors when deleting cookies on some pages. PHPBB-17398
Passing E_USER_ERROR to trigger_error in PHP 8.4: Passing E_USER_ERROR is no longer acceptable in PHP 8.4. This resulted in fatal errors in PHP 8.4. PHPBB-17384
Incorrect permission trace results: Tracing permissions in phpBB 3.3.13 sometimes returned incorrect results. PHPBB-17386
UCP not working when testing user’s permissions: It was not possible to test out the UCP when testing a user’s permission. PHPBB-17410
How to Get Involved
The phpBB team encourages everyone to download and test phpBB 3.3.14-RC1 extensively. User feedback is essential in ensuring a smooth and stable final release.
The packages can be downloaded from the official phpBB download page or the Area51 downloads section:
We are excited to announce the release of phpBB 3.3.13-RC1, a new release candidate for the upcoming stable release of phpBB 3.3.13. This pre-release version is now available for downloading and testing.
Notable Improvements
phpBB 3.3.13-RC1 introduces a number of improvements aimed at enhancing the user experience and overall stability of the software. These include:
Delete Users by ID via console: Administrators can now delete users by their ID directly from the console, providing a more efficient way to manage user accounts. PHPBB-17347
Gravatar Avatar URL Update: We’ve implemented the new Gravatar URL format for avatars, ensuring compatibility with the latest Gravatar standards. PHPBB-17355
Enhanced PM Recipient Removal: The button for removing private message recipients has been improved, making it easier and more intuitive to manage message recipients. PHPBB-17317
Better Error Handling in PHP 8: We’ve improved how errors are handled in PHP 8, particularly those that were previously hidden, offering more reliable error reporting and debugging. PHPBB-17356
Notable Bugfixes
This release candidate also includes fixes for several reported bugs, including:
User lastvisit update frequency: We fixed the issue where the lastvisit timestamp for users was updated more frequently than necessary, resulting in unexpected behavior of the search functions like “New posts”. PHPBB-17375
Rehashing of phpBB2 passwords via cron after upgrade: An issue with the automated rehashing of older phpBB2 passwords via cron has been fixed, ensuring a smoother transition for users upgrading. PHPBB-17351
reCAPTCHA issues with registration errors: The issue with reCAPTCHA not displaying correctly on errors during registration has been fixed. PHPBB-17366
How to Get Involved
The phpBB team encourages everyone to download and test phpBB 3.3.13-RC1 extensively. User feedback is essential in ensuring a smooth and stable final release.
The packages can be downloaded from the official phpBB download page or the Area51 downloads section:
The project key in our JIRA tracker has been changed to start with PHPBB- instead of PHPBB3-. This means that going forward, new tickets will be numbered using the format PHPBB-12345 instead of PHPBB3-12345.
We’ve also updated other systems like the ideas page and our commit hooks in the phpBB source code to reflect this change. Don’t worry, though! All links and filters that include previously used ticket IDs starting with PHPBB3- will continue to work as expected.
This is a simple housekeeping update to streamline our ticketing system. If you have any questions or encounter any issues, feel free to reach out to the development team.
We’re proud to announce the release of phpBB 3.3.12-RC1, a release candidate for the upcoming stable version of phpBB 3.3.12. This pre-release version is now available for downloading and testing.
Notable Improvements
phpBB 3.3.12-RC1 introduces a number of improvements aimed at enhancing the user experience and overall stability of the software. These include:
Improved handling of duplicate posts: This update addresses an issue where users might accidentally submit the same post multiple times. PHPBB3-17077
Optimized queries for unanswered topics and posts: Searching for fresh discussions on your forum should now be faster and more efficient. PHPBB3-17305
Enhanced error messages for PHP 8.1+ users: MySQL error messages have been improved for better readability when using PHP 8.1 or later versions. PHPBB3-17232
Notable Changes
The DOM handling when parsing posts has been updated for better compatibility with PHP 8.3. PHPBB3-17236
Notable Bugfixes
This release candidate also includes fixes for several reported bugs, including:
Improve handling of web root path to support PHPBB_USE_BOARD_URL_PATH in extensions: PHPBB3-17207
Update issue when YouTube profilefield does not exist: PHPBB3-17208
Prevent unexpected reparsing of URLs as magic URLs in posts: PHPBB3-17130
Missing update of user pass change time during password reset: PHPBB3-17302
How to Get Involved
The phpBB team encourages everyone to download and test phpBB 3.3.12-RC1 extensively. User feedback is essential in ensuring a smooth and stable final release.
The packages can be downloaded from the official phpBB download page or the Area51 downloads section:
If you’re a PHP developer, you’ll know that setting up a new development environment can be annoying and time consuming! You have to find a code editor, you have to install a web server like Apache, a database and PHP. Even if you’re using some virtualisation software like Vagrant or containerisation software like Docker to simplify the process, it still takes up time that you’d prefer to spend coding.
Enter: GitHub Codespaces.
The tech world is moving towards the cloud at a rapid pace and software development is no exception. A web-based project like phpBB is a good fit for cloud development and while a local development environment is wonderful, the ability to quickly code and test changes on any device with a browser is nice to have in the arsenal.
Codespaces includes a web-based code editor (VS Code) as well as a virtual machine which can be used to run software. Effective immediately, the phpBB project on GitHub contains a pre-configured Codespace with a LAMP stack and XDebug, allowing developers to modify and debug a vanilla board which is already automatically installed.
This tutorial explains how to:
Create a GitHub Codespace with an automatically created fresh installation of phpBB
Use a Codespace to make a code change to phpBB
Use XDebug to debug phpBB code in real time
Step 1
See if there is a ticket in the phpBB issue tracker describing the problem you would like to fix or the feature you would like to add. If there is not an existing ticket, you can create a new ticket, logging in using your phpBB.com login details.
In this case, we’ll look at a simple bug that was raised at https://tracker.phpbb.com/projects/PHPBB3/issues/PHPBB3-17025 – the number 0 appears as the default topic ID on the MCP move posts page, but there is no valid use case for this because it is an invalid ID. We will use this bug (resolved here) to demonstrate how GitHub Codespaces works and how it can be used for phpBB development.
The reporter provided some valuable information which acts as a good starting point, namely that the bug is on line 76 of prosilver/template/mcp_topic.html. We will come back to this in Step 3.
Then on GitHub.com, create a new Codespace for this branch. It will already be preconfigured from the code in the phpbb/phpbb repository.
This will create a brand new installation of phpBB with XDebug installed to assist developers.
Step 3
From the online VS Code website, which looks almost identical to the desktop version of VS Code, click on the files icon and navigate to mcp_topic.html – or use the shortcut Ctrl+P to search for the file.
By looking at line 76 of that file, we can see that the “value” attribute listed in the ticket is set to a variable called TO_TOPIC_ID.
Using the Ctrl+Shift+F (global search) feature, if we search for that TO_TOPIC_ID variable we can see that it only gets used in one other place.
Double click mcp_topic.php to open the other place where that variable is used – line 386 of the file.
The template variable is set to take the exact value of $to_topic_id.
Step 4
Using the power of XDebug, we can debug the issue in real time. Using the Ctrl+F (local search) feature, we can see where $to_topic_id is declared and how it is used.
On line 52 it takes input from the URL – and defaults to 0 if the parameter isn’t supplied in the URL. On line 357, it is forcibly set to 0 if a certain condition is met.
Line 376 is the best place to see XDebug in action though. Left click once just to the side of the line number so that a red breakpoint appears. A breakpoint is used to identify where execution should temporarily halt during debugging.
Step 5
Now that a breakpoint has been set (you can set as many breakpoints as you wish), debugging can be turned on by clicking the “Run and Debug” button and then the green play button beside “Debug phpBB”.
Step 6
At this point, debug mode is active. Under the Ports tab at the bottom of screen, click the “Open in Browser” button and the fresh phpBB installation will open.
Log in to the board with the credentials admin/adminadmin and, for the purposes of this example, add some posts and topics so that posts can be moved in the MCP to replicate the original bug.
Step 7
When the move posts page of the MCP is loaded, the XDebug breakpoint will automatically be hit – meaning the execution of the page is paused at that point to give developers the chance to analyse the code before it has finished running.
The browser tab will show a small red circle to indicate a breakpoint has been hit. Within VS Code, the line will be highlighted as well.
To identify the value of the variables at the point the execution has paused, either hover over a variable (like in the case of $to_topic_id on the right of screen) or look at the variable list on the left of screen.
Step 8
From this information, we learn that $to_topic_id is set to 0 as a default and it has been done intentionally. So to fix the bug of 0 appearing by default in the template, we don’t want to refactor the entire file and potentially introduce a new problem.
The sensible approach is to just change the way the value is passed to the template because, as we discovered from the global search in Step 3, the template variable does not get used anywhere else.
Using the ternary operator we can make a simple change so that the template variable declaration reads as:
‘TO_TOPIC_ID’ => $to_topic_id ?: ”,
This means that if $to_topic_id evaluates to true (the integer 0 does not evaluate to true, but if a valid topic ID is passed through the URL as explained in Step 4 it does evaluate to true), then $to_topic_id will be passed as the default value to the input field – otherwise, an empty string will.
Step 9
By returning to the tab with the phpBB board open, we can confirm that the fix is working as intended.
Step 10
Satisfied that the fix is correct, we can now commit and push the change to the local branch. This is easily done in VS Code, simply click the “Source Control” tab and stage the change to mcp_topic.php (the file we edited) by right clicking it and clicking “Stage Changes”.
The list of files in the install directory can be safely ignored – they are deleted when setting up the Codespace to allow phpBB to run normally.
Step 11
Finally, create a pull request on GitHub.com from your local branch to either the phpbb/phpbb 3.3.x branch or the master branch. phpBB’s GitHub Actions will run unit tests, ensuring no features were broken accidentally as a result of the change, and then the development team will review the code.
And with that, it becomes clear that GitHub Codespaces is a really handy tool to be aware of and which can be used to easily and powerfully make code changes for phpBB.
In 2007 phpBB stepped into a new era with its release of the now infamous “prosilver” theme. One decade ago we pushed the envelope of what a forum should look like, how it should function, and how we build and customise themes.
This year we are announcing our plans to go where no forum has ever gone before. We are starting on a journey to venture outside the scope of our current galaxy to a place far far away.
In search of an experience so groundbreaking, so shocking, that you will not want to miss the excitement. So suit up and strap on your jetpacks in preparation for the launch of something revolutionary. In the following blog post, we will be outlining the plans for the coming time and show you some screenshot of things we’ve been working on.
Over the course of the next year or so we will update you on the progress and outline everything in complete detail. For now, you can see the full scope of some of the components we’ve been working on over here.
In relation to this we are also standing up a new Front-end Development team, as we will be leveraging a lot of advanced forward thinking processes, techniques, common practices, and technologies; more to come on the specifics. To do this we will need to bring on several new motivated and talented individuals to work on and help oversee this mission through.
With that said if you think this is something you may be interested in and/or are qualified for, please private message or email me with your qualifications, examples and a brief description of why you think you would make a good addition to this project.
After several months of preparations and many hours of travelling, most of our team members have arrived in Budapest for our annual team hackathon. Our meeting space was provided by L’Office Budapest. Their great team made sure we got to work in a nice environment in a lovely location. Thanks a lot for your hospitality!
Even though we’re only two days in, we’re already considering this meet-up another great success. Members from all of our different teams were present, along with GSoC student rubencm. We’ve been working on many different types of improvements for the project. A quick list of those improvements are as follows (even though we probably still miss a lot here):
Posted by Jakub Senko in Extensions on August 24th, 2017
Advertisement management is easily one of the most requested add-on features for phpBB. In phpBB 3.0, EXreaction’s Ad Management MOD was the 9th most downloaded MOD with over 66,000 downloads. For phpBB 3.1/3.2, community members ranked Ad Management as their 2nd most desired extension. The Extension Development Team at phpBB is happy to announce that we will be releasing an official Advertising Management extension for phpBB 3.2, created during our participation in the Google Summer of Code.
The extension developed by GSoC student Senky (see his code commits) and mentored by VSE and Derky covers most features board admins would need to implement ad code snippets or sell advertisement space on their boards.
At its most basic usage, an admin can paste HTML/JS code for an advertisement directly in ACP and select locations for this ad to display (14 locations are already available – along with pop-up and slide-up options). The ad will start to display immediately after it’s enabled.
Additional features
We’ve built into this extension various extra functionalities to help manage your board’s ads. You’re able to set a comment for each advertisement (i.e., info about advertiser, PPC, etc…). Set the priority level of the ad (ads with higher priorities will be displayed more often than other ads assigned to the same display location). Set a user as an owner of an ad, who is then able to see ad statistics in the UCP. Set an expiration date for an ad, after which the ad will automatically be disabled. The extension can analyse advertisement code for you, to check that your advertisement code is secure, optimised and safe to publish. You can also take advantage of the built-in banner upload mechanism to easily upload and create banner ads without having to use FTP or leave the ACP.
In addition to all that, the extension is able to count views and clicks for each ad, and optionally disable ads once they reach a certain number of views and/or clicks. If you designated an ad owner, they will be able to view their ads views and clicks stats in their UCP.
You can also disable advertisements from displaying to selected user groups, for example to allow your admins, moderators (or even registered users) an ad-free experience. We’ve also included an ad-blocker detector option that will display a polite message to users to consider disabling their ad-blocker on your site, in order to help support your site.
Performance
We did our best to optimise this extension for even the biggest boards – this extension performs only one additional database query (two with view counting enabled) per page load. However, we really look forward to your personal experiences with this extension to help us improve the performance and usability even more.
Future
This extension is not feature-frozen. We appreciate every comment, idea and bug report and will do our best to make this extension as powerful as possible without compromising performance.
You can track our continuing feature/planning list on Trello. We wish you the greatest revenues!
For extension developers
This extension is designed with extensibility in mind. Currently, it is already possible to accept new template locations defined in other extensions. If you have ideas on how to further extend this extension or would like to develop a rejected feature as an add-on to this extension, please ask us for any PHP/template events you may need us to add and we will be more than happy to prepare them for you.