Releases: atgreen/icl
Release v1.20.6
ICL 1.20.6 Release Notes
Summary
Update bundled JavaScript libraries and fix a cached image creation bug.
Changes
- Update dockview-core from 4.13.1 to 5.0.0. This major version bump adds header positioning support; all APIs used by ICL are unchanged.
- Update mermaid from 11.12.2 to 11.12.3 (patch release).
- Fix SLYNK package reader error during cached image creation. The generated eval code contained a literal
slynk:create-serversymbol that the reader couldn't resolve before Slynk was loaded.
Breaking Changes
None.
Release v1.20.5
ICL 1.20.5 Release Notes
Summary
Bugfix release fixing a startup failure when the user's .sbclrc does not load ASDF.
Bug Fixes
- Fix UIOP package error during cached image creation when
.sbclrcdoesn't load ASDF. The generated Lisp code contained a literaluiop:getcwdsymbol that the reader couldn't resolve before ASDF was loaded. Split(require :asdf)into a separate--evalso ASDF packages exist before the image creation code is read.
Breaking Changes
None.
Release v1.20.4
ICL 1.20.4 Release Notes
Summary
Bugfix release with no code changes. This release serves as a clean checkpoint after the fixes in 1.20.3.
Bug Fixes
None.
Breaking Changes
None.
Release v1.20.3
ICL 1.20.3 Release Notes
Summary
Bugfix release improving Monaco editor asset embedding robustness.
Bug Fixes
Browser Interface
- Fixed package and symbol search: Removed inline
oninputevent handlers that were being blocked by Content Security Policy- Package filter input now works correctly
- Symbol filter input now works correctly
- Eliminates CSP violation warnings in browser console
Monaco Editor Asset Embedding
- Recursive asset discovery: Switched from hardcoded file list to recursive directory traversal for Monaco editor assets
- Automatically discovers all Monaco files including vite-generated hashed JavaScript and CSS files
- Eliminates manual maintenance of asset file lists
- Ensures Monaco editor works correctly even when build tools generate different hashed filenames
Miscellaneous
- Updated
.gitignoreto exclude RCS and.bakfiles
Breaking Changes
None.
Release v1.20.2
ICL 1.20.2 Release Notes
Summary
Bugfix release with updated vendored libraries and dependency updates.
Updates
JavaScript Libraries
- vega-lite: Updated to 6.4.2
- Fixed tooltip data showing "undefined" with nearest hit testing
- Fixed tooltip checking for custom formatters
- Fixed legend merging with explicit color scale/range/domain
Lisp Dependencies
-
pure-tls: Updated to 20260118
- Added ACME certificate profile support
- Improved certificate revocation checking across platforms
- Better native certificate verification with custom trusted roots
-
cl-tuition: Updated to 20260124 (v1.3.0)
- Added datepicker component for calendar date selection
- Added drop shadows and title bars for borders
- Added exec-cmd for external program execution
- Enhanced keyboard support (Page Up/Down, Insert, modified arrow keys)
- Added set-terminal-title function
-
cl-selfupdate: Updated to 20260120
- Added USE_LEGACY_OPENSSL option for legacy OpenSSL environments
-
serapeum: Updated to 20260126
- Minor refactoring and documentation updates
Bug Fixes
None.
Breaking Changes
None.
Release v1.20.1
ICL 1.20.1 Release Notes
Summary
Bugfix release with updated vendored libraries.
Updates
- cl-selfupdate: Updated to fix gzip decompression with file streams
- pure-tls: Updated with improved TLS compatibility
- serapeum: Updated to latest version
Bug Fixes
- Fixed macOS amd64 CI build (macos-13 runner retired, now using macos-14)
Breaking Changes
None.
Release v1.20.0
ICL 1.20.0 Release Notes
Summary
This release adds self-update functionality, allowing ICL to update itself directly from GitHub releases.
New Features
-
Self-update command: New
icl updateCLI command to check for and install updates from GitHub releases.icl update- Download and install the latest versionicl update --check/-c- Check if an update is available without installingicl update --dry-run/-n- Download the update but don't install it
-
Version in help: The ICL version is now displayed in the
icl --helpoutput.
Infrastructure
-
Linux tarballs: CI now produces standalone Linux tarballs (
icl-VERSION-linux-amd64.tar.gz) for self-update support. -
macOS artifact naming: macOS release artifacts renamed from
macostodarwinto match platform detection conventions (darwin-arm64,darwin-amd64).
Dependencies
- Added
cl-selfupdatelibrary for GitHub release downloads - Using
pure-tlsfor TLS support without requiring OpenSSL
Breaking Changes
None.
Release v1.19.6
ICL 1.19.6 Release Notes
Summary
Bug fix release restoring ECL backend support and improving the ,dis command.
Bug Fixes
-
Fix ECL backend startup: ECL (and potentially other Lisp implementations) failed to start because the boot script used
uiop:getcwddirectly. The UIOP package doesn't exist until ASDF loads, causing a reader error. Fixed by deferring the symbol lookup until runtime. -
Fix
,discommand to accept#'functionsyntax: The disassemble command now accepts both symbol names (,dis foo) and function designators (,dis #'foo).
Updates
- Migrate xterm.js to scoped packages: Updated from deprecated
[email protected]to@xterm/[email protected]following the upstream package migration for security and maintenance.
Breaking Changes
None.
Release v1.19.5
ICL 1.19.5 Release Notes
Summary
Browser improvements including horizontal scrolling in the REPL terminal, updated JavaScript dependencies, and various bug fixes.
New Features
-
Horizontal scrolling in browser REPL: Long lines in the terminal no longer wrap. A horizontal scrollbar appears when content exceeds the panel width, making it easier to read wide output like tables and formatted data.
-
Visualization panel title prefix: All visualization panels now display "viz: " prefix in their titles for easier identification in the panel list.
Bug Fixes
-
Fix Monaco/regulex AMD loader conflict: Resolved JavaScript error "undefined missing vs/editor/editor.main" by loading Monaco editor before regulex to prevent AMD loader conflicts.
-
Fix Monaco editor font loading: Added
data:to Content Security Policy font-src directive to allow Monaco's embedded codicon font to load properly. -
Fix Dockview panel rendering: Switched from ESM to UMD build of Dockview to fix panel initialization issues.
-
Fix ASDF system loading in backends: Added current working directory to ASDF source registry, ensuring systems can be found when using remote Slynk connections.
Updates
-
JavaScript dependencies updated: Updated Dockview, xterm.js, Vega, Vega-Lite, Vega-Embed, and Mermaid to latest versions.
-
Vega-Lite examples updated: Example files now use Vega-Lite v6 schema instead of deprecated v5.
Breaking Changes
None.
Release v1.19.4
ICL 1.19.4 Release Notes
Summary
Bug fix release with improved error handling, dead code cleanup, and new packaging features.
Bug Fixes
-
Fix
,discommand hanging on undefined symbols: The,discommand now properly handles undefined symbols and non-function symbols by returning an error message instead of hanging indefinitely. -
Fix
query-terminal-backgroundredefinition warning: Removed duplicate function definition that caused a warning during compilation. -
Fix
icl-tests.asdsyntax error: Corrected misplaced closing parenthesis that brokemake check.
New Features
-
Bash completion for CLI options: Tab completion now works for all ICL command-line options when installed via deb/rpm packages. Includes smart completion for
--lisp(implementation names),--load(Lisp files), and--connect(host:port suggestions). -
Man page: Comprehensive man page (
man icl) documenting all CLI options, REPL commands, keyboard shortcuts, configuration files, and usage examples.
Code Quality
- Dead code removal: Removed ~340 lines of unused code across multiple files, improving maintainability and reducing binary size slightly.
Installation
The bash completion and man page are automatically installed when using the deb or rpm packages:
- Bash completion:
/usr/share/bash-completion/completions/icl - Man page:
/usr/share/man/man1/icl.1