- Added byte key validation.
- Removed
xor_string
,cyclic_xor_string
andcyclic_xor_string_unsafe
. DEFAULT_ENCODING
andDEFAULT_ERRORS
are not used anymore, therefore they were removed as well.
- Improved typing.
No significant changes.
- Improved typing.
- Dropped Python 3.7 support.
No significant changes.
- Moved
xor_cipher.extension
imports intoxor_cipher
prelude instead ofxor_cipher.core
. This makes it easy to generate proper documentation and allows to test both python and cython implementations.
- Migrated to using
setuptools
.
- Exported in-place functions.
- Transferred the project to the
xor-cipher
organization.
- Fixed the memory leak for functions which created copies of the initial buffer.
- Optimized the process of memory copying (both in performance and memory usage).
- Added
py.typed
file to signify that the library is typed.
No significant changes.
- Added
cyclic_xor_string_unsafe
as the part of the unsafe API. - Added
xor_in_place
. - Added
cyclic_xor_in_place
. - Added
cyclic_xor_in_place_unsafe
as the part of the unsafe API.
- Bumped the minimal Python version to
3.7
. - Renamed
xor_static -> xor
. - Renamed
xor_cyclic -> cyclic_xor
. - Renamed
xor_cyclic_unsafe -> cyclic_xor_unsafe
. - Renamed
xor_static_str -> xor_string
. - Renamed
xor_cyclic_str -> cyclic_xor_string
. This function now expectskey
of typestr
instead ofbytes
.
- Added
xor_cyclic_unsafe
, introducing the unsafe API.
- Added key length check in
xor_cyclic
.
- Fixed type annotations.
- Fixed extension builds.
Initial release.