Haxe Roundup 731 - The Belated Issue

written by skial with contributions from PXshadow, MKI, and kLabz Edited on

Welcome to the latest edition of the Haxe Roundup. Haxe is a high level, strictly typed programming language and cross-compiler.

Haxe.io Update

Its been 6~ish months since the last roundup. You can catch-up on the reasons why by reading Haxe.io’s Future and the original discussion over on GitHub.

As you can see, things have changed and haxe.io has been rebuilt using 11ty. All the old content that has been written over the last 15~ years is now, largely, supported and generating pages. For the few pages that aren’t building and functionality that’s missing, it will be eventually supported.

You can still access the original site at old.haxe.io.

Community Updates

The content in this “Belated Issue” might already be out of date and it certainly isn’t up to date, so it will be missing content from the community.

News and Articles

Forum Posts

  • Go2Hx Post Reflection post. ⭐
  • Introduction to SideWinder - a pure Haxe web server for Sys targets announcement.
  • QuickList: A fancy todo-list web app Haxe task tracker app announcement by David.
  • Lix 16: New Major Release announcement by Juraj.
  • Bye 2025, Hi 2026! - Ceramic updates.
  • Vupx Engine: A framework engine for Nintendo Switch announcement.
  • Go2hx work in progress update.
  • Tink http and tink web with pure Haxe TCP server community question.
  • Any good tutorials on macros in Haxe question.
  • Is Haxe alive or dead question.
  • XML Schema definitions handling question.
  • Hashlink: Ways to efficiently assign a hashlink array in an extern question & answer.
  • ArrayBufferView.fromBytes() for JS target question.
  • Haxe/JS+HL webapp on serverless AWS thread.
  • How does one make use of the fluent interface methods in haxe.http.HttpBase question & answer.
  • Building Large Scale Cross-Platform apps in Haxe thread.
  • The Haxe Paradox: What Can We Do to Make Haxe Less “Boring”? thread.
  • A hard to form question about Haxe and its nature question & answer.
  • How to prevent macro from running when using vshaxe & only run when compiling code? thread.
  • Targeting Flash/Ruffle for new code in 2025 question.
  • Haxe numeric types q&a.
  • Haxe Newb questions - memory management q&a.
  • Haxe Newb questions - the developer experience q&a.
  • How to isolate instances of OpenFL question.
  • How to exclude OpenFL from Haxe/Lime build to reduce bundle size question.
  • New interactive story creation tools in TilBuci version 17!

Articles

  • Hello Coro 👋
  • ⛲️Urban Places 1.0 post by Oleg Dolya.
  • ⛲️Urban Places 1.1.0: numerous changes post by Oleg Dolya.
  • ⛲️Urban Places 1.1.1: ramparts and other changes post by Oleg Dolya.
  • ⛲️ Urban Places 1.2.0: place names and new buildings post by Oleg Dolya.
  • Go! Go! PogoGirl is out on Mega Drive!
  • Tenjutsu devlog 2: from Beat ’em up to Roguelite article by Sébastien Benard.
  • Creating Background for you Game article by E. Zachary Knight.
  • The next Fraymakers character is…Hat Kid! 🎉🎉🎉.
  • Hat Kid is OUT NOW in Fraymakers! 🎩
  • Renaine: On Getting Hacked and Rebuilding article by Squidly.
  • Funkin Crew:
    • WEEK OF 2025/08/23 - Abnormal’s super excellent organization survival guide (limited edition) post.
    • WEEK OF 2025/09/19 - The Funkin’ GitHub: Our Evolution Since Weekend 1 post.
  • 🔑Dwellings 1.3.8: improved lighting and marked entrances post by Oleg Dolya.
  • Meteor Madness! Out Next Game article by E. Zachary Knight. Play Meteor Defence over on itch.io.
  • Sebastien has finished writing and published their series on reverse engineering Demons and Manants.
  • 🔑Dwellings 1.4.0: JSON export and improved stairs article by Oleg.
  • New Assist: Shopkeeper! Plus upcoming content updates!
  • Moonshine.dev introduces a Feathers UI drag-and-drop visual designer and MXHX markup article by Josh Tynjala.
  • 🔑Dwellings 1.4.1: roofs post by Oleg Dolya.
  • ⛲️Urban Places 1.2.1: permalinks and other changes article.
  • 🗝️One Page Dungeon Generator 1.2.7: UI improvements and new shading style article.
  • ☠️Perilous Shores 1.7.3: farmlands article.

Releases

  • IntelliJ Haxe plugin 1.7.6 has been released.
  • OpenFL 9.4.2 and Lime 8.2.3 have been released.
  • OpenFL 9.5.0, Lime 8.3.0 and SWF 3.4.0 have been released!

Discussions

  • Work around found for “Wrong UInt max value ?”.
  • Proof of concept KTX1 GPU texture format support for OpenFL discussion.
Via the Haxe Discord server

Devlogs

Releases

  • Good is out on steam and itch!
  • Avly is now availible for download on itch.io!
  • TilBuci, the open source tool, version 16 is out now, with game controller support!
  • Alchimix is an “easy to play, hard to master” tetris-like puzzle game, including world exploration where “each region reveals new rules, challenges, and lore”. Now with 71 levels in Briswen Island and leaderboards. Created by Rudy Ges.
    • Made with Heaps, Hide, LDtk, graphics created with Aseprite, paid itch.io assets & backgrounds generated with chatgpt.

  • Chimera Obscura by Axol Studio. #### Via the Haxe Discord server
  • Good, a game where you “experience a day in the life of an American teenager”, by tyler is available on Steam and itch.io.
  • Kr0tyara has released wordsword, “an arcade puzzle game about word transformations. there are also some elements of tower defense and roguelite”, available on itch.io and the Play store.

Videos & Music

  • Go2Hx HTTP web server launch demo by Joey.
  • Alchimix Gameplay video.
  • How I turned Rock Paper Scissors into a SKILL game video by Zanzlanz.
  • Coding a Physics Engine from scratch! video by Zanzlanz.
  • Making the most complicated PowerPoint game video by Zanzlanz.
  • 📌 Reminder that Squidly does a Haxe dev stream every weekday on Twitch. 6pm EST -> 12am EST Monday/Tuesday/Wednesday. 12pm EST -> 6pm EST Thursday/Friday.

Jobs, Bounties

Available for work

  • No one atm.

Bounties

Previews & Demos

Open Source

  • Updated version of Nape Physics docs with all samples converted to HTML5 using Haxe’s JS target samples site
  • [openfl & lime]
    • Implement Image.willReadFrequently draft pull request.
    • Fix Haxe 5 IMap compatibility merged.
    • Fix duplicate code in PlatformTarget subclasses, fix assets being included twice merged.
    • Fix unicode system path conversions on linux manually merged.
    • Allow music streaming on HTML5 target pull request.
    • Add KTX v1 container support pull request.
  • [go2hx]
  • Prepend/append expr to method example code for no-spoon library.
  • [haxeui] Haxe 5 and CPPIA compatibility improvement pull request.
  • [flatbuffers] Add missing features & fixes pull request.
  • [reflaxe] Make variables pass through expression preprocessors first pull request.
  • linc_filedialogs git - Haxe HXCPP & CPPIA native bindings for portable-file-dialogs.
  • DazKind continues with their “cross-platform, #haxe -based engine, here’s a little vid of the Oimo physics integration I just finished. Apps & Scenes via ECS + Statecharts”.
  • SomeRanDev previews their latest programming language SillyScript git, “intended for scripting scenes in my games by generating JSON that the game interprets”. Plus making an interactive demo, adding custom syntax declarations and ENUMS.
Releases
  • HXP 1.3.1 has been released.
  • hxCompileU 1.5.5 has been released.
  • Armory3D 2025.9 has been released.
  • Crypto 1.1.0 has been released with the following AES codes getting added - CMAC, CCM, GCM, SIV, GCM-SIV.
  • hscript 2.7.0 has been released.
  • HaxeNXCompiler version 3.0.0 has been released.
  • Haxe3DS 1.7.0 has been released.
  • Haxe3DS 1.6.0 has been released.
  • IntelliJ Haxe 1.7.8 has been released.
  • Ceramic 2.1.0 has been released.
Via Haxe Discord server
  • MKI has implemented an audio system into Mana by using both HXCPP and reflaxe/cpp.
  • Glint analytics example dashboard made with HaxeUI.
  • Zan is working on a custom physics engine in Haxe!
  • NinjaMuffin shows msdf font rendering in HaxeFlixel demo.
  • DazKind has added a audio backend that can add sound effects via CSS.
  • Antriel has updated haxe-deps-viewer!
  • DazKind is working more on the 3D side of cortex, using Oimo the physics engine.
  • Mikaib has created cppia-demo git, showing “how to make externs compatible with CPPIA, how to pass around various data types in a dev-friendly way & common do’s and don’ts”.
  • NotBilly previews CPPIA & linc_skia working.
  • Ohmrun has got the Haxe language server setup and working with neovim.
  • Darmie previews a Rust built Haxe compiler that targets Cranelift bytecode for JIT runtime.
  • ACrazyTown previews a custom binary file archive format with a neat Flixel integration, called antpak git.
Git Repos

Closed Source

  • Gepatto shows off a multi touch PhotoTile app build with Lime and SDL3 running on a RaspberryPi 5.
Via Haxe Discord server
  • The small development of a telegram API in Haxe discord. Available on HaxeLib.
  • Cortex’ UI system is finally reaching a point they’re quite happy with.
  • MKI shenanigans with mana and portal updates.
  • Creative Magic presents the Daily Affirmation app. ⭐
  • Tyler getting back into their isometric office sim idea.
  • Jeremy Fa’s Cat Cafe demo is available to play now!
  • NotBilly has rewrote their Riverside View trading app. “Quite an important feature for the project, the ability to load historical market data and play through it. This allows one to test their own strategies without using live accounts”.
  • Tiago can now fully control the motors of their teachers plotter model using HaxeFlixel and Arduino.
  • Squidly previews the “Spark Shield emblem and Morningstar hazard updates”. ⭐
  • Paul Gene states their game Renegade Racing, made with Haxe & NME, now has over 50 million installs on Android and over 1 million on iOS. 👏
  • Steve from VIP Solutions have released Donor Recognition built with OpenFL & FeaturesUI. Try the online demo.
  • Matse shows a preview of ValEditor, which is an animation editor for OpenFL objects, powered by FeathersUI.
  • Undertale BoundFate more battle! preview by Elizabeth.

Some Library Releases

People & Projects to support

  • Axol Studio is a small independent game development studio, making games with and contributing to HaxeFlixel.
  • Funkin’ Crew is making Friday Night Funkin’, a cartoon rhythm gaming excellence.
  • Patrick is creating Raspberry Pi 4 support for Haxe/Lime/OpenFL/HaxeFlixel.
  • Josh Tynjala is working on Feathers UI — open source, cross-platform UI components built with OpenFL.
  • Pavel Alexandrov is primarily contributing to the Heaps engine and is the creator of format-tiled library.
  • Ian Harrigan is working on primarily HaxeUI, as well as hxArduino & hxWebSockets.
  • Alexander Gordeyko is developing Pony, a Haxe open-cross-library.
  • Andy Li is working around the Haxe ecosystem: CI, packaging, docs and learning materials.
  • OpenFL is creating free open source software.
  • HaxeUI is creating an open source user interface libraries.
  • HaxeFlixel is creating an open source, cross platform 2D game engine.

Updates from the Haxe core

Current Proposals & Discussions

Core Changes

306~ updates have been made to Haxe since the last issue.

  • Make haxe.io.Input and haxe.io.Output abstract classes merged.
  • Int64 operators crash when null issue.
  • Add Map<Int64> pull request.
  • Refactor events loops merged. ⭐
  • Hover over macro causes compiler failure with disable-hxb-cache issue.
  • Fix bad completion cache in call(new |) pull request.
  • EventLoop: fix null access .stop in run pull request.
  • Add support for .custom.hx handling pull request. 🌟
  • Hashlink JIT now supports runtime code loading.
  • XML output abstract is duplicated issue.
  • Default value for abstracts merged. 🌟
  • Haxe using 20-40gb of RAM issue.
  • Revive -D cdebug pull request.
  • Limitations of coroutine support in socket operations issue.
  • Typeof & serialize haxe.Int64 pull request.
  • Support Int64 natively on eval pull request.
  • Make paralleslism opt-out again pull request.
  • Abstract inline set issue.
  • Support inline for syntax merged. 🌟
  • Remove js-es=3 support pull request.
  • String.substr negative length support merged.
  • @:inheritDoc doesn’t work for typedef fields issue.
  • Should the type of ??= really be the rhs? fixed.
  • Add @:fromNull for abstracts over basic type draft pull request.
  • Fix bad optimizations when comparing null to basic types merged.
  • Remove a_default merged.
  • Null coalescing null value fix merged.
  • Reject abstract operator overloads if nullability doesn’t match pull request.
  • haxe.EventLoop does not respect FIFO ordering issue.
  • Some coro typing insanity issue.
  • Break outside loop causes compiler assertion issue.
  • Possibility to get DCE’s good ol’ maybeUsed in Haxe 5 issue.
  • More info for unification errors merged.
  • Inline inline functions in inlined functions merged.
  • Add Thread.onExit merged.
  • C++11 std mutex and condition variable merged.
  • I don’t want EntryPoint.run in my output issue.
  • Coroutines merged. 🌟
  • Lock-free data structures discussion.
  • [try.haxe.org] Add support for CPPIA target pull request. ⭐
  • [jvm/eval] Add native Int64Map implementation merged. ⭐
  • [typer] Delay add_constructor merged.
  • [server] Fix memory leak merged.
  • [regression/js] Std.is(_, Int) often not optimised issue.
  • [parser] Warn about #if display pull request.
  • [neko] Support condition variables pull request
  • [null-safety] Check structures and better errors pull request.
  • [null safety] False positive when passing {a:Int} to {} issue.
  • [tests] Use hxb to speed up eval unicode tests pull request.
  • [tests] Fix misc issues in cpp tests merged.
  • [utest] Support coroutines merged.
  • [hxcpp]
    • Sqlite: Include optional defines for FTS5 and JSON1 pull request.
    • Avoid out of bounds access in String::fromCharCode merged.
    • Clean up String::create handling with HX_SMART_STRINGS disabled pull request.
    • Cross-platform socket behaviour inconsistencies issue.
    • Socket: Fix stale indexes and surface close/error reliably in _hx_std_socket_poll_events pull request.
    • Typed ZIP merged.
    • Marshal String Encodings merged.
  • [cpp]
    • Make handles_assign_ops for cpp always true pull request.
    • Fix cpp.Pointer.ofArray with empty arrays pull request.
    • Overrides in scriptable classes break vtable resolution in cppia issue.
    • BuildTool: Fix xcodebuild: error: SDK macrois26 cannot be located pull request.
    • Infinite loop in compiler issue.
    • Marshalling Extern Types update by Aidan.
    • Bad code generation for class static references issue.
    • Deal with null-to-scalar assignment when casting merged.
    • Un-dynamic zip implementation merged.
      • An example of using the new cpp.ManagedType and View types in cpp signatures.

    • Invalid code generated from Int to cpp.Star<Int> cast issue.
    • Forbid questionable value type heap construction pull request.
    • Add sizeof and alignof magic functions merged.
    • Root API merged.
    • Marshal String Encodings merged.
    • Follow coro when retyping abstract and getting field return type merged.
  • [cppia]
    • Fix *= with boxed numbers in jit pull request.
    • Fix int overflow in arithmetic assignments pull request.
    • Wrong parentheses priority for Int32 issue.
  • [hashlink]
    • Port hlsdl to SDL3 pull request.
    • Variable corruption fixed.
    • [jit] Fix UI8/UI16 MOD, when b was place in Eax/Edx merged.
  • [hl]
    • Fix abstract Array with inline dyn length segfault pull request.
    • Fix mingw build merged.
    • Don’t use unsafe cast for method with type param return type merged.
    • Restore unsafe cast optimisation on Map.get pull request.
    • Invert eventloop dependency on hl.uv pull request.
    • Indicate catch types for debug when wrapping merged.
    • [std] Fix compilation with hl_legacy32/ hl version 1.12 merged.
  • [hxb]
    • Automatic handling of incompatible hxb cache issue.
    • Recover from BadModule failure draft pull request.
    • Add minor version handling, increase current version pull request.
  • [js]
    • Use TextEncoder/TextDecoder for haxe.io.Bytes.getString/ofString pull request. ⭐
    • Implement haxe.io.ArrayBufferView.fromBytes() pull request.
    • Bytes.toString and StringBuf use incredible amounts of RAM issue.
    • Top level mutation of every class prevents tree shaking issue.
    • Analyser fails to optimize constant conditional inside abstract issue.
  • [lua]
    • Stub EReg for -D lua-vanilla mode pull request.
    • Genlua cleanup merged.
    • Fix @:selfCall on methods merged.
    • Fix function callbacks passed via anon objects pull request.
    • Fix function extracted from typedef anon to local pull request.
    • Reuse temp locals to avoid 200 variable limit merged.
    • Fix Rest.of and Table.toArray for arrays with null values merged.
    • Add lua.Syntax extern for typed raw Lua code injection pull request.
    • Fix string length being null with invalid utf-8 pull request.
    • Add Syntax.table for creating plain tables without fields draft pull request.
    • Add iterator and keyValueIterator to Table for native for-loop syntax issue and pull request.
  • [lua/python] Fix BytesBuffer.addDouble for large values merged.
  • [hxcoro]
    • Neko milliseconds resolution issue.
    • Add HaxeTimerScheduler and promise/await pull request.
    • Clean up thread pools and commit to IScheduleObject merged.
    • Coroutine constructors issue.
    • Overriding coroutines does not work issue.
    • Add ILoop and restructure CoroRun pull request.
    • Add ThreadAwareScheduler merged.
    • Implement work-stealing queue merged.
    • Channel Draining State merged.
    • Add VecDeque merged.
    • Use Gc.safepoint for HL merged.
    • Thread pool fixes merged.
    • Try a different implementation for CoroSemaphore pull request.
    • Change IScheduler.schedule to take a continuation argument merged.
    • CAS Loop channel draft pull request.
    • Make task state atomic merged.
    • Add IDispatcher merged.
    • Add LuvScheduler for eval merged.
    • Hoisting vs threading issue.
    • Fix zero-event scheduling merged.
    • Make scheduler heap a little more FIFO merged.
    • Channel mutex merged.
    • CoroSemaphore Acquire CAS issue.
    • Use minimum heap for event scheduler merged.
    • [draft] Wake up less waiting readers/writers pull request.
    • Use Vector for heap storage merged.
    • Wakeup a single waiter on reads or writes merged.

You can get started using the latest features by downloading a nightly build of Haxe and see the impact the latest changes have on each target by browsing the benchmarks site. Head over to OSS Insights for more Haxe statistics.

Take it easy everyone, stay safe and see you next time. ☮️ 🕊️