Skip to content

ELENA 7.0#840

Merged
arakov merged 9 commits intomasterfrom
develop
Mar 16, 2026
Merged

ELENA 7.0#840
arakov merged 9 commits intomasterfrom
develop

Conversation

@arakov
Copy link
Member

@arakov arakov commented Mar 16, 2026

Description

ELENA 7.0.0 is out for the following platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / FreeBSD x86-64 !!

The release includes a number of bug fixes.

Language

A new short-cut syntax for constant array is introduced:

const int[] staticArray = new []{1, 2, 3};

A constant array is now supported:

const string[] dirNames := new const string []{ ".", ".." };

Several major bug fixes in the template generating code, invoking indexed methods and so on.

PPC64le release way fixed and all functional tests (including intTests) are now passed.

Usability

A compiler now warns when passing an unsupported nullable argument to the method.

Another warning if declaration hides previous local declaration is added as well.

A new compiler option "-n" is supported allowing to compile only a sub collection in the project collections

API

A critical change: program main entry is renamed from "program" to "Program" (though in most cases old entry is still supported).

To improve the code readability "extern {}" block is ranamed to "excluded {}" (extern is overused currently).

"__getProperties" extension was fixed.

A new template : system'ConstArray

IDE Improvements

Several new menu options were added : Callstack window, Forwards dialog

The current line is now highlighted.

The icons were reintroduced in Project View form.

The editor tab has now a close icon, allowing to close it by clicking on the icon.

Docs

API Docs supports now Index page, providing a list of all classes and extensions in alphabetic order.

More descriptions were added to API classes in system and system'collections namespaces

Tools

ELENA command line ByteCode Viewer (ecv) supports a new flag - ignore interal classes, it is on by default.

ELENA Assembler Compiler warns now if the label was not resolved.

Fixes # (issue)

ELENA 7.0.0

  • [ADDED] Set operation with a constant array #592 : support const T[] array declaration
  • [ADDED] short-cut syntax for constant array
  • [FIXED] retoverload method
  • [FIXED] an issue with template-based nested class fields
  • [FIXED] calling indexed method for sealed stack-allocated method
  • [FIXED] calling static method declared in the parent class from the closed child
  • [FIXED] extension literal constant
  • [ADDED] warning when passing an unsupported nullable argument
  • [ADDED] new compiler option : -n used to compile a sub collection
  • [FIXED] assigning a struct field in sub code
  • [FIXED] calling retoverload method in a returning expression
  • [FIXED] in template extension the target template might be not compiled
  • [ADDED] warn if declaration hides previous local declaration
  • [FIXED] a minimal long constant
  • [FIXED] generating a debug info for implicit class symbols
  • [ADDED] an error if an async extension is declared (until the feature is not implemented)
  • [ADDED] system : ConstArray template
  • [CRITICAL][ADDED] program main entry is renamed from program to Program
  • [FIXED] __getProperties extension method
  • [CRITICAL][ADDED] rename extern {} => excluded {} as extern is overused
  • [ADDED] new method - File.binaryReader[1]
  • [ADDED] Launch elena64-ide.exe from the command line #820 - Launch elena64-ide.exe from the command line
  • [ADDED] Callstack window
  • [ADDED] Forwards dialog
  • [ADDED] Highlighting current line
  • [ADDED] Project View Icons
  • [ADDED] Close icon on the tab
  • [ADDED] ecv: new flag - ignore internal classes
  • [ADDED] asmc : warn if the label was not resolved
  • [FIXED][PPC64le] system_tests - intTests

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change

Link

Please visit a release page to download the binaries: https://github.com/ELENA-LANG/elena-lang/releases/tag/v7.0.0

* #820 : Launch elena64-ide.exe from the command line
* working on const array support
* support const T[] array declaration
* #592 : allow to assign a constant array element inside the constructor
* #351 : add readonly fields support description
* storing constant array in rdata section when it is possible
* [ADDED] both program and Program (preferred way) are supported as a program main entry
* [CRITICAL][ADDED] program main entry is renamed from program to Program
* supporting both program and Program
* [ADDED] short-cut syntax for constant array
* fixing xor operation
* API : fixing __getProperties extension method
* #592 : supporting constant symbols
* adding AnsiEncoder
* some refactoring rename toByteArray to saveToByteArray
* [FIXED] retoverload method
* [FIXED] calling indexed method for sealed stack-allocated method
* fixing Truncate File sample
* fixing an issue with ByIndex optimization
* #34 : migrating to mbedtls 4.0.0
* working on async support; fixing an error with swallowing an exception
* fixing an issue with reused generated templates
* [FIXED] extension literal constant
* [FIXED] #820 - Launch elena64-ide.exe from the command line
* [ADDED] warning when passing an unsupported nullable argument
* [ADDED] ecv: new flag  - ignore internal classes
* [ADDED] new compiler option : -n<name> used to compile a sub collection
* fixing UTF32 conversion
* [FIXED] assigning a struct field in sub code
* [FIXED] calling retoverload method in a returning expression
* [ADDED] new unit test : calling retoverload method in a returning expression
Added 'sudo apt update' command before installing dependencies.
* [FIXED] in template extension the target template might be not compiled
* [IDE][ADDED] Callstack window
* working on IDE call stack
* fixing Linux console routine
* linux example - tasks
* [ELC][ADDED] warn if declaration hides previous local declaration
* [API][ADDED] Linux system : supporting events
* supporting clearing lexical information
* [IDE][ADDED] Forwards dialog
- [IDE][ADDED] Highlighting current line
* [ADDED] #184 : project view menu option
* [ADDED] #184 : message list
* #184 : compile / display errors / output
* [ADDED] Project View Icons
* [IDE][ADDED] Close icon on the tab
* supporting Environment.ProcessorCount for Linux
* Linux : implementing support for MTA
* renaming extern {} to excluded {}
* [FIXED] a minimal long constant
* working on int conversion routines
* fixing long conversion
* supporting  byte to long
* fixing ppc64 : fix system_tests - intTests
* [FIXED] long -= int operation
* [API][ADDED] new method - File.binaryReader[1]
* x86-64 : fixing asmc
* [DOC][ADDED] providing API descriptions
* #708 : adding elenart build
* [FIXED] generating a debug info for implicit class symbols
* [ADDED] asmc : warn if the label was not resolved
* JITLinker : raise an error if the action counter is overflown
* [ADDED] an error if an async extension is declared (until the feature is not implemented)
* #637 : adding optimization routine unit tests
* #184 : working on the debugger
* refactoring file structure - moving make files into their own folder
* #708 : make for sg64-cli, og64-cli, asm64-cli
* #708 : supporting mac on asmc
@arakov arakov merged commit eed7595 into master Mar 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant