Skip to content

ELENA 6.8 release#834

Merged
arakov merged 27 commits intomasterfrom
develop
Nov 3, 2025
Merged

ELENA 6.8 release#834
arakov merged 27 commits intomasterfrom
develop

Conversation

@arakov
Copy link
Member

@arakov arakov commented Nov 3, 2025

Description

ELENA 6.8.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 critical bug fixes, new functionality and new samples.

New Functionality

A new syntax dialect was introduced - EL7

A parameterized templates was introduced. Meta programming supports now #for / #endfor statement

A nullable variables / parameters / fields are supported

The compiler supports a cross-platform compilation for x86-64 (Linux / Windows)

Usability

Several improvements were made to make the compiler output is more user-friendly

New API

Several new libraries to work with the internet were added : net'http'server, webapi

:sizeof operator was implemented

Fixes # (issue)

ELENA 6.8.0

  • [!ADDED] a new dialect EL7
  • [ADDED] direct extension template call
  • [ADDED] the explicit lambda function returning value
  • [ADDED] templates with parameters #606 : parameterized templates
  • [ADDED] meta programming : supporting #for / #endfor statement
  • [ADDED] invoking get property with a message name literal
  • [ADDED] intermediate local variables (aka object shortcuts)
  • [ADDED] Nullable support #562 : nullable
  • [ADDED] new attribute "__nonboxable" - requiring only memory allocated objects
  • [ADDED] shorthand syntax for lambda function without arguments : ([] => "Hello from Func")
  • [ADDED] "#else" statement
  • [ADDED] option "-xn-" to turn off nullable types
  • [ADDED] option "-xtwin32" to support cross-platform compilation
  • [ADDED] option "-xtwin64" to support cross-platform compilation
  • [FIXED] aarch64 : xlabeldp opcode
  • [ADDED] aarch64 : fsindp / fcosdp / fp opcodes
  • [FIXED][CRITICAL] x86 : lloaddp opcode
  • [FIXED] suppress a method not found warning when calling itself
  • [ADDED] Cross-compile on Windows for Linux #781 : Cross-compile on Windows for Linux
  • [ADDED] Cross-compile from Unix to Windows #778 : Cross-compile from Unix to Windows
  • [ADDED] warning if the inherited method has different nullable signature than the parent one
  • [CRITICAL][FIXED] __intermediate variable
  • [ADDED] warning if the target is a structure for ?. / !. operations
  • [CRITICAL][FIXED] resolving a template compiled in a third-part module
  • [FIXED]an issue with a template-based field of the structure
  • [FIXED] duplicate boxing / unboxing
  • [FIXED] correct boxing / unboxing in async operations
  • [ADDED] Support <?xml version="1.0"?> in .prj file? #818 : Support in .prj file
  • [DONE] Improving usability : making some error / warning messages more clear #824 : Improving usability : making some error / warning messages more clear
  • [FIXED] in-place constructor is missing
  • [ADDED] support property call shorthand syntax
  • [FIXED] displaying user friendly error for an incompatible closure function
  • [FIXED] textgen : support {{ }} special symbols
  • [ADDED] new inline operator - ":sizeof"
  • [FIXED] int to string conversion routine for IntNumber.MinValue
  • [ADDED] stringListOp.splitByNewLine
  • [ADDED] wideListOp.splitByNewLine
  • [ADDED] system'PropertyMessageName
  • [ADDED] record template
  • [REDUX] nilValue => NilValue
  • [CRITICAL][FIXED] CountDownEvent
  • [ADDED] Web API support #35 : adding net'http'server module
  • [ADDED] Web API support #35 : adding webapi module
  • [ADDED] UnsafeArray, UnsafeArray
  • [FIXED] an issue with a vertical splitter
  • [FIXED] breakpoint must be inside the loop
  • [FIXED] step over the loop
  • [ADDED] Project Settings : Warning level combobox
  • [FIXED] closure : should display captured variables / self
  • [FIXED] The horizontal scroll bar is broken. It doesn't work. My single line code is too long, it goes past the screen. But it's impossible for me to use the horizontal scroll bar to scroll to the right. #802 : The horizontal scroll bar is broken
  • [FIXED] comment highlighting
  • [FIXED] step over multi-conditional if statement
  • [ADDED] supporting project with profiles
  • [FIXED] active bracket highlighting
  • [ADDED] elt-cli : supporting textgen
  • [FIXED] ecv-cli - support toggling pagination
  • [ADDED] Can you add FreeBSD to CI? #763 : freebsd nightly build

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Link

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

arakov added 27 commits May 4, 2025 21:49
Adding FreeBSD nightly
* working on Linux support for MTA
* refactoring scripts
* #562 : supporting nullable variable
* [ADDED] intermediate local variables (aka object shortcuts)
* working on ?. operator refactoring
* refactoring \.
* working on \. operator
* #563 : resolving warnings
* [ADDED] option "-xn-" to turn off nullable types
* working on #778
* aarch64 : fixing labeldp
* [ADDED] aarch64 : fsindp opcode
* [ADDED] aarch64 : fcosdp opcode
* [ADDED] aarch64 : fp opcode
* #778 : define Win_x64_BSD for Linux
* [FIXED][CRITICAL] x86 : lloaddp opcode
* #781 : supporting cross compile with msbuild batch
* #783 : Add the shell scripts for MSYS2
* working on chat sample : (re)implementing tcpclient / EventBasedTcpClient
* MTA support for Linux : signals
* #708 : preparing code base to be compiled for macos
* #184 : fixing linux build for IDE
* [ELC][ADDED] warning if the inherited method has different nullable signature than the parent one
* fixing an issue nullable output mismatch
* fixing warning condition
* [ADDED] Project Settings : Warning level combobox
* [ADDED] new attribute "__nonboxable" - requiring only memory allocated objects
* [CRITICAL][FIXED] CountDownEvent
* [CRITICAL][FIXED] __intermediate variable
* #184 : Linux IDE : adding a project setting dialog
* #184 : IDE linux - project settings
* #184 : line numbers
* #184 : IDE linux - remember last open project / file
* including extensions'threading inti linux build
* fixing project file
* implenenting ThreadHandle for Linux
* adding missing config item
* fixing linker command for macos
* #708 : fixing build of macos
* #35 : working on implementing simple web server
* fixing an issue with invalid template name
* #184 : new project
* migrating to gtk4mm
* [ADDED] warning if the target is a structure for ?. / !. operations
* housekeeping : fixing an issue with memorylist item alignment
* [CRITICAL][FIXED] resolving a template compiled in a third-part module
* ide : fixing debugger routine - step over while(true) statement
* [FIXED] closure : should display captured variables / self
* [FIXED] closure : should display captured variables / self
* [REDUX] refactoring a code base to make possible to turn off the debug info generation for a single class
* [FIXED]an issue with a template-based field of the structure
* [ADDED] UnsafeArray, UnsafeArray<T>
* [FIXED] duplicate boxing / unboxing
* [FIXED]Ubuntu 22.04 - deprecated
* [FIXED] correct boxing / unboxing in async operations
* [FIXED] #802 : The horizontal scroll bar is broken
* [FIXED]comment highlighting
* [FIXED] ecv-cli - support toggling pagination
* IDE : do not update hscroll info all the time
* [ADDED] supporting project with profiles
* [IDE] #184 : migrating textview to Gtk4
* [ADDED] #86 : new opcode - lswapsi : x86, x86-64, ppc64le, aarch64
* [REDUX] project structure : use prolog in most of non-root system modules
* #86 : long +/-/*/&/|/^ int native support
* #86 : long += int native support
* [FIXED]parsing of $"{n}-{m}={r2}"
* housekeeping : using exit codes compatibles with C++ 23
* [ADDED]#818 : Support <?xml version="1.0"?> in .prj file
* [DONE] #824 : Improving usability : making some error / warning messages more clear
* [FIXED] in-place constructor is missing
* [ADDED] support property call shorthand syntax
* [FIXED] active bracket highlighting
* [ADDED] shorthand syntax for lambda function without arguments : ([] => "Hello from Func")
@arakov arakov merged commit 168d66d into master Nov 3, 2025
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