Skip to content

1.0.1 Long-term Support

Latest
Compare
Choose a tag to compare
@Clemapfel Clemapfel released this 07 Dec 17:48
· 2 commits to master since this release
537d423

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