Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-08-07 | immutables v0.16v0.16 | Elvis Pranskevichus | |
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) | |||
2021-08-07 | Use cibuildwheel to build wheels (#70) | Elvis Pranskevichus | |
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 | |||
2021-08-06 | Drop Python 3.5 support declaration, add Python 3.10 (#71) | Elvis Pranskevichus | |
2021-08-04 | Fix test_none_collisions on 32-bit systems (#69) | Elvis Pranskevichus | |
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 | |||
2021-08-03 | tests: Test on Python 3.10 | Elvis Pranskevichus | |
2021-08-03 | Sync pythoncapi_compat.h | Elvis Pranskevichus | |
2021-08-03 | Add in mypy tests | Michael J. Sullivan | |
2021-08-03 | Refactor typings | Bryan Forbes | |
* 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 | |||
2021-04-22 | Clarify the license of the included pythoncapi_compat.h header | Elvis Pranskevichus | |
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 | |||
2021-02-09 | v0.15v0.15 | Fantix King | |
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) | |||
2021-02-09 | Workaround Github Action issue | Fantix King | |
Refs actions/runner#781, add LD_LIBRARY_PATH manually here for now before an upstream fix is added. | |||
2021-02-09 | Fix flake8 errors and add it to CI (#45) | Taneli Hukkinen | |
* Fix flake8 errors and add it to CI * Use extras for test dependencies Co-authored-by: Fantix King <fantix.king@gmail.com> | |||
2021-02-09 | Remove deprecated setup.py test | Fantix King | |
2021-02-09 | Make __repr__ more similar to other mapping types (#58) | Ofek Lev | |
2021-02-09 | Test Python 3.9 (#51) | Taneli Hukkinen | |
2021-02-09 | Make PEP references hyperlinks (#32) | Tom Keefe | |
2020-12-06 | Add Python 3.10 support: use Py_SET_SIZE() (#52) | Victor Stinner | |
2020-05-17 | v0.14v0.14 | Yury Selivanov | |
* Allow `None` to be used as key in pure-Python implementation. By @TIGirardi. | |||
2020-05-17 | Unbreak CI | Yury Selivanov | |
2020-05-17 | Accept None as a key in pure python module (#42) | TIGirardi | |
2020-05-13 | v0.13v0.13 | Yury Selivanov | |
Bugfixes * Various improvements w.r.t. type annotations & typing support (by @hukkinj1) * Fix pure-Python implementation to accept keyword argument "col" correctly (by @hukkinj1) | |||
2020-05-13 | Import Literal type from typing_extensions if python version<3.8 (#33) | Taneli Hukkinen | |
2020-05-13 | Improve type annotation of Map.__init__ | Taneli Hukkinen | |
2020-05-13 | Fix errors when a kwarg is named "col" (#35) | Taneli Hukkinen | |
2020-05-13 | Make MapMutation.update consistently return an implicit None | Taneli Hukkinen | |
2020-05-13 | Improve type annotations of Map.update and MapMutation.update | Taneli Hukkinen | |
2020-05-13 | Improve CI badge link | Taneli Hukkinen | |
2020-05-13 | Update README CI badges | Taneli Hukkinen | |
2020-05-13 | Fix return type annotation of Map.__reduce__ | Taneli Hukkinen | |
2020-05-13 | Add python version requirement metadata | Taneli Hukkinen | |
2020-04-22 | Drop Travis and Appveyor CI | Elvis Pranskevichus | |
Switch to Github Actions exclusively | |||
2020-04-22 | Update the test workflow | Elvis Pranskevichus | |
2020-04-22 | Add Github release workflowv0.12 | Elvis Pranskevichus | |
2020-04-22 | Define NDEBUG actively | Elvis Pranskevichus | |
`NDEBUG` is not defined by the standard library or the compiler by default, so make sure it's defined when building non-debug builds. | |||
2020-04-22 | A bunch of fixes | Yury Selivanov | |
* Fix #26: `ifdef NDEBUG` should be `ifndef NDEBUG` * More tests for #24 * Add a `DEBUG_IMMUTABLES` env var to build debug builds | |||
2020-04-22 | Fix the mutation API to maintain elements count correctly (#25, #24) | TIGirardi | |
2019-11-04 | Bump the version to 0.12 | Yury Selivanov | |
2019-11-04 | Fix manylinux for 3.8 | Yury Selivanov | |
2019-11-02 | Add Python 3.8 support (#16) | Bruno Oliveira | |
Fix #15 | |||
2019-10-11 | Bump the version to 0.11v0.11 | Yury Selivanov | |
2019-10-11 | Include py.typed/*.pyi in MANIFEST.in | Yury Selivanov | |
2019-10-11 | fix: add package_data to setup.py (#14) | Anton Agestam | |
2019-10-07 | Bump the version to 0.10v0.10 | Yury Selivanov | |
2019-10-03 | Add typing information (#13) | Anton Agestam | |
2018-12-13 | Bump the version to 0.9v0.9 | Yury Selivanov | |
2018-12-13 | Simplify MapMutation.__exit__() implementation | Yury Selivanov | |
2018-12-13 | Don't allow MapMutation.update() calls after the mutation is finished | Yury Selivanov | |
2018-12-13 | Bump the version to 0.8v0.8 | Yury Selivanov | |
2018-12-13 | Add MapMutation.update(); make creating Map from a Map faster; fix bugs | Yury Selivanov | |
* Add new MapMutation.update() method that behaves like MutableMapping.update() * Make it faster to create a Map() from another Map() -- it's now an O(1) operation. * update() method had a bug that could cause the update Map object to have a wrong number of elements. | |||
2018-11-20 | Bump the version to 0.7v0.7 | Yury Selivanov | |