Skip to content

Releases: HaxeFoundation/hxcpp

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 <aidan.lee@evcam.com>

Release 4.3.105

14 Dec 08:01
4b2991f

Choose a tag to compare

int64 over size_t (#1276)

Co-authored-by: Aidan Lee <aidan.lee@evcam.com>

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 <aidan.lee@evcam.com>

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)

Release 4.3.98

02 Sep 12:55
1618253

Choose a tag to compare

Avoid out of bounds access in String::fromCharCode (#1254)

If c is negative (this can happen if char is signed), then accessing
sConstStrings[c] is an out of bounds memory access. This results in a
string being created from garbage memory, which can lead to seg faults
later on.

Taking the other branch is safer in this case.

Release 4.3.97

30 Aug 13:25
45246fd

Choose a tag to compare

Use `16KB` max page size on Android. (#1248)

* Use `16KB` max page size on Android.

* Tiny adjustments.

* Oops, forgot to add it here.

* Add `HXCPP_ANDROID_NO_16K_PAGES`.