Releases: coder/websocket
v1.8.12
v1.8.11
- b0ec201 close.go: Rewrite how the library handles closing #427 #429 #434 #436 #437 (thanks @alixander, @creker, @ash2k, @haha454, @tomasji)
- Apologies for the delay here, this fix should have been much faster.
- 8d2374e Fix unaligned load error on 32-bit architectures #438 (thanks @x0wllaar)
- d34e5d4 Benchmark json.NewEncoder vs json.Marshal #409 (thanks @maggie44)
- 52721a9 Use ws:// over http:// in example logs #412 (thanks @KunalSin9h)
v1.8.10
v1.8.9
v1.8.8
My sincerest apologies for the 3 year delay. The last few years have been an extraordinarily challenging time for me personally and professionally. I've been experimenting nonstop to better understand what I need from my life and precisely how to attain it.
I moved across Canada from Ontario to British Columbia, taught myself photography, started working a new job at @terrastruct where I designed and wrote https://github.com/terrastruct/d2, taught myself to cook, taught myself to exercise, bought a house on a 20 acre property in the Canadian rockies, became a volunteer firefighter and now I'm working on becoming a paramedic and search and rescue volunteer. My house burnt up in a chimney fire just 1 year after moving in. My vehicle was taken by the fire too...
It's been up and down and round and round these last few years.
Anyway, I am now thankfully working on websocket full time for the foreseeable future. See #402. I'm working on v1.9.0 next. After which I need to finish some inventory work for my house fire insurance claim. Following that I'll be back full time until v2.0.0 is released :)
Thank you to everyone who contributed by reporting issues and opening pull requests.
Special thanks to my sponsors @alixander, @scsmithr, @tailscale and @coder.
note: If anyone is good with amd64 and arm64 assembly please give me a hand with reviewing #326.
I'm trying to confirm that it's correctly implemented in the most efficient way possible and that there is no unnecessary code.
Changelog
This release packs a ton of fixes and improvements. Please upgrade as soon as you can.
Breaking changes are prefixed with BREAKING.
API additions are prefixed with API.
- d7a55cf Ensure no goroutines leak after Close #330
- 25a5ca4 netconn.go: Fix panic on zero or negative deadline durations
- 50952d7 compress.go: Rewrite compression docs
- 5fe95bb write.go: Fix potential writeFrame deadlock #405
- 6cec2ca close.go: Fix mid read close #355
- 28c6709 conn_test: Add TestConcurrentClosePing #298 #394 @univerio @@bhallionOhbibi
- e361137 wsjs: Register OnError #400
- 1a344a4 Reject invalid "Sec-WebSocket-Key" headers from clients #360 @Emyrk
- 20b8838 Run autobahn-testsuite on dev daily
- 818579b Add TestDialViaProxy #395
- e314da6 Redirect wss/ws correctly by modifying the http client #333
- a94999f API Add CloseNow #384
- 1dbc141 Ensure Writer does zero alloc writes #354
- 97d7f90 Make compression negotiation more lenient #258 @abursavich
- 81afa8a Avoid returning 0, nil in NetConn.Read #367
- 4e15d75 Add ci/bench.sh
- a6b9464 Add noCopy to Conn #349
- b4b86b9 dial.go: Use timeout on HTTPClient properly #341
- 2598ea2 Remove all third party dependencies from go.mod and go.sum #297
- fecf26c netconn.go: Return real remote and local address where possible #299 @photostorm
- f7bed7c API Extend DialOptions to allow Host header override #336 @bendiscz
- 3f26c9f wsjson: Write messages in a single frame always #315
- ac38512 BREAKING Remove wspb #311 #297
- See #420 (comment) for a standalone wspb copy.
- e9d0881 Use net.ErrClosed where possible #286 @emersion
- e1e65ad Run AUTOBAHN tests daily
- 2a5a566 Update Go module version to 1.19 #359 @Jacalz
- 118ea68 Add staticcheck and simplify and refactor CI
- b9a4d42 Switch to OpenBSD's license
- 6ead6aa Run the autobahn-testsuite in docker to avoid issues with python2 EOL #334
- e2bb5be Migrate from deprecated io/ioutil #371 @keystroke3
- 7fd6136 Fix dial panic when ctx is nil #365 @guseggert
- 65dfbdd Add wasm dial timeout test
- 29251d0 Improve unauthorized origin error message #247
- 482f584 Cleanup net.Conn context's on close #255
- ea87744 BREAKING Disable read limit on net.Conn #254 #245
- This commit also allows passing -1 to disable the read limit generally. #322
- 085d46c Document context expirations wart #242
- 3b20a49 Document separate idle and read timeout #87
- fdc4079 Clone options correctly #259 @abursavich
- 897a573 Fix deadlock in writeFrame #253 #248
- 493ebbe Prevent net.Conn timer leakage #255 #243
- 0a61ffe Make SetDeadline on NetConn not always close Conn #228 #350
- 1695216 Add ping example #227
- 17cf0fe BREAKING The dependency on klauspost/compress has been removed and compression is disabled by default #220 #230 #218 #315
- More reliable and idiomatic. See updated docs in compress.go
- b453d3e All Wasm code now lives in ws_js.go to avoid polluting the directory tree
v1.8.7
v1.8.6
- Fix deadlock introduced in v1.8.5 #231
- Occured when you'd write at the same time as close
- Add support for gin-gonic/gin
- wsjson does not require that the message type read is text anymore #233
- Add automated test to echo example #224
- Undeprecate InsecureSkipVerify #225
- It's more clear than * as an origin pattern.
In light of #231 and #205, I've opened #239 which will track a complete review to ensure there are no more such bugs from my rewrite in #163.
v1.8.5
- Improve cross origin API and add example #194 #198
- Add automated test for chat example #201
- You can now pass http:// and https:// URLs to Dial
- Documentation fixes #212 #208
- Prevent all writes after close frame is written #213
- Ensure writes on a closed connection return the close error #215
- Disable compression for Safari due to bugs in its implementation #218