Skip to content

tui-realm 3.0.0

Compare
Choose a tag to compare
@veeso veeso released this 21 May 09:33
· 3 commits to main since this release
42e57c7

3.0.0

Released on 21/05/2025

  • Add SubClause::AndMany for easier adding of many clauses that would otherwise be nested SubClause::And.

  • Add SubClause::OrMany for easier adding of many clauses that would otherwise be nested SubClause::Or.

  • Change the subclause_ macros to make use of the new SubClause::*Many variants.

  • Change the subclause_ macros to be able to end with a , without error.

  • Change the subclause_and_not to only have one Not instead of for every case.

  • Remove + Sync bound on PollAsync trait and U(Event) bound and all related functions.

  • Fix bug that EventListener::stop did not actually stop any async tasks.

  • Add function EventListenerCfg::async_tick to switch the ticker from Sync-Port to Async-Ports. Note that EventListenerCfg::tick_interval is still necessary to enable any ticker.

  • Dont start the Sync-Port worker if there are no sync ports (note that async_tick(false)(the default) also counts as a sync port).

  • Fix accidental always inclusion of crossterm dependency, even if crossterm feature was disabled. (since 2.2.0)

  • Change PollAsync::poll to take &mut self instead of &self.

  • Add async crossterm input listener CrosstermAsyncStream as a alternative to the sync CrosstermInputListener.

  • Issue 94 / PR 94: improve Async Ports to make full use of it being async by running all async ports on the runtime instead of blocking on them like a Sync-port.

    let event_listener = EventListenerCfg::default()
          .crossterm_input_listener(Duration::from_millis(10), 3)
          .with_handle(tokio::runtime::Handle::current())
          .add_async_port(
              Box::new(AsyncPort::new()),
              Duration::from_millis(1000),
              1,
          );