19
19
* [ Breaking changes] ( #breaking-changes )
20
20
* [ Breaking changes and deprecations] ( #breaking-changes-and-deprecations )
21
21
* [ Breaking changes to internal elements] ( #breaking-changes-to-internal-elements )
22
+ * [ Breaking changes to console APIs] ( #breaking-changes-to-console-apis )
22
23
* [ Unintended breaking changes] ( #unintended-breaking-changes )
23
24
* [ Reverting commits] ( #reverting-commits )
24
25
* [ Introducing new modules] ( #introducing-new-modules )
@@ -350,6 +351,7 @@ Examples of breaking changes include:
350
351
* Adding or removing errors.
351
352
* Altering expected timing of an event.
352
353
* Changing the side effects of using a particular API.
354
+ * Changing the output of some [ console APIs] ( #breaking-changes-to-console-apis ) .
353
355
354
356
#### Breaking changes and deprecations
355
357
@@ -373,6 +375,20 @@ an effort to determine the potential impact of the change in the ecosystem. Use
373
375
If a change will cause ecosystem breakage, then it is semver-major. Consider
374
376
providing a Public API in such cases.
375
377
378
+ ### Breaking changes to console APIs
379
+
380
+ Console APIs are a debugging tool, and the format of their output should generally not
381
+ considered stable.
382
+ However due to the nature of the Node.js ecosystem, users rely on stability of
383
+ the output of some of these APIs for snapshot testing, parsers, etc...
384
+ To avoid breaking changes, some behaviors should be considered stable.
385
+ The following changes in the output are to be considered breaking changes:
386
+
387
+ * ` console.table ` (padding, alignment, etc...).
388
+ * changing the color of all console methods.
389
+ * changing the signature of all console methods.
390
+ * changing the output for single string inputs.
391
+
376
392
#### Unintended breaking changes
377
393
378
394
Sometimes, a change intended to be non-breaking turns out to be a breaking
0 commit comments