***************** Open Dylan 2023.1 ***************** This document describes the 2023.1 release of Open Dylan, released 01 June, 2023. The highlights of the release are listed below. For complete details see the `commit logs `_ for this release. .. note:: Some commit logs, for example for testworks and other libraries that are included in Open Dylan as git submodules, may be in other repositories. * Download the release: https://opendylan.org/download * Read documentation: https://opendylan.org * Report problems: https://github.com/dylan-lang/opendylan/issues Compiler ======== * The "batteries included" installation includes `LLVM version 16.0.5 `_ and `BDW GC version 8.2.4 `_. * `Dylan Enhancement Proposal (DEP) 12 `_ was implemented, adding multi-line and "raw" string literals. * `Improvements to LLVM bitcode generation `_ * A bug in `parser expansions `_ that could crash the compiler if the end delimiter was missing has been fixed. * `Bug 1490 `_, which could result in spurious warnings from the compiler `has been fixed `_. Tooling ======= * The `dylan `_ command-line tool has had `various improvements `_, including: * Simplified workspace model * Simplified process to publish packages * Packages installed locally in workspace directory by default * Global package installation follows the `XDG Base Directory Specification `_. * Symlink points to current installed version of packages, for easier tooling. Full documentation is `here `_. * The :program:`make-dylan-app` program has been removed and is replaced by :command:`dylan new application` and :command:`dylan new library`. Library Updates =============== Submodules ---------- Open Dylan uses Git submodules to pull in some dependencies and user programs may depend on these for now. The notable changes in those submodules are listed below: * **sphinx-extensions** - Improvements to DRM references. * **dylan-tool** - See above. * **collection-extensions** - The ``split-at`` function has been removed. Use :gf:`split` instead. Documentation improvements. * **command-line-parser** - Minor bug fix to add a missing newline when no subcommand is provided. * **json** - Fixed ``sort-keys?`` option for recursive :gf:`print-json` calls. system Library -------------- * A `bug `_ in :func:`locator-directory` for relative directory locators was fixed. * The :func:`run-application` function is now fully documented. * A ``follow-links?:`` keyword argument has been added to the :func:`file-exists?` function. The default is true, for compatibility with the previous behavior. Contributors ============ We'd like to thank all the people who made contributions to this release and to surrounding libraries in the Dylan ecosystem. This list is probably incomplete... * Fernando Raya * Peter S. Housel * Bruce Mitchener * Carl Gay