v3.0.0-alpha.30
lthibault
released this
20 Jul 13:40
·
235 commits
to main
since this release
What's Changed
- When examining annotations, check the value's tag. by @zenhack in #109
- sendCap: check for nil exports table/entries by @zenhack in #113
- V3 sender promise workaround by @zenhack in #114
- Don't panic when Payload is null. by @zenhack in #157
- Add a missing format argument by @zenhack in #164
- Fix some breakage in the regen.sh script. by @zenhack in #162
- Typed refcounting by @zenhack in #163
- Add option to use packed encoding in rpc.StreamTransport. by @lthibault in #161
- Update README.md for v3 by @lthibault in #170
- Add go module & set import path to capnproto.org/go/capnp/v3 by @lthibault in #169
- Added minor installation note regarding 'GO111MODULE' by @taufik-rama in #179
- Update the bundled schema to those included with capnp-c++ 0.9 by @zenhack in #181
- Fix issues that cause linters to complain. by @lthibault in #182
- CI: run agains Go 1.17 by @zenhack in #183
- Remove old build tags by @lthibault in #184
- Fix unsafe use of reflect.StringHeader/SliceHeader. by @lthibault in #186
- Add new internal/mpsc package. by @zenhack in #191
- Improve error handling in RPC package by @lthibault in #187
- Add infalliable variants of NewMessage() by @zenhack in #195
- Fix a bug where we were calling annotate() on the wrong error. by @zenhack in #197
- Minor formatting change in comment by @zenhack in #202
- Flow control by @zenhack in #198
- Cleanup: Stop passing around a superfluous []ClientState by @zenhack in #207
- Simplify how we determine whether to embargo by @zenhack in #212
- Add some helpers for acquiring locks by @zenhack in #210
- Expose pipelineClient & do something useful with its .Brand() by @zenhack in #211
- Support arbitrary client metadata, avoid linear seach in sendCap. by @zenhack in #208
- Handle incoming
receiverAnswer
cap descriptors. by @zenhack in #209 - Error client: return the error via Brand() by @zenhack in #215
- Add me & Louis to FUNDING.yml by @zenhack in #217
- Transport: don't require clearing the cap table. by @zenhack in #219
- sendCap: emit receiverAnswer when appropriate. by @zenhack in #213
- Support canonicalizing interface pointers. by @zenhack in #220
- Creating example directory with books and hashes examples from wiki by @frumioj in #204
- Get rid of server.Policy.AnswerQueueSize. by @zenhack in #222
- Replace getClosedSignal() with global closed channel. by @lthibault in #223
- Use generics for mpsc by @zenhack in #226
- Remove unused contextImport constant. by @zenhack in #227
- Use generics for list types. by @zenhack in #229
- Bugfix/unbounded send queue by @lthibault in #224
- Use the embed package to do less in mktemplates. by @zenhack in #228
- Don't block when queuing methods on *Server. by @zenhack in #225
- Fix linter warning due to discarded CancelFunc in mpsc_test by @lthibault in #230
- Lintfix. Explicitly assign value to
List
field inStructList
. by @lthibault in #231 - Refactor readlimit_test.go to appease CI. by @lthibault in #233
- Fix compilation error and test on intel 32-bit by @Matherunner in #234
- Fix typo in comment. by @zenhack in #237
- Represent :Capability type as *capnp.Client. by @lthibault in #232
- flowcontrol.fixedLimiter: Swap in semaphore.Weighted. by @zenhack in #238
- Fix moar deadlocks by @zenhack in #243
- Get rid of unnecessary interface{ ... }. by @zenhack in #246
- Add typed wrapper for lists of capabilities. by @zenhack in #247
- Move Transport into its own package, and export transport.NewPipe by @zenhack in #252
- Remove Promise.Join() by @zenhack in #255
- Fix broken implemenation of .Ack() by @zenhack in #254
- Move
packed
out of internal. by @zenhack in #258 - Bugfix: don't wrap nil error with fmt.Errorf. by @lthibault in #262
- Export concrete arena types. by @lthibault in #263
- Return error from generator.defineInterface by @lthibault in #264
- Implement io.WriterTo for Message by @lthibault in #266
- Assorted clean-up tasks by @lthibault in #265
- Fix race conditions due to zero-copy semantics of pipe transport. by @lthibault in #261
- Remove redundant call to setAnswerQuestion by @zenhack in #250
- Client: hide pointer indirection. by @zenhack in #260
- Bugfix/nil exc check fails by @lthibault in #268
- Defend against nil-pointer panics in question.release by @lthibault in #269
- Don't mention now-deleted Promise.Join() method by @zenhack in #270
- Remove server.Policy. by @lthibault in #273
- Embed capnp.Client in generated interface types. by @zenhack in #276
- First steps towards generics by @zenhack in #274
- Remove pointless indirection in templates. by @zenhack in #277
- Clean up formatting, inefassign and misspellings. by @lthibault in #281
- Kill the struct wrapper around Client by @zenhack in #279
- Remove a couple uses of the *_List type aliases. by @zenhack in #278
- Run gofmt by @zenhack in #282
- Kill the struct wrapper around generated Struct types. by @zenhack in #283
- Get rid of the struct wrappers around list types. by @zenhack in #284
- Add client methods to interfaceClient template by @lthibault in #285
- Add IsValid method to list types. by @lthibault in #287
- Fix 271 by @zenhack in #288
- .gitignore: ignore test coverage profiles by @zenhack in #290
- Add a .Release() method to FlowLimiter. by @zenhack in #291
- Export mpsc by @lthibault in #293
- Clean up import rendering in codegen. by @lthibault in #286
- Simplify packed encoder. by @lthibault in #295
- Import docs from the wiki into a docs/ directory. by @zenhack in #300
- Update Working-with-Cap'n-Proto-Types.md by @TheApeMachine in #302
- Reject pipelined calls when PlaceArgs returns an error. by @lthibault in #303
- Fix incorrect docs for Client.Release(). by @zenhack in #313
- Fix error message in panic. by @zenhack in #312
- Get rid of an unnecessary slice in Promise. by @zenhack in #310
- Delete clearCapTable() by @zenhack in #309
- Clarify comments by @zenhack in #308
- Fix deadlock by @zenhack in #316
- call messages: let the transport release the cap table by @zenhack in #314
- Fix some bitrot in a comment. by @zenhack in #307
- Fix 315 by @zenhack in #317
- Better isolate the tests under TestHandleReturn_regression by @zenhack in #320
- Add Go 1.19 to the build matrix. by @zenhack in #323
- Fix a regression introduced by releaseQuestions() by @zenhack in #322
- Server.handleCall: Run methods when the ctx is already canceled by @zenhack in #324
- Conn.sendMessage: don't return an error. by @zenhack in #326
- Fix intermittent hang in TestRecvAbort by @zenhack in #327
- Clarify a comment by @zenhack in #331
- CI: run RPC tests repeatedly by @zenhack in #328
- Minor cleanup by @zenhack in #330
- Wrap error returned by PlaceArgs using %w directive. by @lthibault in #332
- Return capnp.Client from promised :Capability type by @lthibault in #333
- Implement code generation for :AnyStruct by @lthibault in #334
- Add code generation for AnyList by @lthibault in #335
- Add missing accessor for promised AnyStruct by @lthibault in #336
- Rename server.Call.Ack() -> .Go() by @zenhack in #338
- Add BBR Flow-Control by @zenhack in #294
- Mention websocket transport implementation. by @zenhack in #341
- Minor cleanup: use the 'any' alias introduced in go 1.18 by @zenhack in #339
- Fix #301. by @zenhack in #342
- BenchmarkPingPong: use net.Pipe() by @zenhack in #345
- Add benchmark for streaming calls. by @zenhack in #346
- Delete extremely obsolete test by @zenhack in #353
- Use a sync.Pool for MultiSegmentArenas by @zenhack in #350
- Rpc: split IO into dedicated goroutines. by @zenhack in #354
- simplify transport. by @zenhack in #296
- Add a few things to .gitignore by @zenhack in #356
- Readability: use signed int32 for refcount. by @zenhack in #357
- Optimize mpsc by @zenhack in #358
- Fix a bug pertaining to casting struct lists to pointer lists by @zenhack in #359
- Delete unused chanmutex package by @zenhack in #361
- Conn.sender: mpsc -> spsc by @zenhack in #360
- Expand streaming benchmark. by @zenhack in #362
- Add helpers Serve and ListenAndServe by @hspaay in #355
- Pool buffers when decoding by @zenhack in #363
- First steps reducing fmt usage. by @zenhack in #365
- Fix #337 by @zenhack in #366
- Revert "Fix #301." by @lthibault in #367
- Cleanup: add .Contains() method to rpc.answerFlags. by @zenhack in #370
- Minor readability improvement. by @zenhack in #369
- Move calls to ans.releaseMsg() inside ans.destroy() by @zenhack in #371
- Remove duplicate implementation of clientPath. by @zenhack in #372
- Remove some vestigial bits, fix #352 by @zenhack in #373
- Use refcounting for results by @zenhack in #374
- Conn.sender: go back to using mpsc. by @zenhack in #378
- Conn: wrap fields protected by mu in struct. by @zenhack in #379
- sendMessage: better names for parameters. by @zenhack in #380
- Cleanup: bundle return values from transport by @zenhack in #381
- Remove a couple uses of syncutil.Without by @zenhack in #383
- Move Conn.bgcancel inside Conn.lk by @zenhack in #384
- answer.destroy: avoid syncutil.Without by @zenhack in #385
- Remove unused context parameter. by @zenhack in #387
- Add a clarifying comment to bgctx. by @zenhack in #388
- Report full stack traces when detecting leaked clients. by @zenhack in #376
- Add recommendation not to provide custom ClientHooks. by @lthibault in #389
- Fix client leak in the server package by @zenhack in #390
- Fix #382 by @zenhack in #391
- Refactor use of releaseList by @zenhack in #392
- Release list fixes & broader use by @zenhack in #393
- Clean up/fix locking in handleReturn by @zenhack in #395
- Clean up/fix locking in handleDisembargo by @zenhack in #396
- handleBootstrap: avoid a use of syncutil.Without() by @zenhack in #397
- Clean up locking in Conn.shutdown() by @zenhack in #398
- Simplify rpc/answer.Return() by @zenhack in #399
- Fix comment birot by @zenhack in #402
- Tweak locking around Conn.sender by @zenhack in #401
- handleRelease: use syncutil.With by @zenhack in #404
- handleCall: cleanups & locking simplifications by @zenhack in #403
- Remove remaining non-hierarchical locking in the rpc package. by @zenhack in #406
- Fix some spelling errors by @zenhack in #407
- Improve type safety wrt locking. by @zenhack in #408
- Docs sync Arith schema and code by @grishy in #410
- Reduce usage of the fmt package by @zenhack in #411
- Get rid of formatting helpers that call out to fmt by @zenhack in #412
- Minor style cleanup by @zenhack in #413
- Fixes wrt. withLocked by @zenhack in #414
- Add handler for unknown method by @hspaay in #405
- Minor cleanup. by @zenhack in #415
- Delete server.returnEmbargoer by @zenhack in #416
- Fix 394 by @zenhack in #417
- Fix occasional spurious test failure. by @zenhack in #418
- server tests: use assert for concision. by @zenhack in #421
- Don't report nil error when shutting down import client. by @lthibault in #422
- Fix #420 by @zenhack in #424
- Remove extra msgReleaser.Decr() by @zenhack in #427
- Server.handleCalls: deal with ack/Go correctly when shutting down. by @zenhack in #428
- Panic on flowcontrol deadlock by @lthibault in #430
- Add Release() method to capnp.Arena. by @lthibault in #432
- Fix #375 (I think) by @zenhack in #434
- CI: only run the tests repeatedly, not compile them. by @zenhack in #436
- findEmbargo: define on lockedConn instead of Conn. by @zenhack in #435
- Define .cancelTasks() on lockedConn instead of Conn. by @zenhack in #438
- rpc.questionFlags: Add .Contains() method by @zenhack in #439
- answer.sendMsg(): take a lockedConn by @zenhack in #440
- syncutil.With -> Conn.withLocked by @zenhack in #441
- Add context to 'too many segments' error in decoder. by @lthibault in #431
- Fix bug in TestSendDisembargo/SendQueuedResultToCaller by @zenhack in #443
- Fix #426. by @zenhack in #444
- bbr.Limiter.trySend: don't take a context. by @zenhack in #445
- BBR: avoid busy loop by @zenhack in #446
- Bootstrap tests by @zenhack in #448
- Unbounded queues: add a Close() method. by @zenhack in #449
- recvCap: use the vine for thirdPartyHosted caps. by @zenhack in #451
- Streaming support helpers. by @zenhack in #450
- Use go-util module, with some trivial substitutions by @zenhack in #453
- Remove more uses of fmt package. by @zenhack in #454
- Avoid use of fmt in the main package. by @zenhack in #456
- Simplify Message.Reset() by @zenhack in #459
- Add Go 1.20 to CI by @zenhack in #460
- CI: display GOARCH in job name. by @zenhack in #461
- WIP: avoid deadlocks wrt. embargo by @zenhack in #458
- Support writing to reset messages. by @lthibault in #462
- Remove capnperr annotator (unused). by @lthibault in #464
- Allocate SingleSegmentArena from bufferpool. by @lthibault in #465
- WIP: sketch out interfaces for working with vat networks by @zenhack in #452
- Stub out places where we need to add logic for 3PH by @zenhack in #469
- Drop support for go 1.18 by @lthibault in #472
- Improvements to buffer pool by @lthibault in #466
- Remove unused method rpc.Conn.getAnswerQuestion. by @lthibault in #474
- Don't export ClientPromise, use an interface instead. by @zenhack in #475
- Clean up rpc.Conn.receive by @lthibault in #473
- Move arena code to arena.go. by @lthibault in #467
- Rename fulfiller.go -> resolver.go by @zenhack in #477
- WIP: groundwork for request-based API by @zenhack in #455
- Add NewLocalPromise() api by @zenhack in #476
- Remove more uses of fmt. by @zenhack in #478
- Don't register schema by default. by @zenhack in #479
- Send promise resolution messages by @zenhack in #471
- Fix order of comment numbers in test. by @zenhack in #481
- Drop pre go 1.18 implementation of Encoder.write by @zenhack in #483
- Simplify Client leak reporting. by @zenhack in #485
- Rework Server.Shutdown semantics. by @zenhack in #484
- Expunge io/ioutil by @lthibault in #486
- Move (de)coder to its own file by @lthibault in #487
- Pool multi-segment buffers. by @lthibault in #488
- Use go-util's mutex package for clientHook state. by @zenhack in #491
- Use go-util's mutex package for Client. by @zenhack in #492
- Use go-util's mutex package in Promise. by @zenhack in #493
- Clean up Message.Reset by @lthibault in #489
- Decompose answer struct. by @zenhack in #495
- Use go1.19 atomic.Uint64 in Message. by @lthibault in #497
- Don't directly export cap table from message by @lthibault in #498
- Fix clerical errors in the comments for resolveHook by @zenhack in #499
- handleCancel: minor simplification. by @zenhack in #501
- Drop our home-grown releaseList type by @zenhack in #504
- exc.WrapError: return nil if the original error is nil. by @zenhack in #506
- Client.peek(): make returns consistent with startCall() by @zenhack in #511
- Delete stale FIXME comment. by @zenhack in #510
- Remove superfluous call to Release() in test. by @zenhack in #507
- Don't use $GOPATH in instructions. by @zenhack in #512
- Tidy up the README & remove stuff redundant with docs/ by @zenhack in #513
- promiseState: remove obsolete ongoingCalls and callsStopped fields. by @zenhack in #514
- Promise: delete unnecessary releasedClients field by @zenhack in #516
- Delete irrelevant FIXME comment. by @zenhack in #517
New Contributors
- @taufik-rama made their first contribution in #179
- @frumioj made their first contribution in #204
- @Matherunner made their first contribution in #234
- @TheApeMachine made their first contribution in #302
- @hspaay made their first contribution in #355
- @grishy made their first contribution in #410
Full Changelog: v2.17.0...v3.0.0-alpha.30
RIP @zenhack. We'll miss you.