What's the deal with 2.1 support only?

ichpen

Well-known member
Bit of a rant on a trend I'm noticing.

We're still relatively early days into 2.1 as far as I can tell so maybe a month or two away from Gold? Who knows.

So why are a number of resource authors bundling bug fixes, new features etc into 2.1 required releases of their respective addons? I know it's less work but given this is a second point release I'd have expected fewer breaking changes. This is turning out into the XF2 upgrade headaches and dilemmas most of us experienced not so long ago.

2.1 is Beta then it will be RC for a while then it will be Gold. Releasing 2.1 only addons now will only lead to unhappy customers who will have to wait for their full plethora of addons to support it before jumping ship. No one is (nor should be) using XF 2.1 in production.

Rant over. I know I know... Blah blah.
 
Last edited:
I’m not sure which resources you’re referring to specifically but I just checked about 10 of them and most of them support both 2.1 and 2.0 whereas only one has declared they are only supporting XF 2.1 which is reasonable as it appears as though it’s a beta anyway and they’re adding a bunch of features that would only be available in 2.1.

Most developers shouldn’t have any issue in supporting both versions, there really isn’t that many breaking changes.

There are two distinct approaches to it, branching to a different major version and essentially supporting two distinct versions or attempting to handle any differences in a single version and detecting which XF version a customer is using.

Even if a developer starts releasing an XF 2.1 specific version, that usually wouldn’t prevent them from continuing to support XF 2.0 specific versions or continuing to offer those versions for download.

So, ultimately, I think the generalisation is unreasonable but if you have specific concerns about specific resources then you should contact those authors for clarity over what their plans are, why they’ve chosen the approach they’ve taken, whether the older version is still available/supported etc.

Pretty sure the answer will be different on a case by case basis.
 
So all that means is if you don't have 2.1 don't upgrade. I only looked at one of those but it was specifiacally in regard to such features as reactions and bookmarks that are 2.1
 
I can only speak for myself, but I plan to bump minver to 2.1 only on the products that take advantage of 2.1 specific features.

Things like:
  • The new Composer integration
  • The new installer functions for converting database columns
  • The Reactions system
And probably other features I'm forgetting.

In short, if there's a 2.1 specific feature that I want to make use of because it'll improve the addon one way or another, I'm bumping the minver. I think the crucial difference is that I won't be releasing those versions until 2.1 is in at least the RC stage. I have a branch for each mod called xf21-dev and I occasionally merge the current develop branch into it, and the 2.1 versions are a full x.X.x version number higher to give myself some leeway to release fixes and minor features before then.

That being said, I don't begrudge anyone for not wanting to support older versions, especially considering keeping up-to-date is a lot less bothersome on XF2 than on other, older platforms (and even less bothersome in 2.1 going forward).


Fillip
 
Also note that any addon which utilises Guzzle will become a lot of work to maintain if developer try to release a single addon which supports both XF2.0 and XF2.1

XF2.0 uses Guzzle 5.3, while XF2.1 uses Guzzle 6.3

These two versions of Guzzle are completely incompatible with some fundamental changes to the structure of the requests and responses used. Also Guzzle 6.3 implements PSR7, which breaks large parts of functionality from Guzzle 5.3

This is the reason I had to build this addon: https://xenforo.com/community/resources/guzzle6-for-xenforo-2-0.5578/ - so that my XF1.5 addons which relied on Guzzle 6 internally could be used with XF2.0

Note that I do NOT recommend using my addon to provide Guzzle 6 support for your XF2.0 addons - while it is possible to do so, it adds a lot of complexity because ALL of your XF2.0 addons will then need to use Guzzle 6, and installing my addon will break any other 3rd party XF2.0 addon which uses the built in Guzzle 5 code. It's all or nothing.

I suggest that developers working with Guzzle in their addons release two versions - an XF2.0 version which uses the Guzzle 5.3 code and an XF2.1 version which uses the Guzzle 6.3 code.

EDIT: I should clarify - if you're just making a simple call to an external service in your addon, that's unlikely to be a problem - the XF code does a good job of abstracting the details of Guzzle implementation. However, when using a 3rd party library which expects you to pass an instance of a Guzzle Client - things can get a lot more complicated since it will want a specific version (eg Guzzle 6.x) while your addon being installed on XF2.0 can only supply a Guzzle 5.3 client, which is incompatible.
 
Last edited:
Top Bottom