v0.39.0 – Circumfix Operators, Improved GenSrc Methods, Nested String Interpolation and bugfixes
- New Features:
- Nested String Interpolation #387
- GenSrc Call Directives can now accept trailing blocks. #388
- Circumfix Operators #389
- Bugfixes:
- Capture in nested method calls. #267
- Reified Type Parameters are now properly captured. #381
- Other Changes:
- Parameters can no longer be captured by reference. #386
- Overriding Static Methods now generates bridge methods. #391
- Removed Increment and Decrement Operators. #390
v0.40.0 – Extension Classes and Mixed Attribute Declarations
- New Features:
- Extension Classes #304 #406
- BytecodeName on classes #394
- Attributes within declarations #400
- Duplicate class bytecode names now cause a diagnostic error. #403
- Bugfixes:
- Throw Statements without an expression no longer cause compiler errors. #392
- Other Changes:
- Revised Trait Initialization #396
- Revised Compiler Arguments #402
- Improved inner class bytecode naming #401
v0.41.0 – Varargs Fences, Improved Property Names, JavaName Annotation and Bugfixes
- New Features:
- Bugfixes:
- Malformed infix type operators no longer cause compiler errors. #373
print({})
no longer causes a compiler error. #404
type([:])
no longer causes a compiler error. #407
- Trailing closure syntax now works with explicit closure parameter names. #408
- Implicit conversions are now correctly resolved. #410
- Lambdas now support constructor references correctly. #411
- Implicit Receivers are now captured correctly. #415
type((,,,)->)
no longer causes a compiler error. #417
- Malformed infix operators no longer cause compiler errors. #418
match 1 case
no longer causes a compiler error. #420
- Markers on EOF are no longer printed incorrectly. #421
- Extension Methods can now be resolved from nested Extension Classes. #423
- Nested Extension Classes no longer produce an unnecessary “static” warning. #424
- Implicit Conversions in Extension Classes in the REPL are now accessible. #426
- Match Expressions with Throw Statements no longer cause verification errors. #430
- Other Changes:
@BytecodeName
is now named @JavaName
#405
- Method and class name ambiguities in the REPL are now resolved by newest definition priority. #413 #425
- Properties now use conventional Java names. #414
- The
@DyvilName
annotation is no longer allowed in Dyvil source code. #416
- Removed the
:rename
REPL command. #427
v0.41.1 – Compiler Bugfixes
- Bugfixes:
- Package types no longer cause compiler errors. #428
- Package resolution is no longer case-insensitive. #429
- Added a missing localization key
try.catch.type
. #435
- Attributes after the Throws list no longer cause syntax errors. #436
- Patterns with conditional guards are no longer counted as duplicate. #437
- Char Patterns no longer generate useless if safeguards in bytecode. #438
v0.42.0 – Generic Extension Classes
- New Features:
- Generic Extension Classes #422
- Deprecation:
- C-Style For Loops are now deprecated. #440
- Bugfixes:
- Ambiguous generic method calls no longer cause compiler error. #441
v0.42.1
- Bugfixes:
- Extension Method parameter indices are no longer offset. #443
v0.42.2
- Bugfixes:
- Deprecated classes no longer cause compiler errors. #449
- Method receiver types are now decompiled correctly. #444
v0.43.0 – Java Collection Extensions and Final Extension Methods
- New Features:
- Added Java Collection Extensions. #445 #448
- Added support for different styles of diagnostic marker output. #451
- Added support for
final
Extension Methods. #455
- Bugfixes:
- Wildcard Lambda Expressions now work with field-like access. #452
- Deprecation:
- Deprecated the
dyvil.io.FileUtils
class. #446
- Other Changes:
- Dropped support for C-Style For Loops. #447
- Nested Methods are now
private
by default. #461
- New Features:
- Added compiler flags for different styles of diagnostic marker output. #454
- Invalid access modifier combinations now cause a diagnostic error. #459
- Non-
private
nested methods now cause a diagnostic error. #460
- The REPL now uses JLine for input. #463
- REPL Commands can now be tab-completed. #466
v0.44.1
- Other Changes:
- Fixed errors and warnings in Javadoc comments.
v0.45.0 – Extension Properties and Array Extensions
- New Features:
- Extensions for Array Types #476
- Extension Properties #478
- Bugfixes:
- Fenced Arguments now count as named, which avoids method resolution failure in some cases. #470
- Immutability Error Diagnostics are no longer translated incorrectly. #480
- Function Types are now rendered correctly in diagnostic messages. #481
- Wildcard Patterns no longer produce invalid markers. #482
@UsageInfo
no longer causes compiler errors. #483
- Deprecation:
- Deprecated Control Statements without a Block. #468
- Deprecated non-
void
methods without an explicit return type. #471
- Deprecated non-symbolic
infix
functions. #474
- Deprecated
prefix
, infix
and postfix
functions without exactly one/two parameter(s). #477
- Other Changes:
- Improved style and wording across all diagnostic messages. #469
- The
prefix
modifier is now correctly reified in bytecode. #475
v0.45.1
- Other Changes:
- Bumped REPL, GenSrc and DPF version numbers.