Skip to content
Tags give the ability to mark specific points in history as being important
  • v2.0
    d41b30dc · Version 2.0 ·
    Version 2.0.
    
    Miscellaneous api additions, a few fixes, and `foreach`.
  • v1.16
    286d12f1 · Version 1.16 ·
    Version 1.16
    
    The last 1.x release. Rewrote Garden in Lily, updated libraries, and
    greatly expanded testing.
    
    Outside of the above, this release is jammed with bugfixes and quality
    of life improvements.
  • v1.15
    ec470add · Version 1.15 ·
    Version 1.15
    
    Lots of features! Anonymous classes, subprocess module, forward classes, and
    anonymous blocks.
    
    Gitlab's CI now builds a coverage report to the repo's pages. Development is now
    done on main.
    
    Equality ops now jump, coroutines put into `coroutine`, and builtin is now
    called prelude. Enums now get a gc tag. Rewrote `List` and `String` methods with the help of extra warning flags added in v1.14.
  • v1.14
    bbf3301e · Version 1.14 ·
    Version 1.14
    
    Small release focused on housekeeping and closing several small bugs.
  • v1.13
    b603f434 · Version 1.13 ·
    Version 1.13.
    
    Introduce manifest mode for tooling. Most of the work in this release
    went into rewriting bindgen and docgen.
  • v1.12
    1ffc3a01 · Version 1.12 ·
    Version 1.12.
    
    Huge internal cleanup for parser. Among lots of small changes,
    expression dispatch and dynaload functions went through a rewrite.
    Block handling is no longer recursive to prep for manifests.
    
    Static methods can no longer directly call class methods.
  • v1.11
    b211f61c · Version 1.11 ·
    Version 1.11.
    
    Introspect added to the prelude. Marktest created.
    
    Several old bugs were cleared off by stress testing rewind, rewriting
    lexer, and rewriting identifier lookup. Those rewrites uncovered new
    and exciting bugs that were also done away with.
  • v1.10
    e03456a5 · Version 1.10 ·
    Version 1.10.
    
    Test system rewrite and foreign import works on Windows.
  • v1.9
    2a13d2e5 · Version 1.9 ·
    Version 1.9.
    
    Mostly api fixes and changes to allow for testkit.
  • v1.8
    d8cb33a2 · Version 1.8 ·
    Version 1.8.
    
    Short 2 month release with a handful of bugfixes. Nothing exciting.
  • v1.7
    dc2ad146 · Version 1.7 ·
    Version 1.7.
    
    Math library, QOL adjustments, and import/load rewrite.
  • v1.6
    9b36dcf8 · Version 1.6. ·
    Version 1.6.
    
    Rewrote Garden and fixed several bugs found by increasing coverage.
  • v1.5
    34414aeb · Version 1.5. ·
    Version 1.5.
    
    Blocks require braces and a couple dynaload changes.
  • v1.4
    8ab5fb52 · Version 1.4 ·
    Version 1.4.
    
    This version focuses on coroutines and doesn't do much else.
  • v1.3
    54b50efb · Version 1.3 ·
    Version 1.3
    
    Lily is now 6 1/2 years old. This release doesn't have many features,
    but the ones it has are interesting. Forward declarations, static
    qualifier, and a change to import to make it more robust. The biggest
    addition is adding keyword arguments (they're handled at parse-time
    for zero vm cost).
  • v1.2
    743a45e9 · Version 1.2 ·
    Version 1.2
    
    This release introduces a syntax for direct imports `import (x, y) z`,
    and makes scopes required for class methods. The focus on this release
    was on cleaning up little internal issues and bugfixing. This release
    is the first to use codecov to track code coverage.
    
    The cleanups and testing done in this release are so that the next
    release can be jammed with features.
  • v1.1
    5108a8e9 · Version 1.1 ·
    Version 1.1
    
    This marks 6 years of Lily. The language is now stable enough that
    binding and documentation generation from foreign files is now done
    through native Lily code (see parsekit, which may later be garden).
    This release also fixes a bug that caused closures to not work
    properly, so they should finally be stable now.
    
    The testing suite was also rewritten so that it's driven not by a
    Python script, but by an executable that embeds an interpreter. That
    interpreter hooks into a library that runs subinterpreters to run
    various tests. This allows running the whole test suite through
    valgrind, instead of trying to valgrind trace multiple processes. It
    also makes getting coverage metrics easier, as there's only one
    process to trace.
    
    This release also includes several api adjustments, most important
    being that all value allocation is now done using the state.
  • v1.0
    At long last, release version 1.0!
  • v0.18
    e90f14ff · Version 0.18 ·
    Release v0.18
  • v0.17
    24e6a814 · Version 0.17 ·
    Version 0.17 of Lily.
    
    This release is notable because Lily is now 5 years old.
    
    Not much in the way of features. Packages now exist, and are
    collections of modules. There's also Garden, which may end up being
    Lily's package manager. A lot has been done so that the next release
    can establish an API.