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
+54Lines changed: 54 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,59 @@
1
1
# Changelog
2
2
3
+
## [2.6.0] - Minor Release
4
+
5
+
### Added
6
+
-**caterpillar.fields._base**
7
+
- Add support for non-context lambda switch fields.
8
+
9
+
-**caterpillar.fields.common**
10
+
- Add compatibility support for CAPI atoms in `Int`, `UInt` and `PyStructFormattedField`.
11
+
12
+
-**caterpillar.options**
13
+
- Add custom `Flag.__eq__` implementation to support equality check with `c_Option` objects.
14
+
15
+
-**caterpillar.abc**
16
+
- Add new typing-only `_OptionLike` protocol.
17
+
- Add missing `_SupportsType` protocol to the stubs file.
18
+
- Add new method `get` to the `_ContextLike` protocol.
19
+
20
+
-**caterpillar.context**
21
+
- Add new option `O_CONTEXT_FACTORY` that controls the global context type.
22
+
Value must be a method or another type implementing the `_ContextLike` protocol.
23
+
- Add new global context path: `root` (exported as `G` in shortcuts).
24
+
25
+
-**caterpillar.shortcuts**
26
+
- Add new shortcuts `C` for `ctx`, `P` for `parent` and `G` for the `root` context as `ContextPath` objects.
27
+
28
+
-**CAPI**
29
+
- New index assignment system when generating CAPI code — a running number is now applied instead of a hard-coded index.
30
+
- Add complete Context implementation in C (`c_Context`) that conforms to the `_ContextLike` protocol.
31
+
- Add `Atom` for C-based struct-like classes (previously known as `catom`).
32
+
- Add native support for `__bits__` in `Atom`.
33
+
- Add special class `LengthInfo` for packing or unpacking multiple objects.
34
+
- New builtin atoms (CAPI): `Repeated`, `Conditional` and `Switch`.
35
+
- Add new shared objects and exception types to the native implementation (`Cp_ContextFactory`, `Cp_ArrayFactory`, `CpExc_Stop` and `Cp_DefaultOption`).
36
+
37
+
---
38
+
39
+
### Changed
40
+
-**caterpillar.fields._base**
41
+
- Rework `Field` implementation to reduce overhead when packing and unpacking elements.
42
+
- Use pre-computed states instead of calculating everything on the fly; states will be adjusted automatically when setting new values (via `@property` attributes).
43
+
44
+
---
45
+
46
+
### Fixed
47
+
-**caterpillar.fields.common**
48
+
- Fix issue in `Prefixed` that occurred when the internal struct packs a sequence of elements.
49
+
50
+
---
51
+
52
+
### Removed
53
+
-**CAPI**
54
+
- Remove old CAPI and completely revamp the CAPI concept to make it compatible with the Python equivalent.
0 commit comments