Least Significant Bit Steganography for bitmap images (.bmp and .png), WAV sound files, and byte sequences. Simple LSB Steganalysis (LSB extraction) for bitmap images.
Move development status classifier to "Production/Stable" from "Beta".
Also fix a few mypy issues regarding typing errors from our usage of PIL. The types of that library do not seem particularly stable.
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.6.0...v1.6.1
Generalize bit manipulation to support non power of two byte depths (e.g., you can now interleave bytes into 24-bit values whereas before you were restricted to the natively supported uint8
, uint16
, uint32
, etc.).
This functionality extends to WavSteg in order to allow for 24-bit and 32-bit WAV files, whose support was recently added into Python's wave
module. This closes https://github.com/ragibson/Steganography/issues/13.
The testing scripts for WavSteg and bit_manipulation
have been extended to test these new possibilities.
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.5.4...v1.6.0
Add support and testing for Python 3.12, which was released on Monday.
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.5.3...v1.5.4
Minor release to update package and PyPI information
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.5.2...v1.5.3
Drop the minimum NumPy requirement of version 1.15.4.
At the time, NumPy only supported 3.4-3.7, all of which are end of life, so this restriction does not have any impact in the current release.
Remove Click version restriction after upstream mypy fix (see https://github.com/pallets/click/pull/2565).
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.5.0...v1.5.1
To fix LSBSteg issue https://github.com/ragibson/Steganography/issues/12, we
Also, refactor code to prefer f-strings instead of str.format
, use context managers instead of io.open()
or io.close()
, and use a longer line length for readability.
For now, the Click dependency is restricted to <8.1.4
until they fix their mypy support (see https://github.com/pallets/click/pull/2565).
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.4.4...v1.5.0
Officially drop support for Python 3.7 now that its end of life has been reached. Bump one additional version number to address a new build requirement to properly align distribution vs. import package names.
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.4.2...v1.4.4
NumPy has removed support for Python 3.8, so we've had to tweak the numpy requirement for that version to continue support.
Python 3.8 will officially lose security support in October 2024 (see https://devguide.python.org/versions/). Similarly, Python 3.7 is end-of-life next week.
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.4.1...v1.4.2
Add py.typed file to support external type checking (see https://peps.python.org/pep-0561/ and https://mypy.readthedocs.io/en/stable/installed_packages.html).
Full Changelog: https://github.com/ragibson/Steganography/compare/v1.4.0...v1.4.1