Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from gomodule:master #223

Open
wants to merge 67 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 26, 2020

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

RaMin0 and others added 5 commits April 7, 2020 12:46
Fix the doc script which directs user to initialising Pool's directly.
Add two additional help functions that handle uint64 data types:
* Uint64Map
* Uint64s
Remove travis validation against go prior to 1.9.x to allow v3 tagging
to take place: #440
Fix bad tests introduced by Uint64s and Uint64Map work.

Also:
* Fix some doc typos.
Fix some formatting issue when testing on tip.
@pull pull bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Apr 26, 2020
dcormier and others added 23 commits April 29, 2020 23:14
Add support for go mod

The correct behaviour of this relies on go1.14
https://golang.org/doc/go1.14#incompatible-versions

Fixes #366
Revert go mod changes which didn't work as intended due to sub modules.
Add go mod support at the route level so there's only one package to
maintain.
Fix Argument interface processing on struct pointer types which was
broken by #428 and not quite corrected by #446.
Simplify Pool.Get by calling GetContext with context.Background().
Remove the sudo setting from travis which was deprecated in 2018
Add go 1.13 and 1.14 versions to travis.
Add support context on dial using new DialContext and DialContextFunc DialOption.
Added support ACL user logins introduced in Redis 6.0 via the new DialUsername DialOption.
Handle the cancellation of a context promptly when waiting for a
vacant connection from the pool.
Add support to AddFlat for Anonymous fields which are pointers.

Fixes #487
Add Scanner support to ScanSlice.

Previously ScanStruct manually scanned results into structs which
didn't use any special handling required by the struct as defined
by its RedisScan method.

Also:
* Use named subtests in TestScanSlice.
* Remove duplicate test.
Correct grammar in ScanSlice doc string.
Fix a case where GetContext returned nil instead of an errorConn for the first value.
Fix go get example which helps prevent dependency problems.
Remove an check for ctx being nil which is no longer possible.
Correct a cut and past error in the Float64 documentation which listed the return type as int instead of float64
Remove older versions of go from travis config due to the testing
dependency testify requiring errors.Is which is only available in go
1.13 and above.

Also switch to master from tip which is the new standard for travis
on golang..
Remove the err == nil because the err is always equal nil 

Co-authored-by: yonbiaoxiao <[email protected]>
Improve the performance of ScanStruct by using strings.IndexByte instead
of strings.Split.

Co-authored-by: yonbiaoxiao <[email protected]>
Use sync.Once to make lazyInit more readable.

Co-authored-by: yonbiaoxiao <[email protected]>
Fixes a super-small type in the `Ints()` documentation.
cameronelliott and others added 30 commits September 30, 2021 02:10
Add DialURLContext so that we consumers have
control over cancelation and timeout

Convert DialURL to call DialURLContext() and update
docs to ensure consumers are aware of the new method,
which should be preferred to ensure requests can't hang
forever.
Add support for context during the Do cycle of a request.

This is supported by DoContext and ReceiveContext to control
the command life by both context and read timeout.

Co-authored-by: Mikhail Mazurskiy <[email protected]>
Co-authored-by: Lilith Games <[email protected]>
Fix DoContext call to DoWithTimeout passing args as variadic.

Fixes #575
Upgrade testify to v1.7.0 eliminate security warning
Retract unpublished versions from go tooling.
Bump go version to 1.16 required for retract statement.

Fixes #585
Surface the underlying error when processing results for slice and map
helpers so that the user can see the real cause and not a type mismatch
error.

Also:
* Formatting changes to improve error case separation.
* Leverage %w in reply errors.

Fixes: #579
The actual string is "i/o timeout", but it's more clear to test error
identity in the way documented for net.Conn.

Fixes: #600
Add a wrapper that goes through the standard receiveInternal
processing to match the API of the existing PubSubConn Receive
methods.

Fixes: #592
Add a Float64Map helper which can be used to convert a
HGETALL responses to a map[string]float64.
Add a github action which runs go test so we can ensure that tests are
passing before we merge changes.
Refactor the reply <type>Map helpers to reduce the code duplication in
the body of those functions by creating a mapHelper along the same lines
as the existing sliceHelper.
Update golangci-lint to a version compatible with golang 1.18.
Fix incorrect offset in error message for SlowLog conversion.
Update DialContext() to use the new DoContext() methods (added in v1.8.6)
when configuring auth/clientName/db during connection creation.

This prevents DialContex() from blocking for a long time if the redis server is
unresponsive.
Remove go1.7 support which hasn't been maintained for a long time now.
Correct the error check in the Do method so it's more idiomatic.
Fix panic using ArgsFlat or ScanStruct on structs with nil Anonymous
field pointers.

Catch the anonymous struct recursion and prevent it. In the case of
ScanStruct an error will be returned, in the case of ArgsFlat it will
panic with a nice error.
Add support for LATENCY LATEST, LATEST HISTORY command parsing.
Ensure that goroutines started by tests are cleaned up on termination.

Also:
* make TestLatencyHistories compatible with -count=X.
* Update to the supported versions of go 1.19 and 1.20.
* Update golangci-lint to v1.15.2

Fixes #641
Update testify to eliminate security issue in dependent package
gopkg.in/yaml.v3.

Fixes #652
Update GitHub actions to use the latest versions and add go mod
tidy check.

This bumps go version for tests to 1.20 and 1.21 the currently
supported versions.

Update checks to validate against Redis 7.2 and 7.0, removing 5.0 and
4.0 which may still work but haven't been updated since 2020.

Fix pubsub test instability due to unsubscribe notifications ordering
not being guaranteed.

Fix latency tests on Redis 7 due to DEBUG being disabled by default.
Run the Redis test server with --enable-debug-command local on Redis >= 7.0
which disables MODULE and DEBUG commands by default for better security.

Without this, some unit tests fail on later Redis versions.
Remove debug check now we run the test server with debug enabled if
needed.
Add TestOnBorrowContext to the Pool struct for checking the
health of the idle connection with a given context.
Add goreleaser to automate the generation of release notes and bump
the versions of github actions golang go the latest versions.
Remove deprecated goreleaser option --rm-dist and use --clean instead
to prevent deprecation warning.
Retract v1.8.10 which was tagged incorrectly for a feature release and
only available for a few minutes. v1.9.0 is identical.
Due to our test dependency requiring 1.17 minimum and the 1.16 being
well out of support, currently only 1.21 and 1.22 are support releases,
bump our required go version to 1.16.

Fixes #665
Move checkout before go-setup so caching works.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⤵️ pull merge-conflict Resolve conflicts manually
Projects
None yet
Development

Successfully merging this pull request may close these issues.