McCLIM 1.0.0 "Koliada" release
Written by Daniel Kochmański on 2026-05-05 14:00
Table of Contents
McCLIM 1.0.0 "Koliada"
Dear All,
Another year has passed and we are proud to announce the new release: McCLIM 1.0.0 "Koliada". This codename refers to the traditional name of Slavic fastivals around Christmas. It may come as a surprise, but this release was planned for the beginning of the year 2026.
Input editing rewrite
This release brings many important changes that clear the way for further developments. The input editing substrate has been rewritten from scratch - this includes functionality for completions, command line processing, accepting values and of course text editing. Since there was a lot of code churn in these areas, some issues are expected, but I believe that the system is monotonically better.
As a consequence neither DREI nor ESA are dependencies of McCLIM. Both libraries are available for other programs, although their maintenance is minimal.
Gadget improvements
A new pane type ACCEPT-VALUES-PANE is now available. While not specified in CLIM II, it was documented in older Genera documents and is genuinely useful for implementing in-application forms. Check out "dingus" demo to see it in action.
Charlie McMackin implemented missing slider functionality that allows for specifying the number of tick marks and labels. It may be previewed in the new demo "Slider Test".
A missing CLIM II operator MENU-CHOOSE-COMMAND-FROM-COMMAND-TABLE is now available.
Stream improvements
Page layout of the stream is now thread-local, so it is possible to concurrently write to different parts of the sheet while preserving context-local margins.
ACCEPT has been rewritten to take advantage of the new input editing functionality. ACCEPT-FROM-STRING now returns the correct index where the parsing ends, so it is now much more useful for parsing objects from buffers.
PRESENTATION-TYPE-HISTORY has been rewritten to maintain the exact set of items typed by the user (instead of keeping only parsed objects).
Andrea De Michele wrote a very insightful demo "Modifier" that explores the use of the accessor PRESENTATION-MODIFIER used to interact with presented objects without an insight into their implementation.
Backend improvements
Backend infrastructure had a constant flow of fixes. Notably RASTER backend is now much faster when recording is off, NULL backend exports its symbols and has a more faithful implementation of McCLIM protocols to make it a better starting point for port developers and BASIC-PORT is now more robust with regard to custom subclasses.
Last, but not least, an alpha-quality SDL2 backend has now landed in master. The default renderer uses our software rendering. Try it with:
> (ql:quickload '("mcclim-sdl2" "clim-examples"))
> (setf clim:*default-server-path* '(:sdl2))
> (clim-demo:demodemo)
Note that this is more a development snapshot than a finished backend. Most notably double buffering is not implemented and we plan to eventually switch to OpenGL.
Manual improvements
- Rewrite "Development history" to account for the last 15 years
- Rewrite "Getting started" to provide better overview of presentations
- Cleanup "Building McCLIM" for consistency and fix some issues
- New sections "Input editing" and "Using completions"
Closing remarks
For a more detailed list of changes see the file NEWS and the repository log.
I've been asked after the last release to include some screenshots, so I did just that – I hope that you'll enjoy them.

You may grab the latest release from here: https://codeberg.org/McCLIM/McCLIM/releases/tag/1.0.0-koliada.
And the updated manual from here: https://mcclim.common-lisp.dev/static/manual/mcclim.html.
This release is possible thanks to an effort of many individuals. Some of them are listed here: Daniel Kochmański, Charlie McMackin, Andrea De Michele and Nisar Ahmad.
Happy Hacking!
Daniel Kochmański