Comments (7)
Looks like we don't have a state MSRV policy. My default choice is N-2 but I suspect that env_logger's wider use might make that unappealing.
@matthiasbeyer any thoughts?
from env_logger.
Yeah so I would actually keep this crate as backwards compatible as possible within reason. If we currently compile on N-10 or even older, I don't see why we should change that if we do not have some really good reasons.
Rationale is that this is, IMO, the go-to crate for "I want logging". It's the lowest-hanging fruit for getting logging to work in a Rust project, at least in my perception.
I would like to see this issue resolved, but I think backwards compatibility is more important.
I'm open to discussion though.
from env_logger.
Might be possible to use definitely not possible, cfg(version) isn't stablecfg(not(version("1.70")))
to use that dep only on old versions and avoid bumping MSRV. Haven't tried, not sure if you can do that in Cargo.toml.
from env_logger.
Another change I'm looking to make, switching from termcolor
to anstream
, would require an MSRV bump and would lead to a breaking change (removal of the env_logger styling API).
While I'm not a fan of treating MSRV as a breaking change, if its done in conjunction with breakings changes (with a commitment to support old versions if needed), I wonder if that would be sufficient to allow us to move forward with this.
from env_logger.
You can write a build script such that it sets a feature for either is-terminal or std-io-isterminal based on the version in use. That wouldn't be breaking.
from env_logger.
I'd love to see this too. Getting rid of the is-terminal
dependency tree would be lovely:
is-terminal v0.4.7
├── io-lifetimes v1.0.10
│ └── libc v0.2.150
└── rustix v0.37.19
├── bitflags v1.3.2
├── errno v0.3.1
│ └── libc v0.2.150
├── io-lifetimes v1.0.10 (*)
└── libc v0.2.150
from env_logger.
I've gone ahead with my idea of bundling the MSRV bump with a pre-planned breaking change of switching from termcolor
to anstream
. Longer term, I'm hoping rust-lang/rfcs#3537 will help reduce the conflict between the users who want the latest and those who need an earlier version.
See #298
from env_logger.
Related Issues (20)
- MSRV break due to is_terminal 0.4.8 HOT 1
- `WriteStyle` is ignored when used with `Target::Pipe`
- `Target::Pipe` does not auto-flush like std{out/err}
- about doc HOT 2
- Cargo.lock is not meant to be checked in for libraries HOT 4
- Trivial: the systemd example misuses RUST_LOG_STYLE HOT 1
- method not found in `&mut Formatter` HOT 1
- can't see any logs when using #[windows_subsystem = "windows"] HOT 4
- Missing changelog for 0.10.1 HOT 1
- Remove deprecated APIs
- Missing recent releases on github? HOT 1
- logger crate catches Clion stop signal HOT 1
- Provide a way to disable automatic flushing when using `Target::Pipe` HOT 1
- Feature Deprecation Without Warning or Migration HOT 3
- env_logger doesn't output anything HOT 4
- Issue with `anstream` optional dependency HOT 1
- Empty changelog for 0.11.2 HOT 1
- [feat] support star matching HOT 3
- delete me HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from env_logger.