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

Go Client v8.0.0-beta.1 #458

Merged
merged 13 commits into from
Dec 12, 2024
Merged

Go Client v8.0.0-beta.1 #458

merged 13 commits into from
Dec 12, 2024

Conversation

khaf
Copy link
Collaborator

@khaf khaf commented Dec 11, 2024

Major breaking release. This release supports Multi-Record Transactions. Please note that this is a beta release and will be subject to breaking changes.

  • Breaking Changes

    • This release removes the proxy client and associated mock interfaces from the codebase. Maintaining those interfaces was very hard due to multiple build flags which had their own set of of supported API. Since interfaces are implicit, doing that by the user is as easy, or potentially easier outside of the library.
    • Operation used to return the result of multiple ops on a single bin wrapped in []any. That would be confusing, since it was not clear if the result was the contents of the bin, or the results of multiple commands. In version 8, the client will wrap those results inside a as.OpResults instead of a []any, removing the confusion.
    • The client would automatically populate the stackFrame field for the as.AerospikeError. Since that was an expensive operation, the client now will consult the value of StackTracesEnabled variable before doing so. The default is set to false of course.
    • The client now requires Go v1.23+. Needed to implement iterators later.
  • New Features

    • CLIENT-3159 Support writing raw payload to the server.
    • [CLIENT-3183] [CLIENT-3203] [CLIENT-3193] [CLIENT-3190] Support Multi-Record Transactions.
  • Fixes

    • [CLIENT-3214] Remove Proxy code.
    • [CLIENT-3217] Do not send nil or NullValue as key to the server.
  • Improvements

    • [CLIENT-3214] Support -use-services-alternate in test arguments.
    • Renamed all interface{} to any.

Copy link

@justinlee-aerospike justinlee-aerospike left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good. Only issue is that we agreed this would be version 8.0.0 (beta tag okay).

@khaf khaf changed the base branch from v7 to v8 December 12, 2024 17:13
@khaf khaf changed the title Go Client v7.8.0-beta.1 Go Client v8.0.0-beta.1 Dec 12, 2024
@khaf khaf force-pushed the stage branch 2 times, most recently from 0e6e7e6 to d085896 Compare December 12, 2024 18:20
Copy link

@justinlee-aerospike justinlee-aerospike left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes look good

@khaf khaf merged commit f481016 into v8 Dec 12, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants