I just deleted this post because I accidentally posted it under gtk and I’m having problems re-posting, so fingers crossed…
I’m trying to find a glib version which offers g_date_time_new_from_iso8601(). I found this web page which suggests (in the top, LH corner) that it’s available from version 2.89 but when I look here the highest version I can find for glib 2.8 is version 2.8.6. Is the documentation wrong or am I looking in the wrong place?
The documentation is correct, and you’re just reading the wrong version—and reading versions wrong, as it also happens.
The symbol you’re looking for is available “since 2.56”, as the blue box right underneath the symbol’s name and the page title says. Symbols without that blue box are automatically assumed to have been added in version 2.0; symbols added during a development cycle have a yellow “unstable” box near the version.
The version on the left side bar is the current version of the project’s documentation, which is the tip of GLib’s development branch.
Finally: “version 2.86” is not a continuation of “version 2.8”: versions are not numbers. Versions are made of components, and components may behave like numbers. In the case of GLib, the first component is the major version, which is only updated when API changes or is removed; the second component is the minor version, which is updated during the development cycle; the third component is the micro version, or patch level, which is incremented within the same cycle. The minor version is also used to determine whether the project is inside a development cycle (odd number), or stable cycle (even number). API can only be added during a development cycle, and the newly added API is frozen once the stable cycle starts.
Every minor version of version “2.x.y” is a “continuation” of 2.0, because they are backward compatible with it. You have version 2.0, 2.2, 2.4, …, 2.56, 2.58, 2.60, …, 2.80, 2.82, 2.84, …
Cycles are separated by even/odd minor versions, and each even/odd minor version has releases with a (major, minor, micro) components; so, version 2.86.3 is:
major version 2: backward compatible with every release with the same major version
minor version 86: stable cycle following the 85 development cycle; any API added during the 85 development cycle is now frozen
micro version 3: fourth release in the same minor version (releases start at 0)
Yes, every (major, minor) version is a separate version.