CHANGES.txt 79 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742
  1. 2016-12-24: 3.4.0-RC2
  2. New features:
  3. js : added API documentation to HTML externs (#5868)
  4. php : added php7 target, enabled with -D php7
  5. Bugfixes:
  6. all : fixed top-down inference infinite recursion issue (#5848)
  7. all : fixed regression in Compiler.include (#5847)
  8. all : fixed Not_found exception related to try/catch (#5851)
  9. all : fixed metadata completion showing up in trace arguments (#5775)
  10. all : fixed problem with useless pattern detection (#5873)
  11. all : fixed issue with toString handling in trace arguments (#5858)
  12. all : fixed inline constructor scoping (#5855)
  13. cpp : fixed issue with cpp.Pointer variables being eliminated (#5850)
  14. js : added Notification API to HTML externs (#5852)
  15. js : fixed several options structures in HTML externs (#5849)
  16. php/cs : FileSystem.deleteFile() and FileSystem.deleteDirectory() now throw on non-existent path (#5742)
  17. php/lua : fixed field access on `null` (#4988)
  18. php : fixed static field access on a `Class<T>` stored to a field (#5383)
  19. php : fixed invalid detection of `NativeArray` by `Std.is()` (#5565)
  20. php : fixed `stdin()`, `stdout()`, `stderr()` of `Sys` to use predefined constants for corresponding channels (#5733)
  21. php : fixed Std.parseInt() on hexstrings for PHP7+ (#5521)
  22. php : fixed typed cast in assign operations (#5135)
  23. php : fixed exception thrown by `Reflect.fields(o)` when `o` is `Class<T>` (#5608)
  24. php : fixed json encoding of empty objects (#5015)
  25. php : fixed checking floats for equality (#4260)
  26. php : throw if invalid json string supplied to Json.parse() (#4592)
  27. php : fixed ssl connections (#4581)
  28. php : fixed writing bytes containing zero byte to MySQL & SQLite (#4489)
  29. php : fixed call()() cases for PHP5 (#5569)
  30. 2016-11-29: 3.4.0-RC1
  31. New features:
  32. all : support metadata completion
  33. all : support type-hint completion
  34. all : added @signature display mode (#4758)
  35. all : finalized HashLink (HL) target
  36. General improvements and optimizations:
  37. all : greatly improved support for display mode in general
  38. all : made --times output look much nicer
  39. all : remove calls to functions that have no side-effect
  40. all : hid private property accessors from completion (#5678)
  41. js : updated jQuery extern (js.jquery.*) for jQuery 1.12.4 / 3.1.0 support.
  42. js : jQuery extern (js.jquery.*) now includes deprecated fields marked with @:deprecated.
  43. js : no longer rewrite `o["s"]` to `o.s` (#5724)
  44. cpp : greatly improved ObjC output and integration options
  45. lua : greatly improved code output quality
  46. Bugfixes:
  47. all : fixed various optimization issues
  48. all : fixed various issues with side-effect detection
  49. all : fixed performance drain in the DCE implementation (#5716)
  50. all : fixed issue with assignments when inlining constructors (#5340)
  51. all : fixed major inlining issue when using compilation server (#5320)
  52. all : fixed pattern matching evaluation order issue (#5274)
  53. cpp : fixed various minor code generation issues
  54. js : fixed issue regarding iterating over abstracts (#5385)
  55. python : fixed evaluation order issue for array writing (#5366)
  56. Standard Library:
  57. all : added Any type (#5500)
  58. all : added haxe.extern.AsVar
  59. all : added haxe.macro.CompilationServer (experimental)
  60. all : fixed haxe.Template.resolve (#5301)
  61. 2016-05-27: 3.3.0-RC1
  62. New features:
  63. all : support @:resolve on abstracts (#3753)
  64. all : support extern abstracts and extern @:enum abstracts (#4862)
  65. all : support completion on { if the expected type is a structure (#3907)
  66. all : support (expr is Type) with mandatory parentheses (#2976)
  67. all : allowed passing package dot-paths on command line (#4227)
  68. all : support import.hx modules that define per-directory import/using directives (#1138)
  69. all : support parsing of postfix ! operator (can be used by abstract operator overloading and macros) (#4284)
  70. all : support parsing of ||= and &&= operators (can be used by abstract operator overloading and macros) (#4427)
  71. all : support @:structInit classes (#4526)
  72. all : reworked static analyzer and enabled it by default
  73. flash : update flash externs to version 21
  74. hl : added HL target (interpreter and C output)
  75. lua: added lua target
  76. js : introduced new jQuery extern (js.jquery.*) for jQuery 1.12.4 / 2.2.4 support. (#4377)
  77. js : introduced new SWFObject extern (js.swfobject.SWFObject) for SWFObject 2.3.20130521 (#4451)
  78. js : added js.Lib.rethrow (#4551)
  79. cs/java : added -D fast_cast as an experimental feature to cleanup casts
  80. Bugfixes:
  81. all : properly disallowed assigning methods to structures with read-accessors (#3975)
  82. all : fixed a bug related to abstract + Int/Float and implicit casts (#4122)
  83. all : disallowed duplicate type parameter names (#4293)
  84. all : made UInt's >>> behave like >> (#2736)
  85. all : fixed various type loading issues
  86. all : fixed code generation problems with `inline` (#1827)
  87. php/as3 : support run-time metadata on interfaces (#2042)
  88. php : fixed argument passing to closures (#2587)
  89. neko/cpp : fixed various sys.Filesystem issues with Windows drive paths (#3266)
  90. as3 : fixed problem with covariant return types (#4222)
  91. as3 : fixed rare problem with static initialization order (#3563)
  92. python : fixed various reflection problems
  93. General improvements and optimizations:
  94. all : added support for determining minimal types in Map literals (#4196)
  95. all : allowed @:native on abstracts to set the name of the implementation class (#4158)
  96. all : allowed creating closures on abstract inline methods (#4165)
  97. all : type parameter declarations can now have metadata (#3836)
  98. all : optimize Math.ceil/floor on constant arguments (#4223)
  99. all : allowed extern classes to have field names being used for both static and instance (#4376)
  100. all : added haxe.Constraints.Constructible (#4761)
  101. all : rewrote pattern matcher to improve output in many cases (#4940)
  102. python : use spaces instead of tabs to indent the output (#4299)
  103. cpp : reworked backend to improve overall code output quality and fix various issues
  104. swf : added scene-tag to allow creating accessible SWF files
  105. Standard Library:
  106. all : added Lambda.flatten and Lambda.flatMap (#3553)
  107. all : added haxe.Constraints.Constructible (#4761)
  108. sys : proper quoting/escaping (can be opt-out) for Sys.command and sys.io.Process (#3603)
  109. js : added position parameter to haxe.macro.Compiler.includeFile
  110. js : removed -D embed-js (#4074)
  111. js : updated HTML externs
  112. Macro features and changes:
  113. macro : added overloads field to ClassField (#3460)
  114. macro : added Context.getLocalImports (#3560)
  115. macro : added Context.onAfterTyping (#4714)
  116. macro : added Context.resolveType
  117. 2015-10-11: 3.2.1
  118. Bugfixes:
  119. cs/java : fixed `-dce no` issues
  120. cs/java : fixed how KExpr type parameters are generated
  121. cs : fixed enum creation by reflection problem
  122. cpp : do not rely in reflection to make interfaces work for non-first interface parents
  123. cpp : fixed setting of static variables via reflection when class has no member variables
  124. cpp : make sure StringMap's h field is kept if we use StringMap
  125. js : Avoid the use of `eval`/`Function` to get the top-level defined type/var to not break ContentSecurityPolicy
  126. 2015-05-12: 3.2.0
  127. New features:
  128. all : added @:noPrivateAccess to re-enable access restrictions within @:privateAccess
  129. cpp : some support for @:nativeGen metadata
  130. Bugfixes:
  131. all : fixed detection of @:generic classes with constructor constraints
  132. all : fixed variable initialization check issue in loop condition
  133. all : fixed pattern matching on @:enum abstracts via field access (#4084)
  134. all : fixed missing implicit casts in Map literals (#4100)
  135. all : fixed various minor issues in haxe.xml.Parser
  136. all : fixed class path issue when HAXE_STD_PATH is set (#4163)
  137. js : fixed DCE issue related to printing enums (#4197)
  138. js : fixed various issues with the new Bytes implementation
  139. php : fixed EOF handling in FileInput.readByte (#4082)
  140. cs/java : fixed Math.fround implementation (#4177)
  141. cs/java : fixed some cases of Std.parseInt failing (#4132)
  142. cpp : fixed compilation without -main (#4199)
  143. General improvements and optimizations:
  144. all : --macro keep no longer causes types to be included for compilation
  145. php : support interpolation in __php__ code
  146. js : added variable number of arguments support in js.html.* classes
  147. js : refined new HTML externs
  148. Macro features and changes:
  149. macro : [breaking] synced FClosure and FInstance with the compiler updates
  150. 2015-03-15: 3.2.0-RC1
  151. This release removes support for Flash 8 target
  152. New features:
  153. all : added --display mode for toplevel completion
  154. all : added --display mode for position and usage information
  155. all : allowed @:callable on abstracts to forward calls to their underlying type
  156. all : allowed pattern matching on getters
  157. all : allowed @:native on class fields
  158. all : added static analyzer with constant propagation
  159. all : added Haxe-based XML implementation
  160. python : added python target
  161. flash : flash player 12-14 support
  162. js : added @:jsRequire and js.Lib.require
  163. js : support haxe.CallStack.exceptionStack
  164. cs : added @:bridgeProperties
  165. cs : added -D erase_generics
  166. cs : added -D dll_import to import haxe-generated dlls
  167. java/cs : added `sys.db` package
  168. java/cs : clean unused files in output folder, unless `-D keep_old_output` is defined
  169. java/cs : added `-c-arg` to add C#/Java compiler arguments
  170. cpp : inititial implementation of cppia scripting
  171. Bugfixes:
  172. all : fixed nullability of abstracts over functions
  173. all : fixed some equality checks between UInt and Int
  174. all : fixed rare issue with abstract casts
  175. all : fixed some internal code which relied on unspecified evaluation order
  176. all : fixed exhaustiveness checks involving guards
  177. all : fixed issue involving recursively constrained type parameters and @:generic
  178. all : fixed type inference issue in map literals
  179. all : fixed type inference issue when calling abstract method from within the abstract
  180. all : fixed several abstract variance issues
  181. all : fixed DCE issues with interface properties
  182. all : fixed variance issue with function variables and dynamic methods on interfaces
  183. all : fixed pattern matching on empty arrays that are typed as Dynamic
  184. all : fixed various @:generic issues
  185. all : fixed default cases on @:enum abstract being omitted
  186. all : fixed various expression positions
  187. all : disallowed break/continue in closures in loops
  188. all : disallowed inline functions in value places
  189. all : fixed parsing of cast followed by parentheses
  190. all : fixed resource naming in case of invalid file system characters
  191. all : fixed issue with inlined array declarations with field access
  192. cpp : fixed issue with the side-effect handler
  193. cpp : fixed issue with NativeArray in --no-inline mode
  194. php : fixed issue with invalid references for closures in for-loops
  195. php : fixed Reflect.compare and string comparison for numeric strings
  196. cs/java : fixed various issues with -java-lib and -net-lib.
  197. cs/java : added @:libType to skip checking on -java-lib / -net-lib types
  198. cs/java : compilation server now works with C#/Java [experimental support]
  199. cs : fixed Type.enumIndex / switch on C# native enums
  200. cs : fixed reflection on COM types
  201. java : fixed sys.net.Socket server implementation
  202. spod : various fixes - working now on cpp, java, neko, php and c#
  203. cpp : improved boot order, with enums constants first
  204. General improvements and optimizations:
  205. all : disallowed using `super` in value positions
  206. all : check exhaustiveness of explicit Null types
  207. all : resolve unqualified identifiers to @:enum abstract constructors
  208. all : determine @:generic type parameters from constructor call if possible
  209. all : properly disallowed field redefinition in extending interface
  210. all : properly disallowed leading zeroes for Int and Float literals
  211. all : allowed variance on interface variables
  212. all : allowed pattern matching on arrays if they are typed as Dynamic
  213. all : allowed pattern matching on fields of parent classes
  214. all : -D doc-gen no longer implies -dce no
  215. all : allowed matching against null on any enum instance
  216. flash/js: optimized haxe.ds.StringMap
  217. neko : create output directory if it does not exist
  218. js : inline Math methods and fields
  219. cs/java : optimized Reflect.fields on dynamic structures
  220. cs/java : haxe will now clear output directory of old files (use -D keep-old-output to keep them)
  221. cs : optimized field lookup structure
  222. cs : optimized casting of parametrized types
  223. cs : beautify c# code output
  224. cs : added `cs.Flags` to manipulate C# enums that can be also flags
  225. xml : improved documentation generation and fixed missing entity escaping
  226. cpp : property access via Dynamic variables now requires property to be declared with @:nativeProperty
  227. cpp : allow injection of code from relative paths using @:sourceFile and @:cppInclude
  228. cpp : stronger typing of native functions via cpp.Function + cpp.Callable
  229. cpp : moved 'Class' implementation to hx namespace to improve objective C interaction
  230. cpp : added file_extension define to change the output filename extension (eg, ".mm")
  231. cpp : added pre-calculated hashes to string constants to allow faster lookups
  232. cpp : map implementation allows strongly typed interactions in some cases (avoids boxing)
  233. cpp : added native WeakMap implementation
  234. cpp : put each resource into own cpp file to allow more data/smaller files
  235. Standard Library:
  236. all : added typed arrays to haxe.io package
  237. all : added haxe.ds.Either
  238. all : added haxe.extern.Rest type for representing "rest" arguments in extern method signatures
  239. all : added haxe.extern.EitherType abstract type for dealing with externs for dynamic targets
  240. all : added haxe.DynamicAccess type for working with dynamic anonymous structures using a Map-like interface
  241. all : [breaking] changed haxe.ds.Vector.get to return T instead of Null<T>
  242. all : added haxe.macro.Compiler.addGlobalMetadata
  243. all : changed haxe.Int64 to be an abstract type instead of a class
  244. js : updated HTML externs
  245. Macro features and changes:
  246. macro : added Context.getLocalTVars
  247. macro : added TypedExprTools.iter
  248. macro : added Context.getCallArguments
  249. macro : changed @:genericBuild macros to prefer ComplexType returns
  250. macro : [breaking] extended TAnonymous structures now have AExtend status instead of AClosed
  251. macro : added Context.getDefines
  252. macro : fixed file_seek from end (position was inversed)
  253. macro : added Context.storeTypedExpr
  254. macro : allowed type name reification
  255. Deprecations:
  256. all : deprecated structurally extending classes and interfaces
  257. sys : Sys.command shell special chars (&|<>#;*?(){}$) are now properly escaped
  258. java/cs : Lib.nativeType is now renamed to Lib.getNativeType
  259. 2014-04-13: 3.1.3
  260. Bugfixes:
  261. all : fixed handling of abstract variance
  262. flash : ensure correct endianess in haxe.io.BytesBuffer
  263. cpp : fixed issue involving class paths with spaces
  264. php : fixed >>>
  265. macro : fixed haxe.macro.Compiler.keep
  266. General improvements and optimizations:
  267. all : give @:deprecated warnings by default, allow -D no-deprecation-warnings
  268. cpp : optimized Vector implementation
  269. Standard Library:
  270. all : renamed Bytes.readDouble/Float to getDouble/Float to avoid inheritance issues
  271. all : deprecated Bytes.readString in favor of getString
  272. all : added pretty-printing to haxe.format.JsonPrinter (and haxe.Json)
  273. 2014-03-29: 3.1.2
  274. Bugfixes:
  275. all : disallowed spaces between >>, >>>, >>= and >>>=
  276. all : fix branching issue when switching on Dynamic values with only one case
  277. all : added missing abstract cast call when checking for equality
  278. all : fixed member fields initializations on parent classes that have no constructor
  279. all : fixed toString usage of abstracts which are argument to Std.string
  280. flash : avoid rare FP 12 PPAPI JIT crash
  281. cpp : fixed bug in side-effect handler which caused incorrect behavior of while loops
  282. js : fixed missing print function for enum values with DCE
  283. macro : make sure member field initializations are respected
  284. General improvements and optimizations:
  285. all : cached file exist checks to speed up compilations with a lot of class paths
  286. all : improved completion related to super class fields
  287. all : allowed iterating on abstract which have get_length and @:arrayAccess fields
  288. js : improved Type.allEnums implementation to avoid issues with obfuscation
  289. Standard Library:
  290. all : added haxe.io.Bytes.readDouble/Float
  291. all : added haxe.io.BytesBuffer.addString/Float/Double
  292. 2014-03-15: 3.1.1
  293. New features:
  294. all : added -D deprecation-warnings
  295. all : allowed \u escape sequences in strings
  296. cs : implemented haxe.CallStack
  297. Bugfixes:
  298. all : fixed wrong handling of "" and null in haxe.io.Path.join
  299. all : fixed invalid cast-to-self generation on some abstracts
  300. all : removed @:to Dynamic from UInt to avoid issues in the Map selection algorithm
  301. all : fixed various issues with UInt
  302. all : fixed position setter in haxe.io.BytesInput
  303. all : fixed various issues with member/static extension macros
  304. flash : fixed invalid override involving single-constraint type parameters
  305. flash8 : fixed various bugs
  306. js : fixed a problem with Std.string(null) being optimized incorrectly
  307. js : fixed custom generators
  308. cpp : dealt with string literals that are too long for MSVC
  309. cs : fixed various issues with -net-lib
  310. 2014-03-04: 3.1.0
  311. New features:
  312. all : allowed null-patterns in pattern matching
  313. all : allowed extractors in pattern matching using => syntax
  314. all : allowed extending generic type parameters
  315. all : allowed (expr : type) syntax (ECheckType)
  316. all : allowed @:enum and @:forward on abstracts
  317. all : allowed using abstracts as static extension
  318. all : allowed Class.new
  319. all : added EnumValue.match
  320. all : allow multiple structural extension using { > T1, > T2, fields }
  321. all : inline array and structure declarations if possible
  322. cs : added -net-lib
  323. cs : support for native delegates
  324. cs : support for attributes
  325. cs : support for events
  326. Standard Library:
  327. all : support abstract types in haxe.rtti.XmlParser
  328. all : added Std.instance
  329. all : added length field to BytesBuffer, BytesOutput, BytesInput and StringBuf
  330. all : added UInt for all targets
  331. all : added Array.indexOf and Array.lastIndexOf
  332. all : added haxe.xml.Printer
  333. all : added haxe.Int32 as abstract type
  334. all : added haxe.format.JsonParser/Printer
  335. General improvements and optimizations:
  336. all : optimized pattern matching output
  337. all : allowed recursive type parameter constraints
  338. all : improved support of custom @:coreType abstracts
  339. all : evaluate conditional expressions in @:require
  340. all : improved inline constructors by detecting more cases where it can be applied
  341. js : improved inlining
  342. js : always use JSON extern (compile with -D old-browser to disable)
  343. js : added -D js-flatten
  344. js : added -D js-es5
  345. cpp : improved side-effect detection
  346. Bugfixes:
  347. all : inlining a parameter which has side effects will not remove it even if not used
  348. all : implemented constraints check on enum and enum field type parameters
  349. all : fixed memory leak in compilation server and optimized caching in general
  350. all : fixed issue with invalid lowercase class name in Windows completion
  351. flash : fixed font embedding with UTF8 chars
  352. flash : give error if non-nullable basic types are skipped in a call
  353. flash : give error if assigned parent class field values would be overwritten by super()
  354. Macro features and changes:
  355. macro : add Context.onAfterGenerate
  356. macro : add Context.typeExpr
  357. macro : add Context.getExpectedType
  358. macro : add ExprTools.getValue
  359. macro : allowed $v{(c:Float|Int|String)}
  360. macro : resolve error line number in external files
  361. macro : rewrote macros used as static extension
  362. macro : exposed typed AST
  363. macro : added @:genericBuild
  364. macro : [breaking] first argument of ComplexType.TExtend is now Array<TypePath> instead of TypePath
  365. macro : improved expression printing
  366. 2013-09-25: 3.0.1
  367. all : minor DCE bug fix
  368. 2013-05-25: 3.0.0
  369. all : added haxe.ds.BalancedTree
  370. all : added haxe.ds.EnumValueMap
  371. all : allow enum constructors as keys to Map
  372. all : haxe.ds.ObjectMap is now correctly constrained on all targets
  373. all : preliminary support of -D display-mode=usage|position|metadata
  374. all : improved pattern matcher error messages
  375. all : allow inline constructors
  376. all : allow abstract member macros (not for @:op, @:arrayAccess, @:from, @:to)
  377. all : allow abstract type parameter variance
  378. all : do not generate hidden null on if without else
  379. macro : made abstract structure available
  380. 2013-05-08: 3.0.0-RC2
  381. all : improved abstract support
  382. all : renamed HAXE_LIBRARY_PATH to HAXE_STD_PATH
  383. all : added inlinable constructors
  384. all : renamed haxe.ds.FastCell to GenericCell
  385. all : fixed >= operator in #if conditionals
  386. all : improved completion support for Unknown results
  387. all : allowed [] access for Map
  388. all : added haxe.ds.WeakMap (not yet supported on all platforms)
  389. all : all trace parameters are now printed by default
  390. all : added --help-metas
  391. all : improved completion
  392. all : improved pattern matching variable capture and GADT support
  393. js : cached $bind results (unique closure creation per instance)
  394. js : removed --js-modern (now as default)
  395. cpp : added socket.setFastSend
  396. flash : update player 11.7 api
  397. flash : improved @:font, @:sound and @:bitmap support
  398. neko/java/cs : improved Array performances when growing with []
  399. java : added -java-lib support
  400. java : added sys.net package implementation (alpha)
  401. java : complete java std library through hxjava haxelib
  402. java/cs : added support for overloaded function declarations
  403. java/cs : overload selection algorithm
  404. cs : operator overloading is now accessible through Haxe
  405. cs : source mapping; can be disabled with -D real_position
  406. as3 : fixed rare syntax ambiguity
  407. php : removed initialization of some inline fields
  408. macro : fixed several issues with 'using' a macro function
  409. macro : improved expression printing
  410. 2013-02-24: 3.0.0-RC
  411. flash : updated player 11.4 api
  412. all : allowed named functions as r-value
  413. all : fixed using + overload usage
  414. all : allow any type constraint for type parameters
  415. all : make property type optional (when a initial value is set)
  416. all : Std.random(x) when x <= 0 is now always 0
  417. spod : added serialized data with SData<T>
  418. all : Dispatcher will now throw DETooManyValues
  419. all : speed up neko compilation by using native compiler
  420. all : allow @:generic on functions
  421. all : allow constructing generic type parameters
  422. swf : added support for SWC files in -swf-lib
  423. macro : added Context.onTypeNotFound callback for unresolved types
  424. js : no JS embed as default (use -D embed-js instead)
  425. all : added abstract types (Int/Float/Bool/Void/Class/Enum/EnumValue)
  426. all : added --help-defines
  427. all : changed DCE with three modes : std(default), no and full
  428. all : Haxe3 packages changes (see http://haxe.org/manual/haxe3)
  429. all : Removed haxe.Int32, haxe.Firebug, haxe.TimerQueue
  430. all : added -D key=value and #if (key >= value) operations
  431. all : StringTools.htmlEscape/unescape nows handle "/&quot; and '/&#039;
  432. all : using and import must now appear before any type declaration in a file
  433. all : no longer create variable fields for pure getter/setter properties (unless @:isVar is used)
  434. all : use default get_prop/set_prop instead of custom getter/setter names for properties
  435. js : added JQuery.delegateTarget
  436. macro : removed EType and CType, added EMeta, modified ESwitch
  437. all : allow @metadata expr
  438. all : replaced haxe.rtti.Generic interface with @:generic metadata
  439. all : no longer infer arrays of mixed types as Array<Dynamic>
  440. all : all type/import/enum constructor resolution now follows the shadowing principle (latest has priority)
  441. all : added EReg.matchSub, renamed EReg.customReplace to map
  442. all : no longer allow initialization of extern non-inline variables
  443. swf : fixed out of memory errors on very large swf-lib files
  444. swf : added -D swf_preloader_frame, swf_gpu, swf_direct_blit
  445. swf : added -D swf_script_timeout=seconds, swf_debug_password=password, swf_metadata=file
  446. swf : added -swf-lib-extern
  447. swf : added @:font support (beta)
  448. all : added GADT support in enums
  449. all : added pattern matching (beta)
  450. all : changed callback(func, args) to func.bind(args)
  451. macro : added haxe.macro.ExprTools/ComplexTypeTools/TypeTools
  452. macro : changed reification syntax to ${expr}, $a{array}, $p{path}, $v{value}
  453. macro : allow macro @:pos(pos-expr) to inject positions for reification
  454. all : added array comprehension
  455. flash : Vector.length is now Int instead of UInt
  456. all : moved haxe.BaseCode, haxe.Md5 and haxe.SHA1 to haxe.crypto package
  457. all : disallow Void variables and arguments (still allow S -> T to S -> Void)
  458. all : added Array.map/filter
  459. all : added spell check suggestions for enum constructors and fields
  460. all : added opaque abstract(T) types
  461. all : allow operator overloading on opaque abstract types
  462. all : renamed IntIter to IntIterator
  463. all : added Map
  464. all : added haxe.ds with StringMap, IntMap, HashMap, ObjectMap, Vector, GenericStack
  465. all : removed Hash, IntHash and haxe.FastList in favor of the types in haxe.ds
  466. all : haxe.xml.Parser now handles entities consistently across platforms
  467. all : renamed HAXE_LIBRARY_PATH environment variable to HAXE_STD_PATH
  468. 2012-07-16: 2.10
  469. java/cs : added two new targets (beta)
  470. all : fixed List and Null<T> for first, last, pop
  471. js : added js.Lib.debug()
  472. flash : fixed Xml.parent() when no parent
  473. flash : fixed haxe.io.Bytes.blit when len=0
  474. js/php/flash8 : fixed haxe.Int32.mul overflow on 52 bits
  475. js : fixed haxe.Utf8 usage (static 'length' issue)
  476. all : does not allow overriding var/prop
  477. flash : removed wrapping for Xml nodes, use instead specific compare when comparing two typed nodes
  478. js : use new haxe.xml.Parser (faster, not based on Regexp)
  479. flash : fixed completion issue with for( x in Vector )
  480. all : optimized Std.int(123) and Std.int(123.45)
  481. flash : bugfix for @:bitmap with 24-bits PNG (flash decode wrong colors)
  482. as3 : fixed EnumValue becomes Object
  483. js : removed js.Lib.isIE/isOpera (not complete, use js.JQuery.browser instead)
  484. all : function parameters are nullable if they are declared with '?'
  485. all : added support for finding common base types of multiple types (unify_min) for array, switch, if
  486. php : do not implement duplicate interfaces
  487. haxelib : added git support through haxelib git
  488. all : allow derived classes to widen method visibility
  489. macro : added haxe.macro.Context.getLocalMethod
  490. macro : improved support of "using" macro functions
  491. php : optimized Xml implementation
  492. php : fixed Reflect.get/setProperty not working on PHP < 5.3
  493. all : support for callback(f, _, x)
  494. all : allow private access between classes that have a common base class
  495. all : added Output.writeFloat/Double and Input.readFloat/Double
  496. all : support for var:{x:Float} = { x = 1 } constant structure subtyping
  497. all : allow contravariant function arguments and covariant function returns in overrides
  498. macro : support for final Array<Expr> argument as rest argument
  499. macro : use top-down inference on macro calls
  500. all : made "using" imply "import"
  501. all : made String concat more consistent across platforms (add Std.string wrappers)
  502. all : allow direct member variable/property and static property initialization
  503. js : greatly reduced amount of generated code by using smarter DCE
  504. php : made modulo operations more consistent
  505. all : allow local functions to have both type parameters and be inlined
  506. all : functions type parameters can be constraint (will be checked at end of compilation)
  507. macro : use NekoVM runtime for regexps, process and xml parsing
  508. flash : allow @:getter/@:setter in interfaces
  509. flash : added support for "arguments" in methods
  510. all : not used enums and inline var/methods are now removed by DCE
  511. all : allow @:overload to use type parameters and not-absolute type paths
  512. all : ensure that Std.string of arrays and enums are now consistent across platforms
  513. all : allow to inline functions containing other functions
  514. xml : added metadata output to xml generator
  515. macro : added macro <expr> and macro : <type> reification
  516. all : renamed type(e) to $type(e)
  517. as3 : support for metadata and resources, and other fixes
  518. 2012-04-14: 2.09
  519. all : optimized const == const and const != const (with different const types)
  520. all : add Type.allEnums(e)
  521. all : big improvements with completion speed and fixed many issues
  522. flash9 : fixed -D swfprotected with swc output
  523. neko : added ~ implementation
  524. js : upgraded jquery version, more api overloads
  525. sys : added "in" operator for spod macros, added relation access in expressions
  526. macro : added ECheckType
  527. macro : added TLazy for not-yet-typed class fields
  528. js/php/neko : added haxe.web.Request
  529. all : added Std.format
  530. js : trace() output fallback on console.log if no id="haxe:trace"
  531. all : ensure that Std.is(2.0,Int) returns true on all platforms
  532. js : replaced $closure by function.$bind + changes in output format
  533. all : allowed @:extern on static methods (no generate + no closure + force inlining)
  534. all : added documentation in --display infos + display overloads in completion
  535. js : removed --js-namespace, added $hxClasses
  536. flash : output traces to native trace() when using -D fdb or -D nativeTrace
  537. all : allowed abitrary string fields in anonymous objects
  538. all : allowed optional structure fields (for constant structs)
  539. all : allowed optional args in functions types (?Int -> Void)
  540. all : added Reflect.getProperty/setProperty (except flash8)
  541. all : added --wait and --cwd and --connect (parsed files and module caching)
  542. all : fixed completion in macros calls arguments
  543. all : fixed DCE removing empty but still used interfaces/superclasses
  544. all : added haxe.Utf8 (crossplatform)
  545. neko : Reflect now uses $fasthash (require neko 1.8.2)
  546. all : allow \uXXXX in regexp (although not supported everywhere)
  547. js : make difference between values and statements expressions in JSGenApi
  548. js : added source mapping with -debug (replace previous stack emulation)
  549. flash : added @:file("a.dat") class File extends flash.utils.ByteArray
  550. flash : added @:sound("file.wav|mp3") class S extends flash.media.Sound
  551. js : added --js-modern for wrapping output in a closure and ES5 strict mode
  552. all : null, true and false are now keywords
  553. all : neko.io.Path, cpp.io.Path and php.io.Path are now haxe.io.Path
  554. neko, cpp, php : added Sys class, sys.io and sys.net packages and "sys" define
  555. all : allow to access root package with std prefix (std.Type for example)
  556. all : added haxe.EnumFlags
  557. sys : io.File.getChar/stdin/stdout/stderr are now in Sys class
  558. cpp : Reflect.getField and Reflect.setField no longer call property functions. Use Reflect.getProperty and Refelect.setProperty instead.
  559. cpp : Default arguments now use Null<T> for performance increase and interface compatibility
  560. cpp : Added metadata options for injecting native cpp code into headers, classes and functions
  561. php : added php.Lib.mail
  562. (hotfix) fixed bug in completion and disabled profiling on Linux
  563. (hotfix) fixed $ssize when doing new String(v) in neko
  564. (hotfix) fixed bug with properties in interfaces for Flash & PHP
  565. 2011-09-25: 2.08
  566. js : added js.JQuery
  567. all : added @:overload
  568. js : upgraded js.SWFObject from 1.4.4 inlined to 1.5 embedded
  569. js : code generator beautify
  570. all : ensure that modifying returned Type.getEnumConstructs array does not affect enum
  571. all : allow macro typed parameters (other than Expr)
  572. flash : added flash11 apis
  573. neko : added support for https to haxe.Http (using hxssl library)
  574. all : added haxe.Int64
  575. all : added haxe.Int32 isNeg,isZero,ucompare, fixed overflows for js/flash8/php
  576. all : bugfix when optimizing inlined immediate function call
  577. all : fixed "using" on macro function
  578. all : allowed member macros functions (called as static)
  579. neko : allowed serialization of haxe.Int32 (as Int)
  580. all : fixed invalid optimization of two constant numbers comparison
  581. flash8 : bugfix Std.parseInt with some hex values
  582. flash9 : added flash.utils.RegExp
  583. all : changed @:build behavior, now takes/returns a var with anonymous fields
  584. all : added @:native support for enums
  585. neko : changed the result of array-assign expression (was null)
  586. flash9 : no longer auto create enums from SWF classes
  587. (need explicit "enum" type patch)
  588. all : optimized variable tracking/renaming
  589. all : optimized macro engine (speed x2)
  590. all : added -D macrotimes support
  591. flash9 : store resources in bytes tag instead of bytecode
  592. all : allow $ prefixed identifiers (for macros usage only)
  593. all : allow to access modules subtype statics with pack.Mod.Type.value
  594. and fixed identifier resolution order
  595. flash9 : added @:bitmap("file") for simple embedding
  596. all : added haxe.web.Dispatch
  597. js : added js.Storage
  598. all : allow this + member variables access in local functions
  599. added untyped __this__ support and transition error
  600. all : added haxe.macro.MacroType
  601. neko : neko.Lib.serialize/unserialize now returns bytes
  602. neko : added sys.db package (crossplatform with -D spod_macro support)
  603. spod_macro now uses wrappers for Bytes (require neko 1.8.2)
  604. php : added --php-prefix for prefixing generated files and class names
  605. all : added type_expr_with_type enum support
  606. php/js : fixed adding 'null' to StringBuf
  607. all : added haxe.macro.Context.defineType
  608. 2011-01-30: 2.07
  609. all : fixed completion support with --remap
  610. all : added macros, added --interp
  611. all : removed 'here' special identifier
  612. neko : fixed neko.Web.getParamsString() returning "null" instead of ""
  613. flash9 : fixed issue with @:bind
  614. flash9 : added some missing errors
  615. flash9 : fixed TypedDictionary.exists
  616. all : added @:build and @:autoBuild for enums and classes
  617. neko : Std.parseFloat now returns NaN with invalid string
  618. php: fixed Array.push must return the current length (issue 219)
  619. php: fixed EReg.replace (issue 194)
  620. php: FileSystem.readDirectory now skips '.' and '..' to be consistent with neko (issue 226)
  621. flash9 : add trace text on stage (always over current and subclips)
  622. flash9 : delay SWF initialization until it's added on stage and stageWidth > 0
  623. (this can be disabled with -D dontWaitStage)
  624. all : added haxe.Timer.measure
  625. all : added Lambda.indexOf and Lambda.concat
  626. all : no longer allow inline vars as metadata values
  627. neko : added getFieldsNames to neko.db.ResultSet (supported in Neko 1.8.2 mysql driver)
  628. all : added --macro and haxe.macro.Compiler
  629. all : allow macro type patches
  630. flash9 : changed --gen-hx-classes implementation
  631. now use 'haxe -swf-lib lib.swf --gen-hx-classes' instead
  632. flash9 : added @:getter and @:setter
  633. all : added @:require
  634. flash9 : moved vector utils functions from flash.Lib to flash.Vector
  635. flash9 : added support for FP 10.1 and 10.2
  636. flash9 : added @:meta(Meta(k="v")) support
  637. all : improved #if support (fixed ! precedence)
  638. all : lookup unqualified types in all package hierarchy and not only in current package
  639. flash : set default flash version to 10 (-swf9 deprecated, use -swf-version 8 for avm1)
  640. php : added --php-lib to allow to rename the destination path of the generated lib
  641. all : added --dead-code-elimination, removes unused functions from the output
  642. (beta feature could not make in the final release)
  643. all : added @:keep to prevent --dead-code-elimination of class/method
  644. flash9 : fixed issues with loading a Haxe SWF (boot_XXXX class extends flash.Boot)
  645. all : allow to inline override methods (if the superclass method is not inlined already)
  646. all : fixed escape sequences in literal regular expressions
  647. flash9 : fixed Xml.setNodeValue
  648. all : removed -excluded, replaced by --macro excludeFile('filename')
  649. all : added --macro exclude('package') and --macro include('package')
  650. all : importing a typedef of an enum allow to access its constructors
  651. all : removed String.cca (replaced by StringTools.fastCodeAt + StringTools.isEOF)
  652. flash9 : fixed use of default values when null is passed for nullable basic types
  653. all : fixed issues with inlining and class/function type parameters
  654. all : big speedup for compiler internal completion
  655. all : added --macro keepClass('classname')
  656. flash9 : fixed Xml.nodeValue for comments (does not include <!--/-->)
  657. all : added named local functions (allow self-recursion)
  658. all : use left-assoc for (==,!=,>,>=,<,<=)(==,!=,>,>=,<,<=) (&&)(&&) and (||)(||)
  659. all : give prefix unary operators higher priority than ?:
  660. php : fixed XML parsing
  661. cpp : many fixes
  662. 2010-08-14: 2.06
  663. neko : change serializer to be able to handle instances of basic classes from other modules
  664. js : add Document.createTextNode
  665. all : bugfix with inline when modifying var with same name as one of current local
  666. flash9 : classes implementing ArrayAccess<T> are now dynamic (including TypedDictionary)
  667. all : allow "using" on typedefs
  668. as3 : minor fixes in genas3 and --gen-hx-classes
  669. as3 : fix with readonly/writeonly properties accesses
  670. flash9 : list native getter/setters in Type API class/instance fields
  671. all : make haxe.rtti.Generic typing lazy (fix for self-recursion)
  672. all : allow haxe.rtti.Generic + inheritance
  673. all : added resource size limit to 12MB (ocaml max_string_size is 16MB + b64)
  674. flash : changes in swf handling to work with >16MB swfs
  675. flash9 : only init dynamic methods if not already defined (in subclass)
  676. std : added haxe.SHA1
  677. compiler : added TCast, allow cast optimization on flash9/cpp
  678. as3 : fixed Std.__init__ generating 'null'
  679. compiler : fixed -no-opt
  680. flash : allow several -swf-lib
  681. no longer support automatic creation of classes for f8 swfs in f9 mode
  682. classes defined in f9 swf are not redefinable in Haxe code (use extern)
  683. flash9 : allow direct access and completion with classes defined in -swf-lib's
  684. flash9 : remove imported libraries debug infos when not compiled with -debug
  685. all : only display errors with --display if no completion matched
  686. all : some completion related errors fixed
  687. flash9 : added @:bind support
  688. all : fixed StringTools.hex with negative numbers
  689. flash9 : fixed Type.typeof(1<<28) was TFloat
  690. flash9 : use flash.XML parser for Xml class implementation
  691. neko : fixed Array.splice (was not setting null at end of array)
  692. neko : rewrote Array class using neko.NativeArray
  693. all : core classes implementation are now in std/(platform)/_std
  694. all : added @:final support
  695. all : added haxe.rtti.Meta
  696. flash9 : added flash.desktop.Clipboard* classes (added in flash10)
  697. as3 : fixed Date.toString issue in flash.Boot (now use .toStringHX instead)
  698. this will only work if .toString called explicitely on Date class
  699. all : only allow "using" on Dynamic if first parameter is Dynamic
  700. php : haxe.Http now supports Https connections when OpenSSL extension is enabled (issue 143)
  701. php : fixed enum constructors sequence (issue 142)
  702. php : added error message when using 2 fields with different cases in the same class/enum
  703. php : fixed field declaration for properties with getter and setter (issue 124)
  704. php : fixed comparison issues between strings (issue 132)
  705. php : enhanced FileInput.readLine using native fgets function (issue 103)
  706. flash9 : renamed flash.Error to flash.errors.Error
  707. php : removed eval() everywhere and simplified _hx_lambda
  708. php : fixed return type for Std.string() with integers and floats
  709. php : fixed php.Lib.rethrow
  710. all : added custom Haxe serialization
  711. php : aligned php.Web.parseMultipart signature with neko implementation
  712. cpp : Added source location and stack dump for errors in debug mode
  713. cpp : Remapped more keywords
  714. cpp : Added templated fast iterator code for arrays and FastLists
  715. cpp : Added option for tracing GC references in debug mode
  716. cpp : Switch the native string implementation from wchar_t to utf8 - for regex speed
  717. cpp : Added extra "()" to ensure correct order of operations
  718. cpp : Fixed various bugs for unusual (and not so unusual) language constructs
  719. cpp : Fixed order of enum generation from index
  720. cpp : Added __unsafe_get and __unsafe_set to Array as possible optimizations
  721. cpp : Default to mult-thread compiling on windows for cl version >= 14
  722. cpp : Seed Math.random
  723. cpp : Use strftime for Dates
  724. cpp : Fix socket sellect passing _s
  725. cpp : Throw error when match count does not match regex
  726. cpp : Improve register capture in GC
  727. cpp : Fix Dynamic interger compare
  728. cpp : Implement makeVarArgs
  729. cpp : Fix toString for nulls in Enums and Arrays
  730. cpp : Added initial Android support
  731. cpp : Move initializers to entry functions in standard ndlls.
  732. cpp : Changes some CFFI register funtions to char*, from wchar_t*
  733. cpp : Added some initial support for v8 script target
  734. cpp : Use non-recursive GC marking to avoid overflow in big lists
  735. cpp : Added __hxcpp_obj_id
  736. 2010-01-09: 2.05
  737. js : added js.Scroll
  738. js : package names are now checked at runtime to avoid clashes with existing libs
  739. js : added --js-namespace to create a namespace for types that are defined in the root
  740. all : updated xml output and html doc - add inline, override, dynamic functions support
  741. all : added error when comparing enum with arguments
  742. all : optimize constant equality for enums
  743. flash9 : fixed verify error with inline + null type
  744. flash9 : bugfix when overriding/implementing an method with an applied type parameter
  745. php : fixed issues with classes that implement Dynamic
  746. all : ignore #! line at beginning of the hx file
  747. haxelib : added tags, added documentation
  748. flash8 : don't use b64 encoding for text ressources
  749. php : fixed bug in Hash.exists for null values and Reflect.callMethod
  750. js/flash9 : throw exception in Xml.parse when unclosed node
  751. all : improve return type progagation in inlined expression (fix some VerifyErrors)
  752. all : optimize {const} into const
  753. all : added structure / Dynamic<T> subtyping
  754. all : fixed List.map2 error when inline + optional args
  755. flash9 : encode all ISO constant strings into UTF8 at compilation time
  756. all : allow hxml with only -cmd statements
  757. spod : moved Manager.addQuote to Connection.addValue
  758. flash9 : removed .iterator() from Vector (not implementable)
  759. all : fixed haxe.rtti.Generic on interfaces
  760. php : fixed issue with Reflect.callMethod
  761. php : fixed issue with PHP reserved word used in callbacks
  762. all : bugfix with non-constant enums in switches
  763. flash9 : fix for interfaces (use namespace)
  764. all : "using" now works for identifiers in member methods
  765. flash9 : bugfix with switch on some big integers
  766. all : bugfix when optimizing (function(x) return x)(x)
  767. neko : improved speed of Xml.toString()
  768. all : added -D dump (for debugging purposes)
  769. neko : added neko.Web.isTora
  770. php : added php.db.PDO (php.db.Sqlite is now deprecated)
  771. php : fixed bug in Type.getClassFields() that reported duplicated entries
  772. php : fixed errror in XML error reporting
  773. all : allow sub-types declarations everywhere (pack.Type.Sub)
  774. all : added completion for sub-types declarations
  775. all : improved completion with lambda function
  776. as3 : several generation fixes
  777. all : bugfix haxe.rtti.Generic on private class
  778. php/js/cpp : sanitize binary expressions to prevent inlining errors
  779. spod : remove object from cache when deleted
  780. 2009-07-26: 2.04
  781. flash9 : fixed get_full_path error with -D fdb
  782. js : fixed Array.remove on IE
  783. flash8 : removed extra empty AS3 tag (causing some issue with F8 loadMovie)
  784. improved speed of Bytes unserializing (no need for BytesBuffer)
  785. flash9 : bugfix, Null<Typedef> was generating dynamic code
  786. flash9 : added error message in flash.Vector if used without flash 10
  787. flash9 : fixed some "never" property access issues
  788. all : added "never" property access support for all platforms
  789. js : small syntax fix with value-blocks
  790. js : fixed Type.enumEq with null values
  791. js/flash8 : use &0xFF in haxe.io.Bytes.set
  792. flash9 : fixed switch on Null<Int> verify error
  793. flash9 : fixes related to UInt type + error when using Int/UInt comparison
  794. as3 : improved Vector support, inline flash.Lib.as
  795. as3 : bugfix with skip_constructor
  796. as3 : added Enum.__constructs__ (allow Type.getEnumConstructs)
  797. as3 : make all constructor parameters optional (allow Type.createEmptyInstance)
  798. as3 : bugfix with property access inside setter (stack overflow)
  799. all : Enum is now Enum<T>
  800. all : added Type.createEnumIndex
  801. all : forbid same name for static+instance field (not supported on several platforms)
  802. all : renamed haxe.Http.request to "requestUrl"
  803. all : renamed neko.zip.Compress/Uncompress.run to "execute"
  804. spod : fix very rare issue with relations and transactions
  805. compiler : added TClosure - optimize closure creation and ease code generation
  806. cpp : added CPP platform
  807. all : added 'using' syntax
  808. neko : added 'domains' optional param to ThreadRemotingServer to answer policy-file-request
  809. php : fixed php.db.Mysql so that getResult is consistent with Neko behavior
  810. php : fixed __toString for anonymouse objects
  811. php : fixed bug in overridden dynamic functions
  812. php : fixed round to be consistent with other platforms
  813. php : fixed bug concatenating two dynamic variables
  814. php : php.Lib.rethrow now works as expected
  815. flash9 : fixed bug with SWC output and recursive types
  816. flash8 : fixed inversed arguments in __new__
  817. neko : added neko.net.Socket.setFastSend
  818. php: fixed String.charCodeAt
  819. php: minor optimization (removed foreach from std code)
  820. php: implemented haxe.Stack
  821. php: changed exception handler to use Haxe call stack
  822. php: changed special vars to use the '\xBB' prefix instead of __
  823. php: fixed use of reserved keywords for var names
  824. php: List iterator is now class based (faster)
  825. php: fixed behavior of class variables having assigned functions
  826. php: fixed php.db.Manager (was uncorrectly removing superclass fields)
  827. php: added support for native Iterator and IteratorAggregate interfaces
  828. all : added --display classes and --display keywords
  829. all : fixed issue with optional parameters in inline functions
  830. all : allow implementing interfaces with inline methods
  831. all : enable inlining for getter/setter/iterator/resolve/using
  832. 2009-03-22: 2.03
  833. optimized Type.enumEq : use index instead of tag comparison for neko/flash9/php
  834. bugfix for flash.display.BitmapDataChannel and GraphicsPathCommand (allow inline static)
  835. resolve environment variable in -cmd commands
  836. added flash.Vector.indexOf and lastIndexOf
  837. fixed bug in interfaces that define the method toString (Haxe/PHP)
  838. fixed bug in haxe.io.BytesInput.readBytes in Flash9 (was throwing Eof if full buffer can't be read)
  839. fixed implements/extends special classes when they are imported
  840. StringBuf now uses an array for JS implementation (around same on FF, faster on IE)
  841. fixed assignment of field length in anonym objects (Haxe/PHP)
  842. fixed addEventListener typing for flash9
  843. fixed __vector__ generation for AS3 target
  844. fix with inline functions : position is now the inserted position and not the original one (better error reporting)
  845. added SWC output support
  846. fixed issues with unset of values in for loops and executing blocks that return functions (Haxe/PHP)
  847. "throw" type is now Unknown instead of Dynamic (prevent type-hole in "if A else if B else throw")
  848. added __foreach__ for flash9/as3
  849. fixed f9 verify error with different kind of functions
  850. moved eof() from neko.io.FileOutput to FileInput
  851. added haxe.rtti.HtmlEditor
  852. added neko.db.Manager.setLockMode
  853. genAS3 : fixed Error classes issues
  854. genAS3 : fixed default basic type value in interfaces
  855. flash9 : fixed UInt default parameter verify error
  856. flash9 : fixed issue with flash.* string enums verify error
  857. compiler : allowed \r line separators for HXML files
  858. flash9 : fixed verify error with loop variable beeing a specific class
  859. compiler : prevent truncating float dynamic values to int when using numerical operations
  860. neko.db.Manager fix : synchronize fields after locking an unlocked cached object
  861. compiler : fixed issue with cascading inline+haxe.rtti.Generic
  862. optimizer : reduce constant int/float/bool expressions and immediate function calls
  863. flash9/as3/php : don't add Boot.skip_constructor test if no side effects in constructor
  864. compiler : added --no-opt to disable expr reduction
  865. compiler : separated basic and advanced commandline options
  866. compiler : fixed printing of sub-function types
  867. genHX : fixed generation of classes that extends another class (shouldn't be turned into enums)
  868. speedup Array.remove on flash9/js
  869. 2008-11-23: 2.02
  870. Std.is(MyInterface, Class) now returns true (Haxe/PHP)
  871. php arrays are wrapped into _hx_array instances, fixes issues with references (array cast, access out of bounds ...)
  872. removed untested php classes (php.DBase, php.IniHash)
  873. added -D use_rtti_doc
  874. flash.Lib.getTimer() now returns Int and is inlined
  875. fixed php.FileSystem.stat
  876. added memory related functions to php.Sys
  877. added error when trying to extend Array, String, Date and Xml
  878. fixed handling of implements ArrayAccess
  879. fixed some minor things in flash10 api
  880. switch/for/while/do/try/if are no longer using parse_next (parenthesises requ. instead)
  881. fixed Type.typeof and Std.is in case of too much large integers for Flash6-8/JS
  882. haxe.xml.Check : treat comments the same as PCDATA spaces
  883. haxe.io.BytesData now uses strings instead of arrays for PHP
  884. compiler : optimized line calculus from ast position
  885. lexer : allow identifiers starting with _[0-9]
  886. fixed access to flash.Vector methods : use AS3 namespace (faster)
  887. bugfix in inline functions : modifying a parameter can't modify a real local var anymore
  888. bugfix in inline functions : handle class type parameters and method type parameters
  889. fixed issue with Int default value for Float parameter
  890. flash9 : bugfix when using the retval after setting a closure variable
  891. added flash.Memory API for flash10 alchemy opcodes access
  892. changed #if as3gen to #if as3 when generating as3 code
  893. fixed as3 flash.Vector generation
  894. fixed haxe.io.BytesOutput for flash9 : set default to little-endian
  895. some flash9 fixes related to extern enums
  896. updated flash.text.engine package with haxe enums
  897. flash9 : use target file path for Boot unique ID instead of random number
  898. as3 : fixed bug when anonymous field was a reserved identifier
  899. flash9 : added flash.Lib.vectorOfArray and vectorConvert for flash10
  900. added -D check-js-packages to allow several haxe-generated js files in same page
  901. 2008-10-04: 2.01
  902. fixed php.Sys
  903. added neko.NativeString and neko.NativeArray
  904. fixed php.Boot.__string_rec() when invoked from toString
  905. fixed null references in class constructors for array arguments
  906. fixed Type.enumParameters() and Type.typeOf() for PHP
  907. fixed SPOD/MySql for PHP
  908. fixed php.net.Socket.setTimeout(), php.io.Process
  909. fixed php.Web.setCookie() for expire time
  910. fixed php rethrow in catches and added the possibility to catch native exceptions
  911. added runttime check for php.io.Socket.shutdown (uses fclose in php 5.1.x)
  912. allowed optional Context in remoting connections
  913. fixed extern classes for flash < 8
  914. fixed inherited protected/private properties in as3 SWF library
  915. fixed haxe.io float/double in Neko (when bigEndian was null)
  916. added __FSCommand2__ support
  917. optimized haxe.Unserializer (use faster buffer access)
  918. use "Dynamic" instead of Dynamic->Void for flash9 IEventDispatcher
  919. always use full classes paths for genAS3
  920. prevent different get/set property accesses when implementing an interface
  921. fixed assign of dynamicfunction references in PHP
  922. Haxe/PHP now generates code for extern classes __init__
  923. added strings literal support in haxe.Template
  924. fixed Process arguments and exitCode() in Haxe/PHP
  925. fixed hierarchy problem for classes with the name from different packages Haxe/PHP
  926. php.db.Mysql now throws an exception when tries to connect to an unexistant DB
  927. fixed blocks in if statements for Haxe/PHP
  928. added php check on the full hierarchy for colliding names
  929. added support for "g" modifier in EReg for PHP
  930. PHP now generates __toString for classes that have toString defined
  931. implemented php.Lib.getClasses()
  932. fixed duplicate fields in Type.getInstanceFields on subclass
  933. Enum is no longer defined inside Type but is standalone class
  934. fixed Date.getDay on Neko/Windows (use %w instead of %u)
  935. fixed memory leak with PHP closures
  936. fixed wrong scope in PHP closures
  937. fixed Array.reverse() in PHP
  938. fixed Reflect.compareMethods in Neko (require Neko 1.8.0)
  939. fixed flash7-8 register usage for __init__ and static variables initialization
  940. moved StringTools.baseEncode/Decode to haxe.BaseCode
  941. fixed binary resources for Flash, JS and PHP outputs
  942. fixed compiler bug with inline + optional arguments
  943. fixed Type.createInstance and createEmptyInstance with Array for flash6-8
  944. 2008-07-28: 2.0
  945. fixed current package bug in inherited constructor type
  946. delayed type-parameter constraints check (allow mutual rec extends for SPOD)
  947. improved unclosed macro error reporting
  948. Haxe/PHP integration
  949. renamed NekoSocketConnection to SyncSocketConnection (php support)
  950. fixes in genAs3
  951. fix for flash9 : always coerce call return type
  952. set all private+protected names from SWF lib to public (allow override+reflect)
  953. flash9 : use findprop instead of findpropstrict for 'this' access (allow dynamic)
  954. don't allow nullness changes in overrided/implemented
  955. prevent typing hole with overriden polymorphic methods
  956. added neko.vm.Mutex and neko.vm.Deque (included in neko 1.7.1)
  957. added package remapping using --remap
  958. 2008-07-17: 2.0-RC1
  959. genneko : remove big array error (fixed in neko 1.7.1)
  960. fixed neko.net.ThreadRemotingServer.onXML
  961. genswf9 : fixed verify error with Null<Class> (was using dynamic access)
  962. small patch for jsfl support
  963. added .cca for faster string operations on Flash9/Flash/JS
  964. bugfix with inlined local variables
  965. upgraded flash9 api to flex3/player 9.0.115
  966. override is now mandatory, no more --override
  967. dynamic is now a keyword
  968. f9dynamic is now dynamic and is mandatory on all platforms
  969. public/private/dynamic are inherited by default when overriding a method
  970. removed Reflect.empty() : use {} instead
  971. changed #else by #elseif, added #else
  972. flash9 : optimized Hash,IntHash,StringBuf (use typed value)
  973. Reflect.field/setField/callMethod , Type.enumIndex and StringBuf methods are now inlined
  974. optimized haxe.Md5 : don't use statics
  975. allow up to 8 parameters in Reflect.createInstance
  976. flash9 : some minor optimizations in haxe.Serializer
  977. added haxe.io package (removed things from neko.io)
  978. __resolve becomes resolve (and should be documented)
  979. added haxe.Int32
  980. removed neko.Int32
  981. removed neko.io.Input/Output/Eof/Error/Logger/Multiple/StringInput/StringOutput
  982. removed neko.net.RemotingServer
  983. changed neko apis to use haxe.io and Bytes instead of String buffers
  984. fixed big bug in js/flash8 debug stack handling
  985. complete rewrite of haxe.remoting package
  986. haxe.io.Bytes serialization support (replace deprecated string support)
  987. removed === and !==
  988. removed Std.bool
  989. fixed : Reflect.field(null) in flash9 doesn't throw an error anymore
  990. removed Type.toClass and Type.toEnum
  991. Dynamic type is now a class and not an enum
  992. moved reflection support for core types from Boot to Std
  993. fixed Type.getClassName/getEnumName/resolve for core flash9 types
  994. renamed haxe.rtti.Type to haxe.rtti.CType (with changes in prefix)
  995. added haxe.TimerQueue, added haxe.Timer.delay, remove haxe.Timer.delayed
  996. flash9 : bugfix, generated interfaces were empty
  997. fixed bug while writing block-vars in flash/js
  998. added parameters default value (constants)
  999. removed Std.resource, Std.ord, Std.chr
  1000. added haxe.Resource, allow binary data in resources
  1001. added Type.createEnum
  1002. check that local variables get correctly initialized before usage
  1003. haxe.Stack support for flash9
  1004. 2008-04-05: 1.19
  1005. fixed flash9 Array.toString
  1006. fixed inline return bug
  1007. added haxe.rtti.Generic behavior
  1008. added haxe.FastList
  1009. bugfix to prevent recursive anonymous
  1010. fixed some incorrectly reported "recursive inline" errors
  1011. fixes in genas3 + genswf9 for Dynamic/* in methods
  1012. {} is now an empty object and not an empty block
  1013. fixed some verify errors left in flash9
  1014. fixed private/protected differences in gen-hx-classes
  1015. genswf9 : allowed to store a Class in a typed register
  1016. fixed switch-on-bool (don't use matching)
  1017. genswf9 : optimized switch on ints
  1018. some renames in haxe.rtti.Type
  1019. added flash.utils.TypedDictionary for F9
  1020. genswf9 : fixe debug filename with inline code
  1021. fixed completion for packages starting with 'a' or 'z'
  1022. added flash9.Lib.as
  1023. prevent double Movieclip class declaration when linking flash9 lib
  1024. allow numerical operations on type parameters constraint by Float
  1025. genswf9 : fixed dynamic inheritance
  1026. 2008-02-23: 1.18
  1027. some optimization and bugfix for as3 codegen
  1028. bugfix : allow bitmaps and fonts classes for F9 library
  1029. bugfix : neko.Web.setCookie
  1030. bugfix : as3 switches in -swf-lib, and enable to "repair" corrupted as3 bytecode
  1031. fixed --i return value in flash9
  1032. fixed some transforms in flash9
  1033. added js.Selection
  1034. simplified js.Dom (more events)
  1035. added haxe.xml.Fast.innerHTML
  1036. added Reflect.compare
  1037. fixed "".split() in Neko (now returns [""] instead of [])
  1038. bugfix for swf-lib f9 classes ordering
  1039. added EReg.customReplace
  1040. added neko.Lib.lazyLoad and improved neko.net.Poll for Neko 1.6.1
  1041. prevented static fields in interfaces
  1042. added neko.Sys.cpuTime()
  1043. fix for protected as3 classes
  1044. added support for flash9 XML (in flash.xml package)
  1045. added neko.vm.Tls for Neko 1.6.1
  1046. added --no-inline
  1047. renamed neko.zip.File to neko.zip.Reader
  1048. added neko.zip.Writer and neko.zip.CRC32
  1049. fixed multilevel Transform.block_vars
  1050. added js.SWFObject
  1051. fixes for if/switch with null or Null<T> on Flash9
  1052. 2008-01-13: 1.17
  1053. fixed Int32.compare, added Int32.read and Int32.write
  1054. fixed type of unitialized registers in flash9
  1055. fixed Sqlite transactions (commit and rollback now restart a transaction)
  1056. several flash9 optimizations
  1057. flash9 debug support (with -D fdb)
  1058. set align to TopLeft if not defined for flash9
  1059. added neko.vm.Gc
  1060. fixed Null should not be a value
  1061. bugfix in serialization format with USE_ENUM_INDEXES
  1062. added apis in DateTools for time manipulation
  1063. bugfix in flash9 : strictly typed local vars used in local functions
  1064. always force swf version and sandbox redefinition
  1065. added as3hl layer
  1066. merge as3 classes
  1067. use flash9 fast switch for enums
  1068. always use match for enums (no switch even if constant)
  1069. fixed DateTools.format %I and %l in Flash/JS
  1070. securized Hash for JS and Flash
  1071. compiletime F9 class generation for F8 swflib
  1072. optimized for loops (Array and IntIter)
  1073. added #line support
  1074. more f9 Null<T> support for "if" and array declarations
  1075. more neko.Web.setCookie parameters
  1076. added "inline" for methods and static vars
  1077. fixed % type in flash9
  1078. 2007-10-31: 1.16
  1079. use _sans font for default flash traces (better Linux support)
  1080. fixed haxe.remoting.Connection compilation for Flash<8
  1081. added fix to prevent 64K identifiers limit on Flash<9
  1082. ensure order of anonymous fields initialization
  1083. fixed haxe.remoting.Connection.urlConnect in JS
  1084. use amortized O(1) for Neko Array implementation
  1085. ndlls libraries should now use .neko() instead of __a
  1086. allowed 'u' utf8 for regexp (needs Neko 1.6.1 regexp.ndll on windows)
  1087. onclick and onsubmit JS events returns Bool
  1088. fixed inherited constructor of extern class was always private
  1089. fixed Ereg.split without 'g' flag on JS/Flash9
  1090. fixed haxe.Stack in JS without -debug
  1091. added support for -D no-swf-compress
  1092. fixed ByteArray.readObject
  1093. fixed implements Dynamic in Flash9
  1094. removed neko.io.FileInput.eof, fixed neko.io.Input.readLine
  1095. fixed haxe.Template for Flash9
  1096. added neko.Sys.command optional array of arguments
  1097. removed haxe.Proxy
  1098. added flash.XMLRequest
  1099. fixed Type.enumParameters for Neko
  1100. guaranteed order of Type.getEnumConstructs same as code
  1101. used index-based dispatch for enums
  1102. added Type.enumIndex
  1103. fixed enum.toString for Flash and JS
  1104. support for -Dnetwork-sandbox
  1105. trim -cp and -resource
  1106. various genas3 fixes
  1107. 2007-08-29: 1.15
  1108. fixed bug with Enum.construct when Enum have type parameters
  1109. change with "untyped" : arguments types are checked (because of opt select)
  1110. haxedoc : fixed type parameters display
  1111. fix for JS and Flash9 XML parser : allow newlines in attributes
  1112. disable Flash9 resources with AS3Gen
  1113. error on extra anonymous fields
  1114. error on too much big neko array declaration (neko 1.6 max_stack limit)
  1115. fixed Flash9 statics slots (FP 9,0,60 compatibility)
  1116. fixed Flash9 Type.getClassName
  1117. optional enums arguments on Flash9 are now automatically Null
  1118. forbid usage of type parameters in static functions
  1119. fixed Std.int with negative numbers
  1120. fixed some F9 issues with Haxe-specific Array, Date and Math methods
  1121. used AS3 namespace for F9 Array and String instance methods
  1122. fixed F9 with uninitialized integer registers
  1123. fixed F9 + operator with Dynamic/Null operands
  1124. added Enum subtyping
  1125. fix with remoting threadserver and exceptions
  1126. fixed Flash9 dynamic runtime type field access
  1127. fixed very tricky typing bug with constructors inheritance
  1128. fixed some documentation related parser bug
  1129. fixed stack overflow with static setter
  1130. fixed package completion bug when -cp points to an not existing dir
  1131. fix duplicate sandboxes tags with -swf
  1132. __resolve in Haxe Remoting is now public
  1133. 2007-07-25: 1.14
  1134. fixed no error when invalid "catch" expression
  1135. remove variance
  1136. fixed prototype bug in neko when "Main" class is defined
  1137. fixed flash9 xml iterator methods
  1138. bugfix in flash9 ByteArray serialization
  1139. fixed genAS3 conflicting classes and interfaces
  1140. preserve neko output file extension
  1141. added flash.Event for Flash9
  1142. added --no-output
  1143. fixed neko.net.Socket peer and host methods
  1144. added neko.io.Process and neko.vm.Ui
  1145. added haxe.xml.Proxy
  1146. some flash6 fixes
  1147. allowed simplequotes for xml attributes in Flash9 and JS
  1148. flash9 optimizing compiler
  1149. new faster neko binary AST
  1150. added haxe.remoting.NekoSocketConnection and SocketProtocol
  1151. don't allow for...in iteration with Dynamic or Unknown
  1152. added flash9 resources
  1153. fixed precedence of ternary operator ?:
  1154. 2007-05-18: 1.13
  1155. fixed bug with local variable masking package in catch type
  1156. fixed "Not_found" when enum params differs
  1157. added "override" for AS3 generator
  1158. fixed stack overflow in typedefs
  1159. added haxe.Timer.queue, removed delayedArg (use callback instead)
  1160. fixed haxe.remoting.SocketConnection (msg invertions might occur)
  1161. add uniqueness check for switch constants
  1162. js : HtmlCollection and MetaDom.childNodes are not true Arrays
  1163. allowed semicolon after typedef declaration
  1164. fixed in-loop closure usage of "for" variable for Flash and JS
  1165. added neko.net.ThreadRemotingServer.onXml (to handle crossdomain xml)
  1166. more accurate stack trace for socket remoting
  1167. prevent some memory leak in haxe.Timer / JS
  1168. added flash fullscreen support
  1169. added cond?a:b syntax support
  1170. added utf8 buffer api
  1171. added haxelib "dev" mode
  1172. renamed Http.asyncRequest to customRequest
  1173. add classes to Neko module export table
  1174. fixed parametrized enums for Flash6
  1175. fixed bug with completion and interfaces
  1176. fixed --flash-use-stage in Flash9
  1177. 2007-03-06: 1.12
  1178. added flash lite support with -D flash_lite
  1179. bugfix for Unknown<X> should Unknown<X>
  1180. prevent some exceptions in neko.net.ProxyDetect
  1181. fixed ByteArray serialization
  1182. added neko.Int32
  1183. added -x for fast neko scripting
  1184. prevent locals from breaking class access (works with imports)
  1185. fix in function overriding subtyping
  1186. added haxe.remoting.FlashJsConnection
  1187. fixed tar support in neko.zip.File
  1188. ide completion support using --display
  1189. give access to neko.net.Host ip (as Int32)
  1190. fixed bug when calling super.UpperCaseMethod()
  1191. hide additional flash Array methods
  1192. allow leading comma in anonymous types
  1193. added haxe.Public interface
  1194. added AS3 code generator
  1195. field lookup gives priority to superclass over interfaces
  1196. improved haxedoc output
  1197. fixed bug in neko regexp split/replace when empty match at eol
  1198. fixed bug in flash 6-7-8 resources generation
  1199. 2007-01-28: 1.11
  1200. changed StringBuf.add implementation
  1201. added haxe.Firebug
  1202. allowed variable return type for overriden/implemented methods
  1203. display error position in front of each error line
  1204. improved error messages when optional arguments not matched
  1205. added neko.io.Path
  1206. added neko.net.ProxyDetect
  1207. bugfix in unify : prevent recursive anonymous objects
  1208. haxe.Http call "prepare" only if size is known
  1209. added multiple expressions in "case"
  1210. serialization : deprecated old string format, use urlEncode/Decode
  1211. added flash9 bytearray serialization (to binary string, for neko com)
  1212. fixed Type.typeof on some flash9 instances
  1213. no more dontUseCache (haxe.Serializer.USE_CACHE, default to false)
  1214. small genxml/haxedoc improvements
  1215. added Type.enumEq
  1216. local function parameters are now inferred in several cases
  1217. optional RTTI for Spod Object
  1218. bugfix related to callback in neko code generator
  1219. more type error stack (now includes type parameters)
  1220. type system fixes in anonymous subtyping
  1221. added Iterable<T>, changed Lambda
  1222. added TAR and GZIP support to neko.io.Zip
  1223. compute minimal array content type
  1224. fixes in enum switchs
  1225. 2007-01-01: 1.10
  1226. fix in haxe.remoting.SocketConnection.readAnswer
  1227. fix in postfix incr/decr and getter/setter
  1228. added haxe.Http.fileTransfert for Neko
  1229. fixed haxelib to 1.02 (use multipart file transfert)
  1230. fixed Array.reverse
  1231. added flash.Lib.getURL and fscommand for Flash9
  1232. fixed some ignored parse errors
  1233. fixed minor syntax : immediate object access
  1234. allow extend/implements a typedef
  1235. fixed Flash9 AMF remoting
  1236. fixed Flash9 bugs in Date object
  1237. fixed dynamic Array typing bug
  1238. allowed typedef private field access
  1239. added Class<T> base class type
  1240. AsyncConnection.call callback is now optional
  1241. fixed if/switch with no else/default compilation
  1242. moved Reflect.createInstance to Type
  1243. added Reflect.makeVarArgs
  1244. haXelib 1.03 : several developers per project + web interface
  1245. 2006-11-22: 1.09
  1246. added neko.vm.Module and neko.vm.Loader
  1247. haxelib : allowed spaces in "run" arguments
  1248. allowed Thread comparison
  1249. fixed bug in SWF6 compilation
  1250. allowed either Mysql or Mysql5 usage
  1251. replaced db.Connection.hasFeature by db.Connection.dbName
  1252. added Socket.custom field
  1253. moved neko.Thread to neko.vm.Thread
  1254. define haxe_109 (for api changes)
  1255. fixes in haxe.remoting.Connection and haxe.Unserializer for F9
  1256. added haxe.remoting.Connection.urlConnect for JS
  1257. allowed private typedef fields
  1258. added neko.net.ThreadServer, ThreadRemotingServer and Poll
  1259. removed neko.net.RemotingBuffer
  1260. relaxed enums switchs (allow value in first case)
  1261. changed "cast" codegeneration (fix some F9 usages)
  1262. change in POST data handling in mod_neko (max 256K, except multipart)
  1263. added neko.Web.getClientHeaders and neko.Web.flush
  1264. "callback" is now a keyword
  1265. fixed stack overflow when typedef = Dynamic
  1266. fixed Reflect.createInstance on F9
  1267. Array : slice optional length, fixed neko slice & splice
  1268. + fixed cast return type
  1269. 2006-10-29: 1.08
  1270. fixed bug in flash -debug
  1271. fixed Sqlite result .length
  1272. fixed missing "." in OSX/Linux default classpath
  1273. fixed haxelib NDLL autoloading on OSX
  1274. fixed bug in deserialization of "\\\r" sequence
  1275. added inheritance and fields getter/setter to xml output
  1276. haxedoc 2.0
  1277. fixed neko native enum serialization
  1278. fixed "all constructors matched" for enums without params
  1279. fixed returned value semantics in neko (prevent remoting leak)
  1280. more documentation
  1281. added haxe.rtti package (classes can implement haxe.rtti.Infos)
  1282. fixed windows line endings in exclude files under linux/osx
  1283. fixed small bug in "cast" syntax
  1284. added "callback" for partial function application
  1285. added --auto-xml for future haxeFD usage
  1286. fixed Reflect.isFunction
  1287. minor bugfix in JS code generator
  1288. new neko.net package
  1289. allow recursive remoting proxys (skip instead of error)
  1290. added neko.Thread and neko.Lock MultiThread classes
  1291. added neko.net.ServerLoop for multiple clients handling
  1292. 2006-09-11: 1.07
  1293. fixed resources in Neko
  1294. typedef, override, package and f9dynamic are now keywords
  1295. slighly changed error format output
  1296. fixed "undefined" serialization and Type.typeof
  1297. some fixes in haxelib
  1298. set default classpath for non windows systems
  1299. added variance
  1300. fixed bug in bounded type parameters
  1301. fixed scope bug in try/catch with Flash9
  1302. added remoting over XMLSocket and LocalConnection for Flash9
  1303. fixed Std.is(*,null) = false
  1304. allowed >64K Haxe/neko strings
  1305. -debug and stack traces support for Flash and JS
  1306. minor changes in xml output
  1307. 2006-08-28: 1.06
  1308. allowed extern enums
  1309. use only matching construct when parameters are matched
  1310. fixed bug preventing & char to be sent between JS and Flash remoting
  1311. improved flash9 api (more strict)
  1312. flash9 xml : use JS ReXml parser
  1313. added neko.io package (Input/Output)
  1314. moved neko.File and neko.Socket to neko.io package
  1315. fixed flash optional arguments (when extending flash.MC)
  1316. fixed neko native serialization problems
  1317. variable modification does not have side effects in 'for x in a...b'
  1318. jit disabled by default for neko web server
  1319. enable flash7-8 libraries usage from flash9
  1320. unknown identifier become "class not found" when representing a classpath
  1321. changed haxe.PosInfos handling
  1322. added -debug (removed --flash-debug) effective on flash9 and neko only now
  1323. added Type.typeof
  1324. improved Serializer speed
  1325. added Serialization support for Date, Hash, IntHash, List
  1326. added flash9 and JS IE/Opera class reflection
  1327. added haxe.xml.Check and haxe.xml.Fast
  1328. added Xml.parent
  1329. added haxelib
  1330. added ArrayAccess interface
  1331. 2006-08-16: 1.05
  1332. moved Md5 to haxe package.
  1333. some method renamed in neko.FileSystem.
  1334. added neko.remoting.Server.setLogger
  1335. fixed bug in haxe.Serializer on neko (was preventing List serialization)
  1336. fixed bugs in Haxe.Unserializer on neko (invalid enum tag & pbs with UTF8 strings)
  1337. fixed sqlite escape & quote , added BOOL support
  1338. allowed direct property access in getter/setter (prevent rec loop)
  1339. allowed event-driven neko http requests
  1340. forbidden "name" static in js
  1341. don't allow variable redeclaration in subclasses
  1342. added && || and ! in conditional compilation rules
  1343. metas : removed __construct__ and class.toString.
  1344. metas : __super__ and __interfaces__ now optional
  1345. added Type api (seperated from Reflect)
  1346. flash 9 support
  1347. 2006-07-25: 1.04
  1348. added macros in haxe.Template
  1349. allowed static variables access from a signature shortcut
  1350. allowed new Signature when signature is a class
  1351. fixed : modulo priority is now higher than mult and div
  1352. fixed bug in haxe.Proxy generation
  1353. fixed more stack overflows with recursive signatures
  1354. fixed bug in class <: anonymous subtyping (inherited fields)
  1355. override is not mandatory by default (need --override)
  1356. added neko just-in-time
  1357. fixed bugs in haxe.Serializer and haxe.Unserializer (enum format change)
  1358. changed "signature" by "typedef" (more comprehensible)
  1359. restricted objects comparisons
  1360. fixed bug with js operator priority
  1361. improved performances for haxe.Serializer and haxe.Unserializer
  1362. fixed bug in static variable lookup (should look class in the last case)
  1363. prevented several prints of "not enough arguments".
  1364. 2006-06-23: 1.03
  1365. haxedoc executable now part of the distribution
  1366. removed selectDB from the neko.db.Connection API
  1367. added optional parameters with selection
  1368. removed --no-flash-opt-args
  1369. changes in SWF packages handling
  1370. fixed optional leading comma in anonymous object and array values
  1371. fixed bug in inheritend constructor type parameters
  1372. fixed bug in type_field with inherited type parameters
  1373. added haxe.Proxy
  1374. added code transformations for swf/js block variables
  1375. fixed very tricky bug with constraint parameters used together with polymorphic methods
  1376. added selective import (import x.y.Class.InnerType)
  1377. added optional enum constructor parameters
  1378. added opened anonymous types (no more Unknown has no field...)
  1379. fixed "MovieClip extends flash.MovieClip".
  1380. added Reflect.copy
  1381. added neko.Random
  1382. added Date.fromString
  1383. fixed bug in haxe.Unserializer, slighlty optimized haxe.Serializer
  1384. added __setfield magic (complete __resolve)
  1385. added explicit override when overriding methods
  1386. 2006-06-08: 1.02
  1387. fixed stack overflow when recursive class <: recursive signature
  1388. improved a bit commandline : allow several hxml arguments
  1389. added {> Class, fields... } types declarations
  1390. added cast without type (less dangerous than untyped)
  1391. no stage objects by default, added --flash-use-stage
  1392. added haxe.remoting.DelayedConnection
  1393. added -exclude
  1394. removed classpath from neko debug infos filenames
  1395. fixed bug in Neko empty Array.pop and Neko EReg.replace ""
  1396. fixed nodeValue for Neko XML comments, doctype, prolog
  1397. improved DocView : formating, signatures, files generation
  1398. added neko.zip package
  1399. fixed bug in neko.File binary flags
  1400. fixed problems when downloading large files using haxe.Http under Neko
  1401. neko.db.Connection and neko.db.ResultSet are now interfaces
  1402. added neko.db.Sqlite and neko sqlite ndll
  1403. mod_neko2.ndll for Apache2 in Windows distribution
  1404. fixed bug in static properties method resolution
  1405. change js.Dom : use cascading signatures and improved api
  1406. added haxe.unit Unit test framework
  1407. 2006-05-25: 1.01
  1408. added neko.Utf8
  1409. Serializer/Unserializer now support utf8 strings
  1410. allowed subtyping of prop accesses public/private when implementing an interface
  1411. removed "eval" from Remoting APIs (only calls - more easy to handle).
  1412. added flash6 support
  1413. fixed Std.is on different platforms (interfaces implements interface)
  1414. added AsyncConnection.amfConnect for flash
  1415. added SWF overflow checks
  1416. changed "property" to "var"
  1417. don't allow monorph unification with Dynamic (more safe)
  1418. allowed multiple parsing and typing errors
  1419. review and completed commandline options
  1420. error on backwards constant integer iterators
  1421. remoting proxy constructor is now public
  1422. fixed -swf-header override the swflib background color
  1423. moved all remoting classes into the haxe.remoting package
  1424. added haxe.remoting.LocalConnection
  1425. 2006-05-17: 1.0
  1426. fixed small bugs in JS Xml Parser (empty attribute, newlines in attributes)
  1427. added default Content-Type for haxe.Http in JS
  1428. haxe.AsyncConnection : onError should not be call if error occur in onData
  1429. fixed infinite loop if haxe.Unserializer.readDigits reach eof on JS/Flash
  1430. fixed bugs in neko.Web and neko.Sys (some methods returning "null" instead of null)
  1431. added neko.Socket.setBlocking for nonblocking sockets
  1432. fixed bug in js generator when using cascading iterators
  1433. fixed typing bug when overloading parametrized method
  1434. fixed bug in js generator when "try" without curly braces.
  1435. allowed enum catching
  1436. added remoting proxys
  1437. allowed neko.Web API commandline emulation outside mod_neko
  1438. removed subtyping Anon :> Instance
  1439. added signatures, Iterator is now a signature
  1440. getter/setter and public/private unification
  1441. allowed anonymous declaration with interface-style syntax (for signatures)
  1442. optimized code generated for underscore in enum matches parameters
  1443. fixed flash/js String.charCodeAt(outside) => null
  1444. fixed neko charAt(outside) => ""
  1445. added errors for strings containing \0 in JS and Flash
  1446. added HAXE_LIBRARY_PATH environment variable support
  1447. fixed interfaces inheritance : can't extend, can implement (type-sums)
  1448. fixed fixed >64K resource bug in SWF
  1449. fixed newline problems with Flash/JS Connection
  1450. 2006-05-02: RC1
  1451. added the Socket class
  1452. fixed a bug of returned value in neko with 6 or more parameters
  1453. added "Missing type" error for catchs.
  1454. added regular expressions (still missing Flash implementation)
  1455. fixed type printing and parenthesis in type declarations
  1456. different behavior when elements removed during Array.iteration
  1457. fixed genswf : local variables used in for...function
  1458. improved type parameters structure coherency
  1459. enable usage of Spod without Transaction
  1460. implemented neko.db.Transaction.isDeadlock
  1461. slighly relaxed one of the javascript generator constraint
  1462. added haxe.Template
  1463. moved Log , PosInfos and ImportAll to haxe package
  1464. completed private class/interface/enum support
  1465. removed Array.indexes
  1466. added __resolve compile-time support when class implement Dynamic
  1467. added haxe Remoting
  1468. added "module with different case" error (for windows)
  1469. added Reflect.resolveClass, Reflect.resolveEnum, Reflect.setPrototype
  1470. added access to classes by name in genneko
  1471. added enum.__ename__
  1472. fixed Std.is(e,enum)
  1473. fixed infinite loop in neko EReg split/replace and epsilon matching
  1474. added neko native serialization support
  1475. fixed syntax for multiple constraints in type parameter
  1476. added recursive type parameters constraints (T : C<T> constraints)
  1477. updated Xml handling
  1478. 2006-04-17: beta 5
  1479. fixed bug : continue in do...while
  1480. changed typing order for do...while (infer condition after block)
  1481. fixed JS "catch" generation
  1482. fixed extending flash.* extern class
  1483. fixed bug in neko generator w/ closures
  1484. fixed bug in js generator (return switch need correct "this" context)
  1485. fixed bug in for x in a...b : invalid local variables overridding
  1486. added properties
  1487. fixed bug in js generator : while...switch...break
  1488. new List implementation
  1489. can use static function __init__ on every platform
  1490. bug fixes in Reflect.fields
  1491. added Hash.remove, changed Hash/JS implementation
  1492. added flash __delete__ support
  1493. added neko.db.Object, Manager, Transaction
  1494. fixed neko class.__interfaces__
  1495. added "assigning a value to itself" error
  1496. added automatic PosInfos when is last parameter
  1497. added polymorphic methods
  1498. added check_flash_args support
  1499. 2006-04-02: beta 4
  1500. fixed javascript events case
  1501. fixed invalid use of physeq
  1502. fixed + type inference
  1503. added -altfmt
  1504. allowed anonymous <: class subtyping
  1505. relaxed unifications of expressions in "for" and "while"
  1506. more methods in List
  1507. syntax changes : mandatory parenthesis for "for" and "while"
  1508. allowed any kind of identifier almost everywhere
  1509. moved tools, flash, js and neko inside "std"
  1510. no need for 0x in flash header bgcolor
  1511. added -res
  1512. fixed type parameter contraint holes
  1513. Std.is Dynamic always returns true
  1514. added Enum.toString
  1515. neko : env locals can be modified in inner functions
  1516. completed js keywords list in generator
  1517. added Reflect.typeof
  1518. prioritize neko.Lib.load static calls
  1519. fixed bugs in for...in optimization with continue
  1520. fixed Reflect fields, added documentation, added Class
  1521. added javascript closures, fixed null closures on flash and Neko
  1522. added javascript __init__ statics and js.XMLHttpRequest
  1523. added neko.Stack
  1524. fixed bug in Std.ord
  1525. convert neko string to haxe string on catch
  1526. automaticaly creates empty clips for classes extending flash.MovieClip
  1527. unify stack : several meaningful unification errors
  1528. added cast operation and keyword
  1529. 2006-03-11: beta 3
  1530. javascript generator
  1531. optimized for in interval
  1532. renaming of locals (name must be unique)
  1533. added uncaught exceptions handling in Flash
  1534. fixed Bool.true == true and Bool.false == false on all platforms
  1535. fixed matching on Bool different from enums
  1536. removed -fplayer (use -D instead) and added -fheader
  1537. fixed infinity is Int
  1538. added "here" special identifier
  1539. neko Apis : File, FileSystem, Sys
  1540. added base JS API
  1541. 2006-02-19: beta 2
  1542. renamed neko.db.Result to neko.db.ResultSet
  1543. added Date support for Mysql results
  1544. added private fields for static class anonymous types
  1545. disambigous >=, >>= and >>>=
  1546. fixed inheritance bug in swf and neko generators
  1547. improved function parameters type error reporting.
  1548. allowed variable number of args for flash.* constructors.
  1549. added Math.random(), Reflect.empty()
  1550. added flash.XMLSocket and flash.Timer classes
  1551. completed Std class with conversion functions and others.
  1552. completed flash.Lib class with flash toplevel functions.
  1553. fixed bugs in neko webserver
  1554. 2006-02-04: beta 1
  1555. allowed array literals to be dynamic
  1556. use neko 1.2 commandline and prototypes
  1557. changed #cond to #if cond for conditional compilation
  1558. all fields are defined to null by default
  1559. defined __class__ and other meta accesses for Flash and Neko
  1560. fixed type hole for compiler-know types (should not resolve using imports)
  1561. changed packages : neko.* and flash.* (with protection)
  1562. added Lazy types : type the fields when they are needed with recursion
  1563. untyped accesses are monomorphs, not dynamics
  1564. generated __string check that toString() return an object
  1565. XmlParser and other APIs for Neko
  1566. fixed escaped chars in Neko generation
  1567. conservative static initialization order
  1568. allowed no type parameters for new Class
  1569. function types carry parameter names
  1570. anonymous types contain private variables (for private static accesses)
  1571. added optional name for anonymous types in typer (for static accesses)
  1572. private classes and enums (partial support)
  1573. improved error message for invalid number of arguments
  1574. flash extern classes can take variable number of args.
  1575. added -swf-lib for importing SWF library
  1576. added neko.db package
  1577. 2005-12-23: alpha 5
  1578. added -main commandline parameter
  1579. catches are now working with Neko
  1580. restricted catch types for type-safety
  1581. added constructor inheritance + check if superconstructor is called
  1582. allowed Dynamic-only subtyping on type parameters
  1583. added method closures to Neko generation
  1584. added class Reflect
  1585. added License : libraries are BSD
  1586. added -xml documentation output
  1587. allowed class instance :> anonymous subtyping
  1588. 2005-12-10: alpha 4
  1589. forbid break and continue outside loops
  1590. fixed SWF generation bugs
  1591. added SWF "extends" support
  1592. added method closures
  1593. added some flash lowlevel operations (__xxx__)
  1594. added Log, LogInfos and trace
  1595. added Neko generation
  1596. fixed problems with conditional compilation macros
  1597. 2005-11-30: alpha 3
  1598. added Flash extern classes
  1599. Boot initialization
  1600. added "untyped"
  1601. added conditional compilation
  1602. added interfaces
  1603. changed iterators from closures to objects
  1604. added (XML)Node and XmlParser for Flash
  1605. 2005-11-25: alpha 2
  1606. swf generation (missing iterators)
  1607. some typing fixes
  1608. 2005-11-17: alpha 1b
  1609. fix some bugs
  1610. changed package tests.lang
  1611. 2005-11-14: alpha 1
  1612. lexer
  1613. parser
  1614. typer