v1.0.1
Sorry for my long absence, I was busy with another Julia related project: Mousetrap.jl, a build-for-Julia GUI engine. My support for this and jluna is unpaid and voluntary, but I will try to make time to check in on issues at least once a week.
Regarding jluna, this release closes a few issues and makes changes that hopefully mean jluna will be forward compatible with future Julia and C++ versions.
To update, simply reinstall jluna using the process described in the installation tutorial.
Thank you,
C.
!! Breaking Changes !!
Array:operator[]
Array::operator[]
and all of its variants such as those expecting an array or generator expression are now deprecated and marked to be removed. This functionality is instead accessible using Array::at
. The documentation was edited to reflect this.
// before
array = jluna::safe_eval("return reshape(Int64[i for i in 1:9], 3, 3));
int64 value = array[1, 2]; // would cause bugs in c++23, c.f. https://github.com/Clemapfel/jluna/issues/56
// is now
array = jluna::safe_eval("return reshape(Int64[i for i in 1:9], 3, 3)]");
int64 value = array.at(1, 2);
8
The reasoning for this is that multi-comma subscript operations of the form array[1, 2]
are being deprecated in C++23, any code base should be refactored to replace operator[]
with Array::at
, as shown above.
Note that 1-element subscript operators, i.e. array[1]
, still work and access the element using linear indexing as expected.
Changes
- Fixed a bug where Julia versions >= 1.10 resulted in a version error on initialization