|
2 | 2 |
|
3 | 3 | - Update wheels to libgit2 1.9.7 |
4 | 4 |
|
5 | | -- CI (Linux, macOS, Windows): cache compiled dependencies between wheel |
6 | | - builds, keyed by platform and dependency versions. |
7 | | - |
8 | | -- CI (macOS): build architecture-specific OpenSSL/libssh2/libgit2 |
9 | | - dependencies instead of universal binaries, producing smaller wheels. |
10 | | - |
11 | 5 | - New exception hierarchy: `AlreadyExistsError`, `InvalidSpecError`, |
12 | 6 | `InvalidError`, `NotFoundError`, `AmbiguousError`, `AuthError`, and |
13 | 7 | `CertificateError` all inherit from `GitError` and the appropriate Python |
14 | 8 | built-in exception (`ValueError`/`KeyError`) for backward compatibility |
15 | | - [#830](https://github.com/libgit2/pygit2/issues/830). |
16 | | - |
17 | | -- Fix custom ODB and refdb backend callbacks overwriting a pending Python |
18 | | - exception (e.g. `RuntimeError`) with a stale libgit2 error message. |
| 9 | + [#830](https://github.com/libgit2/pygit2/issues/830) |
19 | 10 |
|
20 | 11 | - Fix `DiffDelta.is_binary` and `DiffDelta.flags` returning stale values for |
21 | 12 | deltas obtained from `Diff.deltas`; flags are now loaded lazily |
22 | 13 | [#962](https://github.com/libgit2/pygit2/issues/962) |
23 | | - [#1100](https://github.com/libgit2/pygit2/pull/1100). |
| 14 | + [#1100](https://github.com/libgit2/pygit2/pull/1100) |
24 | 15 |
|
25 | | -- Fix invalid oid arguments being silently ignored in `BlobIO`, the |
26 | | - `Reference` constructor, `RefdbBackend.write()`/`delete()`, and custom |
27 | | - `OdbBackend` callbacks; they now raise the appropriate Python exception |
28 | | - instead of producing wrong results, `SystemError`, or crashes |
29 | | - [#1478](https://github.com/libgit2/pygit2/issues/1478). |
| 16 | +- Fix `Repository.submodules.get()` and `name in repo.submodules` raising |
| 17 | + `AlreadyExistsError` when a repository exists at the submodule path but was |
| 18 | + never registered as a submodule; they now return `None` and `False` |
| 19 | + respectively as documented |
| 20 | + [#1487](https://github.com/libgit2/pygit2/pull/1487) |
30 | 21 |
|
31 | | -- Fix potential crash and memory leak in `DiffHunk.lines` and `Patch.hunks` |
32 | | - on allocation or per-item failure |
33 | | - [#1479](https://github.com/libgit2/pygit2/issues/1479). |
| 22 | +- Fix `BlobIO` cleanup deadlock on partial reads |
| 23 | + [#1488](https://github.com/libgit2/pygit2/issues/1488) |
| 24 | + [#1491](https://github.com/libgit2/pygit2/pull/1491) |
34 | 25 |
|
35 | | -- Fix memory leaks in `Repository.listall_branches()` and |
36 | | - `Tree.diff_to_index()` on early error paths |
37 | | - [#1480](https://github.com/libgit2/pygit2/issues/1480). |
| 26 | +- Fix leaks and crashes in error paths |
| 27 | + [#1478](https://github.com/libgit2/pygit2/issues/1478) |
| 28 | + [#1479](https://github.com/libgit2/pygit2/issues/1479) |
| 29 | + [#1480](https://github.com/libgit2/pygit2/issues/1480) |
| 30 | + [#1481](https://github.com/libgit2/pygit2/issues/1481) |
38 | 31 |
|
39 | | -- Fix reference leaks in the blob filter stream callbacks and in |
40 | | - `_cache_enums()` |
41 | | - [#1481](https://github.com/libgit2/pygit2/issues/1481). |
| 32 | +- Fix custom ODB and refdb backend callbacks overwriting a pending Python |
| 33 | + exception (e.g. `RuntimeError`) with a stale libgit2 error message. |
| 34 | + |
| 35 | +- Documentation fixes |
| 36 | + [#1490](https://github.com/libgit2/pygit2/pull/1490) |
| 37 | + |
| 38 | +- CI (macOS): build architecture-specific OpenSSL/libssh2/libgit2 |
| 39 | + dependencies instead of universal binaries, producing smaller wheels. |
42 | 40 |
|
43 | 41 |
|
44 | 42 | # 1.20.0 (2026-08-08) |
|
0 commit comments