Full Changelog

Notable changes to this project will be documented in this file. The format is based on Keep a Changelog.

The next version of CCSDSPy will be 2.0.0, which include integration with the logging module.

Version 1.4.3 - 2025-11-06

  • Add explicit support up to Python 3.13.

Version 1.4.2 - 2025-06-08

  • Fixed bug in pkt.load() where IndexError would be thrown when <6 bytes of garbage at ened of file (Issue #139)

  • Fixed bug in utils.split_by_apid() where IndexError would be thrown when <6 bytes of garbage at end of file (Discussion #105)

Version 1.4.1 - 2025-03-19

  • Updates the ccsdspy.utils.validate() function so that packets are split by APID before primary headers data is parsed. This change allows for more accurate validation of the primary headers and APIDs.

  • This removes potentially misleading warnings from read_primary_headers for having multiple apids, having missing or out of order sequence counts.

Version 1.4.0 - 2025-03-05

  • Enhanced Docstrings to call out Raises and Warns

  • Updated sphinx docs to include descriptions of file and packet checks when loading files.

  • Introduced new utils.validate() function for high-level validation of CCSDS packet files:

    • Checks file integrity (e.g., truncation or extra bytes) and header consistency.

    • Returns a list of warnings or exceptions (e.g., “UserWarning: File appears truncated” or “UserWarning: Found unknown APID”) encountered during validation.

  • Supports optional valid_apids parameter to warn about unexpected APIDs.

Version 1.3.3 - 2025-01-31

  • Fix bug where converters.PolyConverter and converters.LinearConverter would raise an exception when the field array was unsigned and coefficient was negative (Issue #132)

Version 1.3.2 - 2024-10-17

  • Add support for NumPy >2.0, while maintining support for <2.0

  • Fix link to bluebook and update sequence control field

Version 1.3.1 - 2024-07-30

  • Pin NumPy under 2.0 to Dependencies (Support for NumPy 2 will come at a later date)

Version 1.3.0 - 2024-05-24

Version 1.2.1 - 2023-11-26

  • Fixed bug/regression introduced in 1.2.0 from signed integer patch (Discussion #101)

  • Fixed bug with expanding fields that occur in the middle of the packet (Discussion #102)

Version 1.2.0 - 2023-09-27

  • Add new class StringifyBytesConverter, which can be used to inspect individual bytes in string representations such as binary, hexadecimal, or octal. For an introduction to post-processing transformations, see the documentation at Post-Processing Transformations.

  • Fixed issue with parsing signed integers that are not aligned to byte boundaries (Issues #80 and #76)

  • Corrected several spelling errors and typos in the documentation.

Version 1.1.0 - 2023-04-11

Version 1.0.0 - 2023-02-02

  • Major new documentation added and re-organization.

  • Started tracking coverage percentage

  • Repackaging using pyproject.toml file

Version 0.0.13 - 2023-01-03

  • Added the ability to parse variable length files

  • Added the ability to specify packet field that are arrays

  • Added the ability to define a packet through a csv file

  • Added github actions to perform continuous integration

  • Specified black as the only accepted code formatter

Version 0.0.12 - 2022-08-06

  • Add split_by_apid() function and command line interface python -m ccsdspy split.

Version 0.0.9 - 2018-11-19

  • Improve handling of packet definitions with intermittently specified bit_offset (ie. some bit_offset specified, others None).

  • Respect byte_ordering for float datatypes.

Version 0.0.8 - 2018-10-11

  • Removed astropy dependency. Changes return type of ccsdspy.FixedLength.load from astropy.table.Table to OrderedDict.

  • Added CHANGELOG.