1919 * [ Breaking changes] ( #breaking-changes )
2020 * [ Breaking changes and deprecations] ( #breaking-changes-and-deprecations )
2121 * [ Breaking changes to internal elements] ( #breaking-changes-to-internal-elements )
22+ * [ Breaking changes to console APIs] ( #breaking-changes-to-console-apis )
2223 * [ Unintended breaking changes] ( #unintended-breaking-changes )
2324 * [ Reverting commits] ( #reverting-commits )
2425 * [ Introducing new modules] ( #introducing-new-modules )
@@ -354,6 +355,7 @@ Examples of breaking changes include:
354355* Adding or removing errors.
355356* Altering expected timing of an event.
356357* Changing the side effects of using a particular API.
358+ * Changing the output of some [ console APIs] ( #breaking-changes-to-console-apis ) .
357359
358360#### Breaking changes and deprecations
359361
@@ -378,6 +380,20 @@ an effort to determine the potential impact of the change in the ecosystem. Use
378380If a change will cause ecosystem breakage, then it is semver-major. Consider
379381providing a Public API in such cases.
380382
383+ ### Breaking changes to console APIs
384+
385+ Console APIs are a debugging tool, and the format of their output should generally not
386+ considered stable.
387+ However due to the nature of the Node.js ecosystem, users rely on stability of
388+ the output of some of these APIs for snapshot testing, parsers, etc...
389+ To avoid breaking changes, some behaviors should be considered stable.
390+ The following changes in the output are to be considered breaking changes:
391+
392+ * ` console.table ` (padding, alignment, etc...).
393+ * changing the color of all console methods.
394+ * changing the signature of all console methods.
395+ * changing the output for single string inputs.
396+
381397#### Unintended breaking changes
382398
383399Sometimes, a change intended to be non-breaking turns out to be a breaking
0 commit comments