12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742 |
- 2016-12-24: 3.4.0-RC2
- New features:
- js : added API documentation to HTML externs (#5868)
- php : added php7 target, enabled with -D php7
- Bugfixes:
- all : fixed top-down inference infinite recursion issue (#5848)
- all : fixed regression in Compiler.include (#5847)
- all : fixed Not_found exception related to try/catch (#5851)
- all : fixed metadata completion showing up in trace arguments (#5775)
- all : fixed problem with useless pattern detection (#5873)
- all : fixed issue with toString handling in trace arguments (#5858)
- all : fixed inline constructor scoping (#5855)
- cpp : fixed issue with cpp.Pointer variables being eliminated (#5850)
- js : added Notification API to HTML externs (#5852)
- js : fixed several options structures in HTML externs (#5849)
- php/cs : FileSystem.deleteFile() and FileSystem.deleteDirectory() now throw on non-existent path (#5742)
- php/lua : fixed field access on `null` (#4988)
- php : fixed static field access on a `Class<T>` stored to a field (#5383)
- php : fixed invalid detection of `NativeArray` by `Std.is()` (#5565)
- php : fixed `stdin()`, `stdout()`, `stderr()` of `Sys` to use predefined constants for corresponding channels (#5733)
- php : fixed Std.parseInt() on hexstrings for PHP7+ (#5521)
- php : fixed typed cast in assign operations (#5135)
- php : fixed exception thrown by `Reflect.fields(o)` when `o` is `Class<T>` (#5608)
- php : fixed json encoding of empty objects (#5015)
- php : fixed checking floats for equality (#4260)
- php : throw if invalid json string supplied to Json.parse() (#4592)
- php : fixed ssl connections (#4581)
- php : fixed writing bytes containing zero byte to MySQL & SQLite (#4489)
- php : fixed call()() cases for PHP5 (#5569)
- 2016-11-29: 3.4.0-RC1
- New features:
- all : support metadata completion
- all : support type-hint completion
- all : added @signature display mode (#4758)
- all : finalized HashLink (HL) target
- General improvements and optimizations:
- all : greatly improved support for display mode in general
- all : made --times output look much nicer
- all : remove calls to functions that have no side-effect
- all : hid private property accessors from completion (#5678)
- js : updated jQuery extern (js.jquery.*) for jQuery 1.12.4 / 3.1.0 support.
- js : jQuery extern (js.jquery.*) now includes deprecated fields marked with @:deprecated.
- js : no longer rewrite `o["s"]` to `o.s` (#5724)
- cpp : greatly improved ObjC output and integration options
- lua : greatly improved code output quality
- Bugfixes:
- all : fixed various optimization issues
- all : fixed various issues with side-effect detection
- all : fixed performance drain in the DCE implementation (#5716)
- all : fixed issue with assignments when inlining constructors (#5340)
- all : fixed major inlining issue when using compilation server (#5320)
- all : fixed pattern matching evaluation order issue (#5274)
- cpp : fixed various minor code generation issues
- js : fixed issue regarding iterating over abstracts (#5385)
- python : fixed evaluation order issue for array writing (#5366)
- Standard Library:
- all : added Any type (#5500)
- all : added haxe.extern.AsVar
- all : added haxe.macro.CompilationServer (experimental)
- all : fixed haxe.Template.resolve (#5301)
- 2016-05-27: 3.3.0-RC1
- New features:
- all : support @:resolve on abstracts (#3753)
- all : support extern abstracts and extern @:enum abstracts (#4862)
- all : support completion on { if the expected type is a structure (#3907)
- all : support (expr is Type) with mandatory parentheses (#2976)
- all : allowed passing package dot-paths on command line (#4227)
- all : support import.hx modules that define per-directory import/using directives (#1138)
- all : support parsing of postfix ! operator (can be used by abstract operator overloading and macros) (#4284)
- all : support parsing of ||= and &&= operators (can be used by abstract operator overloading and macros) (#4427)
- all : support @:structInit classes (#4526)
- all : reworked static analyzer and enabled it by default
- flash : update flash externs to version 21
- hl : added HL target (interpreter and C output)
- lua: added lua target
- js : introduced new jQuery extern (js.jquery.*) for jQuery 1.12.4 / 2.2.4 support. (#4377)
- js : introduced new SWFObject extern (js.swfobject.SWFObject) for SWFObject 2.3.20130521 (#4451)
- js : added js.Lib.rethrow (#4551)
- cs/java : added -D fast_cast as an experimental feature to cleanup casts
- Bugfixes:
- all : properly disallowed assigning methods to structures with read-accessors (#3975)
- all : fixed a bug related to abstract + Int/Float and implicit casts (#4122)
- all : disallowed duplicate type parameter names (#4293)
- all : made UInt's >>> behave like >> (#2736)
- all : fixed various type loading issues
- all : fixed code generation problems with `inline` (#1827)
- php/as3 : support run-time metadata on interfaces (#2042)
- php : fixed argument passing to closures (#2587)
- neko/cpp : fixed various sys.Filesystem issues with Windows drive paths (#3266)
- as3 : fixed problem with covariant return types (#4222)
- as3 : fixed rare problem with static initialization order (#3563)
- python : fixed various reflection problems
- General improvements and optimizations:
- all : added support for determining minimal types in Map literals (#4196)
- all : allowed @:native on abstracts to set the name of the implementation class (#4158)
- all : allowed creating closures on abstract inline methods (#4165)
- all : type parameter declarations can now have metadata (#3836)
- all : optimize Math.ceil/floor on constant arguments (#4223)
- all : allowed extern classes to have field names being used for both static and instance (#4376)
- all : added haxe.Constraints.Constructible (#4761)
- all : rewrote pattern matcher to improve output in many cases (#4940)
- python : use spaces instead of tabs to indent the output (#4299)
- cpp : reworked backend to improve overall code output quality and fix various issues
- swf : added scene-tag to allow creating accessible SWF files
- Standard Library:
- all : added Lambda.flatten and Lambda.flatMap (#3553)
- all : added haxe.Constraints.Constructible (#4761)
- sys : proper quoting/escaping (can be opt-out) for Sys.command and sys.io.Process (#3603)
- js : added position parameter to haxe.macro.Compiler.includeFile
- js : removed -D embed-js (#4074)
- js : updated HTML externs
- Macro features and changes:
- macro : added overloads field to ClassField (#3460)
- macro : added Context.getLocalImports (#3560)
- macro : added Context.onAfterTyping (#4714)
- macro : added Context.resolveType
- 2015-10-11: 3.2.1
- Bugfixes:
- cs/java : fixed `-dce no` issues
- cs/java : fixed how KExpr type parameters are generated
- cs : fixed enum creation by reflection problem
- cpp : do not rely in reflection to make interfaces work for non-first interface parents
- cpp : fixed setting of static variables via reflection when class has no member variables
- cpp : make sure StringMap's h field is kept if we use StringMap
- js : Avoid the use of `eval`/`Function` to get the top-level defined type/var to not break ContentSecurityPolicy
- 2015-05-12: 3.2.0
- New features:
- all : added @:noPrivateAccess to re-enable access restrictions within @:privateAccess
- cpp : some support for @:nativeGen metadata
- Bugfixes:
- all : fixed detection of @:generic classes with constructor constraints
- all : fixed variable initialization check issue in loop condition
- all : fixed pattern matching on @:enum abstracts via field access (#4084)
- all : fixed missing implicit casts in Map literals (#4100)
- all : fixed various minor issues in haxe.xml.Parser
- all : fixed class path issue when HAXE_STD_PATH is set (#4163)
- js : fixed DCE issue related to printing enums (#4197)
- js : fixed various issues with the new Bytes implementation
- php : fixed EOF handling in FileInput.readByte (#4082)
- cs/java : fixed Math.fround implementation (#4177)
- cs/java : fixed some cases of Std.parseInt failing (#4132)
- cpp : fixed compilation without -main (#4199)
- General improvements and optimizations:
- all : --macro keep no longer causes types to be included for compilation
- php : support interpolation in __php__ code
- js : added variable number of arguments support in js.html.* classes
- js : refined new HTML externs
- Macro features and changes:
- macro : [breaking] synced FClosure and FInstance with the compiler updates
- 2015-03-15: 3.2.0-RC1
- This release removes support for Flash 8 target
- New features:
- all : added --display mode for toplevel completion
- all : added --display mode for position and usage information
- all : allowed @:callable on abstracts to forward calls to their underlying type
- all : allowed pattern matching on getters
- all : allowed @:native on class fields
- all : added static analyzer with constant propagation
- all : added Haxe-based XML implementation
- python : added python target
- flash : flash player 12-14 support
- js : added @:jsRequire and js.Lib.require
- js : support haxe.CallStack.exceptionStack
- cs : added @:bridgeProperties
- cs : added -D erase_generics
- cs : added -D dll_import to import haxe-generated dlls
- java/cs : added `sys.db` package
- java/cs : clean unused files in output folder, unless `-D keep_old_output` is defined
- java/cs : added `-c-arg` to add C#/Java compiler arguments
- cpp : inititial implementation of cppia scripting
- Bugfixes:
- all : fixed nullability of abstracts over functions
- all : fixed some equality checks between UInt and Int
- all : fixed rare issue with abstract casts
- all : fixed some internal code which relied on unspecified evaluation order
- all : fixed exhaustiveness checks involving guards
- all : fixed issue involving recursively constrained type parameters and @:generic
- all : fixed type inference issue in map literals
- all : fixed type inference issue when calling abstract method from within the abstract
- all : fixed several abstract variance issues
- all : fixed DCE issues with interface properties
- all : fixed variance issue with function variables and dynamic methods on interfaces
- all : fixed pattern matching on empty arrays that are typed as Dynamic
- all : fixed various @:generic issues
- all : fixed default cases on @:enum abstract being omitted
- all : fixed various expression positions
- all : disallowed break/continue in closures in loops
- all : disallowed inline functions in value places
- all : fixed parsing of cast followed by parentheses
- all : fixed resource naming in case of invalid file system characters
- all : fixed issue with inlined array declarations with field access
- cpp : fixed issue with the side-effect handler
- cpp : fixed issue with NativeArray in --no-inline mode
- php : fixed issue with invalid references for closures in for-loops
- php : fixed Reflect.compare and string comparison for numeric strings
- cs/java : fixed various issues with -java-lib and -net-lib.
- cs/java : added @:libType to skip checking on -java-lib / -net-lib types
- cs/java : compilation server now works with C#/Java [experimental support]
- cs : fixed Type.enumIndex / switch on C# native enums
- cs : fixed reflection on COM types
- java : fixed sys.net.Socket server implementation
- spod : various fixes - working now on cpp, java, neko, php and c#
- cpp : improved boot order, with enums constants first
- General improvements and optimizations:
- all : disallowed using `super` in value positions
- all : check exhaustiveness of explicit Null types
- all : resolve unqualified identifiers to @:enum abstract constructors
- all : determine @:generic type parameters from constructor call if possible
- all : properly disallowed field redefinition in extending interface
- all : properly disallowed leading zeroes for Int and Float literals
- all : allowed variance on interface variables
- all : allowed pattern matching on arrays if they are typed as Dynamic
- all : allowed pattern matching on fields of parent classes
- all : -D doc-gen no longer implies -dce no
- all : allowed matching against null on any enum instance
- flash/js: optimized haxe.ds.StringMap
- neko : create output directory if it does not exist
- js : inline Math methods and fields
- cs/java : optimized Reflect.fields on dynamic structures
- cs/java : haxe will now clear output directory of old files (use -D keep-old-output to keep them)
- cs : optimized field lookup structure
- cs : optimized casting of parametrized types
- cs : beautify c# code output
- cs : added `cs.Flags` to manipulate C# enums that can be also flags
- xml : improved documentation generation and fixed missing entity escaping
- cpp : property access via Dynamic variables now requires property to be declared with @:nativeProperty
- cpp : allow injection of code from relative paths using @:sourceFile and @:cppInclude
- cpp : stronger typing of native functions via cpp.Function + cpp.Callable
- cpp : moved 'Class' implementation to hx namespace to improve objective C interaction
- cpp : added file_extension define to change the output filename extension (eg, ".mm")
- cpp : added pre-calculated hashes to string constants to allow faster lookups
- cpp : map implementation allows strongly typed interactions in some cases (avoids boxing)
- cpp : added native WeakMap implementation
- cpp : put each resource into own cpp file to allow more data/smaller files
- Standard Library:
- all : added typed arrays to haxe.io package
- all : added haxe.ds.Either
- all : added haxe.extern.Rest type for representing "rest" arguments in extern method signatures
- all : added haxe.extern.EitherType abstract type for dealing with externs for dynamic targets
- all : added haxe.DynamicAccess type for working with dynamic anonymous structures using a Map-like interface
- all : [breaking] changed haxe.ds.Vector.get to return T instead of Null<T>
- all : added haxe.macro.Compiler.addGlobalMetadata
- all : changed haxe.Int64 to be an abstract type instead of a class
- js : updated HTML externs
- Macro features and changes:
- macro : added Context.getLocalTVars
- macro : added TypedExprTools.iter
- macro : added Context.getCallArguments
- macro : changed @:genericBuild macros to prefer ComplexType returns
- macro : [breaking] extended TAnonymous structures now have AExtend status instead of AClosed
- macro : added Context.getDefines
- macro : fixed file_seek from end (position was inversed)
- macro : added Context.storeTypedExpr
- macro : allowed type name reification
- Deprecations:
- all : deprecated structurally extending classes and interfaces
- sys : Sys.command shell special chars (&|<>#;*?(){}$) are now properly escaped
- java/cs : Lib.nativeType is now renamed to Lib.getNativeType
- 2014-04-13: 3.1.3
- Bugfixes:
- all : fixed handling of abstract variance
- flash : ensure correct endianess in haxe.io.BytesBuffer
- cpp : fixed issue involving class paths with spaces
- php : fixed >>>
- macro : fixed haxe.macro.Compiler.keep
- General improvements and optimizations:
- all : give @:deprecated warnings by default, allow -D no-deprecation-warnings
- cpp : optimized Vector implementation
- Standard Library:
- all : renamed Bytes.readDouble/Float to getDouble/Float to avoid inheritance issues
- all : deprecated Bytes.readString in favor of getString
- all : added pretty-printing to haxe.format.JsonPrinter (and haxe.Json)
- 2014-03-29: 3.1.2
- Bugfixes:
- all : disallowed spaces between >>, >>>, >>= and >>>=
- all : fix branching issue when switching on Dynamic values with only one case
- all : added missing abstract cast call when checking for equality
- all : fixed member fields initializations on parent classes that have no constructor
- all : fixed toString usage of abstracts which are argument to Std.string
- flash : avoid rare FP 12 PPAPI JIT crash
- cpp : fixed bug in side-effect handler which caused incorrect behavior of while loops
- js : fixed missing print function for enum values with DCE
- macro : make sure member field initializations are respected
- General improvements and optimizations:
- all : cached file exist checks to speed up compilations with a lot of class paths
- all : improved completion related to super class fields
- all : allowed iterating on abstract which have get_length and @:arrayAccess fields
- js : improved Type.allEnums implementation to avoid issues with obfuscation
- Standard Library:
- all : added haxe.io.Bytes.readDouble/Float
- all : added haxe.io.BytesBuffer.addString/Float/Double
- 2014-03-15: 3.1.1
- New features:
- all : added -D deprecation-warnings
- all : allowed \u escape sequences in strings
- cs : implemented haxe.CallStack
- Bugfixes:
- all : fixed wrong handling of "" and null in haxe.io.Path.join
- all : fixed invalid cast-to-self generation on some abstracts
- all : removed @:to Dynamic from UInt to avoid issues in the Map selection algorithm
- all : fixed various issues with UInt
- all : fixed position setter in haxe.io.BytesInput
- all : fixed various issues with member/static extension macros
- flash : fixed invalid override involving single-constraint type parameters
- flash8 : fixed various bugs
- js : fixed a problem with Std.string(null) being optimized incorrectly
- js : fixed custom generators
- cpp : dealt with string literals that are too long for MSVC
- cs : fixed various issues with -net-lib
- 2014-03-04: 3.1.0
- New features:
- all : allowed null-patterns in pattern matching
- all : allowed extractors in pattern matching using => syntax
- all : allowed extending generic type parameters
- all : allowed (expr : type) syntax (ECheckType)
- all : allowed @:enum and @:forward on abstracts
- all : allowed using abstracts as static extension
- all : allowed Class.new
- all : added EnumValue.match
- all : allow multiple structural extension using { > T1, > T2, fields }
- all : inline array and structure declarations if possible
- cs : added -net-lib
- cs : support for native delegates
- cs : support for attributes
- cs : support for events
- Standard Library:
- all : support abstract types in haxe.rtti.XmlParser
- all : added Std.instance
- all : added length field to BytesBuffer, BytesOutput, BytesInput and StringBuf
- all : added UInt for all targets
- all : added Array.indexOf and Array.lastIndexOf
- all : added haxe.xml.Printer
- all : added haxe.Int32 as abstract type
- all : added haxe.format.JsonParser/Printer
- General improvements and optimizations:
- all : optimized pattern matching output
- all : allowed recursive type parameter constraints
- all : improved support of custom @:coreType abstracts
- all : evaluate conditional expressions in @:require
- all : improved inline constructors by detecting more cases where it can be applied
- js : improved inlining
- js : always use JSON extern (compile with -D old-browser to disable)
- js : added -D js-flatten
- js : added -D js-es5
- cpp : improved side-effect detection
- Bugfixes:
- all : inlining a parameter which has side effects will not remove it even if not used
- all : implemented constraints check on enum and enum field type parameters
- all : fixed memory leak in compilation server and optimized caching in general
- all : fixed issue with invalid lowercase class name in Windows completion
- flash : fixed font embedding with UTF8 chars
- flash : give error if non-nullable basic types are skipped in a call
- flash : give error if assigned parent class field values would be overwritten by super()
- Macro features and changes:
- macro : add Context.onAfterGenerate
- macro : add Context.typeExpr
- macro : add Context.getExpectedType
- macro : add ExprTools.getValue
- macro : allowed $v{(c:Float|Int|String)}
- macro : resolve error line number in external files
- macro : rewrote macros used as static extension
- macro : exposed typed AST
- macro : added @:genericBuild
- macro : [breaking] first argument of ComplexType.TExtend is now Array<TypePath> instead of TypePath
- macro : improved expression printing
- 2013-09-25: 3.0.1
- all : minor DCE bug fix
- 2013-05-25: 3.0.0
- all : added haxe.ds.BalancedTree
- all : added haxe.ds.EnumValueMap
- all : allow enum constructors as keys to Map
- all : haxe.ds.ObjectMap is now correctly constrained on all targets
- all : preliminary support of -D display-mode=usage|position|metadata
- all : improved pattern matcher error messages
- all : allow inline constructors
- all : allow abstract member macros (not for @:op, @:arrayAccess, @:from, @:to)
- all : allow abstract type parameter variance
- all : do not generate hidden null on if without else
- macro : made abstract structure available
- 2013-05-08: 3.0.0-RC2
- all : improved abstract support
- all : renamed HAXE_LIBRARY_PATH to HAXE_STD_PATH
- all : added inlinable constructors
- all : renamed haxe.ds.FastCell to GenericCell
- all : fixed >= operator in #if conditionals
- all : improved completion support for Unknown results
- all : allowed [] access for Map
- all : added haxe.ds.WeakMap (not yet supported on all platforms)
- all : all trace parameters are now printed by default
- all : added --help-metas
- all : improved completion
- all : improved pattern matching variable capture and GADT support
- js : cached $bind results (unique closure creation per instance)
- js : removed --js-modern (now as default)
- cpp : added socket.setFastSend
- flash : update player 11.7 api
- flash : improved @:font, @:sound and @:bitmap support
- neko/java/cs : improved Array performances when growing with []
- java : added -java-lib support
- java : added sys.net package implementation (alpha)
- java : complete java std library through hxjava haxelib
- java/cs : added support for overloaded function declarations
- java/cs : overload selection algorithm
- cs : operator overloading is now accessible through Haxe
- cs : source mapping; can be disabled with -D real_position
- as3 : fixed rare syntax ambiguity
- php : removed initialization of some inline fields
- macro : fixed several issues with 'using' a macro function
- macro : improved expression printing
- 2013-02-24: 3.0.0-RC
- flash : updated player 11.4 api
- all : allowed named functions as r-value
- all : fixed using + overload usage
- all : allow any type constraint for type parameters
- all : make property type optional (when a initial value is set)
- all : Std.random(x) when x <= 0 is now always 0
- spod : added serialized data with SData<T>
- all : Dispatcher will now throw DETooManyValues
- all : speed up neko compilation by using native compiler
- all : allow @:generic on functions
- all : allow constructing generic type parameters
- swf : added support for SWC files in -swf-lib
- macro : added Context.onTypeNotFound callback for unresolved types
- js : no JS embed as default (use -D embed-js instead)
- all : added abstract types (Int/Float/Bool/Void/Class/Enum/EnumValue)
- all : added --help-defines
- all : changed DCE with three modes : std(default), no and full
- all : Haxe3 packages changes (see http://haxe.org/manual/haxe3)
- all : Removed haxe.Int32, haxe.Firebug, haxe.TimerQueue
- all : added -D key=value and #if (key >= value) operations
- all : StringTools.htmlEscape/unescape nows handle "/" and '/'
- all : using and import must now appear before any type declaration in a file
- all : no longer create variable fields for pure getter/setter properties (unless @:isVar is used)
- all : use default get_prop/set_prop instead of custom getter/setter names for properties
- js : added JQuery.delegateTarget
- macro : removed EType and CType, added EMeta, modified ESwitch
- all : allow @metadata expr
- all : replaced haxe.rtti.Generic interface with @:generic metadata
- all : no longer infer arrays of mixed types as Array<Dynamic>
- all : all type/import/enum constructor resolution now follows the shadowing principle (latest has priority)
- all : added EReg.matchSub, renamed EReg.customReplace to map
- all : no longer allow initialization of extern non-inline variables
- swf : fixed out of memory errors on very large swf-lib files
- swf : added -D swf_preloader_frame, swf_gpu, swf_direct_blit
- swf : added -D swf_script_timeout=seconds, swf_debug_password=password, swf_metadata=file
- swf : added -swf-lib-extern
- swf : added @:font support (beta)
- all : added GADT support in enums
- all : added pattern matching (beta)
- all : changed callback(func, args) to func.bind(args)
- macro : added haxe.macro.ExprTools/ComplexTypeTools/TypeTools
- macro : changed reification syntax to ${expr}, $a{array}, $p{path}, $v{value}
- macro : allow macro @:pos(pos-expr) to inject positions for reification
- all : added array comprehension
- flash : Vector.length is now Int instead of UInt
- all : moved haxe.BaseCode, haxe.Md5 and haxe.SHA1 to haxe.crypto package
- all : disallow Void variables and arguments (still allow S -> T to S -> Void)
- all : added Array.map/filter
- all : added spell check suggestions for enum constructors and fields
- all : added opaque abstract(T) types
- all : allow operator overloading on opaque abstract types
- all : renamed IntIter to IntIterator
- all : added Map
- all : added haxe.ds with StringMap, IntMap, HashMap, ObjectMap, Vector, GenericStack
- all : removed Hash, IntHash and haxe.FastList in favor of the types in haxe.ds
- all : haxe.xml.Parser now handles entities consistently across platforms
- all : renamed HAXE_LIBRARY_PATH environment variable to HAXE_STD_PATH
- 2012-07-16: 2.10
- java/cs : added two new targets (beta)
- all : fixed List and Null<T> for first, last, pop
- js : added js.Lib.debug()
- flash : fixed Xml.parent() when no parent
- flash : fixed haxe.io.Bytes.blit when len=0
- js/php/flash8 : fixed haxe.Int32.mul overflow on 52 bits
- js : fixed haxe.Utf8 usage (static 'length' issue)
- all : does not allow overriding var/prop
- flash : removed wrapping for Xml nodes, use instead specific compare when comparing two typed nodes
- js : use new haxe.xml.Parser (faster, not based on Regexp)
- flash : fixed completion issue with for( x in Vector )
- all : optimized Std.int(123) and Std.int(123.45)
- flash : bugfix for @:bitmap with 24-bits PNG (flash decode wrong colors)
- as3 : fixed EnumValue becomes Object
- js : removed js.Lib.isIE/isOpera (not complete, use js.JQuery.browser instead)
- all : function parameters are nullable if they are declared with '?'
- all : added support for finding common base types of multiple types (unify_min) for array, switch, if
- php : do not implement duplicate interfaces
- haxelib : added git support through haxelib git
- all : allow derived classes to widen method visibility
- macro : added haxe.macro.Context.getLocalMethod
- macro : improved support of "using" macro functions
- php : optimized Xml implementation
- php : fixed Reflect.get/setProperty not working on PHP < 5.3
- all : support for callback(f, _, x)
- all : allow private access between classes that have a common base class
- all : added Output.writeFloat/Double and Input.readFloat/Double
- all : support for var:{x:Float} = { x = 1 } constant structure subtyping
- all : allow contravariant function arguments and covariant function returns in overrides
- macro : support for final Array<Expr> argument as rest argument
- macro : use top-down inference on macro calls
- all : made "using" imply "import"
- all : made String concat more consistent across platforms (add Std.string wrappers)
- all : allow direct member variable/property and static property initialization
- js : greatly reduced amount of generated code by using smarter DCE
- php : made modulo operations more consistent
- all : allow local functions to have both type parameters and be inlined
- all : functions type parameters can be constraint (will be checked at end of compilation)
- macro : use NekoVM runtime for regexps, process and xml parsing
- flash : allow @:getter/@:setter in interfaces
- flash : added support for "arguments" in methods
- all : not used enums and inline var/methods are now removed by DCE
- all : allow @:overload to use type parameters and not-absolute type paths
- all : ensure that Std.string of arrays and enums are now consistent across platforms
- all : allow to inline functions containing other functions
- xml : added metadata output to xml generator
- macro : added macro <expr> and macro : <type> reification
- all : renamed type(e) to $type(e)
- as3 : support for metadata and resources, and other fixes
- 2012-04-14: 2.09
- all : optimized const == const and const != const (with different const types)
- all : add Type.allEnums(e)
- all : big improvements with completion speed and fixed many issues
- flash9 : fixed -D swfprotected with swc output
- neko : added ~ implementation
- js : upgraded jquery version, more api overloads
- sys : added "in" operator for spod macros, added relation access in expressions
- macro : added ECheckType
- macro : added TLazy for not-yet-typed class fields
- js/php/neko : added haxe.web.Request
- all : added Std.format
- js : trace() output fallback on console.log if no id="haxe:trace"
- all : ensure that Std.is(2.0,Int) returns true on all platforms
- js : replaced $closure by function.$bind + changes in output format
- all : allowed @:extern on static methods (no generate + no closure + force inlining)
- all : added documentation in --display infos + display overloads in completion
- js : removed --js-namespace, added $hxClasses
- flash : output traces to native trace() when using -D fdb or -D nativeTrace
- all : allowed abitrary string fields in anonymous objects
- all : allowed optional structure fields (for constant structs)
- all : allowed optional args in functions types (?Int -> Void)
- all : added Reflect.getProperty/setProperty (except flash8)
- all : added --wait and --cwd and --connect (parsed files and module caching)
- all : fixed completion in macros calls arguments
- all : fixed DCE removing empty but still used interfaces/superclasses
- all : added haxe.Utf8 (crossplatform)
- neko : Reflect now uses $fasthash (require neko 1.8.2)
- all : allow \uXXXX in regexp (although not supported everywhere)
- js : make difference between values and statements expressions in JSGenApi
- js : added source mapping with -debug (replace previous stack emulation)
- flash : added @:file("a.dat") class File extends flash.utils.ByteArray
- flash : added @:sound("file.wav|mp3") class S extends flash.media.Sound
- js : added --js-modern for wrapping output in a closure and ES5 strict mode
- all : null, true and false are now keywords
- all : neko.io.Path, cpp.io.Path and php.io.Path are now haxe.io.Path
- neko, cpp, php : added Sys class, sys.io and sys.net packages and "sys" define
- 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 : 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
- (hotfix) fixed bug in completion and disabled profiling on Linux
- (hotfix) fixed $ssize when doing new String(v) in neko
- (hotfix) fixed bug with properties in interfaces for Flash & PHP
- 2011-09-25: 2.08
- js : added js.JQuery
- all : added @:overload
- js : upgraded js.SWFObject from 1.4.4 inlined to 1.5 embedded
- js : code generator beautify
- all : ensure that modifying returned Type.getEnumConstructs array does not affect enum
- all : allow macro typed parameters (other than Expr)
- flash : added flash11 apis
- neko : added support for https to haxe.Http (using hxssl library)
- all : added haxe.Int64
- all : added haxe.Int32 isNeg,isZero,ucompare, fixed overflows for js/flash8/php
- all : bugfix when optimizing inlined immediate function call
- all : fixed "using" on macro function
- all : allowed member macros functions (called as static)
- neko : allowed serialization of haxe.Int32 (as Int)
- all : fixed invalid optimization of two constant numbers comparison
- flash8 : bugfix Std.parseInt with some hex values
- flash9 : added flash.utils.RegExp
- all : changed @:build behavior, now takes/returns a var with anonymous fields
- all : added @:native support for enums
- neko : changed the result of array-assign expression (was null)
- flash9 : no longer auto create enums from SWF classes
- (need explicit "enum" type patch)
- all : optimized variable tracking/renaming
- all : optimized macro engine (speed x2)
- all : added -D macrotimes support
- flash9 : store resources in bytes tag instead of bytecode
- all : allow $ prefixed identifiers (for macros usage only)
- all : allow to access modules subtype statics with pack.Mod.Type.value
- and fixed identifier resolution order
- flash9 : added @:bitmap("file") for simple embedding
- all : added haxe.web.Dispatch
- js : added js.Storage
- all : allow this + member variables access in local functions
- added untyped __this__ support and transition error
- all : added haxe.macro.MacroType
- neko : neko.Lib.serialize/unserialize now returns bytes
- neko : added sys.db package (crossplatform with -D spod_macro support)
- spod_macro now uses wrappers for Bytes (require neko 1.8.2)
- php : added --php-prefix for prefixing generated files and class names
- all : added type_expr_with_type enum support
- php/js : fixed adding 'null' to StringBuf
- all : added haxe.macro.Context.defineType
- 2011-01-30: 2.07
- all : fixed completion support with --remap
- all : added macros, added --interp
- all : removed 'here' special identifier
- neko : fixed neko.Web.getParamsString() returning "null" instead of ""
- flash9 : fixed issue with @:bind
- flash9 : added some missing errors
- flash9 : fixed TypedDictionary.exists
- all : added @:build and @:autoBuild for enums and classes
- neko : Std.parseFloat now returns NaN with invalid string
- php: fixed Array.push must return the current length (issue 219)
- php: fixed EReg.replace (issue 194)
- php: FileSystem.readDirectory now skips '.' and '..' to be consistent with neko (issue 226)
- flash9 : add trace text on stage (always over current and subclips)
- flash9 : delay SWF initialization until it's added on stage and stageWidth > 0
- (this can be disabled with -D dontWaitStage)
- all : added haxe.Timer.measure
- all : added Lambda.indexOf and Lambda.concat
- all : no longer allow inline vars as metadata values
- neko : added getFieldsNames to neko.db.ResultSet (supported in Neko 1.8.2 mysql driver)
- all : added --macro and haxe.macro.Compiler
- all : allow macro type patches
- flash9 : changed --gen-hx-classes implementation
- now use 'haxe -swf-lib lib.swf --gen-hx-classes' instead
- flash9 : added @:getter and @:setter
- all : added @:require
- flash9 : moved vector utils functions from flash.Lib to flash.Vector
- flash9 : added support for FP 10.1 and 10.2
- flash9 : added @:meta(Meta(k="v")) support
- all : improved #if support (fixed ! precedence)
- all : lookup unqualified types in all package hierarchy and not only in current package
- flash : set default flash version to 10 (-swf9 deprecated, use -swf-version 8 for avm1)
- php : added --php-lib to allow to rename the destination path of the generated lib
- all : added --dead-code-elimination, removes unused functions from the output
- (beta feature could not make in the final release)
- all : added @:keep to prevent --dead-code-elimination of class/method
- flash9 : fixed issues with loading a Haxe SWF (boot_XXXX class extends flash.Boot)
- all : allow to inline override methods (if the superclass method is not inlined already)
- all : fixed escape sequences in literal regular expressions
- flash9 : fixed Xml.setNodeValue
- all : removed -excluded, replaced by --macro excludeFile('filename')
- all : added --macro exclude('package') and --macro include('package')
- all : importing a typedef of an enum allow to access its constructors
- all : removed String.cca (replaced by StringTools.fastCodeAt + StringTools.isEOF)
- flash9 : fixed use of default values when null is passed for nullable basic types
- all : fixed issues with inlining and class/function type parameters
- all : big speedup for compiler internal completion
- all : added --macro keepClass('classname')
- flash9 : fixed Xml.nodeValue for comments (does not include <!--/-->)
- all : added named local functions (allow self-recursion)
- all : use left-assoc for (==,!=,>,>=,<,<=)(==,!=,>,>=,<,<=) (&&)(&&) and (||)(||)
- all : give prefix unary operators higher priority than ?:
- php : fixed XML parsing
- cpp : many fixes
- 2010-08-14: 2.06
- neko : change serializer to be able to handle instances of basic classes from other modules
- js : add Document.createTextNode
- all : bugfix with inline when modifying var with same name as one of current local
- flash9 : classes implementing ArrayAccess<T> are now dynamic (including TypedDictionary)
- all : allow "using" on typedefs
- as3 : minor fixes in genas3 and --gen-hx-classes
- as3 : fix with readonly/writeonly properties accesses
- flash9 : list native getter/setters in Type API class/instance fields
- all : make haxe.rtti.Generic typing lazy (fix for self-recursion)
- all : allow haxe.rtti.Generic + inheritance
- all : added resource size limit to 12MB (ocaml max_string_size is 16MB + b64)
- flash : changes in swf handling to work with >16MB swfs
- flash9 : only init dynamic methods if not already defined (in subclass)
- std : added haxe.SHA1
- compiler : added TCast, allow cast optimization on flash9/cpp
- as3 : fixed Std.__init__ generating 'null'
- compiler : fixed -no-opt
- flash : allow several -swf-lib
- no longer support automatic creation of classes for f8 swfs in f9 mode
- classes defined in f9 swf are not redefinable in Haxe code (use extern)
- flash9 : allow direct access and completion with classes defined in -swf-lib's
- flash9 : remove imported libraries debug infos when not compiled with -debug
- all : only display errors with --display if no completion matched
- all : some completion related errors fixed
- flash9 : added @:bind support
- all : fixed StringTools.hex with negative numbers
- flash9 : fixed Type.typeof(1<<28) was TFloat
- flash9 : use flash.XML parser for Xml class implementation
- neko : fixed Array.splice (was not setting null at end of array)
- neko : rewrote Array class using neko.NativeArray
- all : core classes implementation are now in std/(platform)/_std
- all : added @:final support
- all : added haxe.rtti.Meta
- flash9 : added flash.desktop.Clipboard* classes (added in flash10)
- as3 : fixed Date.toString issue in flash.Boot (now use .toStringHX instead)
- this will only work if .toString called explicitely on Date class
- all : only allow "using" on Dynamic if first parameter is Dynamic
- php : haxe.Http now supports Https connections when OpenSSL extension is enabled (issue 143)
- php : fixed enum constructors sequence (issue 142)
- php : added error message when using 2 fields with different cases in the same class/enum
- php : fixed field declaration for properties with getter and setter (issue 124)
- php : fixed comparison issues between strings (issue 132)
- php : enhanced FileInput.readLine using native fgets function (issue 103)
- flash9 : renamed flash.Error to flash.errors.Error
- php : removed eval() everywhere and simplified _hx_lambda
- php : fixed return type for Std.string() with integers and floats
- php : fixed php.Lib.rethrow
- all : added custom Haxe serialization
- php : aligned php.Web.parseMultipart signature with neko implementation
- cpp : Added source location and stack dump for errors in debug mode
- cpp : Remapped more keywords
- cpp : Added templated fast iterator code for arrays and FastLists
- cpp : Added option for tracing GC references in debug mode
- cpp : Switch the native string implementation from wchar_t to utf8 - for regex speed
- cpp : Added extra "()" to ensure correct order of operations
- cpp : Fixed various bugs for unusual (and not so unusual) language constructs
- cpp : Fixed order of enum generation from index
- cpp : Added __unsafe_get and __unsafe_set to Array as possible optimizations
- cpp : Default to mult-thread compiling on windows for cl version >= 14
- cpp : Seed Math.random
- cpp : Use strftime for Dates
- cpp : Fix socket sellect passing _s
- cpp : Throw error when match count does not match regex
- cpp : Improve register capture in GC
- cpp : Fix Dynamic interger compare
- cpp : Implement makeVarArgs
- cpp : Fix toString for nulls in Enums and Arrays
- cpp : Added initial Android support
- cpp : Move initializers to entry functions in standard ndlls.
- cpp : Changes some CFFI register funtions to char*, from wchar_t*
- cpp : Added some initial support for v8 script target
- cpp : Use non-recursive GC marking to avoid overflow in big lists
- cpp : Added __hxcpp_obj_id
- 2010-01-09: 2.05
- js : added js.Scroll
- js : package names are now checked at runtime to avoid clashes with existing libs
- js : added --js-namespace to create a namespace for types that are defined in the root
- all : updated xml output and html doc - add inline, override, dynamic functions support
- all : added error when comparing enum with arguments
- all : optimize constant equality for enums
- flash9 : fixed verify error with inline + null type
- flash9 : bugfix when overriding/implementing an method with an applied type parameter
- php : fixed issues with classes that implement Dynamic
- all : ignore #! line at beginning of the hx file
- haxelib : added tags, added documentation
- flash8 : don't use b64 encoding for text ressources
- php : fixed bug in Hash.exists for null values and Reflect.callMethod
- js/flash9 : throw exception in Xml.parse when unclosed node
- all : improve return type progagation in inlined expression (fix some VerifyErrors)
- all : optimize {const} into const
- all : added structure / Dynamic<T> subtyping
- all : fixed List.map2 error when inline + optional args
- flash9 : encode all ISO constant strings into UTF8 at compilation time
- all : allow hxml with only -cmd statements
- spod : moved Manager.addQuote to Connection.addValue
- flash9 : removed .iterator() from Vector (not implementable)
- all : fixed haxe.rtti.Generic on interfaces
- php : fixed issue with Reflect.callMethod
- php : fixed issue with PHP reserved word used in callbacks
- all : bugfix with non-constant enums in switches
- flash9 : fix for interfaces (use namespace)
- all : "using" now works for identifiers in member methods
- flash9 : bugfix with switch on some big integers
- all : bugfix when optimizing (function(x) return x)(x)
- neko : improved speed of Xml.toString()
- all : added -D dump (for debugging purposes)
- neko : added neko.Web.isTora
- php : added php.db.PDO (php.db.Sqlite is now deprecated)
- php : fixed bug in Type.getClassFields() that reported duplicated entries
- php : fixed errror in XML error reporting
- all : allow sub-types declarations everywhere (pack.Type.Sub)
- all : added completion for sub-types declarations
- all : improved completion with lambda function
- as3 : several generation fixes
- all : bugfix haxe.rtti.Generic on private class
- php/js/cpp : sanitize binary expressions to prevent inlining errors
- spod : remove object from cache when deleted
- 2009-07-26: 2.04
- flash9 : fixed get_full_path error with -D fdb
- js : fixed Array.remove on IE
- flash8 : removed extra empty AS3 tag (causing some issue with F8 loadMovie)
- improved speed of Bytes unserializing (no need for BytesBuffer)
- flash9 : bugfix, Null<Typedef> was generating dynamic code
- flash9 : added error message in flash.Vector if used without flash 10
- flash9 : fixed some "never" property access issues
- all : added "never" property access support for all platforms
- js : small syntax fix with value-blocks
- js : fixed Type.enumEq with null values
- js/flash8 : use &0xFF in haxe.io.Bytes.set
- flash9 : fixed switch on Null<Int> verify error
- flash9 : fixes related to UInt type + error when using Int/UInt comparison
- as3 : improved Vector support, inline flash.Lib.as
- as3 : bugfix with skip_constructor
- as3 : added Enum.__constructs__ (allow Type.getEnumConstructs)
- as3 : make all constructor parameters optional (allow Type.createEmptyInstance)
- as3 : bugfix with property access inside setter (stack overflow)
- all : Enum is now Enum<T>
- all : added Type.createEnumIndex
- all : forbid same name for static+instance field (not supported on several platforms)
- all : renamed haxe.Http.request to "requestUrl"
- all : renamed neko.zip.Compress/Uncompress.run to "execute"
- spod : fix very rare issue with relations and transactions
- compiler : added TClosure - optimize closure creation and ease code generation
- cpp : added CPP platform
- all : added 'using' syntax
- neko : added 'domains' optional param to ThreadRemotingServer to answer policy-file-request
- php : fixed php.db.Mysql so that getResult is consistent with Neko behavior
- php : fixed __toString for anonymouse objects
- php : fixed bug in overridden dynamic functions
- php : fixed round to be consistent with other platforms
- php : fixed bug concatenating two dynamic variables
- php : php.Lib.rethrow now works as expected
- flash9 : fixed bug with SWC output and recursive types
- flash8 : fixed inversed arguments in __new__
- neko : added neko.net.Socket.setFastSend
- php: fixed String.charCodeAt
- php: minor optimization (removed foreach from std code)
- php: implemented haxe.Stack
- php: changed exception handler to use Haxe call stack
- php: changed special vars to use the '\xBB' prefix instead of __
- php: fixed use of reserved keywords for var names
- php: List iterator is now class based (faster)
- php: fixed behavior of class variables having assigned functions
- php: fixed php.db.Manager (was uncorrectly removing superclass fields)
- php: added support for native Iterator and IteratorAggregate interfaces
- all : added --display classes and --display keywords
- all : fixed issue with optional parameters in inline functions
- all : allow implementing interfaces with inline methods
- all : enable inlining for getter/setter/iterator/resolve/using
- 2009-03-22: 2.03
- optimized Type.enumEq : use index instead of tag comparison for neko/flash9/php
- bugfix for flash.display.BitmapDataChannel and GraphicsPathCommand (allow inline static)
- resolve environment variable in -cmd commands
- added flash.Vector.indexOf and lastIndexOf
- fixed bug in interfaces that define the method toString (Haxe/PHP)
- fixed bug in haxe.io.BytesInput.readBytes in Flash9 (was throwing Eof if full buffer can't be read)
- fixed implements/extends special classes when they are imported
- StringBuf now uses an array for JS implementation (around same on FF, faster on IE)
- fixed assignment of field length in anonym objects (Haxe/PHP)
- fixed addEventListener typing for flash9
- fixed __vector__ generation for AS3 target
- fix with inline functions : position is now the inserted position and not the original one (better error reporting)
- added SWC output support
- fixed issues with unset of values in for loops and executing blocks that return functions (Haxe/PHP)
- "throw" type is now Unknown instead of Dynamic (prevent type-hole in "if A else if B else throw")
- added __foreach__ for flash9/as3
- fixed f9 verify error with different kind of functions
- moved eof() from neko.io.FileOutput to FileInput
- added haxe.rtti.HtmlEditor
- added neko.db.Manager.setLockMode
- genAS3 : fixed Error classes issues
- genAS3 : fixed default basic type value in interfaces
- flash9 : fixed UInt default parameter verify error
- flash9 : fixed issue with flash.* string enums verify error
- compiler : allowed \r line separators for HXML files
- flash9 : fixed verify error with loop variable beeing a specific class
- compiler : prevent truncating float dynamic values to int when using numerical operations
- neko.db.Manager fix : synchronize fields after locking an unlocked cached object
- compiler : fixed issue with cascading inline+haxe.rtti.Generic
- optimizer : reduce constant int/float/bool expressions and immediate function calls
- flash9/as3/php : don't add Boot.skip_constructor test if no side effects in constructor
- compiler : added --no-opt to disable expr reduction
- compiler : separated basic and advanced commandline options
- compiler : fixed printing of sub-function types
- genHX : fixed generation of classes that extends another class (shouldn't be turned into enums)
- speedup Array.remove on flash9/js
- 2008-11-23: 2.02
- Std.is(MyInterface, Class) now returns true (Haxe/PHP)
- php arrays are wrapped into _hx_array instances, fixes issues with references (array cast, access out of bounds ...)
- removed untested php classes (php.DBase, php.IniHash)
- added -D use_rtti_doc
- flash.Lib.getTimer() now returns Int and is inlined
- fixed php.FileSystem.stat
- added memory related functions to php.Sys
- added error when trying to extend Array, String, Date and Xml
- fixed handling of implements ArrayAccess
- fixed some minor things in flash10 api
- switch/for/while/do/try/if are no longer using parse_next (parenthesises requ. instead)
- fixed Type.typeof and Std.is in case of too much large integers for Flash6-8/JS
- haxe.xml.Check : treat comments the same as PCDATA spaces
- haxe.io.BytesData now uses strings instead of arrays for PHP
- compiler : optimized line calculus from ast position
- lexer : allow identifiers starting with _[0-9]
- fixed access to flash.Vector methods : use AS3 namespace (faster)
- bugfix in inline functions : modifying a parameter can't modify a real local var anymore
- bugfix in inline functions : handle class type parameters and method type parameters
- fixed issue with Int default value for Float parameter
- flash9 : bugfix when using the retval after setting a closure variable
- added flash.Memory API for flash10 alchemy opcodes access
- changed #if as3gen to #if as3 when generating as3 code
- fixed as3 flash.Vector generation
- fixed haxe.io.BytesOutput for flash9 : set default to little-endian
- some flash9 fixes related to extern enums
- updated flash.text.engine package with haxe enums
- flash9 : use target file path for Boot unique ID instead of random number
- as3 : fixed bug when anonymous field was a reserved identifier
- flash9 : added flash.Lib.vectorOfArray and vectorConvert for flash10
- added -D check-js-packages to allow several haxe-generated js files in same page
- 2008-10-04: 2.01
- fixed php.Sys
- added neko.NativeString and neko.NativeArray
- fixed php.Boot.__string_rec() when invoked from toString
- fixed null references in class constructors for array arguments
- fixed Type.enumParameters() and Type.typeOf() for PHP
- fixed SPOD/MySql for PHP
- fixed php.net.Socket.setTimeout(), php.io.Process
- fixed php.Web.setCookie() for expire time
- fixed php rethrow in catches and added the possibility to catch native exceptions
- added runttime check for php.io.Socket.shutdown (uses fclose in php 5.1.x)
- allowed optional Context in remoting connections
- fixed extern classes for flash < 8
- fixed inherited protected/private properties in as3 SWF library
- fixed haxe.io float/double in Neko (when bigEndian was null)
- added __FSCommand2__ support
- optimized haxe.Unserializer (use faster buffer access)
- use "Dynamic" instead of Dynamic->Void for flash9 IEventDispatcher
- always use full classes paths for genAS3
- prevent different get/set property accesses when implementing an interface
- fixed assign of dynamicfunction references in PHP
- Haxe/PHP now generates code for extern classes __init__
- added strings literal support in haxe.Template
- fixed Process arguments and exitCode() in Haxe/PHP
- fixed hierarchy problem for classes with the name from different packages Haxe/PHP
- php.db.Mysql now throws an exception when tries to connect to an unexistant DB
- fixed blocks in if statements for Haxe/PHP
- added php check on the full hierarchy for colliding names
- added support for "g" modifier in EReg for PHP
- PHP now generates __toString for classes that have toString defined
- implemented php.Lib.getClasses()
- fixed duplicate fields in Type.getInstanceFields on subclass
- Enum is no longer defined inside Type but is standalone class
- fixed Date.getDay on Neko/Windows (use %w instead of %u)
- fixed memory leak with PHP closures
- fixed wrong scope in PHP closures
- fixed Array.reverse() in PHP
- fixed Reflect.compareMethods in Neko (require Neko 1.8.0)
- fixed flash7-8 register usage for __init__ and static variables initialization
- moved StringTools.baseEncode/Decode to haxe.BaseCode
- fixed binary resources for Flash, JS and PHP outputs
- fixed compiler bug with inline + optional arguments
- fixed Type.createInstance and createEmptyInstance with Array for flash6-8
- 2008-07-28: 2.0
- fixed current package bug in inherited constructor type
- delayed type-parameter constraints check (allow mutual rec extends for SPOD)
- improved unclosed macro error reporting
- Haxe/PHP integration
- renamed NekoSocketConnection to SyncSocketConnection (php support)
- fixes in genAs3
- fix for flash9 : always coerce call return type
- set all private+protected names from SWF lib to public (allow override+reflect)
- flash9 : use findprop instead of findpropstrict for 'this' access (allow dynamic)
- don't allow nullness changes in overrided/implemented
- prevent typing hole with overriden polymorphic methods
- added neko.vm.Mutex and neko.vm.Deque (included in neko 1.7.1)
- added package remapping using --remap
- 2008-07-17: 2.0-RC1
- genneko : remove big array error (fixed in neko 1.7.1)
- fixed neko.net.ThreadRemotingServer.onXML
- genswf9 : fixed verify error with Null<Class> (was using dynamic access)
- small patch for jsfl support
- added .cca for faster string operations on Flash9/Flash/JS
- bugfix with inlined local variables
- upgraded flash9 api to flex3/player 9.0.115
- override is now mandatory, no more --override
- dynamic is now a keyword
- f9dynamic is now dynamic and is mandatory on all platforms
- public/private/dynamic are inherited by default when overriding a method
- removed Reflect.empty() : use {} instead
- changed #else by #elseif, added #else
- flash9 : optimized Hash,IntHash,StringBuf (use typed value)
- Reflect.field/setField/callMethod , Type.enumIndex and StringBuf methods are now inlined
- optimized haxe.Md5 : don't use statics
- allow up to 8 parameters in Reflect.createInstance
- flash9 : some minor optimizations in haxe.Serializer
- added haxe.io package (removed things from neko.io)
- __resolve becomes resolve (and should be documented)
- added haxe.Int32
- removed neko.Int32
- removed neko.io.Input/Output/Eof/Error/Logger/Multiple/StringInput/StringOutput
- removed neko.net.RemotingServer
- changed neko apis to use haxe.io and Bytes instead of String buffers
- fixed big bug in js/flash8 debug stack handling
- complete rewrite of haxe.remoting package
- haxe.io.Bytes serialization support (replace deprecated string support)
- removed === and !==
- removed Std.bool
- fixed : Reflect.field(null) in flash9 doesn't throw an error anymore
- removed Type.toClass and Type.toEnum
- Dynamic type is now a class and not an enum
- moved reflection support for core types from Boot to Std
- fixed Type.getClassName/getEnumName/resolve for core flash9 types
- renamed haxe.rtti.Type to haxe.rtti.CType (with changes in prefix)
- added haxe.TimerQueue, added haxe.Timer.delay, remove haxe.Timer.delayed
- flash9 : bugfix, generated interfaces were empty
- fixed bug while writing block-vars in flash/js
- added parameters default value (constants)
- removed Std.resource, Std.ord, Std.chr
- added haxe.Resource, allow binary data in resources
- added Type.createEnum
- check that local variables get correctly initialized before usage
- haxe.Stack support for flash9
- 2008-04-05: 1.19
- fixed flash9 Array.toString
- fixed inline return bug
- added haxe.rtti.Generic behavior
- added haxe.FastList
- bugfix to prevent recursive anonymous
- fixed some incorrectly reported "recursive inline" errors
- fixes in genas3 + genswf9 for Dynamic/* in methods
- {} is now an empty object and not an empty block
- fixed some verify errors left in flash9
- fixed private/protected differences in gen-hx-classes
- genswf9 : allowed to store a Class in a typed register
- fixed switch-on-bool (don't use matching)
- genswf9 : optimized switch on ints
- some renames in haxe.rtti.Type
- added flash.utils.TypedDictionary for F9
- genswf9 : fixe debug filename with inline code
- fixed completion for packages starting with 'a' or 'z'
- added flash9.Lib.as
- prevent double Movieclip class declaration when linking flash9 lib
- allow numerical operations on type parameters constraint by Float
- genswf9 : fixed dynamic inheritance
- 2008-02-23: 1.18
- some optimization and bugfix for as3 codegen
- bugfix : allow bitmaps and fonts classes for F9 library
- bugfix : neko.Web.setCookie
- bugfix : as3 switches in -swf-lib, and enable to "repair" corrupted as3 bytecode
- fixed --i return value in flash9
- fixed some transforms in flash9
- added js.Selection
- simplified js.Dom (more events)
- added haxe.xml.Fast.innerHTML
- added Reflect.compare
- fixed "".split() in Neko (now returns [""] instead of [])
- bugfix for swf-lib f9 classes ordering
- added EReg.customReplace
- added neko.Lib.lazyLoad and improved neko.net.Poll for Neko 1.6.1
- prevented static fields in interfaces
- added neko.Sys.cpuTime()
- fix for protected as3 classes
- added support for flash9 XML (in flash.xml package)
- added neko.vm.Tls for Neko 1.6.1
- added --no-inline
- renamed neko.zip.File to neko.zip.Reader
- added neko.zip.Writer and neko.zip.CRC32
- fixed multilevel Transform.block_vars
- added js.SWFObject
- fixes for if/switch with null or Null<T> on Flash9
- 2008-01-13: 1.17
- fixed Int32.compare, added Int32.read and Int32.write
- fixed type of unitialized registers in flash9
- fixed Sqlite transactions (commit and rollback now restart a transaction)
- several flash9 optimizations
- flash9 debug support (with -D fdb)
- set align to TopLeft if not defined for flash9
- added neko.vm.Gc
- fixed Null should not be a value
- bugfix in serialization format with USE_ENUM_INDEXES
- added apis in DateTools for time manipulation
- bugfix in flash9 : strictly typed local vars used in local functions
- always force swf version and sandbox redefinition
- added as3hl layer
- merge as3 classes
- use flash9 fast switch for enums
- always use match for enums (no switch even if constant)
- fixed DateTools.format %I and %l in Flash/JS
- securized Hash for JS and Flash
- compiletime F9 class generation for F8 swflib
- optimized for loops (Array and IntIter)
- added #line support
- more f9 Null<T> support for "if" and array declarations
- more neko.Web.setCookie parameters
- added "inline" for methods and static vars
- fixed % type in flash9
- 2007-10-31: 1.16
- use _sans font for default flash traces (better Linux support)
- fixed haxe.remoting.Connection compilation for Flash<8
- added fix to prevent 64K identifiers limit on Flash<9
- ensure order of anonymous fields initialization
- fixed haxe.remoting.Connection.urlConnect in JS
- use amortized O(1) for Neko Array implementation
- ndlls libraries should now use .neko() instead of __a
- allowed 'u' utf8 for regexp (needs Neko 1.6.1 regexp.ndll on windows)
- onclick and onsubmit JS events returns Bool
- fixed inherited constructor of extern class was always private
- fixed Ereg.split without 'g' flag on JS/Flash9
- fixed haxe.Stack in JS without -debug
- added support for -D no-swf-compress
- fixed ByteArray.readObject
- fixed implements Dynamic in Flash9
- removed neko.io.FileInput.eof, fixed neko.io.Input.readLine
- fixed haxe.Template for Flash9
- added neko.Sys.command optional array of arguments
- removed haxe.Proxy
- added flash.XMLRequest
- fixed Type.enumParameters for Neko
- guaranteed order of Type.getEnumConstructs same as code
- used index-based dispatch for enums
- added Type.enumIndex
- fixed enum.toString for Flash and JS
- support for -Dnetwork-sandbox
- trim -cp and -resource
- various genas3 fixes
- 2007-08-29: 1.15
- fixed bug with Enum.construct when Enum have type parameters
- change with "untyped" : arguments types are checked (because of opt select)
- haxedoc : fixed type parameters display
- fix for JS and Flash9 XML parser : allow newlines in attributes
- disable Flash9 resources with AS3Gen
- error on extra anonymous fields
- error on too much big neko array declaration (neko 1.6 max_stack limit)
- fixed Flash9 statics slots (FP 9,0,60 compatibility)
- fixed Flash9 Type.getClassName
- optional enums arguments on Flash9 are now automatically Null
- forbid usage of type parameters in static functions
- fixed Std.int with negative numbers
- fixed some F9 issues with Haxe-specific Array, Date and Math methods
- used AS3 namespace for F9 Array and String instance methods
- fixed F9 with uninitialized integer registers
- fixed F9 + operator with Dynamic/Null operands
- added Enum subtyping
- fix with remoting threadserver and exceptions
- fixed Flash9 dynamic runtime type field access
- fixed very tricky typing bug with constructors inheritance
- fixed some documentation related parser bug
- fixed stack overflow with static setter
- fixed package completion bug when -cp points to an not existing dir
- fix duplicate sandboxes tags with -swf
- __resolve in Haxe Remoting is now public
- 2007-07-25: 1.14
- fixed no error when invalid "catch" expression
- remove variance
- fixed prototype bug in neko when "Main" class is defined
- fixed flash9 xml iterator methods
- bugfix in flash9 ByteArray serialization
- fixed genAS3 conflicting classes and interfaces
- preserve neko output file extension
- added flash.Event for Flash9
- added --no-output
- fixed neko.net.Socket peer and host methods
- added neko.io.Process and neko.vm.Ui
- added haxe.xml.Proxy
- some flash6 fixes
- allowed simplequotes for xml attributes in Flash9 and JS
- flash9 optimizing compiler
- new faster neko binary AST
- added haxe.remoting.NekoSocketConnection and SocketProtocol
- don't allow for...in iteration with Dynamic or Unknown
- added flash9 resources
- fixed precedence of ternary operator ?:
- 2007-05-18: 1.13
- fixed bug with local variable masking package in catch type
- fixed "Not_found" when enum params differs
- added "override" for AS3 generator
- fixed stack overflow in typedefs
- added haxe.Timer.queue, removed delayedArg (use callback instead)
- fixed haxe.remoting.SocketConnection (msg invertions might occur)
- add uniqueness check for switch constants
- js : HtmlCollection and MetaDom.childNodes are not true Arrays
- allowed semicolon after typedef declaration
- fixed in-loop closure usage of "for" variable for Flash and JS
- added neko.net.ThreadRemotingServer.onXml (to handle crossdomain xml)
- more accurate stack trace for socket remoting
- prevent some memory leak in haxe.Timer / JS
- added flash fullscreen support
- added cond?a:b syntax support
- added utf8 buffer api
- added haxelib "dev" mode
- renamed Http.asyncRequest to customRequest
- add classes to Neko module export table
- fixed parametrized enums for Flash6
- fixed bug with completion and interfaces
- fixed --flash-use-stage in Flash9
- 2007-03-06: 1.12
- added flash lite support with -D flash_lite
- bugfix for Unknown<X> should Unknown<X>
- prevent some exceptions in neko.net.ProxyDetect
- fixed ByteArray serialization
- added neko.Int32
- added -x for fast neko scripting
- prevent locals from breaking class access (works with imports)
- fix in function overriding subtyping
- added haxe.remoting.FlashJsConnection
- fixed tar support in neko.zip.File
- ide completion support using --display
- give access to neko.net.Host ip (as Int32)
- fixed bug when calling super.UpperCaseMethod()
- hide additional flash Array methods
- allow leading comma in anonymous types
- added haxe.Public interface
- added AS3 code generator
- field lookup gives priority to superclass over interfaces
- improved haxedoc output
- fixed bug in neko regexp split/replace when empty match at eol
- fixed bug in flash 6-7-8 resources generation
- 2007-01-28: 1.11
- changed StringBuf.add implementation
- added haxe.Firebug
- allowed variable return type for overriden/implemented methods
- display error position in front of each error line
- improved error messages when optional arguments not matched
- added neko.io.Path
- added neko.net.ProxyDetect
- bugfix in unify : prevent recursive anonymous objects
- haxe.Http call "prepare" only if size is known
- added multiple expressions in "case"
- serialization : deprecated old string format, use urlEncode/Decode
- added flash9 bytearray serialization (to binary string, for neko com)
- fixed Type.typeof on some flash9 instances
- no more dontUseCache (haxe.Serializer.USE_CACHE, default to false)
- small genxml/haxedoc improvements
- added Type.enumEq
- local function parameters are now inferred in several cases
- optional RTTI for Spod Object
- bugfix related to callback in neko code generator
- more type error stack (now includes type parameters)
- type system fixes in anonymous subtyping
- added Iterable<T>, changed Lambda
- added TAR and GZIP support to neko.io.Zip
- compute minimal array content type
- fixes in enum switchs
- 2007-01-01: 1.10
- fix in haxe.remoting.SocketConnection.readAnswer
- fix in postfix incr/decr and getter/setter
- added haxe.Http.fileTransfert for Neko
- fixed haxelib to 1.02 (use multipart file transfert)
- fixed Array.reverse
- added flash.Lib.getURL and fscommand for Flash9
- fixed some ignored parse errors
- fixed minor syntax : immediate object access
- allow extend/implements a typedef
- fixed Flash9 AMF remoting
- fixed Flash9 bugs in Date object
- fixed dynamic Array typing bug
- allowed typedef private field access
- added Class<T> base class type
- AsyncConnection.call callback is now optional
- fixed if/switch with no else/default compilation
- moved Reflect.createInstance to Type
- added Reflect.makeVarArgs
- haXelib 1.03 : several developers per project + web interface
- 2006-11-22: 1.09
- added neko.vm.Module and neko.vm.Loader
- haxelib : allowed spaces in "run" arguments
- allowed Thread comparison
- fixed bug in SWF6 compilation
- allowed either Mysql or Mysql5 usage
- replaced db.Connection.hasFeature by db.Connection.dbName
- added Socket.custom field
- moved neko.Thread to neko.vm.Thread
- define haxe_109 (for api changes)
- fixes in haxe.remoting.Connection and haxe.Unserializer for F9
- added haxe.remoting.Connection.urlConnect for JS
- allowed private typedef fields
- added neko.net.ThreadServer, ThreadRemotingServer and Poll
- removed neko.net.RemotingBuffer
- relaxed enums switchs (allow value in first case)
- changed "cast" codegeneration (fix some F9 usages)
- change in POST data handling in mod_neko (max 256K, except multipart)
- added neko.Web.getClientHeaders and neko.Web.flush
- "callback" is now a keyword
- fixed stack overflow when typedef = Dynamic
- fixed Reflect.createInstance on F9
- Array : slice optional length, fixed neko slice & splice
- + fixed cast return type
- 2006-10-29: 1.08
- fixed bug in flash -debug
- fixed Sqlite result .length
- fixed missing "." in OSX/Linux default classpath
- fixed haxelib NDLL autoloading on OSX
- fixed bug in deserialization of "\\\r" sequence
- added inheritance and fields getter/setter to xml output
- haxedoc 2.0
- fixed neko native enum serialization
- fixed "all constructors matched" for enums without params
- fixed returned value semantics in neko (prevent remoting leak)
- more documentation
- added haxe.rtti package (classes can implement haxe.rtti.Infos)
- fixed windows line endings in exclude files under linux/osx
- fixed small bug in "cast" syntax
- added "callback" for partial function application
- added --auto-xml for future haxeFD usage
- fixed Reflect.isFunction
- minor bugfix in JS code generator
- new neko.net package
- allow recursive remoting proxys (skip instead of error)
- added neko.Thread and neko.Lock MultiThread classes
- added neko.net.ServerLoop for multiple clients handling
- 2006-09-11: 1.07
- fixed resources in Neko
- typedef, override, package and f9dynamic are now keywords
- slighly changed error format output
- fixed "undefined" serialization and Type.typeof
- some fixes in haxelib
- set default classpath for non windows systems
- added variance
- fixed bug in bounded type parameters
- fixed scope bug in try/catch with Flash9
- added remoting over XMLSocket and LocalConnection for Flash9
- fixed Std.is(*,null) = false
- allowed >64K Haxe/neko strings
- -debug and stack traces support for Flash and JS
- minor changes in xml output
- 2006-08-28: 1.06
- allowed extern enums
- use only matching construct when parameters are matched
- fixed bug preventing & char to be sent between JS and Flash remoting
- improved flash9 api (more strict)
- flash9 xml : use JS ReXml parser
- added neko.io package (Input/Output)
- moved neko.File and neko.Socket to neko.io package
- fixed flash optional arguments (when extending flash.MC)
- fixed neko native serialization problems
- variable modification does not have side effects in 'for x in a...b'
- jit disabled by default for neko web server
- enable flash7-8 libraries usage from flash9
- unknown identifier become "class not found" when representing a classpath
- changed haxe.PosInfos handling
- added -debug (removed --flash-debug) effective on flash9 and neko only now
- added Type.typeof
- improved Serializer speed
- added Serialization support for Date, Hash, IntHash, List
- added flash9 and JS IE/Opera class reflection
- added haxe.xml.Check and haxe.xml.Fast
- added Xml.parent
- added haxelib
- added ArrayAccess interface
- 2006-08-16: 1.05
- moved Md5 to haxe package.
- some method renamed in neko.FileSystem.
- added neko.remoting.Server.setLogger
- fixed bug in haxe.Serializer on neko (was preventing List serialization)
- fixed bugs in Haxe.Unserializer on neko (invalid enum tag & pbs with UTF8 strings)
- fixed sqlite escape & quote , added BOOL support
- allowed direct property access in getter/setter (prevent rec loop)
- allowed event-driven neko http requests
- forbidden "name" static in js
- don't allow variable redeclaration in subclasses
- added && || and ! in conditional compilation rules
- metas : removed __construct__ and class.toString.
- metas : __super__ and __interfaces__ now optional
- added Type api (seperated from Reflect)
- flash 9 support
- 2006-07-25: 1.04
- added macros in haxe.Template
- allowed static variables access from a signature shortcut
- allowed new Signature when signature is a class
- fixed : modulo priority is now higher than mult and div
- fixed bug in haxe.Proxy generation
- fixed more stack overflows with recursive signatures
- fixed bug in class <: anonymous subtyping (inherited fields)
- override is not mandatory by default (need --override)
- added neko just-in-time
- fixed bugs in haxe.Serializer and haxe.Unserializer (enum format change)
- changed "signature" by "typedef" (more comprehensible)
- restricted objects comparisons
- fixed bug with js operator priority
- improved performances for haxe.Serializer and haxe.Unserializer
- fixed bug in static variable lookup (should look class in the last case)
- prevented several prints of "not enough arguments".
- 2006-06-23: 1.03
- haxedoc executable now part of the distribution
- removed selectDB from the neko.db.Connection API
- added optional parameters with selection
- removed --no-flash-opt-args
- changes in SWF packages handling
- fixed optional leading comma in anonymous object and array values
- fixed bug in inheritend constructor type parameters
- fixed bug in type_field with inherited type parameters
- added haxe.Proxy
- added code transformations for swf/js block variables
- fixed very tricky bug with constraint parameters used together with polymorphic methods
- added selective import (import x.y.Class.InnerType)
- added optional enum constructor parameters
- added opened anonymous types (no more Unknown has no field...)
- fixed "MovieClip extends flash.MovieClip".
- added Reflect.copy
- added neko.Random
- added Date.fromString
- fixed bug in haxe.Unserializer, slighlty optimized haxe.Serializer
- added __setfield magic (complete __resolve)
- added explicit override when overriding methods
- 2006-06-08: 1.02
- fixed stack overflow when recursive class <: recursive signature
- improved a bit commandline : allow several hxml arguments
- added {> Class, fields... } types declarations
- added cast without type (less dangerous than untyped)
- no stage objects by default, added --flash-use-stage
- added haxe.remoting.DelayedConnection
- added -exclude
- removed classpath from neko debug infos filenames
- fixed bug in Neko empty Array.pop and Neko EReg.replace ""
- fixed nodeValue for Neko XML comments, doctype, prolog
- improved DocView : formating, signatures, files generation
- added neko.zip package
- fixed bug in neko.File binary flags
- fixed problems when downloading large files using haxe.Http under Neko
- neko.db.Connection and neko.db.ResultSet are now interfaces
- added neko.db.Sqlite and neko sqlite ndll
- mod_neko2.ndll for Apache2 in Windows distribution
- fixed bug in static properties method resolution
- change js.Dom : use cascading signatures and improved api
- added haxe.unit Unit test framework
- 2006-05-25: 1.01
- added neko.Utf8
- Serializer/Unserializer now support utf8 strings
- allowed subtyping of prop accesses public/private when implementing an interface
- removed "eval" from Remoting APIs (only calls - more easy to handle).
- added flash6 support
- fixed Std.is on different platforms (interfaces implements interface)
- added AsyncConnection.amfConnect for flash
- added SWF overflow checks
- changed "property" to "var"
- don't allow monorph unification with Dynamic (more safe)
- allowed multiple parsing and typing errors
- review and completed commandline options
- error on backwards constant integer iterators
- remoting proxy constructor is now public
- fixed -swf-header override the swflib background color
- moved all remoting classes into the haxe.remoting package
- added haxe.remoting.LocalConnection
- 2006-05-17: 1.0
- fixed small bugs in JS Xml Parser (empty attribute, newlines in attributes)
- added default Content-Type for haxe.Http in JS
- haxe.AsyncConnection : onError should not be call if error occur in onData
- fixed infinite loop if haxe.Unserializer.readDigits reach eof on JS/Flash
- fixed bugs in neko.Web and neko.Sys (some methods returning "null" instead of null)
- added neko.Socket.setBlocking for nonblocking sockets
- fixed bug in js generator when using cascading iterators
- fixed typing bug when overloading parametrized method
- fixed bug in js generator when "try" without curly braces.
- allowed enum catching
- added remoting proxys
- allowed neko.Web API commandline emulation outside mod_neko
- removed subtyping Anon :> Instance
- added signatures, Iterator is now a signature
- getter/setter and public/private unification
- allowed anonymous declaration with interface-style syntax (for signatures)
- optimized code generated for underscore in enum matches parameters
- fixed flash/js String.charCodeAt(outside) => null
- fixed neko charAt(outside) => ""
- added errors for strings containing \0 in JS and Flash
- added HAXE_LIBRARY_PATH environment variable support
- fixed interfaces inheritance : can't extend, can implement (type-sums)
- fixed fixed >64K resource bug in SWF
- fixed newline problems with Flash/JS Connection
- 2006-05-02: RC1
- added the Socket class
- fixed a bug of returned value in neko with 6 or more parameters
- added "Missing type" error for catchs.
- added regular expressions (still missing Flash implementation)
- fixed type printing and parenthesis in type declarations
- different behavior when elements removed during Array.iteration
- fixed genswf : local variables used in for...function
- improved type parameters structure coherency
- enable usage of Spod without Transaction
- implemented neko.db.Transaction.isDeadlock
- slighly relaxed one of the javascript generator constraint
- added haxe.Template
- moved Log , PosInfos and ImportAll to haxe package
- completed private class/interface/enum support
- removed Array.indexes
- added __resolve compile-time support when class implement Dynamic
- added haxe Remoting
- added "module with different case" error (for windows)
- added Reflect.resolveClass, Reflect.resolveEnum, Reflect.setPrototype
- added access to classes by name in genneko
- added enum.__ename__
- fixed Std.is(e,enum)
- fixed infinite loop in neko EReg split/replace and epsilon matching
- added neko native serialization support
- fixed syntax for multiple constraints in type parameter
- added recursive type parameters constraints (T : C<T> constraints)
- updated Xml handling
- 2006-04-17: beta 5
- fixed bug : continue in do...while
- changed typing order for do...while (infer condition after block)
- fixed JS "catch" generation
- fixed extending flash.* extern class
- fixed bug in neko generator w/ closures
- fixed bug in js generator (return switch need correct "this" context)
- fixed bug in for x in a...b : invalid local variables overridding
- added properties
- fixed bug in js generator : while...switch...break
- new List implementation
- can use static function __init__ on every platform
- bug fixes in Reflect.fields
- added Hash.remove, changed Hash/JS implementation
- added flash __delete__ support
- added neko.db.Object, Manager, Transaction
- fixed neko class.__interfaces__
- added "assigning a value to itself" error
- added automatic PosInfos when is last parameter
- added polymorphic methods
- added check_flash_args support
- 2006-04-02: beta 4
- fixed javascript events case
- fixed invalid use of physeq
- fixed + type inference
- added -altfmt
- allowed anonymous <: class subtyping
- relaxed unifications of expressions in "for" and "while"
- more methods in List
- syntax changes : mandatory parenthesis for "for" and "while"
- allowed any kind of identifier almost everywhere
- moved tools, flash, js and neko inside "std"
- no need for 0x in flash header bgcolor
- added -res
- fixed type parameter contraint holes
- Std.is Dynamic always returns true
- added Enum.toString
- neko : env locals can be modified in inner functions
- completed js keywords list in generator
- added Reflect.typeof
- prioritize neko.Lib.load static calls
- fixed bugs in for...in optimization with continue
- fixed Reflect fields, added documentation, added Class
- added javascript closures, fixed null closures on flash and Neko
- added javascript __init__ statics and js.XMLHttpRequest
- added neko.Stack
- fixed bug in Std.ord
- convert neko string to haxe string on catch
- automaticaly creates empty clips for classes extending flash.MovieClip
- unify stack : several meaningful unification errors
- added cast operation and keyword
- 2006-03-11: beta 3
- javascript generator
- optimized for in interval
- renaming of locals (name must be unique)
- added uncaught exceptions handling in Flash
- fixed Bool.true == true and Bool.false == false on all platforms
- fixed matching on Bool different from enums
- removed -fplayer (use -D instead) and added -fheader
- fixed infinity is Int
- added "here" special identifier
- neko Apis : File, FileSystem, Sys
- added base JS API
- 2006-02-19: beta 2
- renamed neko.db.Result to neko.db.ResultSet
- added Date support for Mysql results
- added private fields for static class anonymous types
- disambigous >=, >>= and >>>=
- fixed inheritance bug in swf and neko generators
- improved function parameters type error reporting.
- allowed variable number of args for flash.* constructors.
- added Math.random(), Reflect.empty()
- added flash.XMLSocket and flash.Timer classes
- completed Std class with conversion functions and others.
- completed flash.Lib class with flash toplevel functions.
- fixed bugs in neko webserver
- 2006-02-04: beta 1
- allowed array literals to be dynamic
- use neko 1.2 commandline and prototypes
- changed #cond to #if cond for conditional compilation
- all fields are defined to null by default
- defined __class__ and other meta accesses for Flash and Neko
- fixed type hole for compiler-know types (should not resolve using imports)
- changed packages : neko.* and flash.* (with protection)
- added Lazy types : type the fields when they are needed with recursion
- untyped accesses are monomorphs, not dynamics
- generated __string check that toString() return an object
- XmlParser and other APIs for Neko
- fixed escaped chars in Neko generation
- conservative static initialization order
- allowed no type parameters for new Class
- function types carry parameter names
- anonymous types contain private variables (for private static accesses)
- added optional name for anonymous types in typer (for static accesses)
- private classes and enums (partial support)
- improved error message for invalid number of arguments
- flash extern classes can take variable number of args.
- added -swf-lib for importing SWF library
- added neko.db package
- 2005-12-23: alpha 5
- added -main commandline parameter
- catches are now working with Neko
- restricted catch types for type-safety
- added constructor inheritance + check if superconstructor is called
- allowed Dynamic-only subtyping on type parameters
- added method closures to Neko generation
- added class Reflect
- added License : libraries are BSD
- added -xml documentation output
- allowed class instance :> anonymous subtyping
- 2005-12-10: alpha 4
- forbid break and continue outside loops
- fixed SWF generation bugs
- added SWF "extends" support
- added method closures
- added some flash lowlevel operations (__xxx__)
- added Log, LogInfos and trace
- added Neko generation
- fixed problems with conditional compilation macros
- 2005-11-30: alpha 3
- added Flash extern classes
- Boot initialization
- added "untyped"
- added conditional compilation
- added interfaces
- changed iterators from closures to objects
- added (XML)Node and XmlParser for Flash
- 2005-11-25: alpha 2
- swf generation (missing iterators)
- some typing fixes
- 2005-11-17: alpha 1b
- fix some bugs
- changed package tests.lang
- 2005-11-14: alpha 1
- lexer
- parser
- typer
|