Skip to content

Releases: ELENA-LANG/elena-lang

ELENA 6.5.0

19 Oct 18:58
a92df96
Compare
Choose a tag to compare

Description

ELENA 6.5.0 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

The release includes a number of critical bug fixes, new functionality and new samples.

Fixes # (issue)

ELENA 6.5.0

  • ELENA

    • [FIXED] method reference : support function singletons
    • [FIXED] direct typecasting must have priority over implicit conversion
    • [ADDED] Thread static symbols / static fields
    • [ADDED] new byte-codes : peektls / storetls
    • [FIXED] ?? operator
    • [ADDED] static constructor
    • [ADDED] internal symbols
    • [ADDED] supporting async methods
    • [ADDED] supporting indexed methods
    • [ADDED] indexed internal methods can be declared in a closed class
    • [REDUX]!! refactoring grammar to make it more readable
    • [ADDED] support parameterized extension method call
  • ELC

    • [ADDED] new option -el5 / -el6 (default) - specifying grammar compatible to ELENA 5.x or 6.x
    • [ADDED] Win x32-64 : MTA Console
    • [FIXED] inline field assignment in a template class
    • [FIXED] return inside lock
    • [FIXED] ppc64le : fix iteratorMethodTest
    • [FIXED] declaring a lambda function with template based argument
    • [FIXED] calling a method directly with nil argument when allowed
    • [FIXED] single dispatch of a private / internal / protected method
    • [FIXED] closure argument types can be specified by an expected type
    • [FIXED] it is not possible to declare internal default constructor
    • [FIXED] #675 - Using ++ operator with a weak type
    • [FIXED] incorrect typecast handler signature for the classes inheriting template-based ones
    • [FIXED]variadic argument list of super class is type-casted
    • [FIXED] #689: declaring a lambda function with template based argument
    • [FIXED] fixing issues ABI convention for external calls
    • [FIXED] preloaded symbols in sub namespaces
    • [FIXED] calling indexed method from the sealed class
    • [ADDED] new option -xs - Strict type enforcing option (raise an error if the sealed class is typecasted / called the method that does not exists)
  • API

    • [ADDED] system'threading'Thread: Priority, join, Current
    • [ADDED] system'runtime'Environment
    • [ADDED] system'collections'threadsafe'ConcurrentQueue
    • [ADDED] #154 : system'threading'Semaphore
    • [ADDED] system'threading'BlockingQueue
    • [ADDED]system'threading'ThreadPool
    • [ADDED] #154 : system'threading: ManualResetEvent, AutoResetEvent, CountDownEvent
    • [ADDED] system'threading : Task
    • [ADDED] system'io'Directory : static getFiles / getFiles
    • [ADDED] File : saveContent, readContent, readWideContent
    • [ADDED] system'io'threading : asyncStreamOp extension
    • [ADDED] system'threading.Task - sleep
    • [ADDED] extensions'threading : outputConcurrentOp extension
    • [REDUX] all symbols must start with a capital letter
    • [ADDED] system'threading : Task
    • [FIXED] system'objectOp.__getClassName[1]
    • [ADDED] extensions'routines'stex : toArray
  • SAMPLES

    • [ADDED] threadpool
    • [ADDED] tasks
    • [ADDED] asyncsamples
    • [ADDED] task sample 2
  • Tools

    • [ECV][ADDED] displaying class attributes
    • [FIXED][ldoc] system-threading-.html must not be generated
    • [FIXED][ldoc] system-threading : generate only templates declared in the module
    • [FIXED][ASMC] opcode mov gs,r/m64
  • IDE

    • [FIXED] #679 : class already exist
    • [FIXED] debug source path
    • [ADDED] it is possible to set the target type for a single file project
    • [FIXED] project options - debug command arguments
    • [FIXED] correct debug info of the constructor self variable
    • [FIXED] #413 - boxing variadic argument
  • Misc

    • [ADDED]new functional test : script_tests

Type of change

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

ELENA 6.3.0

22 Aug 15:58
9bbf8fc
Compare
Choose a tag to compare

Description

ELENA 6.3.0 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

The release includes a number of critical bug fixes, new functionality and ported samples.

Fixes # (issue)

ELENA 6.3.0

  • [ADDED] key-value expression
  • [ADDED] #265 : Support enumeration list
  • [ADDED] self attribute
  • [ADDED] new operator $size
  • [ADDED] text blocks
  • [ADDED] method reference - &myMethod
  • [FIXED] single dispatcher : if an argument is nillable, it can accept nil value
  • [ADDED] String interpolation
  • [REDUX] iterator method
  • [ADDED] #496 : private fields
  • [FIXED] private constructor must be called directly
  • [FIXED] accessing static fields inside a structure
  • [FIXED] ppc64le : decoratorTest()
  • [FIXED] #667 : Boxing the symbol expression
  • [FIXED] only public classes can be loaded in run-time
  • [ADDED] #637 : bt optimization 4 unit test
  • [FIXED] var attribute is allowed to be in the method argument list
  • [FIXED] "__typeof self" expression inside the nested class / closure
  • [FIXED] GC_ALLOC routine for vm mode
  • [ADDED] CF : alternative output
  • [ADDED] reusing PermVectorTable after windows are closed
  • [ADDED] xforms60 script
  • [FIXED] external calls to be excluded from managed stack frames
  • [FIXED] Directory.getFiles : raising an exception if no files were found
  • [ADDED] xforms example
  • [ADDED] #658 : new project LDBG - ELENA Debugger Adapter

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)

ELENA 6.2.0

25 Jun 20:49
d2419c3
Compare
Choose a tag to compare

Description

ELENA 6.2.0 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

The release includes a number of critical bug fixes, new functionality and ported samples.

Fixes # (issue)

ELENA 6.2.0

  • [ADDED] optimized ternary expressions
  • [FIXED] declaring a field with a type of template based array
  • [ADDED] unit-test for declaring a field with a type of template based array
  • [FIXED] function attribute is allowed for the function declaration
  • [FIXED] template generation routines
  • [FIXED] include opcode must restore previous frame value
  • [ADDED] #590 : creating a dynamic interface wrapper
  • [FIXED] JIT code resolving
  • [ADDED] #590 : creating a dynamic interface wrapper
  • [ADDED] #89 : new functionality - MemoryStream, BitArray, SortedList, SortedArrayList
  • [ADDED] #95 : LiteralBuffer, WideBuffer
  • [ADDED] new template extensions'dynamic'Serializer
  • [FIXED] String#class.copy[4]
  • [ADDED] chat sample

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.2.0

ELENA 6.0.10

07 May 21:12
375a95e
Compare
Choose a tag to compare

Description

ELENA 6.0.9 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

The release includes a number of critical bug fixes, new functionality and ported samples.

Fixes # (issue)

  • [ADDED] #646 : Calling own method directly without target
  • [ADDED] #651 : Template Expression - typecasting
  • [ADDED] #497 : a static method must have an access to private methods
  • [FIXED] aarch64 : xstorefir opcode
  • [FIXED] ppc64le : open opcode
  • [ADDED] new option : auto-preloaded module extension ("-xm")
  • [FIXED] reducing the total size of an executable by ignoring module extensions by default
  • [FIXED] #401 - += operator with array
  • [FIXED] #488 : Declaring auto struct variable
  • [FIXED] #522 : single dispatch variadic message
  • [FIXED] x86-64 : calling from external
  • [FIXED] #608 : single dispatch for constructors
  • [FIXED] #504 : Support an array operation with external function arguments
  • [FIXED] #589 : Supporting ?: operator inside ??
  • [ADDED] #569 : Ignoring order of declaration
  • [FIXED] xhookdpr for x86-64 mode
  • [ADDED] #635 : new entry point to invoke the functionality from another program
  • [FIXED] toJson extension
  • [FIXED] try statement does not allocate an exception
  • [ADDED] extensions'io:ByteArrayReader,ByteArrayWriter
  • [ADDED] #635 : new tutorial to call an ELENA library from C++ / C#
  • [ADDED] chat sample
  • [ADDED] ecv-cli : adding a filter for listing members
  • [FIXED]elt-cli : fixing support for extension methods
  • [FIXED] watch : displaying stack-allocated classes
  • [ADDED] syntax highlighting

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.0.10

ELENA 6.0.9

18 Apr 18:41
83ca56f
Compare
Choose a tag to compare

Description

ELENA 6.0.9 is out for all supported platforms : Windows x86 / x86-64, Linux AArch64 / I386 / Amd64 / PPC64le

The release includes a number of critical bug fixes, new functionality and ported samples.

Fixes # (issue)

  • [ADDED] new opcode - parent
  • [ADDED] meta expression: nested singletons
  • [ADDED] new class flag - elPacked
  • [ADDED] new attribute - packed
  • [ADDED] #637 - unit tests for byRefOp optimization
  • [ADDED] #637 - unit tests for intCopying optimization
  • [ADDED] #610 - struct redesign
  • [FIXED] optimization : copy 8 / copydpn 8
  • [FIXED] #615 : The field is not property incremented by an addition assignment
  • [FIXED] x64 : fround opcode
  • [FIXED] x64 : fabs opcode
  • [FIXED] x86 : xdispatchmr opcode
  • [ADDED] system'dynamic'expressions'LazySymbolExpression
  • [FIXED] ushort - native comparison operations
  • [ADDED] system'net
  • [ADDED] ltests
  • [ADDED] net
  • [ADDED] win64 gui
  • [FIXED] realOp.RoundedInt extension
  • [FIXED] interpreter sample for x86-64
  • [FIXED] #618 : template class descriptions
  • [ADDED] include / exclude file
  • [FIXED] ctrl+w hides the frame
  • [ADDED] ins / over modes
  • [ADDED] dark color scheme
  • [ADDED] GitHub Action - MSBuild 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.0.9

ELENA 6.0.8

21 Mar 10:13
730bc59
Compare
Choose a tag to compare

Description

ELENA 6.0.8 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

The release includes a number of critical bug fixes, new functionality and ported samples.

Fixes # (issue)

  • [ADDED] an opcode LNEG
  • [ADDED] native negate operation for long integers
  • [ADDED] #588 - Operation with int constant
  • [ADDED] multi-profiles per a single project file; new option -l
  • [ADDED] #638 - Accessing a variable declared in the upper scope
  • [FIXED] calling a variadic method without arguments directly
  • [FIXED] declaring a template based type with T is an array as a method result
  • [FIXED] GC : perm generation is not included as roots for the partial collect
  • [FIXED] generating a proper debug info for local structure / structure self
  • [FIXED] it has to be possible to convert int literal directly to v_int8 / v_int16 / v_int64, depending on the value size
  • [FIXED] x86 MTA : starting the new thread / program
  • [FIXED] x86 MTA : GC routine
  • [FIXED] byrefHandler : if it is not contain the explicit return, assign self to byref retVal
  • [FIXED] no need for typecasting operation after if-else operation with both branches containging returning operation
  • [FIXED] optimizing operation with int constants
  • [ADDED] sqlite module
  • [FIXED] string.toUpper() : returns a string with an incorrect length
  • [FIXED] windproc
  • [ADDED] xforms
  • [ADDED] sqlite_test
  • [FIXED] Rosetta Code : Interactive programming (repl), Vigenère cipher
  • [ADDED] c_a_g sample
  • [ADDED] agenda sample
  • [ADDED] graph sample
  • [ADDED] support for stdcall for win32
  • [ADDED] project settings - select the project profile
  • [FIXED] #634 - IDE debugger: the debugger must hide trace line on wait
  • [FIXED] #634 - debugger step over some expressions
  • [FIXED] #636 - IDE bugs
  • [FIXED] displaying stack-allocated structures
  • [FIXED] warn if the source code is not compiled after the change before run / debug
  • [FIXED] warn if the source code is changed and not save before run / debug
  • [FIXED] the document is in read-only mode during the debugging

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.0.8

ELENA 6.0.7

10 Feb 00:51
f6f9859
Compare
Choose a tag to compare

Description

ELENA 6.0.7 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

The release includes a number of critical bug fixes, new functionality and ported samples.

Fixes # (issue)

  • [ADDED]meta command #load, #clear
  • [ADDED]#563:Extended statement templates
  • [FIXED]#508 - working on multi-value assigning
  • [FIXED]#86 - primitive operations : int + long
  • [FIXED]"this self" for an extension
  • [ADDED]system : Int8Number, UShortNumber
  • [ADDED]#629 - Read-only fields
  • [FIXED]#613 - bytecode optimization
  • [FIXED]#623 - Overriding property set accessor
  • [FIXED]#601 - bytecode optimization
  • [ADDED]evaluate an expression in compile-time if possible
  • [ADDED]#562 - Nullable support

ELENA 6.0.6

19 Oct 16:53
f2fcee9
Compare
Choose a tag to compare

ELENA 6.0.6 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

The release includes a number of critical bug fixes, new functionality and ported samples.

  • ELENA

    • [ADDED]snop opcode
    • [ADDED]xfsave opcode
    • [ADDED]opcodes : xcmp sp, load sp
    • [ADDED]$yield operator
    • [ADDED]yieldable method
    • [ADDED]using statements
    • [ADDED]lock statement
    • [ADDED]class constants
    • [ADDED]globals
  • ELC

    • [ADDED]MTA support for x86
    • [ADDED]#321,#173 - conditional boxing
    • [ADDED]warn if the outpur type is less accessible than the symbol
    • [ADDED]variadic and normal methods cannot have similar names
    • [ADDED]weak implementations of &&, ||, ^^
    • [FIXED]struct typecast handler : do not copy the struct
    • [FIXED]constructor explicit multi-dispatch handler
    • [FIXED]support constants in array size declaration
    • [FIXED]passing variadic argument to another method
    • [FIXED]#47 : Evaluating an expression in a symbol
    • [FIXED]duplicates in GA_EXT_OVERLOAD_LIST
    • [FIXED]#15 - return double / long from external function
  • ELENAVM

    • [ADDED]preloaded symbols
    • [ADDED]loadAddressInfo
    • [FIXED]LoadExtensionDispatcherLA
    • [FIXED]LoadActionNameLA
  • ELENASM

    • [FIXED]#366 - Script engine rule not recognized correctly
  • API

    • [ADDED]event property template
    • [ADDED]system'winforms module
    • [ADDED]forms module
    • [ADDED]forms'SDIDialog
    • [ADDED]forms'Button
    • [ADDED]forms'Edit
    • [ADDED]forms'Label
    • [ADDED]system'dynamic'ExtensionDispatcher
    • [FIXED]Console class should be public with internal constructor
    • [FIXED]system'io'StreamWriter
    • [FIXED]system'collections'Stack
    • [FIXED]system'dynamic'DynamicTape - variadic functions
    • [FIXED]dynamic expressions
  • SAMPLES

    • [ADDED] Conway's Game of Life
  • IDE

    • [ADDED]recent open projects
    • [FIXED]debug watch : Reference
  • Tools

    • [FIXED] elt-cli

ELENA 6.0.5

19 Aug 13:28
06835ea
Compare
Choose a tag to compare

ELENA 6.0.5 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

The release includes major performance optimization as well as a number of critical bug fixes

Fixes

  • [ADDED]implementing corex60 routines
  • [ADDED]constant array of integers
  • [ADDED]native support for ?: operator
  • [FIXED]#524 : Alt expression breaks the compilation
  • [ADDED]message name functionality
  • [ADDED]new opcodes : fiadd, fisub, fimul, fidiv
  • [ADDED]basic bytecode optimization rules
  • [ADDED]basic build optimization rules
  • [ADDED]warn on unassigned variables
  • [FIXED]nested class fields
  • [FIXED]assignment operations with integers
  • [FIXED]calling an interface / closed-class method
  • [FIXED]warning on resending to itself (e.g. for constructor)
  • [FIXED]resending to the property
  • [FIXED]template-based extensions
  • [FIXED]template of template
  • [FIXED]do not box the returning self for the stacksafe method
  • [FIXED]string comparison routines
  • [FIXED]conversion routines
  • [FIXED]nested exception catching
  • [ADDED]number of new unit-tests
  • [ADDED]system'runtime'commonOp - extension to read package info
  • [ADDED]system'culture
  • [ADDED]system'routines'stex
  • [ADDED]new unit-tests: methodnotfound, nilreference
  • [ADDED]24 sample
  • [ADDED]Find dialog
  • [ADDED]Goto dialog
  • [ADDED]Toolbar dialog
  • [ADDED]Context menu
  • [FIXED]IDE blinking issues
  • [ADDED]Window menu
  • [ADDED]Unident
  • [FIXED]Running to the cursor
  • [ADDED]Recent files
  • [ADDED]erase line, trim, upper case, lower case
  • [ADDED]About dialog
  • [ADDED]Editor settings
  • [ADDED]Duplicate line
  • [ADDED]close all but active
  • [FIXED]API Doc generation
  • [ADDED]ecv-cli: showing the method number
  • [ADDED]ecv-cli: showing the module manifest info

ELENA 6.0.4b

26 Jun 19:11
39965f5
Compare
Choose a tag to compare

ELENA 6.0.4 is out for all supported platforms : Windows x86 / x86-64, Linux x86 / x86-64 / AARCH64 / PPC64le!

Fixes # (issue)

  • fixing variadic multimethod dispatcher
  • (re)implementing loading classes / symbols / messages / message names
  • #553 : elt crash fixed
  • several new samples : pi, calc
  • fixing number of bugs