Releases: redbadger/crux
crux_core-v0.10.0
Summary
crux_core
Several additional methods to help with testing Crux apps:
- Adds a
Clone
bound on theOperation
trait so that we can examine the operation and still resolve
its owning request later on — this is a breaking change. - Adds a
take_effects
method onUpdate
to allow you to take effects off the Update that match the predicate - Adds a
take_effects_partitioned_by
method onUpdate
to allow you to take effects off the Update
that match the predicate and also the remaining effects that don't match
crux_time
- adds a new
Clear
variant to to theTimeRequest
Operation
and augmentsNotifyAt
andNotifyAfter
with aTimerId
to facilitate cancelling requests. This is a breaking change.
What's Changed
- must_use on app.update() by @StuartHarris in #281
- feat(crux_time): cancellable timer by @PatrykBuniX in #279
Clone
bound onOperation
(breaking) and test helper methods by @StuartHarris in #280
New Contributors
- @PatrykBuniX made their first contribution in #279
Full Changelog: crux_core-v0.9.1...crux_core-v0.10.0
crux_core-v0.9.1
What's Changed
- Mark HTTP body with serde_bytes by @arendjr in #267
- Fix memory leak by @adwhit in #269
- Android examples by @StuartHarris in #271
- AppTester Send by @beltram in #272
- use serde_bytes in crux_kv by @StuartHarris in #273
- Update dependencies by @StuartHarris in #276
- Add helper methods to
Update
to remove test boilerplate by @adwhit in #275 - capability typegen feature must depend on core typegen by @StuartHarris in #277
- minor releases by @StuartHarris in #278
New Contributors
Full Changelog: crux_core-v0.9.0...crux_core-v0.9.1
crux_core-v0.9.0
The headline for this release is that Capabilities now have an opportunity to register their own types (specifically the types that serde-reflection
cannot see, which are typically nested enums).
The built-in Capabilities now do this under the typegen
feature, so you'll now need to add the Capability as a build dependency, with the typegen
feature enabled, in your shared_types
crate.
What's Changed
- Fix a typo in
overview.md
by @mre in #251 - update deps by @StuartHarris in #250
- Better HttpRequest and KeyValueOperation Debug format by @adwhit in #253
- Debug fmt handles unicode boundaries by @adwhit in #254
- Add documentation for effect(skip) to Compose by @charypar in #256
- Making #[effect(skip)] skip fields when serializing by @mmannes in #259
- Delegate type registration to capabilities by @StuartHarris in #258
- http encoding feature by @StuartHarris in #240
- crux_http and crux_kv now register their additional types by @StuartHarris in #260
- Fix a bug caused by drop order of the
Core
struct by @charypar in #263 - implement type registration in crux_time by @StuartHarris in #264
- Update examples by @StuartHarris in #266
- release 0.9.0-rc.1 by @StuartHarris in #265
New Contributors
Full Changelog: crux_core-v0.8.1...crux_core-v0.9.0
crux_core-v0.9.0-rc.1
What's Changed
- Fix a typo in
overview.md
by @mre in #251 - update deps by @StuartHarris in #250
- Better HttpRequest and KeyValueOperation Debug format by @adwhit in #253
- Debug fmt handles unicode boundaries by @adwhit in #254
- Add documentation for effect(skip) to Compose by @charypar in #256
- Making #[effect(skip)] skip fields when serializing by @mmannes in #259
- Delegate type registration to capabilities by @StuartHarris in #258
- http encoding feature by @StuartHarris in #240
- crux_http and crux_kv now register their additional types by @StuartHarris in #260
- Fix a bug caused by drop order of the
Core
struct by @charypar in #263 - implement type registration in crux_time by @StuartHarris in #264
New Contributors
Full Changelog: crux_core-v0.8.1...crux_core-v0.9.0-rc.1
crux_core-0.8.1
Fix a crash when dropping the core caused by the drop order interacting with async channels - #263
crux_core-v0.8.0
Note: this is a breaking change release.
There are 2 main changes, both of which are breaking.
-
Simplify construction of capabilities, so they don't require the app type.
TheEffect
derive macro no longer requires the name of the type that
implements theApp
trait in situations where its name is not alsoApp
.
This simplifies user code. See #241 for
more details. -
Requests now use
EffectId(u32)
instead ofUuid
. This is theid
that is
used to identify the effect in the effect registry in order to match
responses from the shell with their initial request. Ids are serialized as a
plain integer of typeu32
and they can be reused as effects are resolved.
See #238 for more details.
What's Changed
- relax callback bounds in crux_kv by @adwhit in #234
- update API for crux_kv by @StuartHarris in #235
- crux_kv reduce cloning by @StuartHarris in #236
- add Clone impl for ComposeContext by @adwhit in #237
- Requests now use
EffectId(u32)
instead ofUuid
by @StuartHarris in #238 - Simplify construction of capabilities, so they don't require the app type by @charypar in #241
- crux_core 0.8.0-rc.1 by @StuartHarris in #242
- V0.8.0 rc.2 by @StuartHarris in #243
- Add space for community contributed capabilities by @charypar in #245
- Add AppTester::new by @charypar in #244
Full Changelog: crux_core-v0.7.6...crux_core-v0.8.0
crux_core-v0.8.0-rc.2
Fixes an issue with passing id
across the BridgeWithSerializer
.
What's Changed
- V0.8.0 rc.2 by @StuartHarris in #243
Full Changelog: crux_core-v0.8.0-rc.1...crux_core-v0.8.0-rc.2
crux_core-v0.8.0-rc.1
Updates all the crux_*
crates to release candidates, so it can actually be tested :-) Sorry
What's Changed
- crux_core 0.8.0-rc.1 by @StuartHarris in #242
Full Changelog: crux_core-v0.8.0-rc.0...crux_core-v0.8.0-rc.1
crux_core-v0.8.0-rc.0
Release candidate for 0.8.0
Note: this is a breaking change release.
There are 2 main changes, both of which are breaking.
-
Simplify construction of capabilities, so they don't require the app type.
TheEffect
derive macro no longer requires the name of the type that
implements theApp
trait in situations where its name is not alsoApp
.
This simplifies user code. See #241 for
more details. -
Requests now use
EffectId(u32)
instead ofUuid
. This is theid
that is
used to identify the effect in the effect registry in order to match
responses from the shell with their initial request. Ids are serialized as a
plain integer of typeu32
and they can be reused as effects are resolved.
See #238 for more details.
What's Changed
- add Clone impl for ComposeContext by @adwhit in #237
- Requests now use
EffectId(u32)
instead ofUuid
by @StuartHarris in #238 - Simplify construction of capabilities, so they don't require the app type by @charypar in #241
Full Changelog: crux_kv-v0.4.0...crux_core-v0.8.0-rc.0
crux_kv-v0.4.0
Introduces a Value
enum, which can be None
for a key that doesn't exist, or where there is no previous_value
. See #235.
What's Changed
- relax callback bounds in crux_kv by @adwhit in #234
- update API for crux_kv by @StuartHarris in #235
- crux_kv reduce cloning by @StuartHarris in #236
Full Changelog: crux_core-v0.7.6...crux_kv-v0.4.0