odygrd / quill

Asynchronous Low Latency C++ Logging Library
MIT License
1.36k stars 142 forks source link

Legacy PatternFormatter attributes #429

Closed llchan closed 2 months ago

llchan commented 4 months ago

I see that the PatternFormatter attributes were changed in a backwards-incompatible way, and furthermore it is not evident until runtime. It would be better to keep the legacy attributes around as aliases for now, given that we did not do a major version bump.

I would suggest something like a QUILL_DISABLE_LEGACY_PATTERN_FORMATTER_ATTRIBUTES that allows users to test against the new set of attributes in an opt-in way, and when 4.0.0 lands they can be fully removed.

odygrd commented 3 months ago

I used to only bump the major version for bigger changes. In the past, numerous minor version increments broke backward compatibility without complaints.

Regarding the consideration of adding a preprocessor flag for this purpose, I don't believe it's worth the complexity and the effort. However, pull requests are welcome.

Moving forward any future incompatible API changes will result in a major version update.