You are here

Need info on deprecated PDB functions from GIMP 2.6 to 2.7 and 2.8

There are many posts about this problem. Does anyone know where to find a definitive answer or guideline for fixing plugins with this problem?

From what I know, certain PDB procedures such as pdb.gimp_selection_layer_alpha(drawable) became deprecated, probably around GIMP v2.7. Deprecated means they will no longer be supported in a future. Until that future arrives, they still function, but emit a warning message. After that future arrives, they will no longer work. The warning message is a non-modal dialog window in some cases, meaning the dialog doesn't prevent other windows from coming to the front. But the warning dialogs must still be dispatched by clicking their OK button to acknowledge them, which is annoying to users.

I think "the future" will be v2.8, that is, after 2.8, SOME of the deprecated functions will no longer work and plugins will be functionally broken (not just annoying.) Does anyone have a link to a definitive answer whether v2.8 is "the future"? Of course, the developers might be able to change their mind and push the future out?

Also, will any plugins fixed for this problem be backward compatible, and how far backward compatible? That is, if you fix a plugin, will it still work in version 2.6?

Bottom line, I am looking for a guideline for plugin developers, for example, from the following choices. Note these are just examples and probably are not correct:

1) Fix the plugin now. It will be compatible for all GIMP versions 2.6 and beyond. Maintain the original version for users still using GIMP versions earlier than 2.6

2) Prepare a fixed plugin now but don't release it until GIMP v2.8 is released. After that, the fixed plugin will work only with GIMP v2.7 and beyond. Maintain the original version for users still using GIMP versions earlier than 2.8.

Does the guideline depend on exactly which deprecated PDB function you use?

You could have a look at the Gimp Abstraction Layer where someone has addressed this very problem: http://registry.gimp.org/node/24833

As for information about which procedures are deprecated, I'm expecting that will be detailed in the 2.8 release notes that have yet to be written.

are caused by running deprecated plugins in a newer version of Gimp.
They normally will still work but will throw warnings such as you speak of.
Open Gimp and go to Windows>Dockable Dialogs and select Error Console.

A new Error dialog will pop up and you can dock it to your layers, paths , and channels dialog.
Now when you run an deprecated filter the error will show in the error dialog and not in a bothersome popup window.

These deprecated filters will probably be fixed by their original writers once a new STABLE Giimp-2.8 is released. :)

Your best bet is to just run the old filters, and plugins in Gimp-2.6 where they were intended to run.

-Rod

I am asking the question as a plugin author, not as a user.

If as the next post says, third party plugin authors won't know how to eliminate deprecated functions until the 2.8 release notes are written, then there might be a lag after the 2.8 release in which some older plugins stop working, until their authors scramble to fix them, and then maintain two version, one for users of GIMP versions before 2.8 and one for users of GIMP 2.8 and beyond.

More discussion: i vaguely recall reading that this change is to support layer groups. It might be the case that some plugins need more extensive changes (more than just one-to-one translation between the deprecated procedure and the new procedure), so that they handle layer groups properly?

Also, if 2.7.5 is the last beta before 2.8, does that mean if a plugin still works in 2.7.5 (albeit with deprecation warnings) it will continue to work in 2.8?

Again, I am confused, everything I have said here could be mistaken.

this is going to be solely up to the authors of the plug-ins.
If they feel there is a need to update older versions of their filters (according to new PDB calls), then so be it.

If i were an author of a plug-in i would wait until Gimp-2.8 was released and only update for that version until another stable release was out. :)
I wouldn't bother updating beta test versions.That is just unfeasible to me.Too many new changes to PDB could be implemented.

-Rod

As a script/python plugin creator I will NOT update until the next even (stable) version comes out.

I've been in in the past with "new" pdb calls that get introduced in a dev version and then get changed or never make it into the next stable release.

Guess I'm selfish with my time that way...

-Rob A>

IMHO, "deprecated" doesn't mean "broken", but a function that elicits a warning dialog when used is indeed broken because it's no longer fit for general use.

It's OK to have the error message in a test release (2.7) but a stable one (2.8) should accept the old uses without a peep. Otherwise 90% of the plugins on the registry will be broken.

That is indeed how it is done with GIMP development versions; all deprecation warnings will be disabled when 2.8 is released (they should already be disabled for the 2.8 release candidates). Even with the development versions, warnings about deprecations is merely the default behavior -- it can easily be overridden by including the --pdb-compat-mode=on option when invoking GIMP.

The development versions often include non-standard default behavior to encourage testing of new features. For example, a new color chooser may be made default to "remind" testers to try it out, while the original one will be made default after this testing has been performed. Or (and this is common), default image or drawable dimensions may be set to something odd such as 1071x583 so problems with tiling optimizations might be found (which might never be encountered if the dimensions were powers of two, or multiples of 8, etc).

As to the original question of when to update scripts and plug-ins, my own choice is to put it off as long as possible. Unless newly introduced features are being employed by the script, using the deprecated PDB functions will work with both 2.6 and 2.8 -- so why maintain two separate versions? After most everybody (except Rod :b ) have moved away from the old version, I would look into updating things as needed.

That's a bit what I expected, though. Cool.

Subscribe to Comments for "Need info on deprecated PDB functions from GIMP 2.6 to 2.7 and 2.8"