- require std feature on futures for channel dependency
- improve CI.
- update to edition 2021
- clean up some rustdoc features
0.5.2 - 2021-06-10
- Remove external_doc for rustdoc 1.54. Thanks to @rajivshah3
- Add
ObservableLocal
for observable types that are!Send
.
- BREAKING CHANGE:
Observable::observe
is now an async function. This was needed to make it possible to send events to a pharos object from different async tasks. So far notifying was async, but observing was not. However in order to be able to use a mutex, we need both operations to be one or the other. On wasm, one cannot block the thread hence the choice for an async mutex, but in order to lock that we have to be in async context. A new helper typeSharedPharos
has been introduced to conveniently use pharos from a shared reference. - BREAKING CHANGE: rename
pharos::Error
toPharErr
. I want to move away from types that are just calledError
. This allows conveniently exporting the error type at crate level. - no longer depend on futures-channel appart from the main futures lib. It's annoying if a dependant crate want's to patch futures in Cargo.toml.
- move to github actions after travis becomes a paid service.
- drop dependency on log.
- update dependencies to futures 0.3.1.
- CI testing on stable rust.
- BREAKING CHANGE: The notify function had a sub optimal implemetation and did not allow notifying observers
from within
poll_*
functions. It has been replaced with an implementation of Sink on Pharos. - got rid of dependency on pin_project.
- as Error::kind returns a reference to the error kind, you can now compare
ErrorKind::SomeVariant == err.kind()
without having to write:&ErrorKind::SomeVariant == err.kind()
. - updated to futures-preview 0.3.0-alpha.19
- check spelling
- BREAKING CHANGE: Last minute change of heart. I removed two API methods whose only "merit" was to hide a Box::new from the user.
- fix docs.rs showing readme
BREAKING CHANGE: This is an almost complete rewrite with a much improved API, documentation, ...
- Only have one Observable trait that takes options rather than UboundedObservable.
- Allow filtering events with a predicate.
- Many small improvements.
Please have a look at the readme and the API docs for more.
- update to futures 0.3.0-alpha.18
- remove async_await feature (from 1.39 this crate should compile on stable)
- remove
await_macro
feature use and convert to new await syntax. - implement
Default
forPharos
.
- BREAKING CHANGE: Update dependencies. The Futures library has some changes, which introduce a breaking change. Bounded channels are no longer queue_size + 1. They now are queue_size. This means that
Observable::observe( queue_size: usize )
will now yield afutures::channel::Receiver
of the exactqueue_size
.