|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## v0.5.0 (2025-10-11) |
| 4 | + |
| 5 | +- Monadic computation support |
| 6 | + - Use Monadic composition to simplify the implementation of `DispatchMatchers` - [#127](https://github.com/contextgeneric/cgp/pull/127) |
| 7 | + - Add full monad transformer support for monadic composition of CGP handlers - [#129](https://github.com/contextgeneric/cgp/pull/129) |
| 8 | + |
| 9 | +- Extensible data types improvements |
| 10 | + - Add generalized field transformation on partial records to support building with default values. - [#128](https://github.com/contextgeneric/cgp/pull/128) |
| 11 | + - Add `CanFinalizeWithDefault` method for partial records - [#130](https://github.com/contextgeneric/cgp/pull/130) |
| 12 | + - Extensible Visitor Improvements - [#132](https://github.com/contextgeneric/cgp/pull/132) |
| 13 | + - Add support for passing additional arguments to extensible visitors - [#134](https://github.com/contextgeneric/cgp/pull/134) |
| 14 | + - Add extensible visitor support mutable partial variants - [#135](https://github.com/contextgeneric/cgp/pull/135) |
| 15 | + - Introduce `UpdateField` trait to generalize field transformation in partial data - [#148](https://github.com/contextgeneric/cgp/pull/148) |
| 16 | + - Add optional field builder constructs for extensible records - [#152](https://github.com/contextgeneric/cgp/pull/152) |
| 17 | + - Introduce `#[derive(CgpData)]` and `#[derive(CgpRecord)]` Macros - [#154](https://github.com/contextgeneric/cgp/pull/154) |
| 18 | + - Add `__` prefix to Partial data types generated - [#156](https://github.com/contextgeneric/cgp/pull/156) |
| 19 | + - Implement ref variants of matcher providers - [#161](https://github.com/contextgeneric/cgp/pull/161) |
| 20 | + |
| 21 | +- Handler improvements |
| 22 | + - Introduce `AsyncComputer` Component - [#136](https://github.com/contextgeneric/cgp/pull/136) |
| 23 | + - Derive `AsyncComputer` when using `#[cgp_computer]` with async functions - [137](https://github.com/contextgeneric/cgp/pull/137) |
| 24 | + - Add new `cgp-extra-macro` crate - [#138](https://github.com/contextgeneric/cgp/pull/138) |
| 25 | + |
| 26 | +- Dispatch macro |
| 27 | + - Implement `#[cgp_dispatch]` macro - [#139](https://github.com/contextgeneric/cgp/pull/139) |
| 28 | + - `#[cgp_dispatch]` macro improvements - [142](https://github.com/contextgeneric/cgp/pull/142) |
| 29 | + - Rename `#[cgp_dispatch]` to `#[cgp_auto_dispatch]` - [#155](https://github.com/contextgeneric/cgp/pull/155) |
| 30 | + |
| 31 | +- Component system improvements |
| 32 | + - Allow only provider name to be specified inside `#[cgp_getter]` - [#143](https://github.com/contextgeneric/cgp/pull/143) |
| 33 | + - Support use of lifetime parameters inside CGP traits - [#145](https://github.com/contextgeneric/cgp/pull/145) |
| 34 | + - Add `?Sized` bound to `DelegateComponent`'s `Name` parameter - [#147](https://github.com/contextgeneric/cgp/pull/147) |
| 35 | + - Allow shortcut definition of provider name in `#[cgp_type]` - [#163](https://github.com/contextgeneric/cgp/pull/163) |
| 36 | + - Fix use of `new` in `delegate_components!` when keys array are used - [#164](https://github.com/contextgeneric/cgp/pull/164) |
| 37 | + - Add `Life` type to represent lifetimes as types - [#166](https://github.com/contextgeneric/cgp/pull/166) |
| 38 | + |
| 39 | +- Field improvements |
| 40 | + - Desugar field constructs into their symbolic forms - [#151](https://github.com/contextgeneric/cgp/pull/151) |
| 41 | + - Allow first argument in `#[cgp_getter]` methods to be non-self - [#169](https://github.com/contextgeneric/cgp/pull/169) |
| 42 | + |
| 43 | +- Symbol improvements |
| 44 | + - Implement `MatchStr` for static string matching with symbols - [#153](https://github.com/contextgeneric/cgp/pull/153) |
| 45 | + - Implement `StaticString` trait to produce `&'static str` from symbol types - [#159](https://github.com/contextgeneric/cgp/pull/159) |
| 46 | + |
| 47 | +- Breaking changes toward stabilization |
| 48 | + - Remove `Async` trait and `Send` bounds in async functions - [#149](https://github.com/contextgeneric/cgp/pull/149) |
| 49 | + - Reorganize exports in `cgp-field` - [#150](https://github.com/contextgeneric/cgp/pull/150) |
| 50 | + - Rename `Char` to `Chars` - [#165](https://github.com/contextgeneric/cgp/pull/165) |
| 51 | + - Remove `HasInner` trait - [#170](https://github.com/contextgeneric/cgp/pull/170) |
| 52 | + - Remove lowercase `symbol!` macro - [#173](https://github.com/contextgeneric/cgp/pull/173) |
| 53 | + |
3 | 54 | ## v0.4.2 (2025-07-07) |
4 | 55 |
|
5 | 56 | - Datatype-generic Programming Support |
|
0 commit comments