Releases: contextgeneric/cgp
v0.4.2
Changelog
-
Implement Extensible Data Types - more info in the blog post
- Data-generic programming support in CGP - #112
- Implement
DispatchHandlersRef
for dispatching based on enum references - #116 - Builder dispatcher refactoring - #117
- Introduce ref version of handler traits - #118
- Dispatcher Refactoring - #119
- Remove Input param from
MatchWithFieldHandlers
- #120 - Support use of ref handlers in handler macros - #121
-
Preset Improvements
- Add new direct delegation mode and use it in preset inheritance - #111
-
Bug Fixes
v0.4.1
More details about this release is covered in the update blogpost.
Changelog
v0.4.0
More details about this release is covered by the update blogpost.
Changelog
-
Debugging Improvements
- Implement
delegate_and_check_components!
- #98 - Implement
check_components!
macro to check if a context implements a component - #78 - Permanently enable provider supertrait - #73
- Introduce
#[new_cgp_provider]
to also generate provider struct definition - #67 - Preserve original provider bounds inside
#[cgp_provider]
- #65 - Introduce
IsProviderFor
trait to help improve compile errors - #63
- Implement
-
CGP Presets Implementation
-
CGP Getter Improvements
- CGP Getter Improvements - #94
- Getter Macro Improvements - #87
- Refactoring and Improvements on
#[cgp_getter]
- #81 - Fix component generics inside derivation of
WithProvider
for#[cgp_getter]
- #80 - Fix
#[cgp_getter]
macro when the getter trait contains generic parameters - #76 - Allow generic arguments inside
#[cgp_auto_getter]
traits - #64
-
Macro Improvements
- Simplify attribute arguments for
#[cgp_component]
,#[cgp_provider]
and#[cgp_context]
- #96 - Allow definition of new structs inside
delegate_components!
- #93 - Migrate macro tests to
cgp-tests
crate, part 1 - #90 - Automatically derive
UseContext
implementation inside#[cgp_component]
- #88 - Macro Crates Reorganization - #83
- Refactoring and rename
#[trait_alias]
to#[blanket_trait]
- #82 - Introduce
#[trait_alias]
macro to simplify definition of alias traits - #79 - CGP Macro Refactoring - #77
- Rename
#[new_cgp_provider]
to#[cgp_new_provider]
- #75 - Introduce
#[cgp_context]
attribute macro for CGP contexts - #66
- Simplify attribute arguments for
-
Component System Improvements
-
CGP Field Improvements
v0.3.1
v0.3.0
More details about this release is covered by the update blogpost.
Changelog
-
Introduce Accessor Component Macros - #56
- Introduce
#[cgp_getter]
attribute macro that extends#[cgp_component]
and implement
UseFields
andUseField
for accessor traits. - Introduce
#[cgp_auto_getter]
attribute macro for deriving accessor traits with
blanket implementations that useHasField
directly.
- Introduce
-
Introduce
cgp_type!
macro for defining simple abstract CGP types - #55- Use
cgp_type!
to deriveHasErrorType
andHasRuntimeType
.
- Use
-
Implement
ErrorWrapper
on genericErrorRaiser
providers - #54- Implement
ErrorWrapper
for the following providers:DebugError
,DisplayError
,
DebugAnyhowError
,DisplayAnyhowError
,RaiseAnyhowError
,
DebugEyreError
,DisplayEyreError
,RaiseEyreError
,
DebugBoxedStdError
,DisplayBoxedStdError
.
- Implement
-
Reorganize crate exports - #53
- Move generic error providers to the
cgp-error-extra
crate. - Add an
alloc
feature tocgp-error-extra
to enable use ofalloc
in providers. - Make private the sub-modules inside CGP crates.
- Explicitly export module items instead of using
*
.
- Move generic error providers to the
-
Move
cgp-inner
tocgp-extra
- #51- Remove re-export of
cgp-inner
fromcgp-core
. - Re-export
cgp-inner
andcgp-runtime
fromcgp-extra
.
- Remove re-export of
-
Introduce
cgp-runtime
crate - #50- Introduce the
HasRuntimeType
andHasRuntime
traits. - Introduce
HasAsyncRuntimeType
trait used for addingAsync
constraint toHasRuntimeType::Error
.
- Introduce the
-
Error crates refactoring - #48
- Remove
Async
trait bound fromHasErrorType::Error
. - Introduce
HasAsyncErrorType
trait used for addingAsync
constraint toHasErrorType::Error
. - Introduce
CanWrapError
trait. - Introduce generic
ErrorRaiser
providers incgp-error
. - Rename and reoganize constructs in
cgp-error-eyre
andcgp-error-std
. - Introduce
cgp-error-anyhow
crate.
- Remove
-
Decouple component and field macro crates from the library crates - #47
- Remove
cgp-component-macro
crate from being a dependency ofcgp-component
. - Remove
cgp-field-macro
crate from being a dependency ofcgp-field
.
- Remove