Skip to content

Releases: HaxeFoundation/hxcpp

Release 4.3.108

27 Dec 08:16
596badd

Choose a tag to compare

[cppia] Fix haxe overridden scriptable methods (#1273)

* [cppia] Add flag for scriptable overridden methods

This allows overridden methods to be marked so that they do not add an
addtional slot to the vtable, which has previously caused bugs due to
incorrect vtable indices.

* [cppia] Infer overrides from matching method name

For haxe versions that do not tag overridden methods in
__scriptableFunctions tables, we can infer overrides at runtime by
comparing method names.

* [cppia] Swap scriptable func argument order

This way is a bit more backwards compatible. An overridden method will
always have a super version provided.

Release 4.3.107

27 Dec 07:44
f8eb283

Choose a tag to compare

v4.3.107

[tools] Add check for invalid ANDROID_NDK_ROOT (#1281)

Release 4.3.106

15 Dec 09:33
0b59d98

Choose a tag to compare

Typed zip (#1277)

* Updated zlib implementation

* header faff to make gcc pch happy

* Support haxe 4 with new implementation

* no longer throwing on multiple close calls

* Give different file names to avoid cache issues

* Fix old string value

* Another old string

* static cast to int to avoid dynamic conversion of unsupported type

* true instead of 1 for asLibrary value

* some build xml tweaks

* Make sure this_dir is used before Zip.cpp

* case sensitive

* Fix case sensitivity in include

* flip around files order

---------

Co-authored-by: Aidan Lee <[email protected]>

Release 4.3.105

14 Dec 08:01
4b2991f

Choose a tag to compare

int64 over size_t (#1276)

Co-authored-by: Aidan Lee <[email protected]>

Release 4.3.104

13 Dec 21:37
617aed2

Choose a tag to compare

Marshalling Types (#1189)

* Add marshal header for value type interop

* finalise boxed objects if the type has a destructor

* works with static cast

* add value type tests

* move more conversion functions to reference class

* forward declare everything to avoid order issues

* ValueType construction from boxed pointer

* ValueType no longer inherits from struct

* marshal reference interop with existing pointer types

* Fix trying to dereference a null pointer when creating a boxed object from a reference

* add compare traits specialisation for reference null check

* consistent null checking and throwing

* raise exceptions when value types are assigned null

* reference equality operations

* remove no return

* remove some un-needed constructors

* Make constructors use more templates and use reinterpret cast

* use tagged dispatch

* support pointer types being held in value type helper

* Add new marshal pointer type

* rename marshal types in prep for more pointer stuff

* support reinterpreting value type references

* seemingly working pointer marshalling types

* better null checking with pointer references

* add marshalling tests

* Add pointer collection tests

* Move enums into header files

* test abstract around pointers

* Pointer type changes

* add pointer reference to pointer casting

* add null test to pointer access

* add test for vector of value types

* add tests showing weird null behaviour

* move marshalling tests to existing native tests

* initial managed extern tests

* managed extern local tests for two different naming schemes

* reduce test duplication

* Add tests for classes holding managed externs

* change tests so that static functions are tested

* un-private point

* let enum abstract include meta handle it

* remove analyser meta

* Fix test related to recent pointer changes

* Add pointer ctor overload

* view marshalling type

* Change to value semantics

* Add view tests

* Update some tests

* String marshalling functions

* Marshalling tests

* view based string creation and support char16_t in various hxcpp types

* Marshalling string tests

* const ref a bit

* Don't use byte size in copyTo comparison check

* view extension tests

* Split across multiple headers

* typed read and write helper functions

* Add compare function

* cstring to view conversion function, and allow null pointers

* Add view to pointer conversions

* View length is now size_t

* Add endian specific read and write marshal functions

* Add OOB checks

* change the public api to use int64_t over size_t

* Fix string from view conversions to properly use the view length

* Add OOB exception tests

* bound check read and write

* make sure view write index is int64_t

* add tests for exceptions when reading or writing to small views

* guard including new marshal headers

* fix dodgy conditional

---------

Co-authored-by: Aidan Lee <[email protected]>

Release 4.3.103

08 Dec 07:17
646aaee

Choose a tag to compare

v4.3.103

Specify negative substr length (#1274)

Release 4.3.102

26 Nov 17:03
767fe94

Choose a tag to compare

[cppia] Fix int overflow in arithmetic assignments (#1258)

* [cppia] Fix int overflow in arithmetic assignments

Currently, the cppia interp runtime uses float operations for arithmetic
assignments such as *=. This results in inconsistent int overflow
behaviour.

* [tests] Add regression test for int *= overflow

Release 4.3.101

26 Nov 15:57
0c37f06

Choose a tag to compare

[ci] Use macos 15 intel runner (#1271)

macos-13 is deprecated

Release 4.3.100

26 Nov 09:32
272db71

Choose a tag to compare

[ci] Fix mariadb setup (#1269)

The previous setup steps are outdated and no longer necessary for a
basic setup.

See up-to-date documentation:
https://mariadb.com/docs/server/mariadb-quickstart-guides/installing-mariadb-server-guide

Release 4.3.99

25 Nov 12:37
d08e52a

Choose a tag to compare

v4.3.99

Respect HXCPP_CPP11 flag on android toolchain (#1255)