You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+35Lines changed: 35 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,40 @@
1
1
# Changelog
2
2
3
+
## [2.8.0] - Extended Syntax
4
+
5
+
### Added
6
+
7
+
- New concept: *extended* syntax featuring typing compliance; introduces shortcut `f` to annotate fields and `Invisible()` to hide fields from the constructor
8
+
-`struct_factory.mixin` and `bitfield_factory.mixin` both provide default function wrappers for packing and unpacking data as well as typing fixes for operating on types directly.
9
+
- New `parentctx` context path
10
+
- Dynamic endian is now used by default (i. e. can be changed via order parameter in pack() or unpack())
11
+
- New generic `Timestamp` class
12
+
- A number of new test cases
13
+
- New module: `caterpillar.types`: defines default types that can be used as annotations within struct definitions
14
+
-`O_DEFAULT_ENDIAN` as a global option to set a global default byteorder
15
+
-`O_DEFAULT_ARCH` same concept for arch-like objects
16
+
- new 'strict' option to `Enum` struct
17
+
-`ATTR_PACK` and `ATTR_UNPACK` to *caterpillar.shared*
18
+
-`'order'` and `'arch'` options to pack() and unpack(), which temporarily change the global endianess or arch (compatible with Dynamic byteorder)
19
+
20
+
### Changes
21
+
22
+
- Merge all stub files with their corresponding Python files. All typing is now inline.
23
+
-`padding` struct now has its own dedicated class
24
+
- sizeof() now always returns an integer
25
+
- ContextPath: dropped support for the call action
26
+
- Field.get_name() now always returns a string
27
+
- Rename `ssize` and `size` to `pssize` and `psize` in caterpillar.fields exports
28
+
- options.get_flags() always returns a list
29
+
30
+
### Fixes
31
+
32
+
- IntFlag support for `Enum` structs
33
+
- Fix incorrect Sha1 Digest length
34
+
- Add missing global exports in `caterpillar.py`
35
+
- Bitfield, Struct and Sequence now respect fields with already configured byteorder
36
+
- Prefixed struct now does not require `as_field=True` when calling pack() or unpack()
Copy file name to clipboardExpand all lines: docs/sphinx/source/development/changelog.rst
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,48 @@ Changelog
6
6
7
7
*More entries will be added in the future.*
8
8
9
+
.. _changelog_2.8.0:
10
+
11
+
[2.8.0] - Extended Syntax
12
+
=========================
13
+
14
+
Added
15
+
-----
16
+
17
+
- New concept: *extended* syntax featuring typing compliance; introduces shortcut :data:`f` to annotate fields and :func:`~caterpillar.model.Invisible` to hide fields from the constructor
18
+
- ``struct_factory.mixin`` and ``bitfield_factory.mixin`` both provide default function wrappers for packing and unpacking data as well as typing fixes for operating on types directly.
19
+
- New :data:`~caterpillar.context.parentctx` context path
20
+
- Dynamic endian is now used by default (i. e. can be changed via order parameter in pack() or unpack())
21
+
- New generic :class:`~caterpillar.fields.Timestamp` class
22
+
- A number of new test cases
23
+
- New module: ``caterpillar.types``: defines default types that can be used as annotations within struct definitions
24
+
- :data:`~caterpillar.byteorder.O_DEFAULT_ENDIAN` as a global option to set a global default byteorder
25
+
- :data:`~caterpillar.byteorder.O_DEFAULT_ARCH` same concept for arch-like objects
26
+
- new 'strict' option to :class:`~caterpillar.fields.Enum` struct
27
+
- :data:`~caterpillar.shared.ATTR_PACK` and :data:`~caterpillar.shared.ATTR_UNPACK` to *caterpillar.shared*
28
+
- `'order'` and `'arch'` options to pack() and unpack(), which temporarily change the global endianess or arch (compatible with Dynamic byteorder)
29
+
30
+
Changes
31
+
-------
32
+
33
+
- Merge all stub files with their corresponding Python files. All typing is now inline.
34
+
- :class:`~caterpillar.fields.Padding` struct now has its own dedicated class
35
+
- sizeof() now always returns an integer
36
+
- ContextPath: dropped support for the call action
37
+
- Field.get_name() now always returns a string
38
+
- Rename `ssize` and `size` to :data:`~caterpillar.fields.pssize` and :data:`~caterpillar.fields.psize` in caterpillar.fields exports
39
+
- options.get_flags() always returns a list
40
+
41
+
Fixes
42
+
-----
43
+
44
+
- IntFlag support for :class:`~caterpillar.fields.Enum` structs
45
+
- Fix incorrect Sha1 Digest length
46
+
- Add missing global exports in *caterpillar.py*
47
+
- Bitfield, Struct and Sequence now respect fields with already configured byteorder
48
+
- Prefixed struct now does not require ``as_field=True`` when calling pack() or unpack()
0 commit comments