Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dhondta/python-codext
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: copilot/add-playfair-encoding
Choose a base ref
...
head repository: dhondta/python-codext
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 8 commits
  • 8 files changed
  • 3 contributors

Commits on Jul 19, 2026

  1. Merge pull request #38 from dhondta/copilot/add-playfair-encoding

    Add Playfair cipher codec
    dhondta authored Jul 19, 2026
    Configuration menu
    Copy the full SHA
    9b3919e View commit details
    Browse the repository at this point in the history
  2. Added some documentation

    dhondta committed Jul 19, 2026
    Configuration menu
    Copy the full SHA
    4ba756f View commit details
    Browse the repository at this point in the history
  3. Improved codec: playfair

    dhondta committed Jul 19, 2026
    Configuration menu
    Copy the full SHA
    06d84db View commit details
    Browse the repository at this point in the history
  4. Fixed the base10 codec bypassing the generic base conversion path

    The n == 10 fast-path returned through str(int)/int(str)/i2s before reaching the
    generic divmod path, so base10 (and its int/integer/dec/decimal aliases) both
    missed the leading-zero handling added for the other big-integer bases and had
    two more latent round-trip bugs:
    - leading null bytes were dropped, e.g. b'\x00abc' -> '6382179' -> b'abc';
    - i2s() does hex(i)[2:].rstrip("eL"), so any value whose integer ends in a 0x?e
      byte lost that nibble on decode: b'd\xc6\xfe' -> '6604542' -> b'\x06Lo';
    - str()/int() hit CPython's integer string-conversion digit limit, raising
      ValueError on inputs larger than ~1780 bytes.
    
    Keep the fast-path only for a non-standard 10-character charset and let the
    digits charset use the generic loop, which already handles all three cases.
    gaoflow committed Jul 19, 2026
    Configuration menu
    Copy the full SHA
    efeee08 View commit details
    Browse the repository at this point in the history
  5. Fixed KeyError on bare crc16 and crc codecs

    The width-16 and crc-a variant tables were the only ones without a ''
    default entry, so encode(data, "crc16") and bare "crc" raised
    KeyError: '' instead of resolving like every other width. Default them
    to CRC-16/ARC and CRC-A respectively (both already present as named
    aliases).
    gaoflow committed Jul 19, 2026
    Configuration menu
    Copy the full SHA
    1ad4370 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2026

  1. Merge pull request #47 from gaoflow/fix-crc-bare-name-defaults

    Fixed KeyError on bare crc16 and crc codecs
    dhondta authored Jul 21, 2026
    Configuration menu
    Copy the full SHA
    4c234d3 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #46 from gaoflow/fix-base10-fast-path

    Fix base10 dropping leading zeros and corrupting some values on decode
    dhondta authored Jul 21, 2026
    Configuration menu
    Copy the full SHA
    47482c2 View commit details
    Browse the repository at this point in the history
  3. New release

    dhondta committed Jul 21, 2026
    Configuration menu
    Copy the full SHA
    994014e View commit details
    Browse the repository at this point in the history
Loading