Haxe - The Cross-Platform Toolkit
New features:
haxe.Rest
type (#9961)sys.thread.Thread.events
(#9868)@:inheritDoc
meta to inherit documentation for a type or field from another type or field (#9817)@:forward.new
(#9735)EIs
constructor to haxe.macro.Expr
(#9689)@:forward.variance
(#9741)Any
as Dynamic
in variance unification (#6649)haxe.exceptions
packageStringTools.unsafeCharAt
(#9467)eval.luv
package (#9903)Int64
and UInt64
implementations under eval.integers
package (#9903)cs.Syntax
module (#10051)-D jvm.dynamic-level
to control the amount of dynamic support code being generated. 0 = none, 1 = field read/write optimization (default), 2 = compile-time method closures--java-lib <directory>
(#9551)General improvements:
expr is SomeType
doesn't require parentheses anymore (#9672)Map
abstract transitive (#9877)@:native
on enum constructors (#9806)@:using
on typedefs (#9749)()->...
instead of Void->...
(#8148)function
as package namephp.Syntax.customArrayDecl
(#9113)sys.thread.Lock
implementationBugfixes:
get
and set
functions of haxe.io.Float64Array
actually use 64-bit floats now (#9972){}
as object declarations in array comprehension (fixes #9971)haxe.format.JsonParser
: preserve Float-typed values when they are written as such in JSON (ie. "5.0" or "0.0") (#9844)cpp.Int64
to/from haxe.Int64
(#10101)@:nativeGen
classes (#9431)-D php-front=subdir/index.php
(#10037)Std.random
(#9974)haxe.CallStack.exceptionStack
(#9968)catch
vars (#9617)haxe.macro.Context.storeTypedExpr
for enum constructs (#9828)haxe.macro.Context.getType
(#9449)Type.resolveEnum
for enums in the root package (#9809)Type.resolveEnumName
for enums in the root package (#9759)@:nullSafety(Off)
on var declarations: var @:nullSafety(Off) v
@:nullSafety(Off)
in closures in constructors (#9643)General improvements:
haxe.CallStack.exceptionStack
to return full stack up to the topmost call (#9947)Bugfixes:
Null<Float>
and Null<Int>
(#9897)sendMessage
/readMessage
(#9920)-D php-front
. For example -D php-front=sub/index.php
(#10037)issues/Std.random(arg)
for arg
values of more than 30 bits (#9974)haxe.CallStack.exceptionStack
(#9968)General improvements:
Any
as type parameter in catch(e:SomeType<Any>)
(#9641)try..catch
expressions (#9848)Bugfixes:
switch
typing error for arrow functions with Void
return type (#9813)haxe.macro.Context.getResources()
(#9838)catch
vars in anonymous functions as captured from outer scopefseek
function@:generic
classes with anonymous functions (#9799)sys.thread.Threads
for threads created outside of Haxe (#9863)Null<Float>
and Int
(#9870)Vector
without a type parameter (#9805)sendMessage
/readMessage
in sys.thread.Thread
(#9875)cpp.Lib.stringReference()
(#8457)Bugfixes:
contains
and keyValueIterator
methods to haxe.ds.ReadOnlyArraytry..catch
(#9533)haxe.macro.Error
as Dynamic
(#9600)--main
compilation argument (#9489)session_set_cookie_params
function (#9507)if..else
branching (#9474)New features:
--jvm path/to.jar
CLI argumentBugfixes:
Mod.js.hx
(#9423)@:overload
functions (#9455)cpp
package (#9452)haxe.macro.Error
outside of a macro context (#9390)New features:
try {} catch(e) {}
as a shortcut for try {} catch(e:haxe.Exception) {}
(#9269)General improvements:
@:overload
and inline (#3846)return
in Void
functions (#6420)continue
in loops (#8952)(get,default)
property access combination (#6195, #8825)let
instead of var
when compiler with -D js-es=6
(#9280).bind
on constructors (#9227)@:jvm.synthetic
and use it to hide some generated fields (#9213)@:private
and @:protected
haxe.iterators.StringIterator
Std.isOfType
for String, Bool and Float@:assemblyMeta
and @:assemblyStrict
(#8347)__contains__
and __getitem__
implementations to generated python code for _hx_AnonObject
, so it is subscribable and behaves like a python dict (#9109)Standard Library:
startIndex
argument of String.indexOf
and String.lastIndexOf
is unspecified (#8365)haxe.crypto
modules (#9298)Deprecations:
Std.is
; use Std.isOfType
instead (#2976)untyped __js__(code, args)
; use js.Syntax.code(code, args)
insteadBugfixes:
return;
in abstract constructors (#7809)@:optional
handling in the inheritance of @:structInit
classes (#7559)@:generic
types (#9149)Void
return type for arrow functions (#9181)if..else if
without final else
(#9040)TAnonymous
in haxe.macro.TypeTools.map
(#9147)null
yielding null
(#8452)hx
package in a project (#8543)null
to 0
conversion in parametrized functions for Null<Int>
params (#7428)null
value (#9316)Bugfixes:
Type.createInstance(cls, args)
(#9025)Reflect.makeVarArgs(fn)
for calls of fn
without arguments (#9037)ObjectMap
is passed to ObjectMap.set(obj, v)
multiple times (#9026)js.Syntax.code()
(#9024)General improvements and optimizations:
Bugfixes:
sys.thread.Lock
implementation for Hashlink 1.11+ (#8699)Std.parseInt()
for hexadecimals with leading whitespaces (#8978)Reflect.callMethod(o, method, args)
for args
not containing optional arguments (#8975)cs.types.Int64
(#8978)haxe.zip.Huffman
on reading a zip (#8875)