<feed xmlns='http://www.w3.org/2005/Atom'>
<title>immutables, branch v0.16</title>
<subtitle>A mirror of https://github.com/MagicStack/immutables with Debian packaging in additional branches</subtitle>
<id>https://git.koszko.org/immutables/atom?h=v0.16</id>
<link rel='self' href='https://git.koszko.org/immutables/atom?h=v0.16'/>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/'/>
<updated>2021-08-07T19:33:36Z</updated>
<entry>
<title>immutables v0.16</title>
<updated>2021-08-07T19:33:36Z</updated>
<author>
<name>Elvis Pranskevichus</name>
<email>elvis@edgedb.com</email>
</author>
<published>2021-08-07T19:33:36Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=15a9654e8bc89be4999f4b895f80dc53f35f75e5'/>
<id>urn:sha1:15a9654e8bc89be4999f4b895f80dc53f35f75e5</id>
<content type='text'>
Updates
=======

* Refactor typings
  (by @bryanforbes in 39f9f0de and @msullivan in 4a175499)

* Update Python 3.10 support, drop Python 3.5
  (by @elprans in fa355239 and 189b959d)

Fixes
=====

* Fix test_none_collisions on 32-bit systems (#69)
  (by @elprans in fa355239 for #69)

Misc
====

* Clarify the license of the included pythoncapi_compat.h header
  (by @elprans in 67c5edfb for #64)

* Use cibuildwheel to build wheels (#70)
  (by @elprans in f671cb4d for #70)
</content>
</entry>
<entry>
<title>Use cibuildwheel to build wheels (#70)</title>
<updated>2021-08-07T17:46:53Z</updated>
<author>
<name>Elvis Pranskevichus</name>
<email>elvis@edgedb.com</email>
</author>
<published>2021-08-07T17:46:53Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=f671cb4dbb84e5e575757bdf9c053ee797863eae'/>
<id>urn:sha1:f671cb4dbb84e5e575757bdf9c053ee797863eae</id>
<content type='text'>
The cibuildwheel infra seems to be mature enough, so use it for the
wheel-building step instead of the homegrown setup.  This gives us
32-bit and ARM wheels for free.

Fixes: #44
Fixes: #63</content>
</entry>
<entry>
<title>Drop Python 3.5 support declaration, add Python 3.10 (#71)</title>
<updated>2021-08-07T01:19:23Z</updated>
<author>
<name>Elvis Pranskevichus</name>
<email>elvis@edgedb.com</email>
</author>
<published>2021-08-07T01:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=189b959d2e5f09660508482398414e2869c074ff'/>
<id>urn:sha1:189b959d2e5f09660508482398414e2869c074ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix test_none_collisions on 32-bit systems (#69)</title>
<updated>2021-08-05T02:25:44Z</updated>
<author>
<name>Elvis Pranskevichus</name>
<email>elvis@edgedb.com</email>
</author>
<published>2021-08-05T02:25:44Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=fa355239e70411179c70b16ed4ff7113d8008dad'/>
<id>urn:sha1:fa355239e70411179c70b16ed4ff7113d8008dad</id>
<content type='text'>
There are two issues at play here:

1. Python version of `map_hash` unnecessarily performs hash truncation
   even if the hash is already 32-bit wide, which potentially converts
   it from signed int to unsigned long.

2. The `test_none_collisions` test generates a collision node with
   hash greater than 2^32.

Both of these are problematic on 32-bit systems, where `sizeof(Py_hash_t)`
is 4, and so anything that doesn't fit into `Py_hash_t` gets bit-mangled,
breaking the `hash(x) != x` invariance that the test relies upon.

Fixes: #53
Fixes: #50</content>
</entry>
<entry>
<title>tests: Test on Python 3.10</title>
<updated>2021-08-04T03:13:35Z</updated>
<author>
<name>Elvis Pranskevichus</name>
<email>elvis@edgedb.com</email>
</author>
<published>2021-08-03T18:28:54Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=3f8cb24cf3da3af1b86ef61cefc091784d39ec08'/>
<id>urn:sha1:3f8cb24cf3da3af1b86ef61cefc091784d39ec08</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Sync pythoncapi_compat.h</title>
<updated>2021-08-04T03:13:35Z</updated>
<author>
<name>Elvis Pranskevichus</name>
<email>elvis@edgedb.com</email>
</author>
<published>2021-08-03T18:22:43Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=1bcdd492f931be380986aafc83af2522a443402b'/>
<id>urn:sha1:1bcdd492f931be380986aafc83af2522a443402b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add in mypy tests</title>
<updated>2021-08-04T00:54:57Z</updated>
<author>
<name>Michael J. Sullivan</name>
<email>sully@msully.net</email>
</author>
<published>2021-08-03T20:58:42Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=4a175499500d176c811eeb3aba29c9449f9e40b3'/>
<id>urn:sha1:4a175499500d176c811eeb3aba29c9449f9e40b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor typings</title>
<updated>2021-08-04T00:54:57Z</updated>
<author>
<name>Bryan Forbes</name>
<email>bryan@reigndropsfall.net</email>
</author>
<published>2021-02-10T20:37:35Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=39f9f0de168b0149456a1aca09ef3f442f436bbf'/>
<id>urn:sha1:39f9f0de168b0149456a1aca09ef3f442f436bbf</id>
<content type='text'>
* Improve typing of `__init__()`
* Update typing of `Map`-producing functions to produce the correct type
* Update typing of other methods to more closely align with `Mapping`
* Add protocol classes for unexposed data structures
* Export protocol classes for ease of use in typed code
* Update stub file to pass in mypy strict mode
</content>
</entry>
<entry>
<title>Clarify the license of the included pythoncapi_compat.h header</title>
<updated>2021-04-22T16:48:29Z</updated>
<author>
<name>Elvis Pranskevichus</name>
<email>elvis@edgedb.com</email>
</author>
<published>2021-04-22T16:48:29Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=67c5edfb8284e39ab6a0be9a4644ede306c6e9bd'/>
<id>urn:sha1:67c5edfb8284e39ab6a0be9a4644ede306c6e9bd</id>
<content type='text'>
The `pythoncapi_compat.h` header is distributed under the MIT license,
so include the full text of the license in the header and mention it in
the top level LICENSE file.

Fixes: #64
</content>
</entry>
<entry>
<title>v0.15</title>
<updated>2021-02-10T01:10:52Z</updated>
<author>
<name>Fantix King</name>
<email>fantix.king@gmail.com</email>
</author>
<published>2021-02-09T21:30:12Z</published>
<link rel='alternate' type='text/html' href='https://git.koszko.org/immutables/commit/?id=8868cbc8ef6823cc857220668e10be670a171473'/>
<id>urn:sha1:8868cbc8ef6823cc857220668e10be670a171473</id>
<content type='text'>
New Features

* Add support for Python 3.10 and more tests
  (by @vstinner in 45105ecd for #46, @hukkinj1 in d7f3eebb, f0b4fd40)

* Make __repr__ more similar to other mapping types
  (by @ofek in 8af15021 for #17)

Misc

* Minor docs and CI fixes
  (by @MisterKeefe in 76e491cf for #32, @fantix in 1282379d for #39)
</content>
</entry>
</feed>
