Download Latest Version 1.0.1 Long-term Support source code.zip (229.9 kB)
Email in envelope

Get an email when there's a new version of jluna

Home / v1.0.1
Name Modified Size InfoDownloads / Week
Parent folder
1.0.1 Long-term Support source code.tar.gz 2023-12-06 191.3 kB
1.0.1 Long-term Support source code.zip 2023-12-06 229.9 kB
README.md 2023-12-06 1.8 kB
Totals: 3 Items   423.1 kB 1

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.

:::cpp
// 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
Source: README.md, updated 2023-12-06