PackageTrack Sign in Track my project

bitarray

efficient arrays of booleans -- C extension

3.10.1 24M downloads/mo #933 most downloaded on PyPI ilanschnell/bitarray

What this package is like to depend on

Last release 14 days ago

07 Aug 2026

Release timing varies

gaps range from 8 days to 5 months

This project publishes no release notes

the list below is its commits, not an announcement

Nothing withdrawn

no release was ever pulled

18 years old

124 releases · first in 2008

10 releases in the last 12 months

see the full history below

Release timeline

124 releases · Aug 2008 to Aug 2026
2009 2011 2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 60 of 124
  1. 3.10.1 07 Aug 2026
    Commits, not release notes

    This project publishes no release notes. Between 3.10.0 and 3.10.1 there were 39 commits, 37 of them substantive:

    • next release 3.10.1
    • make binode_traverse() easier to read
    • make binode_insert_symbol() easier to read
    • add shared ambiguous_codes in tests - add sanity check
    • add debug test for ._getnode() debug method
    • add make_node_dict()
    • add debug test
    • add useful complementary coverage
    • add recursive node counts debug test
    • add debug test
    • cover more edge cases - add comments
    • reduce some test verbosity
    • remove type checker instruction in hexadecimal.py example
    • fix minor bug in test
    • improve node debug tests
    • move internal tests for util._Random class into devel/test_random.py
    • remove stale comment
    • improve internal tree tests and debug code
    • simplify sc_stat() - add tests
    • add comment

    …and 17 more.

  2. 3.10.0 31 Jul 2026
    Commits, not release notes

    This project publishes no release notes. Between 3.9.2 and 3.10.0 there were 48 commits, 46 of them substantive:

    • next release 3.9.3
    • make code more readable
    • move adjust_slice() into header, remove adjust_step_positive()
    • make getslice_lock_held() more cohesive
    • minor cleanup
    • add .skipbits() tests
    • improve readability
    • more consistent naming
    • add separate ShiftTests
    • fix free-threading bug, see comment
    • add separate SysinfoTests
    • add bitarray/test_free_threading.py
    • add notes - update changelog
    • typo
    • add doc/free_threading.rst
    • add missing changes
    • skip doctesting free_threading.rst unless GIL is disabled
    • remove unnecessary lambda expressions
    • minor test simplifications
    • silence uninitialized warning on some compilers

    …and 26 more.

  3. 3.9.2 25 Jul 2026
    Commits, not release notes

    This project publishes no release notes. Between 3.9.1 and 3.9.2 there were 76 commits, 75 of them substantive:

    • next release 3.9.2
    • add lock to byteswap()
    • add locks in deserialize()
    • add lock in ssqi()
    • improve locks in ba2hex() and ba2base()
    • lock exported input buffers in hex2ba() and base2ba()
    • add ssqi_lock_held() to make code more readable
    • add correspond_all_lock_held()
    • small simplification in binary_function()
    • minor simplifications
    • simplify dev-test
    • add note to .search()
    • simplify test
    • add dev-tests
    • avoid internal tests for _ssqi() in main suite
    • optimize dev-test
    • add test - avoid duplicate code
    • add lock in chdi_next()
    • add bitarray_pop_lock_held()
    • add lock in bitarray_reduce() and getslice()

    …and 55 more.

  4. 3.9.1 19 Jul 2026
    Commits, not release notes

    This project publishes no release notes. Between 3.9.0 and 3.9.1 there were 69 commits, 65 of them substantive:

    • skip data descriptors when not present
    • next release 3.9.1
    • simplify write_reference_for_class()
    • avoid duplicate code
    • make code shorter and more readable
    • remove ^ from condition
    • use Py_RETURN_RICHCOMPARE macro and remove ssize_richcompare()
    • improve RichCompareTests
    • avoid calling memcmp() with zero length
    • minor cleanup
    • wording
    • setup digit table during module import
    • initialize tables at module import
    • add devel-test
    • remove caching imported Python objects (which are already caches)
    • add common shortcut
    • add tests for frozenbitarrays being created
    • add sys.abiflags to output
    • sys.abiflags only available on Unix
    • add (a few) critical sections

    …and 45 more.

  5. 3.9.0 10 Jul 2026
    Commits, not release notes

    This project publishes no release notes. Between 3.8.2 and 3.9.0 there were 53 commits, 48 of them substantive:

    • Add skipbits and index to decodeiterator
    • next release 3.8.3
    • split find_bit() into several function to make it more readable
    • remove skipIf in favor of unittest.skipIf
    • cleanup/improve testing
    • cleanup tests
    • use assertIs when appropriate
    • use .assertIsNot()
    • add tests
    • add util.rotate() - rotate bitarray in-place by k positions
    • allow integer-like objects in random_k() and rotate()
    • add sanity check to example
    • add note
    • add new function to all - formatting
    • improve rotate tests
    • add test
    • add comments
    • remove redundant test
    • add test
    • minor simplifications/fixes in util.py

    …and 28 more.

  6. 3.8.2 17 Jun 2026
    Commits, not release notes

    This project publishes no release notes. Between 3.8.1 and 3.8.2 there were 25 commits, 24 of them substantive:

    • next release 3.8.2
    • drop Python 3.6 support
    • update pythoncapi_compat.h
    • wording
    • wording
    • simplify debug test
    • debug test simplifications
    • add example
    • add test
    • add examples to test
    • simplify example
    • use verbose regex - add comments
    • add expand_str() with test
    • wording
    • remove str_stop from sc_write_indices()
    • minor wording/typos in comments
    • fix minor wording/typos in comments and docstrings
    • add missing decref of state object - wording/typos
    • wording/typos in header file
    • add nodes

    …and 4 more.

  7. 3.8.1 02 Apr 2026
    Commits, not release notes

    This project publishes no release notes. Between 3.8.0 and 3.8.1 there were 24 commits, 22 of them substantive:

    • next release 3.8.1
    • allow testing any default endianness
    • update license header
    • update indexing documentation, fixes #248
    • add comment
    • imporove wording
    • add test
    • update comment
    • fix reference counts in bitarray_encode()
    • fix Py_DECREF(NULL) in extend_fread() - with test
    • check for return value of Py_BuildValue() being NULL in bitarray_buffer_info()
    • avoid corrupted bitarray state after realloc error in resize()
    • fix NULL dereference in chdi_new error path
    • add development tests which import _testcapi
    • add missing Py_VISIT(it->sub) in searchiter_traverse
    • add sanity checks in devel-test
    • move PyObject_GC_UnTrack() to the top of decodeiter_dealloc(), to match other iterator deallocs
    • improve error handling in bitarray_buffer_info() - see #250 finding 12
    • fix memory leak in binode_to_dict() when resize fails - see #250 finding 11
    • check PyLong_FromLong return values - see #250 finding 8

    …and 2 more.

  8. 3.8.0 02 Nov 2025
    Commits, not release notes

    This project publishes no release notes. Between 3.7.2 and 3.8.0 there were 12 commits, 12 of them substantive:

    • next release 3.7.3
    • add .bytes(), see #246
    • remove _set_default_endian()
    • add experimental support for free-threaded builds
    • add Py_GIL_DISABLED to _sysinfo()
    • next release 3.8.0 - update test output
    • simplify example code
    • also disable GIL in _util.c
    • update pythoncapi_compat.h
    • add test_gil_disabled and debug output
    • update readme
    • add release date - update docs
  9. 3.7.2 08 Oct 2025
    Commits, not release notes

    This project publishes no release notes. Between 3.7.1 and 3.7.2 there were 26 commits, 24 of them substantive:

    • next release 3.7.2
    • improve seed tests
    • improve error handling in example
    • add note about util.byteswap()
    • improve error handling when adding module constants
    • add test to example - cleanup
    • remove no longer needed future imports
    • simplify tests using random.choices()
    • simplify test_random_masks
    • minor simplifications
    • make code more readable
    • wording
    • avoid no longer necessary u string prefix
    • enable util.random_k() for all Python versions
    • skip test for Python version lower than 3.8
    • update documentation
    • fix wording
    • wording
    • add devel test for resize()
    • simplify test

    …and 4 more.

  10. 3.7.1 28 Aug 2025

    Nothing published for this version

  11. 3.7.0 24 Aug 2025

    Nothing published for this version

  12. 3.6.1 12 Aug 2025

    Nothing published for this version

  13. 3.6.0 29 Jul 2025

    Nothing published for this version

  14. 3.5.2 21 Jul 2025

    Nothing published for this version

  15. 3.5.1 14 Jul 2025

    Nothing published for this version

  16. 3.5.0 06 Jul 2025

    Nothing published for this version

  17. 3.4.3 23 Jun 2025

    Nothing published for this version

  18. 3.4.2 21 May 2025

    Nothing published for this version

  19. 3.4.1 15 May 2025

    Nothing published for this version

  20. 3.4.0 06 May 2025

    Nothing published for this version

  21. 3.3.2 02 May 2025

    Nothing published for this version

  22. 3.3.1 04 Apr 2025

    Nothing published for this version

  23. 3.3.0 30 Mar 2025

    Nothing published for this version

  24. 3.2.0 19 Mar 2025

    Nothing published for this version

  25. 3.1.1 06 Mar 2025

    Nothing published for this version

  26. 3.1.0 19 Feb 2025

    Nothing published for this version

  27. 3.0.0 15 Oct 2024

    Nothing published for this version

  28. 2.9.3 10 Oct 2024

    Nothing published for this version

  29. 2.9.2 01 Jan 2024

    Nothing published for this version

  30. 2.9.1 23 Dec 2023

    Nothing published for this version

  31. 2.9.0 17 Dec 2023

    Nothing published for this version

  32. 2.8.5 09 Dec 2023

    Nothing published for this version

  33. 2.8.4 04 Dec 2023

    Nothing published for this version

  34. 2.8.3 12 Nov 2023

    Nothing published for this version

  35. 2.8.2 03 Oct 2023

    Nothing published for this version

  36. 2.8.1 07 Aug 2023

    Nothing published for this version

  37. 2.8.0 22 Jul 2023

    Nothing published for this version

  38. 2.7.6 24 Jun 2023

    Nothing published for this version

  39. 2.7.5 10 Jun 2023

    Nothing published for this version

  40. 2.7.4 29 May 2023

    Nothing published for this version

  41. 2.7.3 21 Feb 2023

    Nothing published for this version

  42. 2.7.2 13 Feb 2023

    Nothing published for this version

  43. 2.7.1 10 Feb 2023

    Nothing published for this version

  44. 2.7.0 05 Feb 2023

    Nothing published for this version

  45. 2.6.2 02 Jan 2023

    Nothing published for this version

  46. 2.6.1 18 Dec 2022

    Nothing published for this version

  47. 2.6.0 19 Jul 2022

    Nothing published for this version

  48. 2.5.1 10 May 2022

    Nothing published for this version

  49. 2.5.0 04 May 2022

    Nothing published for this version

  50. 2.4.1 29 Mar 2022

    Nothing published for this version

  51. 2.4.0 02 Mar 2022

    Nothing published for this version

  52. 2.3.7 21 Feb 2022

    Nothing published for this version

  53. 2.3.6 07 Feb 2022

    Nothing published for this version

  54. 2.3.5 07 Jan 2022

    Nothing published for this version

  55. 2.3.4 12 Sep 2021

    Nothing published for this version

  56. 2.3.3 05 Sep 2021

    Nothing published for this version

  57. 2.3.2 23 Aug 2021

    Nothing published for this version

  58. 2.3.1 20 Aug 2021

    Nothing published for this version

  59. 2.3.0 15 Aug 2021

    Nothing published for this version

  60. 2.2.5 07 Aug 2021

    Nothing published for this version

Stop reading changelogs one package at a time.

Point PackageTrack at your project and get told which of your dependencies moved, which of those matter, and what to do about it.

Track my project