- Release all Threads on Webserver#stop() (#88 Simon Willnauer)
- WebSocketClient can have cookies passed in. (#89, #90 Dennis Byrne)
- Bug fix for regular expression allowing for more robust test of https:// in HTTP ORIGIN in Hixie 75/76. (#86 Justin Long)
- Now returns the appropriate protocol when responding to secure websockets. (Justin Long)
- WebSocketClient issues HTTP request using abs_path instead of absoluteUri. This is to work around buggy servers. (Aslak Hellesøy)
- Add missing
Connection: Upgrade
andUpgrade: websocket
headers to WebSocketClient. (Aslak Hellesøy)
- Use
copiedBuffer
instead ofwrappedBuffer
to prevent outbound binary messages from being corrupted (Aslak Hellesøy)
- Log outbound binary websocket messages sent with offset and length (Aslak Hellesøy)
- Update docs (and related examples and wiki pages) to work for the
Future
API update inWebServer
(#78 Kushal Pisavadia) - Consolidated WebSocket client API with WebServer API (#76 Aslak Hellesøy)
(There is no 0.4.1 because NettyWebServerTest#stopsServerCleanlyNotLeavingResourcesHanging failed after Maven had tagged git)
- Bugfix: WebSocketConnection.send(byte[] message, int offset, int length) would fail if offset was bigger than length (Aslak Hellesøy)
In previous versions of Webbit, WebServer.start()
was synchronous and WebServer.stop()
was asynchronous (You could call WebServer.join()
to wait for a complete shutdown.
As of this release, both WebServer.start()
and WebServer.stop()
are asynchronous, and they return a Future<WebServer>
that can be used to wait for the operation to complete.
- Removed
WebServer.join()
. (#70 Aslak Hellesøy) WebServer.start()
is asynchronous. (#70 Aslak Hellesøy)- Added WebSocketConnection.send(byte[] message, int offset, int length) (Aslak Hellesøy)
WebSocketConnection.ping(String)
is nowWebSocketConnection.ping(byte[])
(#71 Aslak Hellesøy)- Added
WebSocketConnection.pong(byte[])
(#71 Aslak Hellesøy) WebSocketConnection.onPong(WebSocketConnection, String)
is nowWebSocketConnection.onPong(WebSocketConnection, byte[])
(#71 Aslak Hellesøy)- Added
WebSocketConnection.onPing(byte[])
(#71 Aslak Hellesøy) - Added
BaseWebSocketHandler
that implementsWebSocketHandler
with no-ops (except for sending pings back as pongs) (Aslak Hellesøy) - Added
WebSocketHandler.onClose
andWebSocketHandler.onClose
throwThrowable
instead ofException
for consistency with other methods. (Aslak Hellesøy)
(There is no 0.3.7 release due to Maven hiccups)
- Added support for HTTPS (#63, #9 Michael Rykov)
- WebSocketClient can reconnect. (Aslak Hellesøy)
- Added support for wss:// in WebSocketClient (Aslak Hellesøy)
(There is no 0.3.5 because Aslak was releasing from a new machine, and release failed on the 1st attempt)
- WebSocketClient no longer throws exceptions caused by passing in a null HttpRequest to the connection constructor (Aslak Hellesøy)
(There is no 0.3.3 release due to Aslak hiccups)
- All Autobahn tests are passing, except for incorrect closing behaviour in 8 of them (Alex Silverstein, Aslak Hellesøy)
- Fixed a race condition where the first incoming WebSocket messages could be lost. (#65 Aslak Hellesøy)
- Moved org.webbitserver.wsclient.WebSocket to org.webbitserver.netty.WebSocketClient. (Aslak Hellesøy)
- Improved WebSocketClient so that it receives onClose events when closed locally. (Aslak Hellesøy)
- WebSocketClient must be start()ed - it no longer connects in the constructor. (Aslak Hellesøy)
- EventSourceMessage.build() appends the
\n
so that it doesn't have to be done in other places. (Aslak Hellesøy)
(There is no 0.3.1 release due to Maven hiccups)
- New, experimental WebSocket client. API is subject to change in the next few releases. (Aslak Hellesøy)
- WebbitException.fromException no longer throws NullPointerException if the channel is null. (Phil Dawes, Aslak Hellesøy)
- Upgrade to Netty 3.2.7. (Aslak Hellesøy)
- Removed deprecated StubWebSocketConnection and EventSourceConnection.send(String). (Aslak Hellesøy)
- Support HTTP partial content ranges (#49 Peter Royal)
- Server can be restarted (#46, #50 chtheis)
- Wrap exceptions in WebbitException. This makes it easier to identify exceptions from Webbit in environments where Netty is used in other libs (#52 Neil Dunn)
- Add serialVersionUID for Serializable Exception classes to track any future backwards-incompatible changes. (KushalP)
- Added Netty decoder and handler for flash socket policy file requests. (#51 Nathan Mische)
- Added flashchatroom demo which shows how to use the the web-socket-js Flash websocket library with Webbit server. (#51 Nathan Mische)
- The [Static|Embedded]ResourceHandler APIs have changed slightly if you're subclassing them. (Aslak Hellesøy, Peter Royal)
(There is no 0.2.15 release due to Maven hiccups)
- Easier dynamic post-processing of static assets by moving inner class' serve method up to AbstractResourceHandler.serve so it can be overridden more easily. (Aslak Hellesøy)
- Fixed a regression in 0.2.12 where inbound WebSocket messages were sometimes improperly read, because 2 threads used the UTF8Output. (Neil Dunn, Aslak Hellesøy)
- Fixed a regression in 0.2.12 where WebSocket and EventSource connections would be closed after the stale connection timeout. Now they stay open. (Aslak Hellesøy)
(There is no 0.2.11 release)
- HTTP Connections are persistent unless the client sends Connection: close. (Aslak Hellesøy)
- Stale persistent HTTP connections are closed automatically after a configurable timeout (defaults to 5000ms). (Aslak Hellesøy)
- Upgraded Netty to 3.2.6.Final. (Aslak Hellesøy)
- Upgraded Mockito to 1.9.0-rc1. (Aslak Hellesøy)
- No changes - just mucking around with Maven
- Removed pom.xml parts that should work according to docs, but don't. Checking if make release still works. (Aslak Hellesøy)
- Attempt a fully automated release (Aslak Hellesøy)
- EVEN More Maven/Sonatype Yak Shaving (Aslak Hellesøy)
- More Maven/Sonatype Yak Shaving (Aslak Hellesøy)
- Made Maven upload artifact signatures again, so we can deploy jars (0.2.4 release failed). (Aslak Hellesøy)
- Added back support for Hixie 75/76 browsers, which broke in a regression in 0.2.2 (Aslak Hellesøy)
- Changed WebSocket logging slightly so it's easier to see what protocol version a ws connection is using (Aslak Hellesøy)
- WebServer.close() will now force all connections to be closed. rather than waiting for browsers to close them. (#29 Joe Walnes)
- Fixed several WebSocket bugs related to big messages, fragmented frames and closing handshakes (Aslak Hellesøy).
- Integrated Autobahn test suite to make the WebSocket implementation a lot more robust. (#38 Aslak Hellesøy)
- Stop blocking SimpleLogSink with InetSocketAddress.getHostName(). (#39 Kushal Pisavadia)
- Fixed bug involving proper string representation of hex/binary values in error reporting. (Aslak Hellesøy)
- Fixed incorrect decoding of large messages. (Aslak Hellesøy)
- Support compressed requests and send compressed responses where supported. (#13 James Abley)
- Added support for getting request body as a byte array. (#35 Peter Gillard-Moss)
- Implemented support for hybi-10 WebSockets, which is what Chromium 14 and higher speaks. (#34 Aslak Hellesøy)
- Added support for sending and receiving binary data as byte[] (Aslak Hellesøy)
- WebSocketHandler has two new methods: onPong(WebSocketConnection connection, String msg) and onMessage(WebSocketConnection connection, byte[] msg) (Aslak Hellesøy)
- Fixed spurious ClassCastException. (#32 Aslak Hellesøy)
- Fix for EmbeddedResourceHandler for windows. (#33 James Estes)
- Fixed illegal error content on non-error pages. (Joe Walnes)
- Added StubConnection, which can be used for stubbing both EventSource and WebSocket connections. (Aslak Hellesøy)
- Allow WebSocket message handler to throw anything. (Aslak Hellesøy)
- Shut down ExecutorServices used by Netty web server (Matt Hellige)
- Fixed NPE when getting query parameters without a value: ?nothing=&some=thing (Aslak Hellesøy)
- Added EventSourceConnection.send(EventSourceMessage) (Aslak Hellesøy)
- Added BasicAuthenticationHandler for HTTP BASIC authentication (#8 Joe Walnes)
- Fixed a bug where static (embedded) resources were served improperly if they were of a certain size (Aslak Hellesøy)
- Added support for Server-Sent Events/EventSource (#18 Aslak Hellesøy)
- Requests with full url as request uri (and not only path) are correctly matched. (Aslak Hellesøy)
- Added HttpRequest.queryParam(String key) and HttpRequest.queryParams(String key) (#20 Aslak Hellesøy)
- Added new AliasHandler for forwarding requests. (Aslak Hellesøy)
- Made it possible to call NettyHttpResponse.content() more than once. (Aslak Hellesøy)
- Added support for cookies. (#19 Aslak Hellesøy)
- Added HttpRequest.body() method. (Aslak Hellesøy)
- First release