XF 2.3 What's new in XenForo 2.3.8?

Although you may be anticipating a XenForo 2.4 HYS, we invested considerable effort in 2.3.8, resulting in new functionality significant enough to deserve its own announcement. XenForo 2.3.8 will be released today!

Retina thumbnails​

To ensure attachments are displayed at a much higher fidelity, especially on high-DPI displays, we now generate two versions of every thumbnail. One which matches the configured size under Options > Attachments as usual and a second which is double that size which is displayed in place of the smaller one on compatible devices, resulting in a better quality viewing experience.

Null coalescing operator (??) support​

To catch up with some of the slightly more recent syntax niceties in PHP we have added null coalescing operator support to XenForo template syntax:

HTML:
<h1>Hello {{ $foo.property ?? $bar.value ?? 'World' }}!</h1>

REST API support for Search​

There are new API endpoints for performing searches and retrieving results. You can read more about the available endpoints in our REST API page.

New xf:addon-list CLI command​


Ever needed a quick view of which add-ons are installed and enabled while on the CLI? Yeah, me too!

Code:
php cmd.php xf:addon-list --help
Description:
  Lists installed add-ons

Usage:
  xf:addon-list [options]
  xf-addon:list

Options:
      --active          Only show active add-ons
      --inactive        Only show inactive add-ons
      --json            Output as JSON
      --verbose         More detailed output

Code:
php cmd.php xf-addon:list
 ----------- ------------------------- --------- --------
  Add-on ID   Title                     Version   Active
 ----------- ------------------------- --------- --------
  XFES        XenForo Enhanced Search   2.3.8     Yes  
  XFMG        XenForo Media Gallery     2.3.8     Yes  
  XFS         XenForo Site              3.10.0    No   
 ----------- ------------------------- --------- --------

 Total: 3 add-ons (2 active, 1 inactive)

New xf-make commands for developers​

Scaffolding your next add-on has never been easier. Use the new xf-make commands to generate common code constructs with ease with much less context switching back and forth from your developer tools and the admin control panel.

Code:
    xf-make:extension    Create a new class extension
    xf-make:finder       Create a new finder class
    xf-make:service      Create a new service class
    xf-make:route        Create a route and optionally its controller
    xf-make:repository   Create a new repository class
    xf-make:template     Create a template in the master style
    xf-make:job          Create a new job class
    xf-make:cron         Create a cron class and register a cron entry
    xf-make:entity       Create a new entity class
    xf-make:controller   Create a new controller class
    xf-make:listener     Create a listener class and register an event listener
    xf-make:phrase       Create a phrase in the master language
    xf-make:cli-command  Create a CLI command class
    xf-make:stub-publish Publish stub templates to an add-on for customization.

You can pass arguments and options in explicitly or, alternatively, all commands default to "interactive" mode with no options passed:

Code:
# php cmd.php xf-make:extension

 What class do you want to extend?:
 > XF\Entity\ForumWatch

 Which add-on is this for? []:
  [XFES       ] XFES - XenForo Enhanced Search
  [XFMG       ] XFMG - XenForo Media Gallery
 > XFMG


                                                                                                                     
 [OK] ClassExtension created successfully.                                                                           
                                                                                                                     

 ----------------- -----------------------------------------------------------------------
  Property          Value                                                               
 ----------------- -----------------------------------------------------------------------
  Extension Class   XFMG\XF\Entity\ForumWatch                                           
  Base Class        XF\Entity\ForumWatch                                                
  File              /path/to/src/addons/XFMG/XF/Entity/ForumWatch.php
 ----------------- -----------------------------------------------------------------------

                                                                                                                     
 [OK] Class extension registered in database.
 
What is the best AI tool to build xenforo plugins from A to Z
One thing we will do over time is improve documentation, make certain features a bit more agent friendly, and more generally position XenForo as a significant development platform and as a framework in its own right (which it is) rather than "just a forum".

At the moment asking questions in web/chat interfaces usually produces poor results because there is no context or the process of providing context is arduous.

So you'll want to be using:
  • An agentic interface, such as OpenCode or Claude Code
  • An intelligent model, such as (as of writing) Claude Opus 4.5
  • A good selection of skills or CLAUDE.md / AGENTS.md which provides some high level direction
Tooling is something we've already helped with as of the launch of XenForo 2.3.8. The xf-make commands are something we've wanted to do for years, but it turns out agentic tools are excellent at finding their way around codebases and CLI tools so we expedited it slightly. It was originally in our 2.4 branch, but it made sense to bring it forwards.

Documentation is poor currently, though we have been turning our direction to it in earnest in the last couple of weeks, and we'll be speaking more about that very soon...

However, what I cannot stress enough, is you still should have a good understanding of PHP, MySQL, HTML, CSS, and JavaScript before asking AI to build something for you. AI can and will make mistakes and you still need the skills of an experienced developer in order to ensure resource standards are met, the code is stable, and the code is secure.

While you could give an AI agent a fairly simple prompt and access to your code and get a reasonable result, it may not be of the quality that is required.

We embrace AI and it definitely has its place, but it is still (at this time) no replacement for a human to at least direct it towards the best practices and standards required to produce quality work.

Sorry for the long answer to a fairly short question, but some of the caveats are important to keep in mind. We won't take kindly to the Resource Manager being filled with "slop" that doesn't follow our resource standards/guidelines! :)
 
Has the team been taking advantage of any AI pair coding? My new job is pushing it and I have seen some improvement in using it myself in my day to day workflow at the job.
 
Yeah I wasn’t clear but I was sort of using web/chat interchangeably as-in visiting ChatGPT.com, t3.chat or Claude.ai etc etc.

In-editor tools are agentic interfaces and exactly the kind of thing I was calling out as being useful versus web chat interfaces.
 
Was there a recent change in how we use GD for image uploads? I won't be able to renew my license until tomorrow morning to check myself but it seems requireImage is now gone?
 
Back
Top Bottom