Skip to main content

Aleph - 0.48.0

๐Ÿš€ Highlightsโ€‹

  • Refreshed Aleph's build toolchain and runtime packaging.
  • CSV files can now be read, edited, and saved directly from Aleph scripts.
  • Editor feedback is more responsive while writing Aleph scripts.

โœจ New Featuresโ€‹

  • Aleph scripts can now create, read, edit, and save CSV files with CSVFile. It supports named or indexed rows, columns, and cells; configurable headers, delimiters, quoting, comments, and line endings; and conversion to primitive values, arrays, matrices, sparse matrices, and tensors.

๐Ÿ›  Improvementsโ€‹

  • Highlighting and hover information stay current as you edit, even when several files are open or included files are loading.

๐Ÿ› Fixesโ€‹

  • Removed misleading editor warnings for valid range slicing and matrix indexing.

โš™๏ธ Internal / Technical Changesโ€‹


โš ๏ธ Breaking Changesโ€‹

  • CSVDocument has been replaced by CSVFile. Constructor options and access methods have been renamed, and changes made through a writable CSVFile remain in memory until save() or save_as() is called.

๐Ÿงช Migration Notesโ€‹

  • Replace CSVDocument with CSVFile, pass the file mode before the options map, and remove the get_ prefix from access methods. Use type tags such as as_real when requesting converted values:

    # Before
    var values = CSVDocument("data.csv", ["label_row_index": 0]).get_column("value", real)

    # Now
    var values = CSVFile("data.csv", "r", ["row_header_column": 0]).column("value", as_real)

    Rename CSV options as follows:

    Previous optionCSVFile option
    label_column_indexcolumn_header_row
    label_row_indexrow_header_column
    separatordelimiter
    quoted_linebreaksallow_quoted_line_breaks
    quote_charquote_character

    The trim, auto_quote, skip_comment_lines, comment_prefix, and skip_empty_lines names are unchanged. Options are fixed when the file is opened.

    Use column, row, and cell instead of the former get_column, get_row, and get_cell methods. Writable files also provide set_*, insert_*, and remove_* methods. Call save() to persist changes to the current workspace path, or save_as(path) to write them to another path.