Downloading Haxe 4.0.0-preview.1

If your download does not begin automatically please click here.

Support the Haxe Foundation

Thank you for downloading Haxe. If you'd like to support the Haxe Foundation please consider donating to keep our open source efforts thriving.

Monthly Donation Amount

Get Technical Help

Get support directly from the Haxe team. The Haxe Foundation offers several support tiers to help with your organization's technical challenges.

Explore our support plans

What next?

Release Notes

This is a Haxe 4 preview release for the Haxe Summit 2017 in Amsterdam.

As a preview release, it should not be considered stable and does, in fact, have some known issues. However, we appreciate anyone testing this version as it is going to ultimately help with the real Haxe 4 release. Please report issues at

Change Log

2017-09-12: 4.0.0-preview.1

New features:

  • all : reworked macro interpreter
  • all : added support for arrow functions

General improvements and optimizations:

  • js : improved generation of break inside switch inside loops (#4964)
  • cs : improved generation of enum classes (#6119)
  • sys : the database parameter of Mysql.connect is now optional
  • js : updated jQuery extern (js.jquery.*) for jQuery 1.12.4 / 3.2.1 support.
  • Makefile : default Unix installation location $(INSTALL_DIR) changed from /usr to /usr/local.
  • Makefile : default Unix std location $(INSTALL_STD_DIR) changed from $(INSTALL_LIB_DIR)/std to $(INSTALL_DIR)/share/haxe/std.



  • php7: fix Reflect.field() for strings (#6276)
  • php7: fix @:enum abstract generation without -dce full (#6175)
  • php7: fix using enum constructor with arguments as a call argument (#6177)
  • php7: fix null property access (#6281)
  • php7: fix setting values in a map stored in another map (#6257)
  • php7: fix with disabled analyzer optimizations (#6387)
  • php/php7: fixed accessing enum constructors on enum type stored to a variable (#6159)
  • php/php7: fix "cannot implement previously implemented interface" (#6208)
  • php: fix invoking functions stored in dynamic static vars (#6158)
  • php: fix field access on new MyClass() expressions wrapped in a cast (#6294)

Standard Library:

  • all : added EReg.escape (#5098)
  • all : BalancedTree implements haxe.Constraints.IMap` (#6231)

Getting Started With Haxe

Now that you've downloaded Haxe, you can get started with a specific platform. Click on a logo to learn how to set up the development environment and how to proceed from there:

For getting started with Haxe, take a look at our introduction, read through the Haxe Manual or look at these use cases for Haxe, including tutorials and popular libraries:

API Documentation: Download the API documentation for this version as a ZIP file.