All Versions
16
Latest Version
Avg Release Cycle
153 days
Latest Release
717 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v0.7.0 Changes
October 09, 2021- β Added support for Python 3.10.
- β Removed support for Python 3.3 and 3.4.
- Consistently use
__index__
when converting Python values to Rust integers- Breaking change: A function declared with a
i: i32
parameter no longer accepts Python floating-point values.
- Breaking change: A function declared with a
- π» Rust panic messages now are included in Python exception message (PR by @SimonSapin)
- Allow more arithmetic methods in
py_class!
(PR by @fsh) - Add
NumberProtocol
trait (PR by @Techcable) - [Add
GILGuard::check
][269] (PR by @DurhamG)
-
v0.6.0 Changes
April 15, 2021- π the minimum supported Rust version is now 1.41.1
- on Python 3, strings now directly use the UTF-8 representation stored inside the Python string
- visibility keywords are now permitted on classes and functions (PR by @tdyas)
- the
PyNone
type can be used as a marker representing None in Python (PR by [@markbt])
-
v0.5.2 Changes
December 16, 2020- add a way to disable converting
PyString
to unicode on Python 2 (PR by [@quark-zju]) - π initial serde support (PR by [@quark-zju])
- avoid abort if the Python function never returns due to thread exit (PR by [@quark-zju])
- β Added Python 3.9 support.
- add a way to disable converting
-
v0.5.1 Changes
September 08, 2020- π ignore trailing comma in plist parsing (PR by @lausek)
- 0οΈβ£ make fields of initialization config public and implement Default (PR by [@indygreg])
- fix macros without $crate:: access (PR by [@markbt])
-
v0.5.0 Changes
April 08, 2020- properties (attributes with getter/setters defined in Rust (PR by [@markbt])
- adoption of 2018 edition and general code modernization (PR by [@markbt])
- reference extraction for slot functions and optional reference extraction (PR by [@markbt])
- PEP-587 initialization APIs (python3-sys for Pythonβ₯3.8) (PR by [@indygreg])
- more import APIs (python3-sys) (PR by [@indygreg])
-
v0.4.1 Changes
February 03, 2020- π link-time inconsistency with build config (original PR by @svevang adapted as 202)
- missing
pub
classifier inPySharedRef
example. (PR by @Alphare) - β‘οΈ README updates: copyright years, version number in examples
-
v0.4.0 Changes
January 27, 2020- π The 0.4.x series is planned to be the last that will support Rust 2015.
- β Added Python 3.8 support.
- Type errors during downcasts now explain what the expected and actual types are. (PR by [@markbt])
- Data items can now be shared between Python objects (e.g. for iterators) using
PySharedRef
. (PR by @yuja) PyList
can now be appended to withappend
. The method for inserting items is renamed toinsert
for consistency. (PR by @binh-vu)
-
v0.3.0 Changes
August 01, 2019- Minumum Rust compiler version is now 1.30.
- β Added Capsule support (PR by @gracinet)
- β Added Rust Docstring support for instance methods, static methods and class methods (PRs by @quark-zju and @AdamRzepka)
- Made macros work with Rust 2018 (PR by @derekdreery)
- π Support Rust raw identifiers for method and keyword names (PR by @quark-zju)
- β Added
impl RefFromPyObject for [u8]
. This allows using&[u8]
as parameter type inpy_fn!
. When passing abytes
object from Python, this allows accessing the data without a copy. (other mutable Python objects will use a defensive copy)
-
v0.2.1 Changes
September 28, 2018- β Added Python 3.7 support
-
v0.2.0 Changes
February 27, 2018- Added
pub
modifier topy_class!
syntax:py_class!(pub class ClassName |py| ...)
- π Changed
obj.extract::<Vec<T>>(py)
to work with any object implementing the sequence protocol; not just lists. - β Added the
buffer
module, which allows safe access to the buffer protocol. This allows zero-copy access to numpy arrays. - π When building with
--feature nightly
,extract::<Vec<PrimitiveType>>
will try to use the buffer protocol before falling back to the sequence protocol. - π Added support for optional parameters to
py_argparse!
,py_fn!
andpy_class!
macros. (PR by @Luthaf)
Example:
py_fn!(py, function(i: i32 = 0))
- Made
ObjectProtocol::compare()
available on Python 3. - β Added
ObjectProtocol::rich_compare()
. - π Fixed non-deterministic segfault in extension modules using
py_class!
(PR by @markbt) - π Fixed python27-sys compiler error on ARM (PR by @ostrosco)
- Export path to Python interpreter as Cargo variable (PR by @indygreg)
- Added