pharos
Observer pattern which generates a futures 0.3 stream of events
0.5.3
15M downloads/mo
#2496 most downloaded on crates.io
najamelan/pharos
What this package is like to depend on
Last release 5 years ago
no release in 18 months
Ships unpredictably
gaps range from 2 weeks to 1.3 years
Most releases are documented
notes for 12 of 14 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
15 releases · first in 2019
0 releases in the last 12 months
see the full history below
Release timeline
15 releases · Apr 2019 to Oct 2021Releases
latest 15-
0.5.331 Oct 2021Release notes
Open source →- dev:
Update changelog.
Install tarpaulin in CI.
Fix clippy warnings.
No nightly in test.bash after all.
Add funding.
Update to edition 2021.
Fix CI.
We need feature std on futures for channel.
Fix errors in changelog.
- dev:
-
0.5.210 Jun 2021Release notes
Open source →- dev:
Update dependencies, changelog and version number.
Silence warning about name ambiguity.
Silence a clippy warning.
Remove travis config.
Fix build on nightly (#7)
- dev:
-
0.5.118 Feb 2021Release notes
Open source →- dev:
Fix badge, again.
AddObservableLocalfor observable types that are!Send.
Fix build status badge.
- dev:
-
0.5.017 Feb 2021Release notes
Open source →- dev:
Bump version, update docs and changelog.
Create separate wasm test file.
Install wasm-pack for github actions.
Setup github ci
Fix clippy warnings.
Add PR template.
Tests for SharedPharos.
Add SharedPharos. TODO: tests.
Make Observe async and rename pharos::Error to PharErr.
more chores
chore: clean up CI, docs, contribution guidelines.
downloads badge
cleanup
Clarify closure filter in readme.
No longer depend on futures-channel separately.
Release notes
Open source →- BREAKING CHANGE:
Observable::observeis 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 typeSharedPharoshas been introduced to conveniently use pharos from a shared reference. - BREAKING CHANGE: rename
pharos::ErrortoPharErr. 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.
- dev:
-
0.4.213 Nov 2019 -
0.4.113 Nov 2019Release notes
Open source →- dev:
fix travis on stable rust
Update futures to 0.3.1 and test CI on stable rust
- dev:
-
0.4.028 Sep 2019Release notes
Open source →- dev:
bump version and changlog
update documentation
Add unit tests for the Sink impl of pharos
Update to futures 0.3.0-alpha.19
Allow comparing ErrorKind to &ErrorKind
Document the behavior of the futures channels
Finish flush algorithm now ICE is solved
fix clippy warning
fix visibility of Error::kind()
Update some comments
ICE in rustc
Another breaking change to the API.
Actually, we don't need pin_project
Release notes
Open source →- 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
- dev:
-
0.3.223 Sep 2019 -
0.3.123 Sep 2019Release notes
Open source →- dev:
changlog + version bump
fix clippy warnings
Remove the pointer and closure methods after all
Try to fix docs.rs readme
Release notes
Open source →- 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
- dev:
-
0.3.023 Sep 2019 withdrawnRelease notes
Open source →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.
-
0.2.226 Aug 2019Release notes
Open source →- update to futures 0.3.0-alpha.18
- remove async_await feature (from 1.39 this crate should compile on stable)
-
0.2.102 Aug 2019Release notes
Open source →- remove
await_macrofeature use and convert to new await syntax. - implement
DefaultforPharos.
- remove
-
0.2.018 Jul 2019Release notes
Open source →- 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::Receiverof the exactqueue_size.
- 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
-
0.1.129 Apr 2019Nothing published for this version
-
0.1.029 Apr 2019Nothing published for this version