Releases: mautrix/go-util
Releases · mautrix/go-util
v0.8.8
v0.8.7
- (jsonbytes) Added utility for url-safe base64 to complement the existing standard unpadded base64 marshaling utility.
- (exstrings) Added
LongestSequenceOf
to find the longest sequence of a single character in a string. - (requestlog) Implemented
Flush
inCountingResponseWriter
to fix flushing HTTP response buffer when using request logging. - (exhttp) Added utility for checking if a given error is a network error or an http2 stream error.
v0.8.6
v0.8.5
- Bumped minimum Go version to 1.23.
- (dbutil) Deprecated
NewRowIter
as it encourages bad error handling.NewRowIterWithError
andConvertRowFn[T].NewRowIter
are recommended instead, as they support bundling an error inside the iterator. - (exslices) Added utility to map and filter a slice in one go.
- (confusable) Fixed skeleton incorrectly including replacement characters for some input strings.
- (exbytes) Added utility that implements
io.Writer
for byte slices without resizing. - (glob) Added
ToRegexPattern
helper which converts a glob to a regex without compiling it.
v0.8.4
v0.8.3
v0.8.2
- (ffmpeg) Added wrapper functions for
ffprobe
. - (emojirunes) Added method to check if a string is only emojis.
- (unicodeurls) Updated data sheets used by emojirunes, variationselectors and other packages to Unicode 16.
- (dbutil) Added support for mass inserts with no static parameters.
v0.8.1
- Breaking change (lottie) Improved interface to take a destination file name rather than returning bytes. The method was internally using a file anyway, so forcing reading it into memory was a waste.
- (ffmpeg) Added
ConvertPathWithDestination
to specify destination file manually. - (exhttp) Added utility for applying middlewares to any HTTP handler.
- (exfmt) Made duration formatting more customizable.
- (dbutil) Changed table existence checks during schema upgrades to properly return errors instead of panicking.
- (dbutil) Fixed
sqlite-fkey-off
transaction mode.
v0.8.0
- (dbutil) Changed litestream package to allow importing as no-op even when cgo is disabled.
- (ptr) Added
NonZero
andNonDefault
helpers to get nil if the value is zero/default or a pointer to the value otherwise. - (ffmpeg) Fixed files not being removed if conversion fails.
- (pblite) Added pblite (protobuf as JSON arrays) en/decoder.
- (exhttp) Added utilities for JSON responses, CORS headers and other things.
- (glob) Added utility for parsing Matrix globs into efficient matchers, with a fallback to regex for more complicated patterns.
- (exsync) Added
Size
,Pop
,ReplaceAll
andAsList
forSet
. - (variationselector) Fixed plain numbers being emojified by
Add
.
v0.7.0
- Bumped minimum Go version to 1.22.
- (curl) Added
Parse
function to parse a curl command exported from browser devtools. - (exfmt) Moved
FormatCurl
tocurl
package. - (exslices) Added
DeduplicateUnsorted
utility for deduplicating items in a list while preserving order. - (exsync) Deprecated
ReturnableOnce
in favor of the standard library'ssync.OnceValues
. - (exsync) Added
Event
which works similar to Python'sasyncio.Event
. - (confusable) Added implementation of confusable detection from UTS #39.
- (dbutil) Added deadlock detection option which panics if a database call is made without the appropriate transaction context in a goroutine which previously entered a database transaction.