FLTK 1.4.1 released on Dec. 12, 2024

45 views
Skip to first unread message

Albrecht Schlosser

unread,
Dec 12, 2024, 2:35:45 PM12/12/24
to fltkc...@googlegroups.com

We are pleased to announce the release of FLTK 1.4.1.

This is a maintenance release with bug fixes and improvements. Its ABI and API are 100% backwards compatible with FLTK 1.4.0. We recommend all users of FLTK 1.3.x and 1.4.0 to upgrade to FLTK 1.4.1.

FLTK 1.4.1 is the first FLTK release exclusively hosted on GitHub [3]. Links to all releases can be found at FLTK's download page [4] as usual.

Notes about FLTK 1.4.0 and higher

FLTK 1.4 is a new release series with major enhancements, new widgets, macOS and CMake improvements, and bug fixes. It is based on the final release of FLTK 1.3.4. Later updates have been backported to 1.3.5 - 1.3.10.

FLTK 1.4 is intended to be mostly API compatible with FLTK 1.3.x so you don't need to change source code when you upgrade to FLTK 1.4. However, all programs must be recompiled with FLTK 1.4 because the ABI (Application Binary Interface) has changed.

Potential source code conflicts are documented in chapter "Migrating Code from FLTK 1.3 to 1.4" of the user documentation [1].

FLTK 1.4 adds new widgets (e.g. Fl_Flex, Fl_Grid) for flexible GUI layout, Fl_Scheme_Choice for scheme selection by users, and more. Other widgets (Fl_Tabs, Fl_Tile, Fl_Spinner etc.) have been improved for better user experience.

FLTK 1.4 adds support for HighDPI displays under Linux/Unix and Windows and improves HighDPI support on macOS. The initial screen scaling factor is read from the system and application windows can be zoomed (in/out/reset) by the user with ctrl/+/-/0 shortcuts, respectively.

CMake support has been improved significantly and requires CMake 3.15 (released 02/2020) or higher. autotools/configure/make is still supported but will be dropped in the next minor release (1.5.0).

macOS is supported up to 15.0 "Sequoia".

The platform dependent code in FLTK 1.4 was rewritten to enable better porting to new platforms. Basically all platform dependent code has been isolated and implemented in virtual methods of "driver" classes.

FLTK is now compatible with the Wayland platform on current Linux distributions and FreeBSD. The default build of the library on these platforms supports both X11 and Wayland in a "hybrid" library. Programs compiled and linked to this library launch using Wayland if it is available at runtime and fall back to X11 if not. Programs using X11 specific code that are not yet ported to Wayland can be used on pure X11 systems or by disabling the Wayland support on startup so they fall back to using X11 only. This requires 'XWayland' support on Wayland enabled (Linux) systems.

Future Development

The current development branch on GitHub [2] is `master`. This will be changed to `branch-1.4` when development of FLTK 1.5 begins and 1.4 will be switched to maintenance mode.

Links

[1] https://www.fltk.org/doc-1.4/ (HTML) and
    https://www.fltk.org/doc-1.4/fltk.pdf (PDF)
[2] https://github.com/fltk/fltk.git
[3] https://github.com/fltk/fltk/releases/
[4] https://www.fltk.org/software.php

Daniel Harding

unread,
Dec 12, 2024, 5:03:57 PM12/12/24
to fltk.coredev
Thanks, everyone!

P.S. Albrecht, I see commit b080424a2358ae805702f39646a424e5a71eb883 is pushed and tagged, but is not on the master branch, FYI.

Albrecht Schlosser

unread,
Dec 12, 2024, 5:28:28 PM12/12/24
to fltkc...@googlegroups.com
On 12/12/24 23:03 Daniel Harding wrote:
Thanks, everyone!

Welcome!


P.S. Albrecht, I see commit b080424a2358ae805702f39646a424e5a71eb883 is pushed and tagged, but is not on the master branch, FYI.

Good catch, thanks! It's great that you found and reported this so quickly. Otherwise someone else could have pushed another commit to master, and the result would have been an unintended branch. Phew...

This is fixed now, I had forgotten to push the 'master' branch (I pushed only the release tag). After this fix nothing else should have changed, technically.

Please let me know if it's not OK now for you.

Daniel Harding

unread,
Dec 12, 2024, 5:33:11 PM12/12/24
to fltk.coredev
On Thursday, December 12, 2024 at 4:28:28 PM UTC-6 Albrecht-S wrote:
Good catch, thanks! It's great that you found and reported this so quickly. Otherwise someone else could have pushed another commit to master, and the result would have been an unintended branch. Phew...

Exactly, I wanted to avoid some unnecessary pain, haha.

Looks great, thank you.

Albrecht Schlosser

unread,
Dec 12, 2024, 5:42:57 PM12/12/24
to fltkc...@googlegroups.com
On 12/12/24 20:35 'Albrecht Schlosser' via fltk.coredev wrote:

We are pleased to announce the release of FLTK 1.4.1.


Note: I just discovered a packaging bug. :-(

The source tarballs include all the documentation (about 23 MiB) which is not intended.

I'll update the tarballs and upload them (replace the old ones). This should be fine because it's only a packaging error, the sources won't be changed.

I'll let you know when it's done.

Albrecht Schlosser

unread,
Dec 12, 2024, 6:22:10 PM12/12/24
to fltkc...@googlegroups.com
Done.

All release tarballs and the sha256sum file have been updated on GitHub:
https://github.com/fltk/fltk/releases/tag/release-1.4.1

Reply all
Reply to author
Forward
0 new messages