What not 'forward compatible' means exactly?

In this page:

https://docs.blender.org/manual/en/dev/render/shader_nodes/converter/mix.html

There is mentioning of:

This is a new node as of Blender 3.4. The previous Mix RGB node is automatically converted to the Color version of this node in Shader and Geometry node editors. Files saved with the new node are not forward compatible.

The part I don’t quite understand is:

Files saved with the new node are not forward compatible.

That to me means is not future proof, meaning files saved in 3.4 with this node cannot be used in 3.5 etc…

am I reading this correctly? Is such a things possible or that the sentence is wrongly written, and should be read the opposite? Anyone familiar with the subject please enlighten me.

Thank you

3 Likes

No.
Backward compatibility is ability of new software to accept old files.
Forward compatibility is ability of old software to accept new files.
That means that files will be broken if they are open in 3.3.

Basic stuff is rarely evolving.
So, it is often possible to open meshes, made in a new version, in previous older LTS.

5 Likes

Thank you very much for the explanation.

2 Likes

I don’t think your answer is correct. On this page:

it defines differently:

Forward compatibility or upward compatibility is a design characteristic that allows a system to accept input intended for a later version of itself.

so if it is NOT Forward compatible then it is NOT intented to be updated in future, meaning no one should use later software versions to update the file but must be using either the exact software version that it was created in (or before), which is the opposite of what you have answered.

2 Likes

You are correct…

Look at this example, "The current versions of Blender files will no longer be supported beginning with Blender 4.0 or beyond"...

Meaning that the format is scheduled to change at some later point and it is known that the current version will or can not be supported in the future, for whatever reason.

So…Current Versions will not be Forward Compatible with future versions…

" You really should get a certificate for pointing these things out…Or perhaps create a Beginners Guide to Understanding the User Manual" :wink:

1 Like

Here, inputs of later version are the files made in 3.4.
Forward compatibility is characteristic of software : here, Blender 3.3.
Sentence should be that blender 3.3 or older are not forward compatible with files from 3.4, 3.5, etc…

That is not complicated to verify. You just have to save a file with a new mixRGB node in it and then open it in 3.3.
If you do, so, you end-up with this.

Node is not recognized. Color is lost.

This sentence comes from where. Blender 4.0 will not be a reality before years.
We don’t know if such thing will really happen for Blender 4.0 or later.

It is an EXAMPLE…

I just re-ran the example you pointed out, using the node MixRGB, first using 3.3.1 to create the file:

then using 3.4.0 beta to open:

And although searching for the ‘MixRGB’ failed, cannot locate the node, the file is still opening OK. Look at the version number at the bottom right screen.

I now understand what it means by not ‘Forward Compatible’ though.

I have just saved the file created in 3.3.1 using 3.4 beta, then back to 3.3.1 try to open it and I got the same result as you have:

Am I the only one who thinks that a confirm message should pop if the user is about to save a non-forward-compatible file? :zipper_mouth_face:

3 Likes

Like trying to play a CD on a record player. :upside_down_face:

2 Likes

Probably.

Try opening a Word file created yesterday with the original version of Word from 30 years ago.

Try opening a Word file created yesterday with the original version of Word from 30 years ago.

I am sure that if you save this file in the old word version and bring it back to the new one a lot of formatting data will be lost too :wink: with b3d It is very easy for users to save in the wrong blender version, and now with geometry-node, whole scenes can be destroyed in an instant

A warning would be nice

1 Like

Easy? Yes.

Wise? Probably not.

Know what you’re doing when you do it. Consider the consequences.

Except that these are accidental most of the time,
a confirm dialog box wouldn’t be so complicated to add, why would this be a bad idea?

"You are about to save undefined nodes, are you sure that you want to save? “Yes/No”

4 Likes

Yeah I agree, this should be an easy enough check, potentially life-saving. Although I agree it is careless to do so, accidents happen…

4 Likes

This is what I found and it does make sense.

Forward compatibility is a design that is compatible with future versions of itself. This usually means that it tries to accept future data formats or includes dormant physical features that may be useful to the future. This may be achieved by simply skipping things the current design doesn’t understand instead of throwing an error. For example, HTML is tolerant of tags or attributes it doesn’t understand so that a developer can add new tags early. Source: simplicable.com

In case of Blender it means that if you try with this node something now beyond nodes - e.g. when connecting sockets or whatever it is in 3.4 - Blender will pop up an error instead of ignoring your action.
That’s all. Not much as far as work with Blender is concerned. But error messages also leave no doubt the lack of result is not a bug. Maybe the devs have too many alleged bug reports to verify and would like to spend that time developing Blender? Or changes are so significant they need a clear meesage as explaining them every time would have taken too much time.

That is normal. There is no more MixRGB node. The change is that Mix Color ability was merged with new Mix Float and Mix Vector abilities in a new node named Mix.
But there is a Mix Color item available in search.

Mix node is a very common node. Opening a blend file in an older release is a rarer case than using it.
Do you want such pop-up showing almost all the time during one year until next LTS ?

Currently, there is a warning in status bar, in 3.3, when a file from a more recent release is open.
We are talking about translation of a warning present in documentation of future release, that will also be present in release notes.
I think that is sufficient to decide to stick to 3.3 if you expect your .blend files to be open in 3.3.
I don’t understand why we should impose such popup to people who will expect to open their 3.4 files in 3.4 and later releases.

[quote=“zeauro, post:17, topic:1417719”]
Opening a blend file in an older release is a rarer case than using it.
Do you want such pop-up showing almost all the time during one year until next LTS ?[/quote]

If it’s rare what’s the problem?
it will save noobies lives, the pro’s, they know how it works

The problem is that you are proposing to add a pop-up at saving of blend file, not at its opening.
When a blend file is saved, it can be open by previous, same or next release.
So, if you add a warning at saving, you are annoying everybody for problem that is concerning a minority.

1 Like

I’m the living proof that accidents happen. Just 10 minutes ago I accidentally save over a 3.4 file while opening it in 3.3 version and almost lost a week of work, luckily I have backup on another hard drive.

That’s why I’m searching for why blender doesn’t have a way to avoid this. At the very least, make another copy of the blend file when converting project from newer/incompatible version would be nice.
Or just make it open the project as a new “unsaved” project, so that it will prompt to select where to save the file.

We’re all careful and smart until deadline and overwork and lack of sleep drives us careless, would be nice if the software help us with the simple safety measure like this.

This whole “OMG you shouldn’t be careless” argument really remind me of the old time when Blender don’t have undo, because “if you’re good you won’t be careless and won’t need to undo”

2 Likes