Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 142 lines (88 sloc) 4.813 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
=== 0.6.1 / 2011-06-06
TestSwarm build: http://swarm.jcoglan.com/job/37/

* Fix cross-origin-long-polling support in RackAdapter
* Plug some potential memory leaks in Memory engine


=== 0.6.0 / 2011-05-21
TestSwarm build: http://swarm.jcoglan.com/job/27/

* Extract core logic into the Engine class to support swappable backends
* Introduce a Redis-backed engine to support clustered web front-ends
* Use CORS for cross-domain long-polling
* Make server more resilient against bad requests, including empty message lists
* Perform subscription validation on the server and use errbacks to signal errors
* Prohibit publishing to wildcard channels
* Unsubscribing from a channel is now O(1) instead of O(N)
* Much more thorough and consistent unit test coverage of both versions
* Automatic integration tests using Terminus and TestSwarm


=== 0.5.5 / 2011-01-16

* Open a real socket to check for WebSocket usability, not just object detection
* Catch server-side errors when handshaking with WebSockets


=== 0.5.4 / 2010-12-19

* Add a #callback method to Subscriptions to detect when they become active
* Add :extensions option to RackAdapter to make it easier to extend middleware
* Detect secure WebSocket requests through the HTTP_X_FORWARDED_PROTO header
* Handle socket errors when sending WebSocket messages from NodeAdapter
* Use exponential backoff to reconnect client-side WebSockets to reduce CPU load


=== 0.5.3 / 2010-10-21

* Improve detection of wss: requirement for secure WebSocket connections
* Correctly use default ports (80,443) for server-side HTTP connections
* Support legacy application/x-www-form-urlencoded POST requests
* Delete unused Channel objects that have all their subscribers removed
* Fix resend/reconnect logic in WebSocket transport
* Keep client script in memory rather than reading it from disk every time
* Prevent error-adding extensions from breaking the core protocol


=== 0.5.2 / 2010-08-12

* Support draft-76 of the WebSocket protocol (FF4, Chrome 6)
* Reduce Connection::MAX_DELAY to improve latency


=== 0.5.1 / 2010-07-21

* Fix a publishing problem in Ruby LocalTransport


=== 0.5.0 / 2010-07-17

* Handle multiple event listeners bound to a channel
* Add extension system for adding domain-specific logic to the protocol
* Improve handling of client reconnections if the server goes down
* Change default polling interval to 0 (immediate reconnect)
* Add support for WebSockets (draft75 only) as a network transport
* Remove support for Ruby servers other than Thin
* Make client and server compatible with CometD (1.x and 2.0) components
* Improve clean-up of unused server-side connections
* Change Node API for adding Faye service to an HTTP server


=== 0.3.4 / 2010-06-20

* Stop local clients going into an infinite loop if a subscription block causes a reconnect


=== 0.3.3 / 2010-06-07

* Bring Node APIs up to date with 0.1.97
* Catch ECONNREFUSED errors in Node clients to withstand server outages
* Refactor the Server internals


=== 0.3.2 / 2010-04-04

* Fix problems with JSON serialization when Prototype, MooTools present
* Make the client reconnect if it doesn't hear from the server after a timeout
* Stop JavaScript server returning NaN for advice.interval
* Make Ruby server return an integer for advice.interval
* Ensure EventMachine is running before handling messages
* Handle 'data' and 'end' events properly in Node HTTP API
* Switch to application/json for content types and stop using querystring format in POST bodies
* Respond to any URL path under the mount point, not just the exact match


=== 0.3.1 / 2010-03-09

* Pass client down through Rack stack as env['faye.client']
* Refactor some JavaScript internals to mirror Ruby codebase


=== 0.3.0 / 2010-03-01

* Add server-side clients for Node.js and Ruby environments
* Clients support both HTTP and in-process transports
* Fix ID generation in JavaScript version to 128-bit IDs
* Fix bug in interpretation of ** channel wildcard
* Users don't have to call #connect() on clients any more
* Fix timeout race conditions that were killing active connections
* Support new Node APIs from 0.1.29.


=== 0.2.2 / 2010-02-10

* Kick out requests with malformed JSON as 400s


=== 0.2.1 / 2010-02-04

* Fix server-side flushing of callback-polling connections
* Backend can be used cross-domain if running on Node or Thin


=== 0.2.0 / 2010-02-02

* Port server to JavaScript with an adapter for Node.js
* Support Thin's async responses in the Ruby version for complete non-blocking
* Fix some minor client-side bugs in transport choice


=== 0.1.1 / 2009-07-26

* Fix a broken client build


=== 0.1.0 / 2009-06-15

* Ruby Bayeux server and Rack adapter
* Internally evented using EventMachine, web frontend blocks
* JavaScript client with long-polling and callback-polling

Something went wrong with that request. Please try again.