Report Issues on GitHub Issues
We track public bugs and feature requests using GitHub issues. Please report by opening a new issue.
Effective Bug Reports should include:
- A clear summary or background
- Steps to reproduce the issue
- Be as specific as possible
- Include sample code when possible
- What you expect to happen
- What happened
- Additional notes (e.g., why you think the issue occurs or solutions you’ve tried that didn’t work)
Follow these steps before submitting a pull request:
go build ./...This will download all dependencies and compile the project.
All test files are in the qdrant_test directory and use Testcontainers Go for integration tests.
Run the following command to execute the test suites:
go test -v ./...This command pulls a Qdrant Docker image to run integration tests. Ensure Docker is running.
Ensure your code is free from warnings and follows project standards.
The project uses Gofmt for formatting and golangci-lint for linting.
To format your code:
gofmt -s -w .To lint your code:
golangci-lint runThe client uses generated stubs from upstream Qdrant proto definitions, which are downloaded from qdrant/qdrant.
- Download and generate the latest client stubs by running the following command from the project root:
BRANCH=dev sh internal/tools/sync_proto.sh-
Update the
TestImagevalue inqdrant_test/image_test.gotoqdrant/qdrant:dev. -
Implement new Qdrant methods in
points.go,collections.go, orqdrant.goas needed and associated tests inqdrant_test/.
Since the API reference is published at https://pkg.go.dev/github.com/qdrant/go-client, the docstrings have to be appropriate.
-
If there are any new
oneOfproperties in the proto definitions, add helper constructors tooneof_factory.gofollowing the existing patterns. -
Run the linter, formatter and tests as per the instructions above.
-
Submit your pull request and get those approvals.
Once the new Qdrant version is live:
- Run the following command:
BRANCH=master sh internal/tools/sync_proto.sh-
Update the
TestImagevalue inqdrant_test/image_test.gotoqdrant/qdrant:vNEW_VERSION. -
Merge the pull request.
-
Push a new Git tag to publish the version:
git tag v1.11.0
git push --tags- Optionally, do a release at https://github.com/qdrant/go-client/releases from the tag with notes.