-
Python background threads can now run in parallel with the R session (#1641).
-
py_main_thread_func()
is deprecated; every R function can now safely be
called from background Python threads (#1648). -
Calls from Python threads into R now notify the main thread using R's native
event loop, ensuring that these calls are handled even when the main thread
is engaged in non-Python tasks (#1648). -
The knitr engine now avoids overwriting Altair's default chart dimensions with
the values ofut.width.px
andut.height.px
. Usealtair.fig.height
,
altair.fig.width
, or Altair'swidth
andheight
parameters to adjust
chart dimensions (contributed by @joelostblom, #1646). -
New
as.character()
method forpython.builtin.str
with support for handling
embedded NULs in strings (#1653). -
New
as.raw()
method forpython.builtin.bytes
(#1649, #1652). -
as.character()
method forpython.builtin.bytes
gains anul
argument,
allowing for convenient handling of embedded NULs in the string (#1652). -
Reticulate now uses the
RETICULATE_VIRTUALENV_ROOT
environment variable when
determining where to resolve virtual environments (#1657). -
conda_run2()
is now exported (contributed by @dramanica, #1637). -
The Python session is now finalized when the R session exits (#1648).
-
Internal updates for NumPy 2.1 (#1651).
-
Fixed error when importing a module named
config
(#1628). -
Fixes for CRAN check failures on macOS-oldrel (#1645).
-
Fixed an error where opening a Python subprocess in Positron on Windows
resulted in "OSError: [WinError 6] The handle is invalid."
(#1658, posit-dev/positron#4457).