- Update deps
- Update to latest phonenumbers
- Update deps
- Tweak stringsx.Skeleton
- Update phonenumbers
- Add httpx.ParseNetworks util function
- Use error constants for some httpx error cases
- Update to go 1.21 and update deps
- Add dbutil.ScanAllJSON
- Allow creating query errors without an error to wrap
- Use i18n.Locale for date formatting
- Move some locales code from goflow/envs
- Rework syncx.Batcher so that it flushes a batch without waiting if it has enough items
- Rename dbutil.Queryer to BulkQueryer for clarity
- Use any instead of interface{}
- Add dbutil.ScanAllSlice and ScanAllMap
- Test on go 1.21
- Revert validator dep upgrade
- Update deps including phonenumbers
- Add confusables implementation to stringsx
- Storage paths shouldn't need to start with slash
- Add syncx.Batcher
- Use services for github CI
- bump golang.org/x/net from 0.5.0 to 0.7.0
- Update to latest phonenumbers
- Remove null value support functions now that nyaruka/null has been updated
- Update dependencies including phonenumbers
- Add util functions for working with nullable string types
- Update deps
- Add util function dbutil.ToValidUTF8
- Fix passing ACL to S3 puts
- Update deps including phonenumbers
- Storage types should have object permissions/acl set via constructor
- Update httpx.DetectContentType to also return extension
- Allow mock requestors to ignore localhost requests
- MockRequestor should log requests
- Time for an HTTP trace should include reading the entire body
- Use go 1.19
- Fix linter warnings
- Add httpx.BasicAuth util
- Add SantizedRequest to httpx.Trace to match SanitizedResponse
- Strip more headers from reconstructed requests
- Fix cloning of request bodies passed to httpx.NewRecorder
- Give httpx.Recorder the option to try to reconstruct the original request
- Simplify httpx.Recorder so it always dumps request first
- Use pointers to httpx.MockResponse
- Add HTTP Log support to httpx
- Tweak httpx.NewMockResponse to take a byte slice
- Tweak syncx naming and comments
- Allow use of AWS credential chain for S3 storage
- Add syncx.HashedMutexMap
- Add URN type for Teams channel
- Add dates.Since to match time.Since
- Add mock analytics backend for testing
- Update dependencies
- Fix dates.Date.Combine
- Add Slack Scheme
- Add analytics package which provides abstraction layer for librato
- Add support for db serialization to dates.Date
- Update to latest phonenumbers
- Update to go 1.18 and make dbutil.Bulk functions generic
- Tidy up scheme list to make it easier to see what is there
- CI with go 1.17 and 1.18
- Add httpx.DetectContentType which wraps functionality from github.com/gabriel-vasile/mimetype
- Fix race condition in S3Storage.BatchPut
- Remove rcache module (replace with redisx.IntervalHash) and thus broken redigo dependency
- Return QueryError if error during row iteration
- Fix IsUniqueViolation for wrapped errors
- Add dbutil package previously in mailroom
- Add URN scheme for instagram
- Make random functions threadsafe
- Allow specifying max retries for S3 clients and update client library
- HTTP traces should include number of retries made
- Build and test with go 1.17
- Update to latest phonenumbers
- Add webchat URN scheme
- Include AWS region in storage URLs
- Add support for sanitizing a response trace by stripping nulls as well as invalid UTF8
- Add Must* versions of jsonx.Marshal and jsonx.Unmarshal
- add BatchPut to storage
- add use of context for timeouts in storage
- gsm7: Fix U+000C, form feed(\f), instead of space, for 0x0A
- Use standard BCP47 (hypenated) locale codes
- Add custom date formatting code from goflow and add localization support
- Switch to go 1.16.x to get support for embed package
- Allow http mocks in JSON to use actual JSON for the body
- add option to save request immediately after creating recorder
- ParseNumber should ignore numbers which are only possible as local numbers
- Add support for IP networks in httpx.AccessConfig
- Add RocketChat scheme
- Add rcache module
- Update to latest phonenumbers
- If normalizing a number starting with a +, return it with a + if it's a possible number
- Test on 1.14.x and 1.15.x
- Use IsPossibleNumber instead of IsValidNumber
- Add gsm7 package
- Add httpx util for recording traces from http handlers
- Add uuids package from goflow
- Add storage package from mailroom
- Add discord URN type
- Move some util packages from goflow
- Bump CI go versions
- Add VK scheme
- Replace Travis with github actions
- Add urns.Parse function