PyCLibrary Changelog
====================

0.3.0 - 03/09/2025
------------------

- officially support Python 3.10+ (up to 3.14) PR #78 #83
- drop support for Python < 3.9 PR #78
- move installation to pyproject base installation procedure PR #78
- allow selection of encoding when loading files (issue #51)
- fix parsing of enum types as function arguments PR #79
- support size_t/ssize_t/time_t types PR #80

0.2.2 - 22/01/2024
------------------

- fix issues with file encoding PR #73

0.2.1 - 10/10/2022
------------------

- do not mark wheel as universal anymore
- test compatibility with Python 3.10 PR #62
- test compatibility with pyparsing 3.x PR #62

0.2.0 - 03/10/2022
------------------

- remove support for Python 2 PR #47
- fix issues with parsing rules not using raw strings PR #52

0.1.7 - 11/11/2020
------------------

- remove vendored copy of pyparsing PR # 46
- fix compatibility with pyparsing>=2.3.1 (see pyparsing github issue #69)

0.1.6 - 22/07/2020
------------------

- fix issue when creating nd array in ctypes PR # 45

0.1.5 - 24/06/2020
------------------

- avoid issue with deprecated U mode PR # 43
- make CParser.__str__ similar to print_all PR #40
- fix issue in _get_struct PR #33
- add support for long unsigned int PR #33
- add support for C99 ints PR #28

0.1.4 - 27/10/2016
------------------

- Add "long unsigned int" equivalent to "unsigned long int" PR #33
- Fix _get_struct. Previously the index of unnamed fields were not incremented
  and their definition was not added.  PR #33


0.1.3 - 13/01/2016
------------------

- Add possibilty to evaluate enums
- Fix handling of macros applied to types
- Fix cast_to function (was returning None)
- Properly set the restype and argtypes attributes of ctypes functions
- Fix function pretty printing


0.1.2 - 17/06/2015
------------------

- Update windows headers cache and fix minor issues related to win_defs.
  (Robert Hoelzl)


0.1.1 - 08/06/2015
------------------

- Arrays are represented as multiple '[i]'entries in type-tuple instead of a
  single entry of with multiple such declarations '[i][j]'
- python representations of C types/struct/enums and unions are stored in the
  special python classes now, instead of standard python tuples/dicts
- Pointers are represented as multiple 1-character ('*', '*', ...) entries
  in type-tuple instead of a single entry of multiple characters ('**...')
- BUGFIX: Type-qualifiers can now be specified in between pointer specifiers
  (i.e. ```int * volatile * volatile a``` dies work now)
- BUGFIX: CParser does not crash now, when passing a header-filename in the
  constructor

Special thanks to Robert Hoelzl who provided those changes.


0.1.0 - 23/03/2015
------------------

- First numbered version
