Changelog for text-builder-1
1
Major performance optimization achieved by getting rid of the "length" function. Since this was an unavoidable breaking change, other breaking changes were added as well.
Major redesign done to declutter the API from experimental features, dropping some and isolating others to "text-builder-dev" to reduce the need for further major releases of this library down the road. Order brought to naming conventions of the formatter-functions.
Breaking changes and migration instructions
Text.Buildermodule renamed toTextBuilderto fully conform to the convention of having the root namespace of the library map to its name.Buildertype was renamed toTextBuilder.runrenamed totoText.lengthremoved to increase performance of the whole abstraction.nullrenamed toisEmptyto leave declarative naming only for constructor-functions.putToStdOut,putToStdErr,putLnToStdOut,putLnToStdErrremoved to reduce the bloat of the API. Just use similar functions onText.padFromLeftandpadFromRightmoved to "text-builder-dev-0.4".asciiByteStringrenamed tounsafeUtf8ByteString. ASCII is a subset of UTF-8 and the previous implementation was unsafe any way.hexDatamoved to "text-builder-dev-0.4" asbyteStringHexEncoding.unicodeCodePointrenamed tounicodeCodepoint.utf16CodeUnits1,utf16CodeUnits2,utf8CodeUnits1,utf8CodeUnits2,utf8CodeUnits3,utf8CodeUnits4moved to "text-builder-core-0.1" and removed from the public API to reduce the bloat. Nobody seems to have been using them. If you need them, open a ticket in "text-builder-core".unsignedDecimal- removed because it was unsafe. Usedecimal.thousandSeparatedUnsignedDecimal- removed because it was unsafe. UsethousandSeparatedDecimal.dataSizeInBytesInDecimalmoved to "text-builder-dev-0.4" asapproximateDataSize.unsignedBinaryandunsignedPaddedBinaryreplaced withbinary, which is now safe and handles negative values.hexadecimalandunsignedHexadecimalreplaced withhexadecimal, which is now safe and handles negative values.decimalDigitandhexadecimalDigitremoved. Seemed to not be useful. If you think otherwise open a ticket.fixedDoublemoved to "text-builder-dev-0.4" asdoubleFixedPoint. It does not have an efficient implementation yet is based onprintf.doublePercentmoved to "text-builder-dev-0.4" asdoubleFixedPointPercent. Same reasons.intervalInSecondsmoved to "text-builder-dev-0.4" asdiffTimeSecondsandpicoseconds.
Non-breaking
unicodeCodepointis now safe. It replaces invalid codepoints with a default one.charis now safe for the same reasons.
0.6.8
- Migrated to the namespacing convention where the root namespace matches the package name 1-1 with no special cases. The support for previous naming convention is still provided though.