Changelog

Future

  • Speed-up translation on aarch64

  • Add padded and wrapcol parameters to b64encode

  • Add padded parameter to urlsafe_b64encode

  • Add padded parameter to b64decode & urlsafe_b64decode

  • urlsafe_b64decode now defaults to padded=False to align with Python 3.15 behavior

  • Add ignorechars and canonical parameters to b64decode

  • Handle excess padding with the same behavior as CPython 3.15

  • Reject non-ASCII strings in b64decode when validate=False

  • Deprecate accepting the + and / characters with an alternative alphabet when decoding

  • Use ValueError instead of AssertionError on altchars length validation

  • Add SBOM to PyPI wheels

  • Add initial support for Python 3.15

  • Drop python 3.8 support

  • Stop publishing python 3.13t wheels

1.4.3

  • Publish Android Python 3.14 wheels

  • Publish GraalPy v25 wheels

1.4.2

  • Update base64 library (Windows ARM64 Neon support)

  • Publish Python 3.14 wheels

  • Publish Linux riscv64 wheels

  • Publish Android wheels

  • Publish iOS wheels

  • Publish GraalPy wheels

1.4.1

  • Publish PyPy 3.11 wheels

  • Publish armv7l wheels

1.4.0

  • Publish python 3.13 wheels

  • Add support for free-threaded builds

  • Add MSYS2 support for C-extension

  • Better logging on base64 build failure when C-extension build is optional

  • Drop python 3.6 & 3.7 support

1.3.2

  • Update base64 library

  • PyPy: fix wrong outcome with non C-contiguous buffer

1.3.1

  • Add missing py.typed marker

1.3.0

  • Update base64 library

  • Add AVX512-VBMI implementation

  • Rework extension build to remove adherence on distutils

  • Publish python 3.12 wheels

  • Documentation now uses furo theme

1.2.3

  • Update base64 library

  • Publish python 3.11 wheels

1.2.2

  • Update base64 library

  • Fix C extension build on musl distros

  • Publish musllinux wheels

1.2.1

  • Publish PyPy 3.8 (pypy38_pp73) wheels

1.2.0

  • Release the GIL

  • Publish CPython 3.10 wheels

  • Drop python 3.5 support

1.1.4

  • Add macOS arm64 wheel

1.1.3

  • GitHub Actions: fix build on tag

1.1.2

  • Add PyPy wheels

  • Add aarch64, ppc64le & s390x manylinux wheels

1.1.1

  • Move CI from TravisCI/AppVeyor to GitHub Actions

  • Fix publication of Linux/macOS wheels

1.1.0

  • Add b64encode_as_string, same as b64encode but returns a str object instead of a bytes object

  • Add b64decode_as_bytearray, same as b64decode but returns a bytarray object instead of a bytes object

  • Speed-Up decoding from UCS1 strings

1.0.2

  • Update base64 library

  • Publish python 3.9 wheels

1.0.1

  • Publish python 3.8 wheels

1.0.0

  • Drop python 3.4 support

  • Drop python 2.7 support

0.5.0

  • Publish python 3.7 wheels

  • Drop python 3.3 support

0.4.0

  • Speed-up decoding when validate==False

0.3.1

  • Fix deployment issues

0.3.0

  • Add encodebytes function

0.2.1

  • Fixed invalid results on Windows

0.2.0

  • Added documentation

  • Added subcommands to the main script:

    • help

    • version

    • encode

    • decode

    • benchmark

0.1.2

  • Updated base64 native library

0.1.1

  • Fixed deployment issues

0.1.0

  • First public release