Haxe Roundup 672

by Skial Bainn edited on

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

Community Updates

Haxe 4.3.0 has been released!

Here are the most notable features that made it into this release:

  • Support defaults for type parameters <T=String> (see proposal).
  • Support abstract keyword to reference the abstract (see proposal).
  • Support static var at expression-level (see proposal).
  • Support ?. safe navigation operator (see proposal).
  • Added ?? null coalescing operator (see proposal).
  • Support number separators 123_456 (see proposal).
  • Support numeric literal suffixes 7i32 (see proposal).
  • Add -w compiler option to configure warnings (see pull request).
  • Added new error reporting modes classic, pretty or indent and logging to file -D messages-log-files=<path> (see pull request).
  • Support custom metadata and defines (see pull request).

Haxe 4.3.0 also includes dozens of other additions, optimizations, improvements and bugfixes. Check out the changelog for more.

If you have any suggestions or run into any problems, absolutely open an issue on GitHub.

News and Articles

In case you missed it

Videos & Music

  • How to Make Adding a Video to a HaxeFlixel Project Quick and Painless video by Richard Oliver Bray.
  • Armory 3D project structure video.
  • Armory 3D April 2023 release overview.
  • Node grouping is changing Armory 3D forever video.
  • 📝 Add a video related to Haxe.
In case you missed it

Jobs, Bounties

Looking for work

Job listings

  • Backend Haxe devs wanted to make PVP deltarune fangame listing. 🆕
  • Ysbryd Games is looking for HaxePunk porters for a potential future title. 🆕
  • Sean James McKenzie of Armor Games Studios is looking for a team experienced in porting Haxe games to console.
  • Corrun is looking for an experienced Haxe programmer to make a deltarune engine.

Bounties

Product Releases & Announcements

  • None this week.
In case you missed it

Previews & Demos

Open Source

Community Previews
Via the Haxe Discord server
Git Repos
  • micromodhx git - Ammer wrapper around micromod git which is a music player library for MOD, S3M and XM formats.
  • minecraft-book-paster git - Tool to help paste large pieces of text into Minecraft’s book & quill item.
  • HaxeDiepIO git - Recreating diep.io in Haxe! An open-source alternative to the popular multiplayer game, with tank movement, shooting, upgrading, and battling.
  • Check out the latest open source Haxe projects over on GitHub.

Closed Source

Via the Haxe Discord server

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.
  • Kaelan Evans is working on HxDoom, a Haxe adaption of Doom.
  • Richard Oliver Bray is teaching people the things he’s learnt, like React, Typescript and Haxe.
  • Alexander Gordeyko is developing Pony, a Haxe open-cross-library.
  • Andy Li is working around the Haxe ecosystem: CI, packaging, docs and learning materials.
  • Kevin Leung is creating open source software libraries.
  • Robert Konrad, the Kha author, is creating Programming Toolkits.
  • 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.
  • Slava Ra is creating improvements for FlashDevelop and HaxeDevelop.
  • Mark Knol is working on Haxe and its documentation.
  • Dan Korostelev is working on the Haxe compiler.

Updates from the Haxe core

Current Proposals & Discussions

Core Changes

84~ updates have been made to Haxe in the last week.

  • Similarly named typedefs in adjacent modules cause overlap issue.
  • [null safety] Null safety inline generic function issue.
  • [null safety] Fix null arg check pull request.
  • Mono to Any cast error issue.
  • Fix call stack positions merged.
  • Switch with at least one field match accesses all the fields issue.
  • [python] Fix Python vector syntax issue merged.
  • [js] Generate class names when using Type.typeof on classes pull request.
In case you missed it
  • MacroApi.type_expr vs diagnostics merged.
  • More strict macro API for init vs not init macros merged.
  • [nullsafety] Null safety skips inline argument cast issue.
  • Detect transitive casts pull request.
  • [hxcpp] Migrate to PCRE2 pull request.
  • [eval] Migrate to PCRE2 merged.
  • [lua] Use lrexlib-pcre2 for regular expressions merged.
  • [hl] Migrate to PCRE2 merged.
  • Vector.fill merged.
  • @:using typedef cascading signatures loop fixed.
  • [lua] Fix for https requests failing immediately and updating _hx_bit to work with lua 5.4 merged.
  • [macro] Add TypeTools.validateTypeParams pull request.
  • [eval] Floats being treated as Ints in interp mode issue.
  • [jvm] Functional interface support merged.
  • Improve duplicate field range merged.
  • [typer] Add define to retain meta upon typing merged.
  • [lua] Hide Lua String inlines pull request.
  • [neko] Fix issues with HaxeLib ndll behaviour 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.

Take it easy everyone, stay safe and see you next week. 🇺🇦