1:tocdepth: 1
2
3.. _changelog:
4
5Changelog
6=========
7
819.5.1
9------
10
11* fix: authextra merging (#1191)
12* fix: set default retry_delay_jitter (#1190)
13* new: add rawsocket + twisted example (#1189)
14* new: WebSocket testing support, via Agent-style interface (#1186)
15* new: decorator for on_connectfailure
16* fix: delayed call leakage (#1152)
17* new: CLI client (#1150)
18* fix: set up TLS over proxy properly (#1149)
19* new: expose ser modules (#1148)
20* fix: base64 encodings, add hex encoding (#1146)
21* new: onConnecting callback (with TransportDetails and
22  ConnectingRequest). **Note**: if you've implemented a pure
23  `IWebSocketChannel` without inheriting from Autobahn base classes,
24  you'll need to add an `onConnecting()` method that just does `return
25  None`.
26
2719.3.3
28------
29
30* fix: RegisterOptions should have details|bool parameter (#1143)
31* new: WAMP callee disclosure
32* new: WAMP forward_for in more message types; expose forward_for in options/details types
33* new: expose underlying serializer modules on WAMP object serializers
34* fix: WAMP-cryptosign fix base64 encodings, add hex encoding (#1146)
35
3619.3.2
37------
38
39* fix: import guards for flatbuffers (missed in CI as we run with "all deps installed" there)
40
4119.3.1
42------
43
44* new: add experimental support for WAMP-FlatBuffers serializer: EVENT and PUBLISH messages for now only
45* new: add FlatBuffers schema for WAMP messages
46* fix: improve serializer package preference behavior depending on CPy vs PyPy
47* fix: relax protocol violations: ignore unknown INTERRUPT and GOODBYE already sent; reduce log noise
48* fix: skipping Yield message if transport gets closed before success callback is called (#1119)
49* fix: integer division in logging in py3 (#1120)
50* fix: Await tasks after they've been cancelled in `autobahn.asycio.component.nicely_exit` (#1116)
51
5219.2.1
53------
54
55* fix: set announced roles on appsession object (#1109)
56* new: lower log noise on ApplicationErrors (#1107)
57* new: allow explicit passing of tx endpoint and reactor (#1103)
58* new: add attribute to forward applicationrunner to applicationsession via componentconfig
59
6019.1.1
61------
62
63* new: adding marshal on SessionDetails
64
6518.12.1
66-------
67
68* fix: return the wrapped function from component decorators (#1093)
69* new: add proxy= support for Component transports (#1091)
70* fix: Ticket1077 stop start (#1090)
71* fix: cleanup cancel handling (#1087)
72
7318.11.2
74-------
75
76* fix: asyncio unregisterProducer raises exception (#1079)
77* fix: URL is not required in RawSocket configuration items with WAMP component API
78* fix: revert PR https://github.com/crossbario/autobahn-python/pull/1075
79
8018.11.1
81-------
82
83* new: forward_for WAMP message attribute (for Crossbar.io Router-to-Router federation)
84* new: support RawSocket URLs (eg "rs://localhost:5000" or "rs://unix:/tmp/file.sock")
85* new: support WAMP-over-Unix sockets for WAMP components ("new API")
86* fix: use same WAMP serializer construction code for WAMP components ("new API") and ApplicationSession/Runner
87* fix: memory leak with Twisted/WebSocket, dropConnection and producer
88
8918.10.1
90-------
91
92* Don't eat Component.stop() request when crossbar not connected (#1066)
93* handle async on_progress callbacks properly (#1061)
94* fix attribute error when ConnectionResetError does not contain "reason" attribute (#1059)
95* infer rawsocket host, port from URL (#1056)
96* fix error on connection lost if no reason (reason = None) (#1055)
97* fixed typo on class name (#1054)
98
9918.9.2
100------
101
102* fix: TLS error logging (#1052)
103
104
10518.9.1
106------
107
108* new: Interrupt has Options.reason to signal detailed origin of call cancelation (active cancel vs passive timeout)
109* fix: Cancel and Interrupt gets ``"killnowait"`` mode
110* new: Cancel and Interrupt no longer have ``ABORT/"abort"``
111
112
11318.8.2
114------
115
116* new: WAMP call cancel support
117* fix: getting started documentation and general docs improvements
118* fix: WebSocket auto-reconnect on opening handshake failure
119* fix: more Python 3.7 compatibility and CI
120* fix: Docker image building using multi-arch, size optimizations and more
121* fix: asyncio failed to re-connect under some circumstances (#1040,
122  #1041, #1010, #1030)
123
124
12518.8.1
126------
127
128* fix: Python 3.7 compatibility
129* fix: remove Python 2.6 support leftovers
130* new: getting started docker-based examples in matching with docs
131
132
13318.7.1
134------
135
136* new: Python 3.7 supported and integrated into CI
137* new: WAMP-SCRAM examples
138* fix: glitches in WAMP-SCRAM
139
140
14118.6.1
142------
143
144* fix: implement abort argument for asyncio in WebSocketAdapterProtocol._closeConnection (#1012)
145
146
14718.5.2
148------
149
150* fix: security (DoS amplification): a WebSocket server with
151  permessage-deflate turned on could be induced to waste extra memory
152  through a "zip-bomb" style attack. Setting a max-message-size will
153  now stop deflating compressed data when the max is reached (instead
154  of consuming all compressed data first). This could be used by a
155  malicious client to make the server waste much more memory than the
156  bandwidth the client uses.
157
158
15918.5.1
160------
161
162* fix: asyncio/rawsocket buffer processing
163* fix: example failures due to pypy longer startup time (#996)
164* fix: add on_welcome for AuthWampCra (#992)
165* fix: make run() of multiple components work on Windows (#986)
166* new: `max_retries` now defaults to -1 ("try forever")
167
168
16918.4.1
170------
171
172* new: WAMP-SCRAM authentication
173* new: native vector extensions (NVX)
174* fix: improve choosereactor (#965, #963)
175* new: lots of new and improved documentation, component API and more
176* new: Docker image tooling now in this repo
177* fix: "fatal errors" in Component (#977)
178* fix: AIO/Component: create a new loop if already closed
179* fix: kwarg keys sometimes are bytes on Python2 (#980)
180* fix: various improvements to new component API
181
182
18318.3.1
184------
185
186* fix: endpoint configuration error messages (#942)
187* fix: various improvements to the new components API (including retries)
188* fix: pass `unregisterProducer` through to twisted to complement `WebSocketAdapterProtocol.registerProducer` (#875)
189
190
19117.10.1
192-------
193
194* fix: proxy support (#918)
195* fix: ensure that a future is not done before rejecting it (#919)
196* fix: don't try to reject cancelled futures within pending requests when closing the session
197
198
19917.9.3
200------
201
202`Published 2017-09-23 <https://pypi.python.org/pypi/autobahn/17.9.3>`__
203
204* new: user configurable backoff policy
205* fix: close aio loop on exit
206* fix: some component API cleanups
207* fix: cryptosign on py2
208* new: allow setting correlation_is_last message marker in WAMP messages from user code
209
210
21117.9.2
212------
213
214`Published 2017-09-12 <https://pypi.python.org/pypi/autobahn/17.9.2>`__
215
216* new: allow setting correlation URI and anchor flag in WAMP messages from user code
217* fix: WebSocket proxy connect on Python 3 (unicode vs bytes bug)
218
21917.9.1
220------
221
222`Published 2017-09-04 <https://pypi.python.org/pypi/autobahn/17.9.1>`__
223
224* new: allow setting correlation ID in WAMP messages from user code
225* fix: distribute LICENSE file in all distribution formats (using setup.cfg metadata)
226
22717.8.1
228------
229
230`Published 2017-08-15 <https://pypi.python.org/pypi/autobahn/17.8.1>`__
231
232* new: prefix= kwarg now available on ApplicationSession.register for runtime method names
233* new: @wamp.register(None) will use the function-name as the URI
234* new: correlation and uri attributes for WAMP message tracing
235
23617.7.1
237------
238
239`Published 2017-07-21 <https://pypi.python.org/pypi/autobahn/17.7.1>`__
240
241* new: lots of improvements of components API, including asyncio support
242
24317.6.2
244------
245
246`Published 2017-06-24 <https://pypi.python.org/pypi/autobahn/17.6.2>`__
247
248* new: force register option when joining realms
249* fix: TLS options in components API
250
25117.6.1
252------
253
254`Published 2017-06-07 <https://pypi.python.org/pypi/autobahn/17.6.1>`__
255
256* new: allow components to pass WebSocket/RawSocket options
257* fix: register/subscribe decorators support different URI syntax from what session.register and session.subscribe support
258* new: allow for standard Crossbar a.c..d style pattern URIs to be used with Pattern
259* new: dynamic authorizer example
260* new: configurable log level in `ApplicationRunner.run` for asyncio
261* fix: forward reason of hard dropping WebSocket connection in `wasNotCleanReason`
262
26317.5.1
264------
265
266`Published 2017-05-01 <https://pypi.python.org/pypi/autobahn/17.5.1>`__
267
268* new: switched to calendar-based release/version numbering
269* new: WAMP event retention example and docs
270* new: WAMP subscribe/register options on WAMP decorators
271* fix: require all TLS dependencies on extra_require_encryption setuptools
272* new: support for X-Forwarded-For HTTP header
273* fix: ABC interface definitions where missing "self"
274
2750.18.2
276------
277
278`Published 2017-04-14 <https://pypi.python.org/pypi/autobahn/0.18.2>`__
279
280* new: payload codec API
281* fix: make WAMP-cryptobox use new payload codec API
282* fix: automatic binary conversation for JSON
283* new: improvements to experimental component API
284
2850.18.1
286------
287
288`Published 2017-03-28 <https://pypi.python.org/pypi/autobahn/0.18.1>`__
289
290* fix: errback all user handlers for all WAMP requests still outstanding when session/transport is closed/lost
291* fix: allow WebSocketServerProtocol.onConnect to return a Future/Deferred
292* new: allow configuration of RawSocket serializer
293* new: test all examples on both WebSocket and RawSocket
294* fix: revert to default arg for Deny reason
295* new: WAMP-RawSocket and WebSocket default settings for asyncio
296* new: experimental component based API and new WAMP Session class
297
2980.18.0
299------
300
301`Published 2017-03-26 <https://pypi.python.org/pypi/autobahn/0.18.0>`__
302
303* fix: big docs cleanup and polish
304* fix: docs for publisher black-/whitelisting based on authid/authrole
305* fix: serialization for publisher black-/whitelisting based on authid/authrole
306* new: allow to stop auto-reconnecting for Twisted ApplicationRunner
307* fix: allow empty realms (router decides) for asyncio ApplicationRunner
308
3090.17.2
310------
311
312`Published 2017-02-25 <https://pypi.python.org/pypi/autobahn/0.17.2>`__
313
314* new: WAMP-cryptosign elliptic curve based authentication support for asyncio
315* new: CI testing on Twisted 17.1
316* new: controller/shared attributes on ComponentConfig
317
3180.17.1
319------
320
321`Published 2016-12-29 <https://pypi.python.org/pypi/autobahn/0.17.1>`__
322
323* new: demo MQTT and WAMP clients interoperating via Crossbar.io
324* new: WAMP message attributes for message resumption
325* new: improvements to experimental WAMP components API
326* fix: Python 3.4.4+ when using asyncio
327
3280.17.0
329------
330
331`Published 2016-11-30 <https://pypi.python.org/pypi/autobahn/0.17.0>`__
332
333* new: WAMP PubSub event retention
334* new: WAMP PubSub last will / testament
335* new: WAMP PubSub acknowledged delivery
336* fix: WAMP Session lifecycle - properly handle asynchronous `ApplicationSession.onConnect` for asyncio
337
3380.16.1
339------
340
341`Published 2016-11-07 <https://pypi.python.org/pypi/autobahn/0.16.1>`__
342
343* fix: inconsistency between `PublishOptions` and `Publish` message
344* new: improve logging with dropped connections (eg due to timeouts)
345* fix: various smaller asyncio fixes
346* new: rewrite all examples for new Python 3.5 async/await syntax
347* fix: copyrights transferred from Tavendo GmbH to Crossbar.io Technologies GmbH
348
3490.16.0
350------
351
352`Published 2016-08-14 <https://pypi.python.org/pypi/autobahn/0.16.0>`__
353
354* new: new `autobahn.wamp.component` API in experimental stage
355* new: Ed25519 OpenSSH and OpenBSD signify key support
356* fix: allow Py2 and async user code in `onConnect` callback of asyncio
357
3580.15.0
359------
360
361`Published 2016-07-19 <https://pypi.python.org/pypi/autobahn/0.15.0>`__
362
363* new: WAMP AP option: register with maximum concurrency
364* new: automatic reconnect for WAMP clients ApplicationRunner on Twisted
365* new: RawSocket support in WAMP clients using ApplicationRunner on Twisted
366* new: Set WebSocket production settings on WAMP clients using ApplicationRunner on Twisted
367* fix: `#715 <https://github.com/crossbario/autobahn-python/issues/715>`_ Py2/Py3 issue with WebSocket traffic logging
368* new: allow WAMP factories to take classes OR instances of ApplicationSession
369* fix: make WebSocketResource working on Twisted 16.3
370* fix: remove some minified AutobahnJS from examples (makes distro packagers happy)
371* new: WAMP-RawSocket transport for asyncio
372* fix: `#691 <https://github.com/crossbario/autobahn-python/issues/691>`_ (**security**) If the `allowedOrigins` websocket option was set, the resulting matching was insufficient and would allow more origins than intended
373
3740.14.1
375------
376
377`Published 2016-05-26 <https://pypi.python.org/pypi/autobahn/0.14.1>`__
378
379* fix: unpinned Twisted version again
380* fix: remove X-Powered-By header
381* fix: removed decrecated args to ApplicationRunner
382
3830.14.0
384------
385
386`Published 2016-05-01 <https://pypi.python.org/pypi/autobahn/0.14.0>`__
387
388* new: use of batched/chunked timers to massively reduce CPU load with WebSocket auto-ping/pong
389* new: support new UBJSON WAMP serialization format
390* new: publish universal wheels
391* fix: replaced `msgpack-python` with `u-msgpack-python`
392* fix: some glitches with `eligible / exlude` when used with `authid / authrole`
393* fix: some logging glitches
394* fix: pin Twisted at 16.1.1 (for now)
395
3960.13.1
397------
398
399`Published 2016-04-09 <https://pypi.python.org/pypi/autobahn/0.13.1>`__
400
401* moved helper funs for WebSocket URL handling to ``autobahn.websocket.util``
402* fix: marshal WAMP options only when needed
403* fix: various smallish examples fixes
404
4050.13.0
406------
407
408`Published 2016-03-15 <https://pypi.python.org/pypi/autobahn/0.13.0>`__
409
410* fix: better traceback logging (`#613 <https://github.com/crossbario/autobahn-python/pull/613>`_)
411* fix: unicode handling in debug messages (`#606 <https://github.com/crossbario/autobahn-python/pull/606>`_)
412* fix: return Deferred from ``run()`` (`#603 <https://github.com/crossbario/autobahn-python/pull/603>`_).
413* fix: more debug logging improvements
414* fix: more `Pattern` tests, fix edge case (`#592 <https://github.com/crossbario/autobahn-python/pull/592>`_).
415* fix: better logging from ``asyncio`` ApplicationRunner
416* new: ``disclose`` becomes a strict router-side feature (`#586 <https://github.com/crossbario/autobahn-python/issues/586>`_).
417* new: subscriber black/whitelisting using authid/authrole
418* new: asyncio websocket testee
419* new: refine Observable API (`#593 <https://github.com/crossbario/autobahn-python/pull/593>`_).
420
421
4220.12.1
423------
424
425`Published 2016-01-30 <https://pypi.python.org/pypi/autobahn/0.12.0>`__
426
427* new: support CBOR serialization in WAMP
428* new: support WAMP payload transparency
429* new: beta version of WAMP-cryptosign authentication method
430* new: alpha version of WAMP-cryptobox end-to-end encryption
431* new: support user provided authextra data in WAMP authentication
432* new: support WAMP channel binding
433* new: WAMP authentication util functions for TOTP
434* fix: support skewed time leniency for TOTP
435* fix: use the new logging system in WAMP implementation
436* fix: some remaining Python 3 issues
437* fix: allow WAMP prefix matching register/subscribe with dot at end of URI
438
4390.11.0
440------
441
442`Published 2015-12-09 <https://pypi.python.org/pypi/autobahn/0.11.0>`__
443
4440.10.9
445------
446
447`Published 2015-09-15 <https://pypi.python.org/pypi/autobahn/0.10.8>`__
448
449* fixes regression #500 introduced with commit 9f68749
450
4510.10.8
452------
453
454`Published 2015-09-13 <https://pypi.python.org/pypi/autobahn/0.10.8>`__
455
456* maintenance release with some issues fixed
457
4580.10.7
459------
460
461`Published 2015-09-06 <https://pypi.python.org/pypi/autobahn/0.10.7>`__
462
463* fixes a regression in 0.10.6
464
4650.10.6
466------
467
468`Published 2015-09-05 <https://pypi.python.org/pypi/autobahn/0.10.6>`__
469
470* maintenance release with nearly two dozen fixes
471* improved Python 3, error logging, WAMP connection mgmt, ..
472
4730.10.5
474------
475
476`Published 2015-08-06 <https://pypi.python.org/pypi/autobahn/0.10.5>`__
477
478* maintenance release with lots of smaller bug fixes
479
4800.10.4
481------
482
483`Published 2015-05-08 <https://pypi.python.org/pypi/autobahn/0.10.4>`__
484
485* maintenance release with some smaller bug fixes
486
4870.10.3
488------
489
490`Published 2015-04-14 <https://pypi.python.org/pypi/autobahn/0.10.3>`__
491
492* new: using txaio package
493* new: revised WAMP-over-RawSocket specification implemented
494* fix: ignore unknown attributes in WAMP Options/Details
495
4960.10.2
497------
498
499`Published 2015-03-19 <https://pypi.python.org/pypi/autobahn/0.10.2>`__
500
501* fix: Twisted 11 lacks IPv6 address class
502* new: various improvements handling errors from user code
503* new: add parameter to limit max connections on WebSocket servers
504* new: use new-style classes everywhere
505* new: moved package content to repo root
506* new: implement router revocation signaling for registrations/subscriptions
507* new: a whole bunch of more unit tests / coverage
508* new: provide reason/message when transport is lost
509* fix: send WAMP errors upon serialization errors
510
5110.10.1
512------
513
514`Published 2015-03-01 <https://pypi.python.org/pypi/autobahn/0.10.1>`__
515
516* support for pattern-based subscriptions and registrations
517* support for shared registrations
518* fix: HEARTBEAT removed
519
5200.10.0
521------
522
523`Published 2015-02-19 <https://pypi.python.org/pypi/autobahn/0.10.0>`__
524
525* Change license from Apache 2.0 to MIT
526* fix file line endings
527* add setuptools test target
528* fix Python 2.6
529
5300.9.6
531-----
532
533`Published 2015-02-13 <https://pypi.python.org/pypi/autobahn/0.9.6>`__
534
535* PEP8 code conformance
536* PyFlakes code quality
537* fix: warning for xrange on Python 3
538* fix: parsing of IPv6 host headers
539* add WAMP/Twisted service
540* fix: handle connect error in ApplicationRunner (on Twisted)
541
5420.9.5
543-----
544
545`Published 2015-01-11 <https://pypi.python.org/pypi/autobahn/0.9.5>`__
546
547* do not try to fire onClose on a session that never existed in the first place (fixes #316)
548* various doc fixes
549* fix URI decorator component handling (PR #309)
550* fix "standalone" argument to ApplicationRunner
551
5520.9.4
553-----
554
555`Published 2014-12-15 <https://pypi.python.org/pypi/autobahn/0.9.4>`__
556
557* refactor router code to Crossbar.io
558* fix: catch error when Nagle cannot be set on stream transport (UDS)
559* fix: spelling in doc strings / docs
560* fix: WAMP JSON serialization of Unicode for ujson
561* fix: Twisted plugins issue
562
5630.9.3-2
564-------
565
566`Published 2014-11-15 <https://pypi.python.org/pypi/autobahn/0.9.3-2>`__
567
568* maintenance release with some smaller bug fixes
569* use ujson for WAMP when available
570* reduce WAMP ID space to [0, 2**31-1]
571* deactivate Twisted plugin cache recaching in `setup.py`
572
5730.9.3
574------
575`Published 2014-11-10 <https://pypi.python.org/pypi/autobahn/0.9.3>`__
576
577* feature: WebSocket origin checking
578* feature: allow to disclose caller transport level info
579* fix: Python 2.6 compatibility
580* fix: handling of WebSocket close frame in a corner-case
581
5820.9.2
583------
584`Published 2014-10-17 <https://pypi.python.org/pypi/autobahn/0.9.2>`__
585
586* fix: permessage-deflate "client_max_window_bits" parameter handling
587* fix: cancel opening handshake timeouts also for WebSocket clients
588* feature: add more control parameters to Flash policy file factory
589* feature: update AutobahnJS in examples
590* feature: allow to set WebSocket HTTP headers via dict
591* fix: ayncio imports for Python 3.4.2
592* feature: added reconnecting WebSocket client example
593
5940.9.1
595------
596`Published 2014-09-22 <https://pypi.python.org/pypi/autobahn/0.9.1>`__
597
598* maintenance release with some smaller bug fixes
599
6000.9.0
601------
602`Published 2014-09-02 <https://pypi.python.org/pypi/autobahn/0.9.0>`__
603
604* all WAMP v1 code removed
605* migrated various WAMP examples to WAMP v2
606* improved unicode/bytes handling
607* lots of code quality polishment
608* more unit test coverage
609
6100.8.15
611------
612`Published 2014-08-23 <https://pypi.python.org/pypi/autobahn/0.8.15>`__
613
614* docs polishing
615* small fixes (unicode handling and such)
616
6170.8.14
618------
619`Published 2014-08-14 <https://pypi.python.org/pypi/autobahn/0.8.14>`__
620
621* add automatic WebSocket ping/pong (#24)
622* WAMP-CRA client side (beta!)
623
6240.8.13
625--------
626`Published 2014-08-05 <https://pypi.python.org/pypi/autobahn/0.8.13>`__
627
628* fix Application class (#240)
629* support WSS for Application class
630* remove implicit dependency on bzip2 (#244)
631
6320.8.12
633------
634`Published 2014-07-23 <https://pypi.python.org/pypi/autobahn/0.8.12>`__
635
636* WAMP application payload validation hooks
637* added Tox based testing for multiple platforms
638* code quality fixes
639
6400.8.11
641------
642`Published <https://pypi.python.org/pypi/autobahn/0.8.11>`__
643
644* hooks and infrastructure for WAMP2 authorization
645* new examples: Twisted Klein, Crochet, wxPython
646* improved WAMP long-poll transport
647* improved stats tracker
648
6490.8.10
650------
651`Published <https://pypi.python.org/pypi/autobahn/0.8.10>`__
652
653* WAMP-over-Long-poll (preliminary)
654* WAMP Authentication methods CR, Ticket, TOTP (preliminary)
655* WAMP App object (preliminary)
656* various fixes
657
6580.8.9
659-----
660`Published <https://pypi.python.org/pypi/autobahn/0.8.9>`__
661
662* maintenance release
663
6640.8.8
665-----
666`Published <https://pypi.python.org/pypi/autobahn/0.8.8>`__
667
668* initial support for WAMP on asyncio
669* new WAMP examples
670* WAMP ApplicationRunner
671
6720.8.7
673-----
674`Published <https://pypi.python.org/pypi/autobahn/0.8.7>`__
675
676* maintenance release
677
6780.8.6
679-----
680`Published <https://pypi.python.org/pypi/autobahn/0.8.6>`__
681
682* started reworking docs
683* allow factories to operate without WS URL
684* fix behavior on second protocol violation
685
6860.8.5
687-----
688`Published <https://pypi.python.org/pypi/autobahn/0.8.5>`__
689
690* support WAMP endpoint/handler decorators
691* new examples for endpoint/handler decorators
692* fix excludeMe pubsub option
693
6940.8.4
695-----
696`Published <https://pypi.python.org/pypi/autobahn/0.8.4>`__
697
698* initial support for WAMP v2 authentication
699* various fixes/improvements to WAMP v2 implementation
700* new example: WebSocket authentication with Mozilla Persona
701* polish up documentation
702
7030.8.3
704-----
705`Published <https://pypi.python.org/pypi/autobahn/0.8.3>`__
706
707* fix bug with closing router app sessions
708
7090.8.2
710-----
711`Published <https://pypi.python.org/pypi/autobahn/0.8.2>`__
712
713* compatibility with latest WAMP v2 spec ("RC-2, 2014/02/22")
714* various smaller fixes
715
7160.8.1
717-----
718`Published <https://pypi.python.org/pypi/autobahn/0.8.1>`__
719
720* WAMP v2 basic router (broker + dealer) implementation
721* WAMP v2 example set
722* WAMP v2: decouple transports, sessions and routers
723* support explicit (binary) subprotocol name for wrapping WebSocket factory
724* fix dependency on MsgPack
725
7260.8.0
727-----
728`Published <https://pypi.python.org/pypi/autobahn/0.8.0>`__
729
730* new: complete WAMP v2 protocol implementation and API layer
731* new: basic WAMP v2 router implementation
732* existing WAMP v1 implementation renamed
733
7340.7.4
735-----
736`Published <https://pypi.python.org/pypi/autobahn/0.7.4>`__
737
738* fix WebSocket server HTML status page
739* fix close reason string handling
740* new "slowsquare" example
741* Python 2.6 fixes
742
7430.7.3
744-----
745`Published <https://pypi.python.org/pypi/autobahn/0.7.3>`__
746
747* support asyncio on Python 2 (via "Trollius" backport)
748
7490.7.2
750-----
751`Published <https://pypi.python.org/pypi/autobahn/0.7.2>`__
752
753* really fix setup/packaging
754
7550.7.1
756-----
757`Published <https://pypi.python.org/pypi/autobahn/0.7.1>`__
758
759* setup fixes
760* fixes for Python2.6
761
7620.7.0
763-----
764`Published <https://pypi.python.org/pypi/autobahn/0.7.0>`__
765
766* asyncio support
767* Python 3 support
768* support WebSocket (and WAMP) over Twisted stream endpoints
769* support Twisted stream endpoints over WebSocket
770* twistd stream endpoint forwarding plugin
771* various new examples
772* fix Flash policy factory
773
7740.6.5
775-----
776`Published <https://pypi.python.org/pypi/autobahn/0.6.5>`__
777
778* Twisted reactor is no longer imported on module level (but lazy)
779* optimize pure Python UTF8 validator (10-20% speedup on PyPy)
780* opening handshake traffic stats (per-open stats)
781* add multi-core echo example
782* fixes with examples of streaming mode
783* fix zero payload in streaming mode
784
7850.6.4
786-----
787`Published <https://pypi.python.org/pypi/autobahn/0.6.4>`__
788
789* support latest `permessage-deflate` draft
790* allow controlling memory level for `zlib` / `permessage-deflate`
791* updated reference, moved docs to "Read the Docs"
792* fixes #157 (a WAMP-CRA timing attack very, very unlikely to be exploitable, but anyway)
793
7940.6.3
795-----
796`Published <https://pypi.python.org/pypi/autobahn/0.6.3>`__
797
798* symmetric RPCs
799* WebSocket compression: client and server, `permessage-deflate`, `permessage-bzip2` and `permessage-snappy`
800* `onConnect` is allowed to return Deferreds now
801* custom publication and subscription handler are allowed to return Deferreds now
802* support for explicit proxies
803* default protocol version now is RFC6455
804* option to use salted passwords for authentication with WAMP-CRA
805* automatically use `ultrajson` acceleration package for JSON processing when available
806* automatically use `wsaccel` acceleration package for WebSocket masking and UTF8 validation when available
807* allow setting and getting of custom HTTP headers in WebSocket opening handshake
808* various new code examples
809* various documentation fixes and improvements
810
8110.5.14
812------
813`Published <https://pypi.python.org/pypi/autobahn/0.5.14>`__
814
815* base version when we started to maintain a changelog
816