Permalink
Fetching contributors…
Cannot retrieve contributors at this time
377 lines (246 sloc) 18.1 KB

Git master

Full changelog

  • Removed WebSocketClient. Please use Java-WebSocket or instead.
  • Fix resource leakage in tests and upgrade to netty 3.6.5.Final (#119 Norman Maurer)
  • DateHelper.rfc1123Format emits GMT now, rather than system default time zone.

0.4.15 (2013-04-26)

Full changelog

  • Introducing cache control headers (#112 Peter Hausel)
  • Add support for chunked responses (#106 Peter Hausel)
  • Adding support for cookie attributes (#108 Peter Hausel)
  • Fix for decoding query parameters containing special characters. (#102 Joe Freeman)
  • Hybi09 protocol fix (#114)
  • Fixed issue when multiple WebSocketClients are used in a process (#115 Mike Ward)
  • Upgraded to io.netty:netty:3.5.5.Final. Netty versions above this suffer from memory leaks (Aslak Hellesøy)
  • gzip compression on JDK 1.7 and Netty 3.5.2 is broken (#104 Aslak Hellesøy)
  • HTTP PUT/POST requests with body larger than max content length (default is 64Kb) now fail with 413 Request Entity too large (Aslak Hellesøy)
  • Trying a little harder to shut down all threads on WebServer#stop() (Aslak Hellesøy)
  • Write a close frame before closing the socket when a WebSocket connection is closed (Aslak Hellesøy)

0.4.14 (2012-07-13)

Full changelog

  • Upgraded to io.netty:netty:3.5.2.Final, fixing corrupt POST data (#99 Norman Maurer)

0.4.13 (2012-07-13)

Full changelog

  • Upgraded to io.netty:netty:3.5.1.Final (#97 Aslak Hellesøy)

0.4.12 (2012-07-06)

Full changelog

This release adds an API to plug in an arbitrary template engine (such as mustache, freemarker etc) into Webbit. This is done via EmbeddedResourceHandler or StaticFileHandler's constructor, which now accepts an additional TemplateEngine argument.

Webbit itself only provides a default implementation of TemplateEngine - a StaticFile which does nothing - it just passes the bytes straight through. The files are read on the EmbeddedResourceHandler/StaticFileHandler's IO thread and the template is rendered on the main thread. If you use this feature it is important that rendering your template does not block the main thread. (For example, passing an active record style object to a template is likely to take blocking trips to a database).

The webbit-rest library uses this new API and comes with a built-in engine for JMustache.

0.4.11 (2012-06-27)

Full changelog

  • Fixed regression in 0.4.9 where Webbit created daemon threads (#95 Aslak Hellesøy)

0.4.9 (2012-06-26)

Full changelog

  • Wait for executor services to shut down and "name" internally controlled threads. (#93 Simon Willnauer)
  • Broken InetAddress...getHostName() implementation can cause NPE in NettyWebServer#start() (#94 Simon Willnauer)
  • Bug fixes for client side cookie setting & Host header in WSClient (#92 Dennis Byrne)
  • Adding redirects for folders from /foo to /foo/, adding optional directory listings for folders, and opening up a few classes for extension (#87 Daniel Wagner-Hall)

0.4.8 (2012-06-20)

Full changelog

  • 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)

0.4.7 (2012-04-10)

Full changelog

  • Now returns the appropriate protocol when responding to secure websockets. (Justin Long)

0.4.6 (2012-02-23)

Full changelog

  • WebSocketClient issues HTTP request using abs_path instead of absoluteUri. This is to work around buggy servers. (Aslak Hellesøy)
  • Add missing Connection: Upgrade and Upgrade: websocket headers to WebSocketClient. (Aslak Hellesøy)

0.4.5 (2012-02-21)

Full changelog

  • Use copiedBuffer instead of wrappedBuffer to prevent outbound binary messages from being corrupted (Aslak Hellesøy)

0.4.3 (2012-02-17)

Full changelog

  • 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 in WebServer (#78 Kushal Pisavadia)
  • Consolidated WebSocket client API with WebServer API (#76 Aslak Hellesøy)

0.4.2 (2012-02-13)

(There is no 0.4.1 because NettyWebServerTest#stopsServerCleanlyNotLeavingResourcesHanging failed after Maven had tagged git)

Full changelog

  • Bugfix: WebSocketConnection.send(byte[] message, int offset, int length) would fail if offset was bigger than length (Aslak Hellesøy)

0.4.0 (2012-02-08)

Full changelog

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 now WebSocketConnection.ping(byte[]) (#71 Aslak Hellesøy)
  • Added WebSocketConnection.pong(byte[]) (#71 Aslak Hellesøy)
  • WebSocketConnection.onPong(WebSocketConnection, String) is now WebSocketConnection.onPong(WebSocketConnection, byte[]) (#71 Aslak Hellesøy)
  • Added WebSocketConnection.onPing(byte[]) (#71 Aslak Hellesøy)
  • Added BaseWebSocketHandler that implements WebSocketHandler with no-ops (except for sending pings back as pongs) (Aslak Hellesøy)
  • Added WebSocketHandler.onClose and WebSocketHandler.onClose throw Throwable instead of Exception for consistency with other methods. (Aslak Hellesøy)

0.3.8 (2012-02-01)

(There is no 0.3.7 release due to Maven hiccups)

Full changelog

  • Added support for HTTPS (#63, #9 Michael Rykov)
  • WebSocketClient can reconnect. (Aslak Hellesøy)
  • Added support for wss:// in WebSocketClient (Aslak Hellesøy)

0.3.6 (2012-01-30)

(There is no 0.3.5 because Aslak was releasing from a new machine, and release failed on the 1st attempt)

Full changelog

  • WebSocketClient no longer throws exceptions caused by passing in a null HttpRequest to the connection constructor (Aslak Hellesøy)

0.3.4 (2012-01-30)

(There is no 0.3.3 release due to Aslak hiccups)

Full changelog

  • 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)

0.3.2 (2012-01-19)

(There is no 0.3.1 release due to Maven hiccups)

Full changelog

  • 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)

0.3.0 (2011-12-02)

Full changelog

  • 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)

0.2.16 (2011-11-20)

(There is no 0.2.15 release due to Maven hiccups)

Full changelog

  • 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)

0.2.14 (2011-11-01)

Full changelog

  • 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)

0.2.13 (2011-11-01)

Full changelog

  • 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)

0.2.12 (2011-10-31)

(There is no 0.2.11 release)

Full changelog

  • 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)

0.2.10 (2011-10-12)

Full changelog

  • No changes - just mucking around with Maven

0.2.9 (2011-10-12)

Full changelog

  • Removed pom.xml parts that should work according to docs, but don't. Checking if make release still works. (Aslak Hellesøy)

0.2.8 (2011-10-12)

Full changelog

  • Attempt a fully automated release (Aslak Hellesøy)

0.2.7 (2011-10-12)

Full changelog

  • EVEN More Maven/Sonatype Yak Shaving (Aslak Hellesøy)

0.2.6 (2011-10-12)

Full changelog

  • More Maven/Sonatype Yak Shaving (Aslak Hellesøy)

0.2.5 (2011-10-12)

Full changelog

  • Made Maven upload artifact signatures again, so we can deploy jars (0.2.4 release failed). (Aslak Hellesøy)

0.2.4 (2011-10-12)

Full changelog

  • 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)

0.2.3 (2011-10-11)

Full changelog

  • WebServer.close() will now force all connections to be closed. rather than waiting for browsers to close them. (#29 Joe Walnes)

0.2.2 (2011-10-11)

Full changelog

  • 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)

0.2.1 (2011-10-02)

Full changelog

  • 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)

0.2.0 (2011-08-08)

Full changelog

  • 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)

0.1.17 (2011-06-21)

Full changelog

  • Fixed spurious ClassCastException. (#32 Aslak Hellesøy)

0.1.16 (2011-06-21)

Full changelog

  • 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)

0.1.13 (2011-05-09)

Full changelog

  • Allow WebSocket message handler to throw anything. (Aslak Hellesøy)

0.1.12 (2011-05-05)

Full changelog

  • 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)

0.1.11 (2011-03-30)

Full changelog

  • Fixed a bug where static (embedded) resources were served improperly if they were of a certain size (Aslak Hellesøy)

0.1.10 (2011-03-30)

  • 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)

0.1.1 (2011-02-19)

  • First release