# 9. NEWS

## 9.1. bitmath-1.4.0-1

bitmath-1.4.0 was published on 2026-04-16.

### 9.1.1. Project

Version 1.4.0 is a maintenance release — the final release to support Python 2 era packaging infrastructure. It addresses two long-standing issues and makes no breaking changes.

### 9.1.2. Changes

Bug Fixes

- Fixed packaging: `bitmath.integrations` subpackage was missing from the `packages` list in `setup.py.in`, causing the argparse, click, and progressbar integrations to be absent from installed distributions. Reported in PR #107.

- Modernized mock imports in the test suite: `tests/test_progressbar.py` and `tests/test_query_device_capacity.py` now prefer `unittest.mock` (stdlib, Python 3.3+) and fall back to the third-party `mock` package. Based on PR #105.

## 9.2. bitmath-1.3.3-1

bitmath-1.3.3-1 was published on 2018-08-23.

### 9.2.1. Project

Version 1.3.3 is a minor update primarily released to synchronize versions across platforms. Additionally there are small packaging updates to keep up with changing standards.

Minor bug fixes and documentation tweaks are included as well.

The project now has an official Code of Conduct, as well as issue and pull request templates.

What happened to bitmath 1.3.2? It only ever existed as an idea in source control.

### 9.2.2. Changes

Bug Fixes

Alexander Kapshuna has submitted several fixes since the last release. Thanks!

- Packaging requirements fixes

- Python 3 compatibility

- Subclassing and Type checking fixes/improvements

Marcus Kazmierczak submitted a fix for some broken documentation links.

And Dawid Gosławski make sure our documentation is accurate.

Thanks to all the bitmath contributors over the years!

## 9.3. bitmath-1.3.1-1

bitmath-1.3.1-1 was published on 2016-07-17.

### 9.3.1. Changes

Added Functionality

- New function: `bitmath.parse_string_unsafe()`, a less strict version of `bitmath.parse_string()`. Accepts inputs using non-standard prefix units (such as single-letter, or mis-capitalized units).

- Inspired by @darkblaze69’s request in #60 “Problems in parse_string”.

### 9.3.2. Project

Ubuntu

- Bitmath is now available for installation via Ubuntu Xenial, Wily, Vivid, Trusty, and Precise PPAs.

- Ubuntu builds inspired by @hkraal reporting an installation issue on Ubuntu systems.

Documentation

- Cleaned up a lot of broken or re-directing links using output from the Sphinx `make linkcheck` command.

## 9.4. bitmath-1.3.0-1

bitmath-1.3.0-1 was published on 2016-01-08.

### 9.4.1. Changes

Bug Fixes

- Closed GitHub Issue #55 “best_prefix for negative values”. Now `bitmath.best_prefix()` returns correct prefix units for negative values. Thanks mbdm!

## 9.5. bitmath-1.2.4-1

bitmath-1.2.4-1 was published on 2015-11-30.

### 9.5.1. Changes

Added Functionality

- New bitmath module function: `bitmath.query_device_capacity()`. Create `bitmath.Byte` instances representing the capacity of a block device. Support is presently limited to Linux and Mac.

- The `bitmath.parse_string()` function now can parse ‘octet’ based units. Enhancement requested in #53 parse french unit names by walidsa3d.

Bug Fixes

- #49 - Fix handling unicode input in the bitmath.parse_string function. Thanks drewbrew!

- #50 - Update the `setup.py` script to be python3.x compat. Thanks ssut!

### 9.5.2. Documentation

- The project documentation is now installed along with the bitmath library in RPM packages.

### 9.5.3. Project

Fedora/EPEL

Look for separate python3.x and python2.x packages coming soon to Fedora and EPEL. This is happening because of the initiative to update the base Python implementation on Fedora to Python 3.x

- BZ1282560

## 9.6. bitmath-1.2.3-1

bitmath-1.2.3-1 was published on 2015-01-03.

### 9.6.1. Changes

Added Functionality

- New utility: `progressbar` integration: bitmath.integrations.BitmathFileTransferSpeed. A more functional file transfer speed widget.

### 9.6.2. Documentation

- The command-line `bitmath` tool now has online documentation

- A full demo of the `argparse` and `progressbar` integrations has been written. Additionally, it includes a comprehensive demonstration of the full capabilities of the bitmath library. View it in the Real Life Demos Creating Download Progress Bars example.

### 9.6.3. Project

Tests

- Travis-CI had some issues with installing dependencies for the 3.x build unittests. These were fixed and the build status has returned back to normal.

## 9.7. bitmath-1.2.0-1

bitmath-1.2.0-1 was published on 2014-12-29.

### 9.7.1. Changes

Added Functionality

- New utility: `argparse` integration: bitmath.BitmathType. Allows you to specify arguments as bitmath types.

### 9.7.2. Documentation

- The command-line `bitmath` tool now has a proper manpage

### 9.7.3. Project

Tests

- The command-line `bitmath` tool is now properly unittested. Code coverage back to ~100%.

## 9.8. bitmath-1.1.0-1

bitmath-1.1.0-1 was published on 2014-12-20.

- GitHub Milestone Tracker for 1.1.0

### 9.8.1. Changes

Added Functionality

- New `bitmath` command-line tool added. Provides CLI access to basic unit conversion functions

- New utility function bitmath.parse_string for parsing a human-readable string into a bitmath object. Patch submitted by new contributor tonycpsu.

## 9.9. bitmath-1.0.5-1 through 1.0.8-1

bitmath-1.0.8-1 was published on 2014-08-14.

- GitHub Milestone Tracker for 1.0.8

### 9.9.1. Major Updates

- bitmath has a proper documentation website up now on Read the Docs, check it out: bitmath.readthedocs.io

- bitmath is now Python 3.x compatible

- bitmath is now included in the Extra Packages for Enterprise Linux EPEL6 and EPEL7 repositories (pkg info)

- merged 6 pull requests from 3 contributors

### 9.9.2. Bug Fixes

- fixed some math implementation bugs

  - commutative multiplication

  - true division

### 9.9.3. Changes

Added Functionality

- best-prefix guessing: automatic best human-readable unit selection

- support for bitwise operations

- formatting customization methods (including plural/singular selection)

- exposed many more instance attributes (all instance attributes are usable in custom formatting)

- a context manager for applying formatting to an entire block of code

- utility functions for sizing files and directories

- add instance properties equivalent to `instance.to_THING()` methods

### 9.9.4. Project

Tests

- Test suite is now implemented using Python virtualenv’s for consistency across across platforms

- Test suite now contains 150 unit tests. This is 110 more tests than the previous major release (1.0.4-1)

- Test suite now runs on EPEL6 and EPEL7

- Code coverage is stable around 95-100%

## 9.10. bitmath-1.0.4-1

This is the first release of bitmath. bitmath-1.0.4-1 was published on 2014-03-20.

### 9.10.1. Project

Available via:

- PyPi

- Fedora 19

- Fedora 20

bitmath had been under development for 12 days when the 1.0.4-1 release was made available.

### 9.10.2. Debut Functionality

- Converting between SI and NIST prefix units (`GiB` to `kB`)

- Converting between units of the same type (SI to SI, or NIST to NIST)

- Basic arithmetic operations (subtracting 42KiB from 50GiB)

- Rich comparison operations (`1024 Bytes == 1KiB`)

- Sorting

- Useful console and print representations