PackageTrack
Sign in Get early access

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 2021
2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 15
  1. 0.5.3 31 Oct 2021
    Release notes
    • 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.
    Open source →
  2. 0.5.2 10 Jun 2021
    Release notes
    • dev:
      Update dependencies, changelog and version number.
      Silence warning about name ambiguity.
      Silence a clippy warning.
      Remove travis config.
      Fix build on nightly (#7)
    Open source →
    Release notes

    Fixed

    • Remove external_doc for rustdoc 1.54. Thanks to @rajivshah3
    Open source →
  3. 0.5.1 18 Feb 2021
    Release notes
    • dev:
      Fix badge, again.
      Add ObservableLocal for observable types that are !Send.
      Fix build status badge.
    Open source →
    Release notes
    • Add ObservableLocal for observable types that are !Send.
    Open source →
  4. 0.5.0 17 Feb 2021
    Release notes
    • 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.
    Open source →
    Release notes
    • 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 type SharedPharos has been introduced to conveniently use pharos from a shared reference.
    • BREAKING CHANGE: rename pharos::Error to PharErr. I want to move away from types that are just called Error. 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.
    Open source →
  5. 0.4.2 13 Nov 2019
    Release notes
    • dev:
      drop log dependency and fix readme
    Open source →
    Release notes
    • drop dependency on log.
    Open source →
  6. 0.4.1 13 Nov 2019
    Release notes
    • dev:
      fix travis on stable rust
      Update futures to 0.3.1 and test CI on stable rust
    Open source →
    Release notes
    • update dependencies to futures 0.3.1.
    • CI testing on stable rust.
    Open source →
  7. 0.4.0 28 Sep 2019
    Release notes
    • 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
    Open source →
    Release notes
    • 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
    Open source →
  8. 0.3.2 23 Sep 2019
    Release notes
    • dev:
      version number and changelog
      Spell check
    Open source →
    Release notes
    • check spelling
    Open source →
  9. 0.3.1 23 Sep 2019
    Release notes
    • dev:
      changlog + version bump
      fix clippy warnings
      Remove the pointer and closure methods after all
      Try to fix docs.rs readme
    Open source →
    Release notes
    • 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
    Open source →
  10. 0.3.0 23 Sep 2019 withdrawn
    Release notes

    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.

    Open source →
  11. 0.2.2 26 Aug 2019
    Release notes
    • update to futures 0.3.0-alpha.18
    • remove async_await feature (from 1.39 this crate should compile on stable)
    Open source →
  12. 0.2.1 02 Aug 2019
    Release notes
    • remove await_macro feature use and convert to new await syntax.
    • implement Default for Pharos.
    Open source →
  13. 0.2.0 18 Jul 2019
    Release notes
    • 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 a futures::channel::Receiver of the exact queue_size.
    Open source →
  14. 0.1.1 29 Apr 2019

    Nothing published for this version

  15. 0.1.0 29 Apr 2019

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive