April 3, 2026
Release 0.6.0 of OCaml-stk is available from the
Download page.
Changes (compatibility-breaking changes are indicated
like this:
- Add handling of user's configuration : default theme, font directories
and user-defined themes,
- Stk_xml.Xml: rename ?base
argument of some functions to ?default_ns to
prevent confusion with base IRI used to resolve relative IRIs.
Default value is Iri.empty, instead of xhtml_ns
- Stk_rdf: add tooltip with full IRI on IRI terms
- add Utf8.split_on
- in textures, use Sdl.Pixel.format_rgba32 instead of format_rgba8888
- add Menu.add_context_menu
- add ?recursive argument to Font.load_fonts_from_dir
- Edit.entry widget now handles pressing Return, which triggers the
Activated event
- add Tooltip module to add... tooltips
- new module Timeoutf: same functionality as Lwt_timeout
but with delays expressed with floats, allowing a better precision
- Text.label: ?cache parameter allows some sharing of surface
and texture to gain some cycles and some memory
- Textview: use caching of characters to improve speed and memory usage
- Text module now has its own Log module
- add Props.font_fallbacks property to display glyphs using alternative fonts
This property is handled in Label.text, Label.glyph
and Textview.textview
- add predefined fallback fonts for mathematical UTF-8 symbols (using DejaVu Math TeX Gyre)
- support for Yojson >= 3.0
- Stk_xml: handle @media queries in CSS
- New package stk_image
- image: add #scale_mode and #set_scale_mode,
used when creating image texture; default is Tsdl.Sdl.Scale.mode_best
- flex: #pack_space and #pack_break handles ?classes parameter
- notebook: tab box now has "tabs" class
- notebook: class "tab_content" is added to a widget when it is packed and removed when
it is unpacked
- fix: changing active page of notebook triggers need_resize
- add Window.window#raise
- add Window.window#restore
- new window_autosize_width and window_autosize_height properties.
Windows now has a default width and height and autosizes in width
(resp. in height) only if window_autosize_width (resp. window_autosize_height)
is true. These two properties are set to true for menu windows if
no width or height is specified.
- ! Table.table#widget_at
renamed to #child_widget_at
- add Widget.widget#mouse_position
- add Widget.widget#widget_at
- add Window.window#borders_size and use it in to_desktop_coords
- add Window.window#rflags, which returning renderer flags.