Skip to content

Commit 89b7c7e

Browse files
authored
Merge pull request #616 from PyO3/v0.8.1
Bump version to 0.8.1
2 parents d602b65 + d019fe8 commit 89b7c7e

File tree

12 files changed

+40
-33
lines changed

12 files changed

+40
-33
lines changed

CHANGELOG.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,18 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [0.8.1]
9+
10+
### Added
11+
12+
* Conversion between [num-bigint](https://github.com/rust-num/num-bigint) and Python int. [#608](https://github.com/PyO3/pyo3/pull/608)
13+
914

1015
### Fixed
1116

1217
* Make sure the right Python interpreter is used in OSX builds. [#604](https://github.com/PyO3/pyo3/pull/604)
13-
* Patch specialization being broken by Rust 1.40 [#614](https://github.com/PyO3/pyo3/issues/614)
18+
* Patch specialization being broken by Rust 1.40. [#614](https://github.com/PyO3/pyo3/issues/614)
19+
* Fix a segfault around PyErr. [#597](https://github.com/PyO3/pyo3/pull/597)
1420

1521
## [0.8.0] - 2018-09-05
1622

@@ -324,7 +330,8 @@ Yanked
324330

325331
* Initial release
326332

327-
[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.8.0...HEAD
333+
[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.8.1...HEAD
334+
[0.8.1]: https://github.com/pyo3/pyo3/compare/v0.8.0...v0.8.1
328335
[0.8.0]: https://github.com/pyo3/pyo3/compare/v0.7.0...v0.8.0
329336
[0.7.0]: https://github.com/pyo3/pyo3/compare/v0.6.0...v0.7.0
330337
[0.6.0]: https://github.com/pyo3/pyo3/compare/v0.5.3...v0.6.0

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "pyo3"
3-
version = "0.8.0"
3+
version = "0.8.1"
44
description = "Bindings to Python interpreter"
55
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
66
readme = "README.md"
@@ -22,7 +22,7 @@ appveyor = { repository = "fafhrd91/pyo3" }
2222
libc = "0.2.62"
2323
spin = "0.5.1"
2424
num-traits = "0.2.8"
25-
pyo3cls = { path = "pyo3cls", version = "=0.8.0" }
25+
pyo3cls = { path = "pyo3cls", version = "=0.8.1" }
2626
num-complex = { version = ">= 0.2", optional = true }
2727
num-bigint = { version = ">= 0.2", optional = true }
2828
inventory = "0.1.4"

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
* User Guide: [stable](https://pyo3.rs) | [master](https://pyo3.rs/master)
1212

13-
* API Documentation: [stable](https://docs.rs/pyo3/0.8.0/pyo3/) | [master](https://pyo3.rs/master/doc)
13+
* API Documentation: [stable](https://docs.rs/pyo3/0.8.1/pyo3/) | [master](https://pyo3.rs/master/doc)
1414

1515
A comparison with rust-cpython can be found [in the guide](https://pyo3.rs/master/rust_cpython.html).
1616

@@ -46,7 +46,7 @@ name = "string_sum"
4646
crate-type = ["cdylib"]
4747

4848
[dependencies.pyo3]
49-
version = "0.8.0"
49+
version = "0.8.1"
5050
features = ["extension-module"]
5151
```
5252

@@ -91,7 +91,7 @@ Add `pyo3` to your `Cargo.toml` like this:
9191

9292
```toml
9393
[dependencies]
94-
pyo3 = "0.8.0"
94+
pyo3 = "0.8.1"
9595
```
9696

9797
Example program displaying the value of `sys.version` and the current user name:

guide/src/advanced.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Currently, [#341](https://github.com/PyO3/pyo3/issues/341) causes `cargo test` t
1212

1313
```toml
1414
[dependencies.pyo3]
15-
version = "0.8.0"
15+
version = "0.8.1"
1616

1717
[features]
1818
extension-module = ["pyo3/extension-module"]

guide/src/class.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ each protocol implementation block has to be annotated with the `#[pyproto]` att
477477

478478
### Basic object customization
479479

480-
The [`PyObjectProtocol`](https://docs.rs/pyo3/0.8.0/pyo3/class/basic/trait.PyObjectProtocol.html) trait provides several basic customizations.
480+
The [`PyObjectProtocol`](https://docs.rs/pyo3/0.8.1/pyo3/class/basic/trait.PyObjectProtocol.html) trait provides several basic customizations.
481481

482482
#### Attribute access
483483

@@ -531,7 +531,7 @@ Each method corresponds to Python's `self.attr`, `self.attr = value` and `del se
531531
If your type owns references to other Python objects, you will need to
532532
integrate with Python's garbage collector so that the GC is aware of
533533
those references.
534-
To do this, implement the [`PyGCProtocol`](https://docs.rs/pyo3/0.8.0/pyo3/class/gc/trait.PyGCProtocol.html) trait for your struct.
534+
To do this, implement the [`PyGCProtocol`](https://docs.rs/pyo3/0.8.1/pyo3/class/gc/trait.PyGCProtocol.html) trait for your struct.
535535
It includes two methods `__traverse__` and `__clear__`.
536536
These correspond to the slots `tp_traverse` and `tp_clear` in the Python C API.
537537
`__traverse__` must call `visit.call()` for each reference to another Python object.
@@ -587,7 +587,7 @@ struct GCTracked {} // Fails because it does not implement PyGCProtocol
587587
### Iterator Types
588588

589589
Iterators can be defined using the
590-
[`PyIterProtocol`](https://docs.rs/pyo3/0.8.0/pyo3/class/iter/trait.PyIterProtocol.html) trait.
590+
[`PyIterProtocol`](https://docs.rs/pyo3/0.8.1/pyo3/class/iter/trait.PyIterProtocol.html) trait.
591591
It includes two methods `__iter__` and `__next__`:
592592
* `fn __iter__(slf: PyRefMut<Self>) -> PyResult<impl IntoPy<PyObject>>`
593593
* `fn __next__(slf: PyRefMut<Self>) -> PyResult<Option<impl IntoPy<PyObject>>>`

guide/src/conversions.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ Many conversions in PyO3 can't use `std::convert::Into` because they need a GIL
106106

107107
Eventually, traits such as `ToPyObject` will be replaced by this trait and a `FromPy` trait will be added that will implement `IntoPy`, just like with `From` and `Into`.
108108

109-
[`ToPyObject`]: https://docs.rs/pyo3/0.8.0/pyo3/trait.ToPyObject.html
110-
[PyObject]: https://docs.rs/pyo3/0.8.0/pyo3/struct.PyObject.html
111-
[PyTuple]: https://docs.rs/pyo3/0.8.0/pyo3/types/struct.PyTuple.html
112-
[ObjectProtocol]: https://docs.rs/pyo3/0.8.0/pyo3/trait.ObjectProtocol.html
113-
[IntoPyDict]: https://docs.rs/pyo3/0.8.0/pyo3/types/trait.IntoPyDict.html
109+
[`ToPyObject`]: https://docs.rs/pyo3/0.8.1/pyo3/trait.ToPyObject.html
110+
[PyObject]: https://docs.rs/pyo3/0.8.1/pyo3/struct.PyObject.html
111+
[PyTuple]: https://docs.rs/pyo3/0.8.1/pyo3/types/struct.PyTuple.html
112+
[ObjectProtocol]: https://docs.rs/pyo3/0.8.1/pyo3/trait.ObjectProtocol.html
113+
[IntoPyDict]: https://docs.rs/pyo3/0.8.1/pyo3/types/trait.IntoPyDict.html

guide/src/exception.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ fn main() {
3535

3636
## Raise an exception
3737

38-
To raise an exception, first you need to obtain an exception type and construct a new [`PyErr`](https://docs.rs/pyo3/0.8.0/pyo3/struct.PyErr.html), then call the [`PyErr::restore()`](https://docs.rs/pyo3/0.8.0/pyo3/struct.PyErr.html#method.restore) method to write the exception back to the Python interpreter's global state.
38+
To raise an exception, first you need to obtain an exception type and construct a new [`PyErr`](https://docs.rs/pyo3/0.8.1/pyo3/struct.PyErr.html), then call the [`PyErr::restore()`](https://docs.rs/pyo3/0.8.1/pyo3/struct.PyErr.html#method.restore) method to write the exception back to the Python interpreter's global state.
3939

4040
```rust
4141
use pyo3::{Python, PyErr};
@@ -50,7 +50,7 @@ fn main() {
5050
}
5151
```
5252

53-
If you already have a Python exception instance, you can simply call [`PyErr::from_instance()`](https://docs.rs/pyo3/0.8.0/pyo3/struct.PyErr.html#method.from_instance).
53+
If you already have a Python exception instance, you can simply call [`PyErr::from_instance()`](https://docs.rs/pyo3/0.8.1/pyo3/struct.PyErr.html#method.from_instance).
5454

5555
```rust,ignore
5656
PyErr::from_instance(py, err).restore(py);
@@ -77,7 +77,7 @@ fn my_func(arg: PyObject) -> PyResult<()> {
7777
## Check exception type
7878

7979
Python has an [`isinstance`](https://docs.python.org/3/library/functions.html#isinstance) method to check an object's type,
80-
in PyO3 there is a [`Python::is_instance()`](https://docs.rs/pyo3/0.8.0/pyo3/struct.Python.html#method.is_instance) method which does the same thing.
80+
in PyO3 there is a [`Python::is_instance()`](https://docs.rs/pyo3/0.8.1/pyo3/struct.Python.html#method.is_instance) method which does the same thing.
8181

8282
```rust
8383
use pyo3::Python;
@@ -93,7 +93,7 @@ fn main() {
9393
}
9494
```
9595

96-
[`Python::is_instance()`](https://docs.rs/pyo3/0.8.0/pyo3/struct.Python.html#method.is_instance) calls the underlying [`PyType::is_instance`](https://docs.rs/pyo3/0.8.0/pyo3/types/struct.PyType.html#method.is_instance) method to do the actual work.
96+
[`Python::is_instance()`](https://docs.rs/pyo3/0.8.1/pyo3/struct.Python.html#method.is_instance) calls the underlying [`PyType::is_instance`](https://docs.rs/pyo3/0.8.1/pyo3/types/struct.PyType.html#method.is_instance) method to do the actual work.
9797

9898
To check the type of an exception, you can simply do:
9999

@@ -110,10 +110,10 @@ err.is_instance::<exceptions::TypeError>(py);
110110

111111
## Handle Rust Errors
112112

113-
The vast majority of operations in this library will return [`PyResult<T>`](https://docs.rs/pyo3/0.8.0/pyo3/prelude/type.PyResult.html).
113+
The vast majority of operations in this library will return [`PyResult<T>`](https://docs.rs/pyo3/0.8.1/pyo3/prelude/type.PyResult.html).
114114
This is an alias for the type `Result<T, PyErr>`.
115115

116-
A [`PyErr`](https://docs.rs/pyo3/0.8.0/pyo3/struct.PyErr.html) represents a Python exception.
116+
A [`PyErr`](https://docs.rs/pyo3/0.8.1/pyo3/struct.PyErr.html) represents a Python exception.
117117
Errors within the PyO3 library are also exposed as Python exceptions.
118118

119119
The PyO3 library handles Python exceptions in two stages. During the first stage, a `PyErr` instance is
@@ -124,7 +124,7 @@ In simple cases, for custom errors adding an implementation of `std::convert::Fr
124124
for this custom error is enough. `PyErr::new` accepts an argument in the form
125125
of `ToPyObject + 'static`. If the `'static` constraint can not be satisfied or
126126
more complex arguments are required, the
127-
[`PyErrArguments`](https://docs.rs/pyo3/0.8.0/pyo3/trait.PyErrArguments.html)
127+
[`PyErrArguments`](https://docs.rs/pyo3/0.8.1/pyo3/trait.PyErrArguments.html)
128128
trait can be implemented. In that case, actual exception argument creation is delayed
129129
until a `Python` object is available.
130130

@@ -202,5 +202,5 @@ fn tell(file: PyObject) -> PyResult<u64> {
202202

203203
```
204204

205-
[`pyo3::exceptions`](https://docs.rs/pyo3/0.8.0/pyo3/exceptions/index.html)
205+
[`pyo3::exceptions`](https://docs.rs/pyo3/0.8.1/pyo3/exceptions/index.html)
206206
defines exceptions for several standard library modules.

guide/src/get_started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ name = "string_sum"
4040
crate-type = ["cdylib"]
4141

4242
[dependencies.pyo3]
43-
version = "0.8.0"
43+
version = "0.8.1"
4444
features = ["extension-module"]
4545
```
4646

@@ -85,7 +85,7 @@ Add `pyo3` to your `Cargo.toml` like this:
8585

8686
```toml
8787
[dependencies]
88-
pyo3 = "0.8.0"
88+
pyo3 = "0.8.1"
8989
```
9090

9191
Example program displaying the value of `sys.version` and the current user name:

guide/src/parallelism.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ CPython has the infamous GIL (Global Interpreter Lock), which prevents developer
44
from getting true parallelism when running pure Python code. With PyO3, you can
55
release the GIL when executing Rust code to achieve true parallelism.
66

7-
The [`Python::allow_threads`](https://docs.rs/pyo3/0.8.0/pyo3/struct.Python.html#method.allow_threads)
7+
The [`Python::allow_threads`](https://docs.rs/pyo3/0.8.1/pyo3/struct.Python.html#method.allow_threads)
88
method temporarily releases the GIL, thus allowing other Python threads to run.
99

1010
```rust,ignore

pyo3-derive-backend/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "pyo3-derive-backend"
3-
version = "0.8.0"
3+
version = "0.8.1"
44
description = "Code generation for PyO3 package"
55
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
66
keywords = ["pyo3", "python", "cpython", "ffi"]

pyo3cls/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "pyo3cls"
3-
version = "0.8.0"
3+
version = "0.8.1"
44
description = "Proc macros for PyO3 package"
55
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
66
keywords = ["pyo3", "python", "cpython", "ffi"]
@@ -17,7 +17,7 @@ proc-macro = true
1717
quote = "1"
1818
proc-macro2 = "1"
1919
syn = { version = "1", features = ["full", "extra-traits"] }
20-
pyo3-derive-backend = { path = "../pyo3-derive-backend", version = "=0.8.0" }
20+
pyo3-derive-backend = { path = "../pyo3-derive-backend", version = "=0.8.1" }
2121

2222
[features]
2323
unsound-subclass = ["pyo3-derive-backend/unsound-subclass"]

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
//! crate-type = ["cdylib"]
4949
//!
5050
//! [dependencies.pyo3]
51-
//! version = "0.8.0"
51+
//! version = "0.8.1"
5252
//! features = ["extension-module"]
5353
//! ```
5454
//!
@@ -93,7 +93,7 @@
9393
//!
9494
//! ```toml
9595
//! [dependencies]
96-
//! pyo3 = "0.8.0"
96+
//! pyo3 = "0.8.1"
9797
//! ```
9898
//!
9999
//! Example program displaying the value of `sys.version`:

0 commit comments

Comments
 (0)