This PR breaks essentially the entire API, as methods have been moved from Context.Run
et all to restate.Run(ctx)
et all, which is much more pleasant.
Serialisation issues will now always panic - this allows us to take error return values out of various api calls that don't need them.
The semantics of .Get() have changed - the zero value is now always returned if the key isn't found. You can check explicitly for this case by providing a pointer type eg *string. Get will now only return errors in the case of cancellation, which will also only happen if eager state is disabled, which is not the default. As such, errors from gets are now very unlikely and you can just return them without another thought.
It is also notable that you can now provide many more method signatures to .Reflect().
What's Changed
- Ensure servicemethod is logged by @jackkleeman in #28
- Use panics for serialisation errors by @jackkleeman in #32
- Add TerminalErrorf by @slinkydeveloper in #30
- Move headers and delays into requestoption/ send option by @jackkleeman in #34
- Always interact with ctx through facilitator functions by @jackkleeman in #35
- Allow more method signatures in .Reflect() by @jackkleeman in #33
- Remove err key not found by @jackkleeman in #36
Full Changelog: v0.10.0...v0.11.0