This commit is contained in:
Dante
2026-05-21 23:40:20 -07:00
parent 3e2915dff7
commit 877a69d844
5737 changed files with 29796 additions and 1589684 deletions

View File

@ -1,8 +1,174 @@
2023-04-06 4.3.0
New features:
all : support defaults for type parameters (#10518)
all : support @:op(a()) on abstracts (#10119)
all : support abstract keyword to reference the abstract (#10513)
all : support static var at expression-level (#10555)
all : support ?. safe navigation operator (#10561)
all : added ?? null coalescing operator (#10428)
all : add -w compiler option to configure warnings (#10612)
all : added new error reporting modes (#10863)
all : support custom metadata and defines (#10858)
General improvements:
all : made various optimizations in the analyzer
all : made various improvements to diagnostics
all : made various improvements to null-safety
all : optimize `.bind` for instance methods (#10737)
all : improved various parser error messages
all : improved compilation server performance
all : improved code generation for try/catch (#10519)
all : infer property accessor type from the property (#10569)
all : improved inference of local functions typed against abstracts (#10336)
all : improved completion on module-level fields
all : improved handling of native libraries on the compilation server
all : improved performance when generating locals (#10648)
all : made Std.parseInt more consistent across targets (#10664)
all : infer null literals as Null<?> (#7736)
all : made field access errors more consistent (#10896)
all : consistently allow trailing commas (#11009)
all : migrated all relevant targets to PCRE2 (#10491)
all : made analyzer reconstruct do-while loops (#7979)
all : improved restrictions on init macros (#11043)
all : improved positions of @:structInit fields (#9318)
macro : support map literals in Context.makeExpr (#10259)
macro : added haxe.macro.Compiler.getConfiguration() (#10871)
macro : added withImports and withOption to haxe.macro.Context
macro : added getMacroStack and onAfterInitMacros to haxe.macro.Context (#11043)
macro : added haxe.macro.Context.makeMonomorph (#10728)
eval : added dictionary mode to objects, increasing performance in some cases (#10284)
eval : fixed Sys.exit handling messing up the compilation server (#10642)
eval : added -D eval-print-depth and -D eval-pretty-print (#10952, #10963)
cpp : supported type parameters on extern classes (#10415)
cpp : haxe.Int64 improvements (#9935)
cpp : non-blocking process exit code reading (#10321)
js : improved type names for debugger (#10894)
lua : added SSL implementation (#10593)
lua : fixed String API when -D no-inline was in place (#11057)
lua : non-zero exit code in case of uncaught exception (#11082)
java : deal with default implementations when loading extern libraries (#10466)
jvm : improved closure naming (#10571)
jvm : supported --jvm dir (#10614)
jvm : added some missing TShort and TFloat handling (#10722)
jvm : added experimental support for functional interfaces (#11019)
php : added and fixed several extern functions
Standard Library:
all : added atomic operations to several targets (#10610)
all : added Vector.fill (#10687)
sys : added sys.thread.Condition and Semaphore (#10503)
sys : added Http.getResponseHeaderValues to deal with multiple values of same key (#10812)
sys : make Sys.environment consistent between targets (#10460)
sys : consistent way to unset environment variables with Sys.putEnv (#10402)
Bugfixes:
all : properly disallowed macro reification in invalid places (#10883)
all : fixed behavior when extending abstract classes with final fields (#10139)
all : addressed some issues with constructor inlining (#10304)
all : fixed pattern matcher bug related to null-guards (#10291)
all : fixed weird parser behavior on first offset in files (#10322)
all : fixed various issues related to the final modifier
all : fixed various issues related to overload handling
all : fixed precedence of => vs. ?: (#10455)
all : made error positions in structure declarations more accurate (#9584)
all : brought back proper check when accessing super fields (#10521)
all : fixed @:publicFields on abstracts (#10541)
all : inherited some metadata to @:generic implementation classes (#10557)
all : fixed various problems in EventLoop and MainLoop
all : fixed infinite recursion from invalid inheritance (#10245)
all : fixed strange interaction between static extensions and macro functions (#10587)
all : fixed problems with @:generic on the compilation server (#10635)
all : fixed Context.onTypeNotFound being called multiple times for the same thing (#10678)
all : fixed type parameter problem involving abstract classes and interfaces (#10748)
all : fixed #if (a != b) yielding true for nonexistent values (#10868)
all : fixed interaction between @:generic and abstract class (#10735)
all : fixed @:using loading types too eagerly (#10107)
all : fixed parser ignoring subsequent documentation comments (#10171)
all : fixed parser function messing up unrelated file state in some cases (#10763)
all : unified Map printing to always use [] (#9260)
cpp : fixed problem with cpp.Pointer being used in enum arguments (#10831)
macro : improved handling of macro this expressions (#10793)
eval : fixed bit shift operations > 31 (#10752)
eval : fixed Bytes.toString causing an internal exception (#10623)
jvm : fixed @:native processing (#10280)
jvm : fixed Type.getEnumConstructs on native enums (#10508)
jvm : fixed @:volatile being ignored (#10594)
jvm : fixed some hashing issue when pattern matching on emojis (#10720)
jvm : fixed stack handling on return return (#10743)
hl : fixed various code generation problems
python : fixed SslSocket for newer python versions (#8401)
python : fixed syntax issue related to Vector (#11060)
2021-03-06 4.2.5:
New features:
php : support PHP attributes generation (#9964)
Bugfixes:
all : fixed compiler crash in complex constraints chains (#10445)
all : fixed timers execution order for timers with small time delta (#10567)
js : fixed constructors with rest arguments when compiling for ES3, ES5 (#10490)
php : excluded E_DEPRECATED notices from error reporting (#10502)
php : fixed safe casts to native arrays (#10576)
nullsafety : fixed false error on extern var fields without initialization (#10448)
2021-10-22 4.2.4:
New features:
hl : add clipboard support in hl 1.12 (#10320)
General improvements:
all : improved error messages upon directory creation failures (#10361)
eval : added `%` operator to `eval.numbers.Int64` and `eval.numbers.UInt64` (#10411)
Bugfixes:
all : fixed errors on final vars modification with `+=`, `*=` etc operations (#10325)
all : fixed hanging of MainLoop.add on threaded targets (#10308, #10329)
all : fixed compiler crash when resolving overloads with not enough arguments (#10434)
all : fixed non-static `@:to` methods on `@:multiType` abstracts (#10145)
analyzer : fixed analyzer on overloads (#10405)
analyzer : fixed issues with fields initialization expressions (#10405)
display : improved code completion in anonymous objects declarations (#10414)
js : fixed IntMap for keys greater than 2^31 (#10316)
js : workaround to fix sourcemaps on Firefox in Windows (#10217)
js : delayed truncation of the output file on `Compiler.setCustomJSGenerator` (#10387)
cs/java : fixed rest arguments for cases when only one argument is provided (#10315)
php : fixed type of `php.db.PDO.ATTR_DRIVER_NAME` (#10319)
eval : fixed signature of `eval.luv.Tcp.noDelay` method
lua : fixed `string.length` when `string` has type of a type parameter constrained to `String` (#10343)
jvm : fixed `Reflect.compare()` for different number types (#10350)
python : fixed exceptions on tracing some native values (#10440)
2021-07-01 4.2.3:
General improvements:
all : analyzer optimizations
macro : support maps in `haxe.macro.Context.makeExpr` (#10259)
js : added `-D js-global=globalThis` to customize global object name (#10282)
php : added externs for `quoted_printable_decode`, `quoted_printable_encode`, `Attribute`, `NumberFormat`, `IntlCalendar` and other `Intl*` classes
Bugfixes:
all : fixed compiler crash on some unreachable code blocks (#10261)
jvm : fixed `@:native` (#10280)
jvm : fixed `--xml` generation (#10279)
2021-05-14 4.2.2:
Bugfixes:
all : fixed piping stdin/stdout in `--cmd` (#4660, #6726)
all : fixed piping stdin/stdout in `--cmd` (#4669, #6726)
all : fixed rest args typing for overloaded functions (#10143)
all : fixed using `var` fields as static extensions (#10144)
all : fixed completion for a type in `expr is Type` (#10167)
@ -874,7 +1040,7 @@
Bugfixes:
php7: fix Reflect.field() for strings (#6276)
php7: fix `@:enum abstract` generation without `-dce full` (#6175)
php7: fix `@:enum abstract` generation without `-dce full` (#6175)
php7: fix using enum constructor with arguments as a call argument (#6177)
php7: fix `null` property access (#6281)
php7: fix setting values in a map stored in another map (#6257)
@ -920,7 +1086,7 @@
all : fixed DCE issue with interface fields (#6502)
cpp : fixed return typing for embedded closures (#6121)
php7: fixed `@:enum abstract` generation without `-dce full` (#6175)
php7: fixed `@:enum abstract` generation without `-dce full` (#6175)
php7: fixed using enum constructor with arguments as a call argument (#6177)
php7: fixed accessing methods on dynamic values (#6211)
php7: fixed `null` property access (#6281)
@ -1636,7 +1802,7 @@
all : allow to access root package with std prefix (std.Type for example)
all : added haxe.EnumFlags
sys : io.File.getChar/stdin/stdout/stderr are now in Sys class
cpp : Reflect.getField and Reflect.setField no longer call property functions. Use Reflect.getProperty and Refelect.setProperty instead.
cpp : Reflect.getField and Reflect.setField no longer call property functions. Use Reflect.getProperty and Refelect.setProperty instead.
cpp : Default arguments now use Null<T> for performance increase and interface compatibility
cpp : Added metadata options for injecting native cpp code into headers, classes and functions
php : added php.Lib.mail