XF 2.3 What's new for developers in XenForo 2.3?

hys_9_cover.png
As promised, this week we're going to take a quick look at some of the more developer-centric changes coming in XenForo 2.3.

If a certain topic interests you more than others, click one of the links below:
Please note that the following libraries are no longer bundled with XF 2.3:
  • ccampbell/chromephp
  • doctrine/cache
  • league/flysystem-ziparchive
  • swiftmailer/swiftmailer
  • symfony/debug
  • web-token/jwt-signature-algorithm-eddsa
  • web-token/jwt-signature-algorithm-hmac
  • web-token/jwt-signature-algorithm-none
  • web-token/jwt-signature-algorithm-rsa

While we do have a little more to show you, the next couple of weeks is going to be focused on getting XenForo 2.3 ready to be installed here and some additional "Have you seen...?" posts may arrive between then and a public beta release. Until then, thanks for coming on this journey with us.
 
We can still use syntax like this in our addons <xf:macro template="myaddon_this_macros" name="username_row" /> without any issues to accommodate backwards compatibility?


FWIW this works in 2.2 and 2.3 and won't break (I beleive) if/when the old syntax is dropped.
<xf:macro template="myaddon_this_macros" name="username_row" id="myaddon_this_macros::username_row" />
 
Math expressions in .less templates seem to now require being wrapped by parentheses e.g.
Code:
property: (0.8 * @xf-style-property);
Previously this was only necessary if the expression was ambiguous (such as multiple padding values).
 
Nested data objects are not working anymore when passed to XF.ajax. You get data: [Object Object]. Do I need to use JSON.stringify() and json_decode() on the back-end? That would be a really ugly approach.
yeah, i had to do this exact change for a function in my code to make it work again..

there's also an api endpoint i made that does not work anymore since like beta 5 or 4 which might be connected to this? dunno
 
If you're using a GET request then the request body is constructed using an URLSearchParams object and appended to the URL. Using GET requests with bodies is generally bad practice.
 
Top Bottom