NEWS: update with some of the master-only changes.

As it involves some API changes and code moved from libgimp to core, I
just won't backport all the new rotation policy logics in gimp-2-10
branch. I could have cooked something up, at least to have new settings
in Preferences for updating the rotation policy (currently it's
implemented as a global parasite which is quite bad as it makes the
settings virtually non-updatable in a sane way) but really I don't want
to spend too much time on this. So let's just say it's GIMP 3
improvements.
This commit is contained in:
Jehan 2020-09-27 15:29:36 +02:00
parent 9727a38977
commit 7fb2fb930e
1 changed files with 44 additions and 3 deletions

47
NEWS
View File

@ -26,6 +26,20 @@ Core:
- All code is year-2038-safe with deprecated time API replaced.
- "Alpha to Selection" various actions warn when the result selection
is empty.
- Color Profile Policy (import) now exposes a "Convert to Preferred
Profile" (fourth) choice and the import dialog default "Convert"
action will convert the image to the preferred profile (if any was
set, otherwise it falls back to the built-in profile). Converting to
the built-in profile will be still available as secondary action.
- A new "Metadata Rotation Policy" is now exposed in the Preferences
dialog, next to the "Color Profile Policy" (in page `Preferences >
Image Import & Export`) with 3 options: "Ask what to do", "Discard
metadata without rotating" and "Rotate the image then discard
metadata".
This policy used to be handled API-size, with a dialog generated by
libgimpui gimp_image_metadata_load_finish(), and saved in a global
parasite. The whole logics and GUI has been moved as core logics,
similar to the "Color Profile Policy".
User Interface:
@ -73,9 +87,10 @@ Plug-ins:
ported to the new API.
- Various objects are now proper GObject in the plug-in API, and not
just ID integers.
- The API is GObject Introspected, which means plug-ins can be written
in various non-C languages. So far the following languages have been
tested and work well: Python 3, Lua, Javascript and Vala.
- The API is GObject Introspected into 2 modules: Gimp and GimpUi.
This means plug-ins can be written in various non-C languages. So
far the following languages have been tested and work well: Python
3, Lua, Javascript and Vala.
(Note: Python 2 is also still working, but considering that this
language is end-of-life since 2020, we don't really care).
- Every introspected binding which we test comes with a "Goat
@ -92,6 +107,32 @@ Plug-ins:
extension).
E.g.: `plug-ins/my-cool-plug-in/my-cool-plug-in.py`
API:
- gimp_image_metadata_load_finish() is now fully GUI/GTK-code free.
The first consequence is that it is not in libgimpui anymore, but in
libgimp, as it should. The second consequence is that the boolean
`interactive` argument has been removed. Now all image rotation
logics (the part which needed a GUI) has been moved into core and
will be automatically run when normally loading images from GIMP's
interface, similarly as to how color profiles was already handled.
- 2 new libgimp API: gimp_image_policy_rotate() and
gimp_image_policy_color_profile() are now available to explicitly
call the Preferences-set policy on an image. This may result in a
dialog being presented to the user if `interactive` is TRUE and
settings is "Ask what to do".
It is unecessary to call these functions when developing a new
GimpLoadProcedure because the core will automatically do the right
thing and call these on normal image loading workflow.
Instead if a plug-in calls such GimpLoadProcedure through the PDB,
no such functions will be run automatically. It is up to the plug-in
to decide what to do (no conversion, mandatory conversion, or using
user settings, possibly with a dialog to decide, hence calling these
functions explicitly).
- All pygimp specific Python API does not exist anymore. Python will
use the same API as C plug-ins, introspected through GObject
Introspection.
Documentation:
- `devel-docs/xcf.txt` updated to handle XCF 14.