Drakulix / simplelog.rs

Simple Logging Facility for Rust
https://docs.rs/simplelog/
Apache License 2.0
423 stars 71 forks source link

Undocumented breaking change to API broke several packages #77

Closed John-Nagle closed 3 years ago

John-Nagle commented 3 years ago
pub fn new(
    log_level: LevelFilter,
    config: Config,
    mode: TerminalMode,
    color_choice: ColorChoice // Was this breaking change really necessary?
) -> Box<TermLogger>

I've spent the last two hours cleaning up the damage from that undocumented change.

Drakulix commented 3 years ago

I am sorry, but the CHANGELOG documents that 0.10 added more color customization. And you can check the docs, so what exactly would you have wished for?

Additionally simplelog does not frequently need any bugfixes and I am willing to backport anything significant to earlier versions, so nothing forces you to update to 0.10 (which is a new major release according to semver), if this causes trouble for you.

Debating whenever a change is necessary or not, does happen on this repository and you are welcome to participate, if you are a user of simplelog. The PR in question had a clear line of reasoning and added just one parameter to a constructor of one particular logger, which I expected to be called at most once in most repositories. While I try to keep the simplelog api stable, it is not set in stone (as shown by the 0.* versioning) and this seemed reasonable.

Could you elaborate, how this change took you two hours, so I can get a better understanding, why this was so troublesome to you and how I could better handle these cases in the future?

Drakulix commented 3 years ago

Since this went unanswered by more then a week and I am not sure, what kind of action I could take to address this, I am going to close this issue. Feel free to comment/reopen, if you have any suggestions.