The time crate uses the Unix localtime_r call, which is not safe if multiple threads are running. To avoid undefined behavior, the time crate simply returns an error if multiple threads are running. To support localtime functionality when multiple threads are running, we use the chrono crate which parses /etc/localtime on Unix. This adds another dependency. In the future this could be mitigated by switching from time to chrono entirely.
This is not an issue on Windows systems.
Other changes:
- Respect the
NO_COLORenvironment variable https://no-color.org/ - Upgrade term from 0.7 to 1.0