فهرست منبع

Update CHANGES

Rudy Ges 2 ماه پیش
والد
کامیت
ada7226715
1فایلهای تغییر یافته به همراه256 افزوده شده و 0 حذف شده
  1. 256 0
      extra/CHANGES.txt

+ 256 - 0
extra/CHANGES.txt

@@ -1,3 +1,259 @@
+2025-07-04 5.0.0-preview.1
+
+	Removal:
+
+	all : remove 32 bit windows builds (#11541)
+	all : move `sys.db`, `php.Web` and `neko.Web` to `hx4compat` lib (#11385)
+	all : move `haxe.remoting` to `hx4compat` lib (#11387)
+	all : remove haxe.Ucs2 (#12103)
+	hl : move some hl.Format into lib format/heaps (#11869)
+	java/cs : remove C# and Java targets (#11551)
+	macro : remove some API from haxe.macro.Compiler (#11540)
+	macro : remove CompilationServer.setModuleCheckPolicy options (#11615)
+
+	Breaking changes:
+
+	all : rework module resolution (#11168)
+	all : don't infer string on concat (#11318)
+	all : delay typer creation to after init macros (#11323)
+	all : disallow partial resolution (pack.SubType access when module is imported) (#11338)
+	all : don't create a class field for every enum field (#11452)
+	all : only set cf_expr_unoptimized if we think we need it (#11462)
+	all : fix the way optional arguments are handled when using `bind` (#11533)
+	all : don't bind foreign type parameters in definition mode (#11658)
+	all : disallow duplicate argument name (#11978)
+	all :  fix types in null coal null check (#11726)
+	macro : Build macro order vs inheritance (#11582)
+	macro : disallow defining types into existing modules (#11845)
+
+	General impronements:
+
+	all : hxb (new server cache + pre compilation) (#11504)
+	all : rework module resolution (#11168)
+	all : add "Custom" target (#11128)
+	all : private getters/setters (#12204)
+	all : allow boolean operators in patterns (#11157)
+	all : explicitly apply default type parameter (#12002)
+	all : allow modification of loop var in IntIterator loop (#8581)
+	all : support overloading true extern constructors (#11979)
+	all : support f?.bind() (#11571)
+	all : rework defines (#12130)
+	all : abort compilation on first error with -D fail-fast (#11609)
+	all : add position and error message to decode_error.txt (#12128)
+	all : add configuration options for -D dump, set -D dump-ignore-var-ids by default (#12150)
+	all : add support for binary literal (#11627)
+	all : add support for --undefine to remove define (#11400)
+	all : add optional WUnsafeEnumEquality (#11813)
+	all : build macOS universal binaries (#11572)
+	all : [experiments] run parts of the compiler in parallel with `-D enable-parallelism` (#12070, #12134, #12081, #12252)
+	all : [std] add enum as haxe.Unit (#11563)
+	all : [std] add BigInteger type (#10750)
+	all : [std] add haxe.runtime.Copy (#11863)
+	all : [std] haxe.Timer.milliseconds (#12260)
+	all : [std] String.indexOf (#7402))
+	all : [std] add StringBuf.clear() (#11848)
+	all : [std] allow setting haxe.Exception.stack (#12213)
+	all : [std] Serializer: implement reset method (#12068)
+	all : [std] use Vectors in haxe.zip (#11034)
+	all : [messageReparting] pretty errors as default message reporting (#11587)
+	all : [messageReporting] add config to use absolute positions (#11439)
+	all : [display] diagnostics as json rpc (#11412)
+	all : [display] report null safety errors in diagnostics (#11729)
+	all : [display] add server/resetCache (#11482)
+	all : [server] add support for ipv6 addresses for --wait/--connect (#11310)
+	all : [server] improve GC stats tracking (#12246)
+	all : [server] remove custom ocaml GC handling (#12287)
+	hl : bump default hl_version to 1.15 for haxe 5 (#12065)
+	hl : add std.hl.Gc.getLiveObjects (#11599)
+	hl : add element type to HArray (#11734)
+	hl : optimize single char String and adding with empty string
+	hl : added guid type
+	hl : hl.Profile.event give code some meaning with enum abstract (#12262)
+	jvm : improve NativeOutput performance (#11944)
+	jvm : functional interface support (#11019)
+	cpp : add Tracy profiler extern (#11772)
+	cppia : generate full debug source paths (#12053)
+	js : use native maps when ES6 is enabled (#11698)
+	js : remove String.fromCodePoint polyfill for es6 (#11713)
+	js : add the canParse() and parse() static methods to URL (#11802)
+	js : add externs for the Screen Wake Lock API (#11421)
+	js : add externs for the Web Share API (#11423)
+	js : update Object and Symbol externs (#11331)
+	js : clean up ES5 implementation of StringMap.keys() (#11895)
+	js : add new WebGLPolygonMode extension (#12026)
+	js : add js.lib.NativeStringTools (#12127)
+	php : add externs for some POSIX functions (#11769)
+	macro : delay typer creation to after init macros (#11323)
+	macro : added Context.resolveComplexType
+	macro : add TypeTools.toBaseType() (#11153)
+	macro : add TypeTools.resolveTypeParameters (#11053)
+	macro : add PositionTools.toZeroRange(pos) to avoid messing up display requests (#11892)
+	macro : apply @:using after build macros (#11625)
+	macro : include module path in virtual file names (#11852)
+	macro : respect imports on @:build (#11373)
+	macro : [server] expose compilation server stats (#12290)
+	macro : [server] add memory print that support details for macro interpreter (#11644)
+	eval : atomics (#12275)
+
+	Bugfixes:
+
+	all : fix @:wrappedException type (#11140)
+	all : don't allow null-only switches if we need a value (#11366)
+	all : detect recursive hxmls (#11580)
+	all : use local name instead of temp name for ?? (#11464)
+	all : fix local statics vs display requests (#11849)
+	all : fix unclosed monomorphs in function signature (#11381)
+	all : update target config after init macros (#11985)
+	all : local static vs local functions (#11999)
+	all : fix null coal assign (#11980)
+	all : static extension with name `_new` resolving incorrectly to abstract new (#11994)
+	all : allow Single div without cast to Float (#12039)
+	all : recurse into singularly constrained monos for field collection (#11918)
+	all : also skip mono ids if -D dump-ignore-var-ids (#12126)
+	all : renamed `-D *-times` defines to `-D times.*` (#12101)
+	all : apply @:haxe.warning rules to cached warnings too (#11775)
+	all : avoid some capture variable wrapping in non-loops (#12235)
+	all : @:noCompletion vs. static extensions (#12254)
+	all : use available terminal columns instead of hardcoded 80 columns (#11404)
+	all : track actual path position for path.Path<Params> (#11405)
+	all : set --run args only when we're actually running (#11524)
+	all : [std] do not close unowned socket in Http.customRequest (#12069)
+	all : [std] fix zipfiles not having data descriptor after filedata (#11686)
+	all : [std] implement EnumValueMap.compareArg properly (#12139)
+	all : [std] Syntax.code: remove double curly braces escaping (#11231)
+	all : [typer] check default type parameter constraints (#11556)
+	all : [typer] fix custom array access temp var handling (#11248)
+	all : [typer] valid redefinition rework (#11657)
+	all : [typer] give better "Cannot extend by" error (#11352)
+	all : [typer] delay unknown ident errors in overloads (#11372)
+	all : [typer] support safe nav for assign ops (#11379)
+	all : [typer] don't allow @:structInit to call abstract constructors (#11342)
+	all : [typer] align null coalescing top down inference with normal if/else (#11425)
+	all : [typer] deal with for (i in throw) (#11403)
+	all : [typer] type operator lhs against expected type (#11428)
+	all : [typer] consume bypass_accessor only if it's actually relevant (#11488)
+	all : [typer] don't hide abstract type when resolving through @:forward (#11526)
+	all : [typer] don't consider @:structInit + @:from when inferring (#11535)
+	all : [typer] avoid lhs cast on ambiguous operators (#12146)
+	all : [typer] abstract vs. mono hard unification error (#12182)
+	all : [typer] follow through abstract underlying types for null-checks when matching (#11716)
+	all : [typer] fix Monomorph vs Null<T> inference issue (#11851)
+	all : [typer] fail softer on multiple read/write resolve methods (#11757)
+	all : [typer] always allow local function type parameters (#11520)
+	all : [typer] disallow ?.new and ?.match (#11799)
+	all : [generics] use tclass instead of TType.t for substitution (#11784)
+	all : [generics] ensure type substitution happens for closures too (#12173)
+	all : [xml] fix when string ends with escape sequence (#11883)
+	all : [xml] fixed xml cased escape sequences (#11914)
+	all : [analyzer] inline ctors improved handling of ignored exprs (#11356)
+	all : [analyzer] fix captured checks in constructor inliner (#11356)
+	all : [analyzer] fix for inline constructors bug (#12169)
+	all : [analyzer] fix stack overflow on empty TBlock (#11393)
+	all : [analyzer] disallow Void in compound block expressions (#11391)
+	all : [analyzer] reconstruct binops in return (#12243)
+	all : [analyzer] send all types to analyzer for purity inference (#12224)
+	all : [analyzer] const propagation typing fixes (#12059)
+	all : [filters] avoid overlap work if we reserve anyway (#11174)
+	all : [filters] recurse into expressions of local statics (#11469)
+	all : [nullSafety] don't check return expr in assignments (#11114)
+	all : [nullSafety] only process fields that do not have CfPostProcessed flag (#11185)
+	all : [nullSafety] fix null arg check (#11076)
+	all : [nullSafety] detect nulls in structs (#11099)
+	all : [nullSafety] more nullSafety compatibility in std (#12141)
+	all : [nullSafety] better error range for anon fields (#12188)
+	all : [nullSafety] improve control flow in binops (#12197)
+	all : [nullSafety] some inline api fixes (#12210)
+	all : [nullSafety] allow statics init in main (#12211)
+	all : [parser] fix ?? precedence (#11144)
+	all : [parser] catch duplicate #else (#11208)
+	all : [parser] check for Eof (#11368)
+	all : [parser] detect trailing metadata (#11389)
+	all : [parser] allow using anonymous functions in operator expressions (#12015)
+	all : [parser] fix format string reentrency (#12159)
+	all : [printer] use parentheses for arrow function with argument default value (#12248)
+	all : [display] avoid display issues with missing fields (#11251)
+	all : [display] don't populate cache from xml diagnostics (#11696)
+	all : [display] run some filters in diagnostics (#11220)
+	all : [display] insert EDisplay in the proper position when parsing a call expression. (#11441)
+	all : [display] use correct position for alias imports (#11516)
+	all : [display] do not silently replace missing types with Dynamic (#11760)
+	all : [display] catch 'die' calls in diagnostics (#11984)
+	all : [display] browse for EDisplay when calls fail (#11422)
+	all : [server] do not crash when client exits before end of compilation
+	hl : rework Null<Int/Float/Bool> comparison for spec/alloc (#11612)
+	hl : fix -D hl-check error pos (#11727)
+	hl : fix interface override function resolution (#11723)
+	hl : fix debug info missing for catch e:String, arg with unify error (#11717)
+	hl : fix debug pos in assign when reg reuse arg (#11808)
+	hl : use HDyn instead of erroring on recursive types (#11844)
+	hl : fix array pos check, force UInt (#11810)
+	hl : fix debug assigns not sorted when not optimize (#12006)
+	hl : allow assign struct to packed (#12043)
+	hl : consider _ prefix when checking reserved keywords (#12090)
+	hl : fix no analyzer-optimize (#12107)
+	hl : make Reflect.field work with enums (#12117)
+	hl : CArray add blit, fix unsafeSet (#12118)
+	hl : fix `__string` null access when toString return null (#12143)
+	hl : fix debug function pos in wrapper, enum, init (#12207)
+	hl : use classpaths relative_path for get_relative_path (#12219)
+	hl : fix Type.typeof(HI64) to return TInt (#12264)
+	hl : `haxe.io.BytesBuffer.__expand` check overflow (#12267)
+	hl : added hl.Api.unsafeCast, allow CArray unsafe set
+	hl : hlopt rework try-catch control flow (#11581)
+	hl : make sure -dce full will not remove @:struct fields as they match native code
+	hl : fix do-while loop in genhl+hlopt (#11461)
+	hl/c: fix reserved keywords (#11408)
+	hl/c : fix SMOD/SDIV overflow exception when INT_MIN / -1 (#11917)
+	hl/c : split hl_init_roots to prevent out of heap in msvc (#11988)
+	jvm : allow - in resource names (#11275)
+	jvm : function arguments with type parameters not generating correctly (#11362)
+	jvm : refer to static instance methods correctly (#11023)
+	jvm : annotation rework (#11398)
+	jvm : deal with complex static inits (#11998)
+	jvm : deal with local function default arguments (#12094)
+	jvm : assign dynamic method only if it's null (#11530)
+	jvm : fix invokeDynamic arity
+	jvm : use HashMap for IntMap too
+	jvm : remove redundant ordinal comparison on enums (#11591)
+	cpp : enum Type Checking (#11444)
+	cpp : fix abstract class functions with default values (#11667)
+	cpp : absolute paths with -D absolute-path (#11763)
+	cpp : fix mismatching type and getter return on pointer (#12055)
+	cpp : allow setting callback for cppia script load (#12051)
+	cpp : prevent use of AtomicObject (#11674)
+	cpp : do not store AtomicInt Gc memory in cpp.Pointer (#12236)
+	js : fix wrong calculation for Int64 (ushr / add) methods (#11868)
+	js : avoid optimizing Std.is away in api_inline (#12133)
+	js : avoid crash in HttpNodeJs when no connection (#12137)
+	js : remove weird class name omission (#11071)
+	js : fix enums parameters generation to make it compatible with advanced JS minification tools (#11328)
+	lua : emit class name even if not required (#11112)
+	lua : fix do while loops (#11807)
+	lua : fix for wrong left shift with -1 (#11889)
+	lua : fix internal loop var updates (#12193)
+	lua : fix unnecessary `_hx_do_first` (#11453)
+	lua : allow generating sourcemaps for Lua in the same format as JS (#11454)
+	lua : share metatables with other class instances (#11103)
+	neko : optimise BytesBuffer length field (#11090)
+	python : mark threads as daemon threads (#12096)
+	hl/neko/eval : don't avoid exception wrapping (#12049)
+	macro : catch eval runtime failures when decoding (#11633)
+	macro : skip abstract impl classes when applying addGlobalMetadata (#11546)
+	macro : don't exception-wrap every API function (#11374)
+	macro : don't apply @:native names (#11481)
+	macro : display failing macro for "Build failure" errors (#11635)
+	macro : delay exclude macro turning types into externs until filters (#11685)
+	macro : use better error position for null_pos uncaught exceptions (#11788)
+	macro : fail nicer if we can't find a macro function (#11776)
+	macro : deal with module fields in Compiler.exclude (#11688)
+	macro : avoid polluting lexer cache with Context.parseInlineString (#11920)
+	macro : account for sub-types in ComplexTypeTools.toComplex() (#11273)
+	macro : build metadata with basic types from current context (#11336)
+	macro : fix TVar resolution (#11339)
+	macro : don't lose static modifier in ExprTools.map (#12030)
+	eval : fix ssl cert verification failures on clean windows environments (#11838)
+	eval : fix field typo in haxe.zip.Compress (#11143)
+
 2025-05-09 4.3.7
 
 	General improvements: