Skip to content

Latest commit

 

History

History
2611 lines (2109 loc) · 240 KB

CHANGELOG.md

File metadata and controls

2611 lines (2109 loc) · 240 KB

Change Log

Full Changelog

Closed issues:

  • Update Latest version of Atmosphere's JavaScript Client #2113
  • Failed to create AsyncSupport class: class org.atmosphere.container.JSR356AsyncSupport #2111

Full Changelog

Closed issues:

  • Add a configurable option to suppress detecting JSR356 #2104

Full Changelog

Closed issues:

  • Avoid throwing JSR356 exception in modules/cpr unit tests #2106
  • Some improvement for class loading detection #2105

Full Changelog

Full Changelog

Closed issues:

  • Add some classes to 2.4.x and 2.3.x to make the changes less visible #2103

Full Changelog

Full Changelog

Full Changelog

Closed issues:

  • Exception warning in InjectableObjectFactory.configure (2.4.0.3) #2098

Full Changelog

Closed issues:

  • Seam Atmosphere Framework #2093
  • [Injection] Gives more chances to ObjectFactory #2091

Full Changelog

Full Changelog

Closed issues:

  • Setup with jetty, jersey and guice #2085

Full Changelog

Implemented enhancements:

  • EndpointMapper not suppored by META-INF/service #2078
  • [jsr356] Mapping must cover all defined servlet-mapping #1532

Closed issues:

  • Websocket reconnect fails when disconnecting network #2082
  • [Long-Polling] @PathParam not working #2080
  • FrameworkConfig.SUPPORT_SESSION is not used #2079
  • WebSocketHandlerService interceptor not called. #2076
  • [CDI] Allow pluggable @Produces implementation #2065

Full Changelog

Closed issues:

  • AtmosphereInterceptor.postInspect() is not called in case of a handler thrown exception #2073
  • ConcurrentModificationException on request.getHeaderNames() #2072
  • ClassCastException on AsynchronousProcessor#invokeAtmosphereHandler #2071
  • java.net.URISyntaxException: Expected hostname at index 5: ws://:0/ #2070
  • Sending information to Atmosphere's Google Analytics without requesting user #2068
  • Glassfish completely broken when JSR 356 is enabled. #2067
  • Nested webapp context path breaks @ManagedResource #2064
  • ConcurrentModificationException #2062
  • org.sonatype.oss oss-parent version 5 does not exists #2061
  • atmosphere-runtime limits org.eclipse.jetty.continuation imports to version 8 #2058
  • [jsr356] Spring mvc and atmosphere : works with tomcat7, not with tomcat 8 #2050

Full Changelog

Full Changelog

Implemented enhancements:

  • CleanUp IOUtils.guestServletPath and Servlet Path Calculation for Jsr356 #2057

Full Changelog

Implemented enhancements:

  • Report a possible race issue #2055

Closed issues:

  • Prevent re-scan of core annotation when new custom annotationw are defined. #2060
  • WriteOperation instances climbing #2056
  • Duplicate resource warnings on page navigation/reload in firefox #2052
  • AtmosphereServlet initialized twice #1775

Full Changelog

Implemented enhancements:

  • [inject] Allow second chance injection #2041
  • Provide an option for the client to request for websocket responses without the length delimiter #2013

Closed issues:

  • Broadcaster resending message to @Message #2051
  • ServiceInterceptor must recalculate it's optimization when a new xxxHandler is deployed #2049
  • [ForkJoinPool] Thread Local Leak with Netty's fork on shutdown #2048
  • Impossible to connect using the last version of Socket.io-client #2047
  • Typecast error in AtmosphereFramework.defaultInterceptors() #2046
  • Support to retrieve factory outside the AtmosphereServlet class #2043
  • Universe static helper is not populated if the LOG level is not at least INFO #2042
  • atmosphere breaks communication using apache cxf #2040
  • incomingBroadcast Exception Broadcaster will be broken unless reconfigured #2038

Full Changelog

Closed issues:

  • Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power #2036
  • test #2035
  • IllegalStateException exception for the session Check #2034

Full Changelog

Full Changelog

Closed issues:

  • Install without maven #2031
  • Install without maven #2030
  • ManagedAtmosphereHandler bypass the @Message method for the second broadcasted message #2029

Full Changelog

Closed issues:

  • atmosphere-redis functioning differently in aws elasticcache then local redis #2028

Full Changelog

Implemented enhancements:

  • JgroupBroadcaster #2022

Closed issues:

  • Problem with long-pooling in atmosphere-samples in IE 9 (browser without websocket support) #2023
  • ConcurrentModificationException in WebSocket.shiftAttributes method #2021

Full Changelog

Implemented enhancements:

  • [WebLogic] 12.1.3 BlockingIOCometSupport selected #2018

Closed issues:

  • jquery.atmosphere.js - long polling request is being aborted by firefox #2020

Full Changelog

Implemented enhancements:

  • Make JSR-356 the preferred websocket implementation #1940

Closed issues:

  • Jetty9WebSocket.write tries to write on CLOSING connection #2015
  • Shiro + Tomcat 8 websocket (JSR356) #2014
  • BroadcasterCache excludeFromCache #2007
  • messages cached to wrong clients when broadcasting to subset (UUIDBroadcasterCache) #2004

Full Changelog

Implemented enhancements:

  • [inject] Allow AtmophereXXX injection in WebSocketHandler #2012
  • [inject] Allow injection of AtmosphereResourceEvent #2011
  • [inject] Allow injection of AtmosphereResponse #2010
  • [inject] Allow injection of AtmosphereRequest #2009
  • [inject] Allow runtime injection of AtmosphereResource #2008
  • [inject] Add support for javax.inject.Named annotation for Broadcaster #2006
  • [Inject] Allow introspection of method and field before injection #2005
  • Support for JDK 8 only #1912
  • [AtmosphereResourceLifeCycleInterceptor] Prevent application error by suspending first #1524

Closed issues:

  • Minimum supported Servlet version? #2003
  • Typo in ApplicationConfig.java #2001
  • websocket servlet object doesn't want to write the header #2000
  • Jetty 9.3 and Atmosphere do not play nicely together #1998
  • long-polling transport problem with chat example #1996
  • @ManagedService unexpected behaviour with DeliverTo.DELIVER_TO.RESOURCE over long-polling #1994
  • atmosphere-jersey @Suspend(writeEntity=false) not working #1993
  • HeartbeatInterceptor make redirecting failed #1967

Full Changelog

Implemented enhancements:

  • If AtmosphereFramework.isInit return true, execute immediately the StartupHook #1984
  • Add support for WebSocketFactory #1980
  • Use ServiceLoader for loading Injectable instance #1977

Closed issues:

  • atmosphere-runtime 2.3.1's bundle manifest does not mark CDI dependency as optional #1992
  • js Client Messages gets dropped/ignored by atmosphere #1991
  • How to stop client receiving own data #1990
  • HeartbeatInterceptor does not appear to work with TrackMessageSizeInterceptor #1989
  • Servlet 2.5 issues in Atmosphere 2.2.x and 2.3.x #1987
  • [META-INF/services] broken for WebSocketProcessor and WebSocketProtocol #1986
  • Atmosphere 2.3.1: NPE on JSR356Endpoint close event #1983
  • Using IE9, NoSuchMethodError displayed in log file. #1982
  • Invalid lookup class org.atmosphere.plugin.hazelcast.HazelcastBroadcaster. Cached class is: org.atmosphere.cpr.DefaultBroadcaster #1981
  • org.atmosphere:atmosphere-runtime-native Maven Central sources jars do not contain source for all classes in binary jars #1979
  • java.lang.IllegalStateException: No SessionManager in Atmosphere-2.3.1 with some jetty #1978
  • [Regression] PostConstruct called twice #1976
  • ManagedAtmosphereHandler should not try to re-encode if no BroadcasterFilter are defined #1975

Full Changelog

Full Changelog

Closed issues:

  • @DeliverTo(DELIVER_TO.RESOURCE) does not work at all #1952

Full Changelog

Implemented enhancements:

  • Small issue with Atmosphere on Websphere Liberty when shutting down the server. #1974
  • [Performance] Add Support for ForkJoinPool when jdk7+ is used #1972
  • [Inject] Allow injection of declared and parent methods and fields. #1971
  • [annotation] Warn user when more than one WebSocketProcessor are defined. #1963
  • [webSocket] Expose PIng/Pong Message API #1959
  • [WebSocket] Allow WebSocket to go through when only AtmosphereInterceptor are defined #1957
  • Current Version check done in AtmosphereFramework is wrong #1954

Closed issues:

  • Provide error page support #1973
  • [Undertow] Prevent NPE. #1969
  • May sending incorrect Websocket message while no AsyncIOInterceptor is registered #1968
  • Return wrong PathInfo/ServletPath from AtmosphereRequest while using Tomcat 8(JSR356AsyncSupport) #1966
  • [jsr356] Possible NPE on close #1965
  • Concurrency issue in WebSocket's write operation #1961
  • Can not create a Broadcaster, because an implementation is required. #1960
  • [Annotation] NPE when no annotation defined #1956
  • Controlling AtmosphereResponse's ServletOutputStream writing behavior #1949

Full Changelog

Implemented enhancements:

  • Reduce the number of AtmosphereResponse's inner object #1951
  • [Legacy] Allow registration of connections with X-Atmosphere-Transport #1939
  • Client misbehaves when server has TrackMessageSizeInterceptor and trackMessageLength=false #1848

Closed issues:

  • Atmosphere Framework: Invalid lookup class org.atmosphere.plugin.hazelcast.HazelcastBroadcaster exception #1953
  • [Tyrus] Tyrus/GlassFish 4.1 fails to initialize jsr356 #1946
  • JSR356Endpoint discards header values #1944
  • [Jetty] Internal Jetty NPE of flushBuffer() #1943
  • Log the exception if DefaultAsyncSupport.newCometSupport fails #1942
  • TimeOut exception long polling #1941
  • Firefox fails to reconnect websocket connection after server side timeout #1938
  • Multiple threads call AtmosphereResource.write(), websocket stops working #1937
  • OnDisconnectInterceptor transport check failure when using JS client. #1934
  • Glassfish 4 websocket support is broken if using multiple endpoints #1933
  • Possible Thread Race with AsyncToken in DefaultBroadcaster #1932
  • Trailing slashes in JSR 356 path not handled correctly for Jetty 9.2 #1910
  • ConcurrentModificationException on atmosphere websocket connection #1908

Full Changelog

Implemented enhancements:

  • [Performance] [WebSocket] Avoid coyping parent attributes #1931

Closed issues:

  • ConcurrrentHashMap Leaking. #1929
  • Not able to receive messages on client side when the war is bundeled inside ear #1928
  • osgi #1927
  • Prevent Duplicate AtmosphereInterceptor to be installed #1905

Full Changelog

Implemented enhancements:

  • Improve AtmosphereInterceptor Lifecycle by exposing a destroy() method #1904
  • [Performance][IldeResourceInterceptor] Excludes POLLING AtmosphereResource #1903
  • getInitParameter also from ServetContext? #1897
  • [Performance] Avoid looping and removing an AtmosphereResource from all available Broadcasters #1885
  • Bump to Jersey 1.19 #1884
  • Add xxxFactoryListener to complement BroadcastListener #1883
  • HeartbeatInterceptor executed before IdleResourceInterceptor #1760
  • MeteorServlet using Java config #1587

Closed issues:

  • Long-Polling interrupted on initial connect #1906
  • [websocket] Wrong closing code when jquery.atmosphere.js is used #1902
  • Atmosphere generates nonstandard HTTP headers #1900
  • Can't use Atmosphere Framework with Jersey in Apache Karaf #1899
  • Unable to load atmosphere-runtime and atmosphere-annotations into OSGi (Apache Karaf) #1896
  • Guice extensions does not work with 2.3.0 #1895
  • long-polling causes IllegalStateException: "STREAM" #1894
  • NullPointerException in MeteorServlet #1893
  • [Jersey-Spring] Client can not reconnect to atmosphere after disconnect #1892
  • No AtmosphereHandler maps request for #1891
  • [ManagedAtmosphereHandler] Messages not delivered after broadcast from @Ready method #1890
  • AtmosphereResponse.getHeaderNames() may throw Exception #1888
  • [ManagedAtmosphereHandler] Second consequent message not delivered #1887
  • [Long-Polling] Possible Thread Race when message is retrieved from the cache #1886
  • net::ERR_INCOMPLETE_CHUNKED_ENCODING in chrome #1882
  • V2.3.0-RC3 ManagedAtmosphereHandler:message discard the second request on the same method #1880
  • Multiple handler's interceptors will be combined and intercepts all the services' message #1845
  • [SpringBoot] Try to workaround broken SpringBoot and bad JHipster integration #1836
  • [Tomcat 7.x only] Reloading the servlet context (tomcat 7) does not close all active web sockets #1827
  • [Tomcat] NIO error when the websocket is closed #1646
  • AtmosphereResponse.getWriter().print(int) doesn't work with non-servlet frameworks #1193

Full Changelog

Closed issues:

  • ManagedServiceProcessor always load three default interceptors #1857

Full Changelog

Implemented enhancements:

  • [Performance] Add a Poolable BroadcasterFactory #1879
  • Improve AtmosphereFrameworkInitializer #1875
  • [Performance] Share BroadcasterListener's Map, Reduce the number of BroadcasterLifecyclePolicyHandler created. #1870
  • Allow discarting message on flush() and flushBuffer() I/O Exception #1867
  • [optimization][runtime] Inline method #1595
  • [optimization] [Jersey] inlining method #1594

Closed issues:

  • V2.3.0-RC3 AtmosphereFramework::doCometSupport, java.lang.NullPointerException #1881
  • [Performance] Reduce contention on DefaultBroadcasterFactory internal store #1878
  • Incorrect use of Arrays.copyOfRange in org.atmosphere.util.IOUtils #1873
  • [JBossWeb] Remove JBossWebSocket Container #1872
  • Atmosphere in Dropwizard: Unable to use Dropwizard-Testing #1868
  • [DefaultBroadcaster] [Tomcat] Improve error handling #1866
  • [Netty] Possible deadlock #1865
  • [Native] AtmosphereServlet must behave exactly the same way as org.atmosphere.cpr.AtmosphereServlet #1864
  • Is synchronous XHR really needed by Atmosphere? #1863
  • Allow onTransportFailure handler to abort reconnect attempt #1862
  • Network issues should not cause permanent downgrade to long polling #1861
  • Reconnect not reliable with Chrome + Jetty 9.2 #1860
  • AtmosphereRequest is not configured properly when using Weblogic 12c with websockets #1854
  • Client side 'connectTimeout' parameter doesn't work when WebSocket is opened but messages are blocked #1844
  • [JBossWeb] Read Operation Block When APR is enabled #1843
  • Atmosphere + Tomcat + Long-Polling: Possible race condition resulting in corrupt server response #1791

Full Changelog

Closed issues:

  • [WebLogic] jsr356 support broken #1856

Full Changelog

Implemented enhancements:

  • [Tomcat] Improve logging for IOException: java.net.SocketException: Broken pipe exceptions #1852
  • DefaultWebSocketProcessor must fail if no AtmosphereHandler or WebSocketHandler installed. #1851

Closed issues:

  • unsubscribe for a specific request when multiple subscriptions #1855
  • jquery.atmosphere-min.js contains lot of security bridges. #1853
  • AsynchronousProcessor should cancel the processing when the request is closed mid-way #1850
  • NPE When using long-polling with tomcat7 - reproduce with gwt-20-managed-rpc #1849
  • atmosphere WebSocket not using the right Response? #1846
  • Not closing the WebSocket when closing ServletOutputStream returned by AtmosphereResponse.getOutputStream() #1842
  • AtmosphereResourceImpl doesn't override hashcode() which will fail the hash collection #1841
  • Logging every message to info in AutoBeanClientSerializer.deserialize #1840
  • Tomcat 8.x + Jersey ( 1.18.1 ) + atmosphere-runtime 2.2.x cannot correctly route WebSocket requests due to an incorrect requestURI implementation in org.atmosphere.container.JSR356Endpoint.onOpen #1839
  • [jsr356] Wrong path calculation for servletContext == /* #1838
  • Cordova/PhoneGap integration #1837
  • [Meteor][Jersey][JSONP] doPost is executed before doGet when data is pushed from subSocket.onOpen() #1832

Full Changelog

Implemented enhancements:

  • [Tomcat7only] Badly implemented WebSocket client makes Tomcat/Atmosphere to create sessions in an endless loop #1834
  • UUIDBroadcastCache buffer messages on timeout/severed connections #1674
  • AtmosphereResourceSessionListener #1630
  • Possible ClassCastException when resolving AtmosphereResource #1561
  • long-polling protocol (at least) doesn't encode messages as UTF-8 like websocket #1424
  • BroadcasterCache apply to all deployed @Service #1299
  • Add support, in Atmosphere Protocol, messaging when the server is about to close the connection #953
  • Make Message UUID generator pluggable #626

Closed issues:

  • [Meteor] SSE doesn't work if TrackMessageSizeInterceptor is used #1835
  • DefaultBroadcaster's messages queue is not processed #1822
  • Documentation: Failed to get Atmosphere 2.3 to run on WebSphere 7 (Java EE 5/Servlet 2.5) #1751
  • [Clarification] Action.SKIP_ATMOSPHEREHANDLER behavior #1664
  • [OSGi] MeteorServlet.init() - two calls to delegate servlet init() method #1571

Full Changelog

Implemented enhancements:

  • Add support for AtmosphereResourceListener #1824
  • RFE: Create EventBus interface #1638

Closed issues:

  • [AtmosphereResourceStateRecover] Must not re-add filtered messages. #1833
  • [AtmosphereResourceStateRecover] onSuspend must be called independently of the transport #1831
  • [Firefox] [NettoSphere] ManagedService Disconnect never called #1830
  • CorsInterceptor: Wrong DROP_ACCESS_CONTROL_ALLOW_ORIGIN_HEADER value #1829
  • The AtmosphereResponse only return the header from its own "headers" map #1828
  • Reloading a context throws following exception #1826
  • node-webkit chrome based browser throws exceptions (internal DoS) #1825
  • Long Pooling with 2.2.4 version not working #1821
  • Message lost when long polling disconnects (2.2.4 + JS 2.2.6) #1820
  • Default Serializer configuration isn't used by Meteor #1817
  • ClassFileIterator can stop AnnotationDetector #1816
  • [jersey] JSONP is broken with rest-chat sample #1815
  • v2.2.4: Can't open websocket in Android browser to Jetty 9.2.5.v20141112 #1814
  • [Native] META-SERVICE missing #1813
  • Howto: server(combined with data generator) -->(push new data)--> all subscriped clients #1812
  • Upgrading to Atmosphere 2.2.0 makes new Spring ContextRefreshedEvent events #1722
  • AtmosphereResource.isSuspended() doesn't always work as expected #1320

Full Changelog

Implemented enhancements:

  • Document how implement acknowledgement support by creating an AtmosphereInterceptor #1034

Full Changelog

Implemented enhancements:

  • Reduce AtmosphereRequest's attributes size #1810
  • A lot of logs "Invalid request state. Websocket protocol not supported " #1797
  • Add support for AtmosphereFramework lifecycle #1796
  • Allow DI to instanciate xxxFactory #1785
  • Add a Universe for hacking factory #1767
  • Improve Custom Injection API #1763
  • Allow an application to reset the thread pools #1759
  • Allow configuring the number of Scheduler Threads #1757
  • JSR356: Ability to retrieve remote client intels #1752
  • Interceptor ordering behavior leads to missconfiguration and uncontrollable behavior #1698

Closed issues:

  • [Spring] Add void annotation processor #1809
  • BroadcastFilterLifecycle.destroy called twice on shutdown #1807
  • [Tomcat] Possible NPE on setAttribute #1806
  • [Tomcat8] Workaround Tomcat Internal NullPointerException #1804
  • [Tomcat8] Prevent exception from breaking the request flow #1803
  • [JSR356/AsyncContext] org.atmosphere.useNative must never be honored #1801
  • [memory] Remove BroadcastFuture from the Request's attributes #1800
  • Improve annotation scanning. #1798
  • the param of custom package doesn't work, custom package found same class anotation twice #1795
  • BroadcasterListener#onComplete invoked multiple times #1793
  • DefaultBroadcaster broadcast future is not released when PerRequestBroadcastFilter returns ABORT #1792
  • NPE in TrackMessageSizeInterceptor #1789
  • [jsr356] A lot of attempts to write to the closed socket #1788
  • Deadlock in JSR356 Tomcat implementation #1786
  • Running Atmosphere within Resin 4 #1783
  • [Tomcat CometEvent/HttpEvent] Possible deadlock on disconnect #1782
  • Reconnect behaviour improvement #1779
  • AnnotationDetector ignores subpackage on wildfly8 #1778
  • AnnotationDetector should log with slf4j #1777
  • Atmosphere-Shared-AsyncOp Thread is blocked on JSR356WebSocket:65 #1773
  • Use constant expression for ApplicationConfig's constants #1772
  • [jsr356] AtmosphereResource#transport representing WebSocket message returns undefined when enableProtocol is false #1771
  • WebSocket session closed on tomcat 8 #1770
  • atmosphere Broadcast #1769
  • Allow Configuring Keep-Alive Thread value #1768
  • NullPointerException in AtmosphereResourceEventImpl.isResuming #1766
  • [Tomcat] onTimeout() failed for listener of type [org.apache.catalina.core.AsyncListenerWrapper] java.lang.IllegalStateException: Calling [asyncComplete()] is not valid for a request with Async state [MUST_COMPLETE] #1765
  • Atmosphere broadcaster read only? prevent push #1764
  • Completely remove BroadcasterFactory.getDefault #1762
  • Prevent Tomcat/jsr356 from crashing on Error #1758
  • Prevent Client to reconnect and leaks thread when Atmosphere is undeployed #1756
  • Problem with Chrome DNS cache #1755
  • Atmosphere on Heroku with Play Framework 2, Scaling issue #1753
  • Use long polling broadcast the first message the AtmosphereResource will remove from broadcast. #1749
  • Primepush and JavaEE websockets #1747
  • Missing Origin header causes Atmosphere to add requestURI twice to the generated Origin header. #1745
  • AtmosphereResourceImpl implements equals but not hashCode #1743
  • Memory leak, thread named [Atmosphere-Shared-AsyncOp-**] #1740
  • Can't get AtmosphereFramework from servlet context on JBoss EAP 6.1 #1716
  • [Jersey] NPE with websocket and sendError #1547

Full Changelog

Implemented enhancements:

  • receipt asked by client and server aknowledgement #1576

Closed issues:

  • Sometimes use broadcast will push two times.(safari and IE9) #1739
  • FD for the Atmosphere socket not released after closing the socket #1738
  • [JBossWeb] Prevent java.lang.IllegalStateException: Request object no longer valid when completing the request #1737
  • [Heartbeat][enableXDR][IE] Allow changing padding bytes, in 2.3, change whitespace to 'X' #1736
  • [WebSocket] onOpen called with wrong UUID on reconnect #1735
  • Deadlock issue related to DefaultBroadcaster and OnDisconnectInterceptor #1734
  • [JBossWeb] Messages are lost in long-polling when Heartbeat occurs at the same time a message arrives #1733
  • [WebSphere] NPE on HttpServletRequest.getAttribute #1732

Full Changelog

Implemented enhancements:

  • Add support for @Inject annotation of Atmosphere Factory #1560

Closed issues:

  • Problem with WeblogicWebSocketHandler #1729

Full Changelog

Closed issues:

  • [Wildfly 8.0.0.Final] Blocking request failed HttpServerExchange{ GET /primepush/message/qla/robert}: java.lang.NullPointerException #1728
  • BroadcastMessage not properly implemented, Javadoc wrong. #1726
  • ClassCastException during AtmosphereFramework initialization when using Spring's ExecutorServiceAdapter #1725

Full Changelog

Implemented enhancements:

  • [AtmosphereResourceLifecycleInterceptor] Performance improvements, Prevent POLLING to be added #1718
  • Not easy to customize DefaultWebSocketProcessor #1714

Closed issues:

  • Receiving error: Backlog is present in JBoss 7.2.0 #1724
  • Upgrading to Atmosphere 2.2.0 creates empty @ManagedService messages #1723
  • Communication error with Push and long enough string of multibyte characters #1720
  • Anti-virus software blocking atmosphere server-push messages #1719
  • Possible NPE in Utils.websocketResource #1717
  • atmosphere-jersey depends on an ancient version of Jersey #1715
  • JSR356: Wrong pathInfo calculation in JSR356Endpoint when deploying on context root #1712
  • NPE in PushEndpointHandlerProxy.invokeOpenOrClose() #1711
  • AtmosphereServletProcessor not always initialized #1710
  • 2.1.2+ can't pass the Atmosphere Vibe platform test. #1623

Full Changelog

Full Changelog

Implemented enhancements:

  • Create a switch to disable AtmosphereInitializer framework creation #1695
  • RFE: Configure default Serializer #1692
  • @ManagedService with only @Ready method #1648
  • Broadcasting List<Object> does not send the list #1555
  • TrackMessageLength does not actually work for long messages and websocket #1398
  • Add support for Google App Engine #1371

Closed issues:

  • [annotation] ManagedService shound not override default interceptor list #1709
  • MetaBroadcaster adding '/' not working to Jersey/WebSocket #1707
  • [Spring Boot] Atmosphere can't scan its annotations when packaged into an executable WAR file #1706
  • Prevent AtmosphereInterceptor from being added more than once #1705
  • Use the long-polling that can't continuous broadcast meaage. #1704
  • maxReconnectOnClose error with heartbeat and long polling on Atmosphere 2.2.0 #1703
  • AnnotationDetector doesn't understand all VFS protocols #1701
  • [OnDisconnectInterceptor] Allow invoking listener's onDisconnect from the closing message #1700
  • onClientTimeout #1699
  • Atmosphere Chat application not working in IE9 -- Long Polling #1694
  • SessionSupport error. Make sure you define org.atmosphere.cpr.SessionSupport as a listener in web.xml instead #1691
  • Jetty9WebSocketHandler#onWebSocketError causing NPE #1690
  • ManagedAtmosphereHandler methods for resume and timeout #1682
  • Broadcaster Lifecycle logic must be moved inside an BroadcasterListener #1667
  • Embedded Tomcat 8 does not find matching path for ManagedService #1663
  • Build fails using JDK 8 #1652
  • spring security session invalidation in 2.2.0-RC2 #1634
  • PrimePush (Primefaces 5) with TomEE 1.6 Error: can't find annotations #1624
  • Document Firefox/Reload Phantom WebSocket connection #1606
  • Problem setting an interceptor with priority FIRST_BEFORE_DEFAULT #1603
  • Jersey2-Chat sample with Embedded Jetty results in 404 #1586
  • Totally remove X-Cache-Date feature #1584
  • [OSGI] Annotation Scanning Broken #1539
  • DefaultAsyncSupportResolver.resolve disregards the useServlet30Async parameter #1386
  • onDisconnect not called with long-polling a if a message is send during the onClose #1295

Full Changelog

Implemented enhancements:

  • HeartbeatInterceptor should use out of scope Request/Response #1683

Closed issues:

  • Atmosphere does not work well with log4j2 in Wildfly #1688
  • Websockets gives 501 error in 'some' networks in NGINX but works via Tomcat #1687
  • Broadcaster Concatenating two messages and sending in single response #1686
  • Atmosphere - Multiple Close requests within the same second #1685
  • Backward compatibility after #1666 changes #1681
  • DefaultBroadcaster doesn't cleanup cache on broadcaster destroy. #1673
  • AtmosphereRequest wrapper loses custom HTTP attributes created before the upgrade #1672

Full Changelog

Closed issues:

  • Long-polling doesn't work on JBoss EAP 6.1 with APR (native support) #1670
  • Force Resume on undetected disconnect for AtmosphereResource caused by broken clients #1669
  • Javascript (2.2.2) close() submission with different session ID #1665
  • [curl issue] UUIDBroadcastCache and timeout/severed connections with Jersey #1655

Full Changelog

Implemented enhancements:

  • [heartbeat] Allow configuring if long-polling resume or not #1668

Closed issues:

  • @DeliverTo annotation for methods annotated with @Ready and @Message #1666
  • Using the long-polling can't broadcast more messsage #1662
  • Not possible to unset a BroadcasterCacheClass with empty string #1661

Full Changelog

Closed issues:

  • Atmosphere 2.1.6 failed to use Tomcat7 APR support for Comet, logs confusing message #1659
  • Disconnect Handler is called twice with JSR 356 in Tomcat 7 #1658
  • GWT Atmosphere number of Threads #1657
  • Atmosphere Broadcasters' Version #1656
  • Infinite session timeout on Tomcat crashes AtmosphereResourceLifecycleInterceptor #1654
  • Refresh the page request. OnOPen didn't happen when set the request uuid not equal zero. #1653
  • Failed using comet support with runtime-native #1651
  • Broader character support in author field. #1650
  • Tomcat 8: X-Atmosphere-tracking-id stays equal 0 #1649

Full Changelog

Full Changelog

Closed issues:

  • SSE and CORS interceptor #1647
  • [Tomcat] Tomcat call onClose several time when it fail to detect the connection is down #1645
  • [Tomcat8] Jersey2 sample broken #1644
  • [Tomcat] Possible NPE on close #1643
  • [Jetty] X-Atmosphere-WebSocket-Proxy=true breaks Jetty 9.2.x #1642
  • Error in BroadcasterConfig#getExecutorServer() javadoc #1640
  • IE 9/8 does not fall back to long-polling when X-Atmosphere-WebSocket-Proxy is added #1631

Full Changelog

Closed issues:

  • [Heartbeat] write operation must be synchronized #1639
  • [Tomcat7] request.isAsyncEnabled() broken #1637
  • [WebSocket][Jetty] onDisconnect isn't invoked on event listener when a connection is closed when hixie-76/draft-00 is used #1636
  • AtmosphereService wildfly + restEasy getting 400 #1635
  • Never trust underlying websocket implementation when closing #1633
  • Maven Parent #1632
  • SessionSupport error. Make sure you define org.atmosphere.cpr.SessionSupport as a listener in web.xml instead #1629
  • [websocket] When broadcasting binary data it throws ClassCastException #1628
  • GWT polling transport not supported #1627
  • onReady doesn't get called anymore when SuspendTrackerInterceptor is installed. #1626
  • SPRING_INJECTOR in 2.1.5 #1625

Full Changelog

Closed issues:

  • [EQUINOX] Throw NPE when calling ServletContext/Registration at startup #1622
  • [Jetty9.2] http://dev.vaadin.com/ticket/13877 #1621
  • [SuspendTrackerInterceptor] Regression for long-polling #1619
  • Memory leak: 2.2.0-RC1 + MeteorServlet + Jetty #1618
  • [Undertow] Undertow consider Headers are case sensitive causing NPE #1617
  • Jetty 9 Websocket support #1616
  • [BroadcasterLIfeCyclePolicy] Timeout fires after twice the time #1615

Full Changelog

Implemented enhancements:

  • [WebSocketHandler] Interceptor not called for websocket messages #1609
  • Client tries to reconnect even on clean close by server #1585
  • Enhance HeartbeatInterceptor #1581
  • Add @Heartbeat Annotation for Tracking Heartbeat Events #1549
  • Possible static issue with BroadcasterFactory #1543
  • Deprecate XFactory.getDefault() methods and move to AtmosphereConfig #1451

Closed issues:

  • [Firefox] Wrong closing logic in DefaultWebSocketProcessor #1614
  • [jsr356] Workaround https://java.net/jira/browse/WEBSOCKET\_SPEC-228 #1612
  • [Glassfish] Workaround Issue GRIZZLY-1676 #1611
  • [SuspendTrackerInterceptor] Possible leak is AtmosphereResource.resume() is called #1608
  • Uncaught message length #1605
  • [annotation] Scan all classes when getRealPath return null #1604
  • Atmosphere Servlet not starting in Weblogic 10.3.0 #1602
  • [Webstart] Annotation Scanning Broken #1599
  • [Regression] Interceptor fail to install when detected from external dependecies #1598
  • [JBoss EAP 6] JSR 356 not properly implemented, need a workaround #1597
  • [Regression] AbstractBroadcasterProxy throw a Runtime exception #1596
  • NullPointerException with JMSBroadcaster #1592
  • Exception when war is not unpacked #1591
  • @Disconnect is not called when WebSocket client terminates #1590
  • [websocket] Tomcat goes in limbo when an evil load balancer close the connection #1589
  • [Servlet30] Force BlockingIO if async-support missing in web.xml #1588
  • WebSocket disabled if webapp deployed as default-web-module in GlassFish #1580

Full Changelog

Implemented enhancements:

  • Allow UUIDBroadcasterCache configuration of clientIdleTime and invalidateCacheInterval #1582
  • Finer priority management for interceptors #1574

Closed issues:

  • noOpsResource field in DefaultBroadcaster #1579
  • [jersey] runtime error about org.atmosphere.util.AbstractBroadcasterProxy's constructor method #1578

Full Changelog

Implemented enhancements:

  • Add META/services/org.atmosphere.cpr.AtmosphereFramework support #1573

Closed issues:

  • [websocket ] SuspendTrackerInterceptor leaks UUID #1572
  • Websockets not working on ubuntu production server #1570
  • Failed to start on weblogci 12.1.2.0.0 #1569
  • Add AtmosphereFramework.reload() support #1568
  • Messages ids not deleted from UUIDBroadcasterCache #1566
  • Atmosphere 2.0.4 in embedded Jetty 9.1.0 #1565
  • TrackMessageSizeInterceptor called multiple time #1564
  • IndexOutOfBounds - buffer truncated in Websocket.write(...) #1563
  • NPE in AsynchronousProcessor#getContainerName when atmosphere is configured using Embedding AtmosphereFramework #1562
  • CDI not working with TomEE 1.6.0 when deployed inside EAR #1559
  • Messages not sent with current long poll request for concurrent message send and receive requests #1558
  • Firefox "no element found" error on unsubscribe #1557
  • HeartbeatInterceptor only fires after the first message #1553

Full Changelog

Implemented enhancements:

  • Allow Detection of Empty Broadcaster in BroadcastFilter #914

Closed issues:

  • getInputStream/Reader confused when an AtmosphereResquest.Body is used #1556
  • wildfly 8: ERROR o.a.container.JSR356Endpoint - java.nio.channels.ClosedChannelException: null #1550
  • [websocket] [jsr356] Issue with /* mapping #1548
  • Issue in enabling CORS in atmosphere client #1546
  • wasync reconnection not works #1545
  • wrong version range of catalina in atmosphere-runtime bundle #1541
  • @Disconnect not called for @ManagedService #1535
  • Atmosphere Jersey api and WebRTC not work well together #905

Full Changelog

Implemented enhancements:

  • [wifi] Allow delaying the processing of AtmosphereResource's disconnection #1538
  • No API for retrieve broadcaster in PerRequest filter #1435
  • Stomp protocol support #1339

Closed issues:

  • [websocket] AtmosphereResourceEventListener#onDisconnect must be invoked after physical connection is closed #1542
  • [wasync]"application/octet-stream" should enable binary support automatically. #1540
  • @Message-annotated method not called for @ManagedService if there is only one annotated method #1537
  • [Firefox] Unpredictable behavior of OnDisconnectInterceptor #1536
  • [websocket] Improve Close Code 1001 support #1534
  • Atmosphere resource is null #1533
  • [BroadcasterFactory] Clashes when more than one AtmosphereServlet is defined #1531
  • ServletContainerInitializer issue with multiple Servlet #1530
  • When sending binary data throws java.lang.IllegalArgumentException: argument type mismatch #1529
  • @ManagedService and BroadcastFilter issue #1528
  • Invalid broadcaster in ManagedService #1522

Full Changelog

Implemented enhancements:

  • [performance] AtmosphereResourceFactory.find is slow #1526
  • TrackMessageSizeInterceptor must execute before everything else #1525
  • [BroadcasterCache] Expose API to register AtmosphereResource for cache #1510
  • [BroadcastListener] Allow listener to manipulate messages, resources etc. #1509
  • [JavascriptProtocol] Improve robusness when a connection is closed before execution #1506

Closed issues:

  • [jsr356] Wrong pathInfo computed. #1527
  • [Embedded] AtmosphereFramework.interceptor(..) called before started must be reconfigured #1523
  • Broadcaster can't send message when go to another page #1521
  • [BroadcasterListener] Make sure already created Broadcaster are passed to onPostConstruct #1520
  • [BroadcasterCache] Allow external components to add messages to cache #1519
  • [BroadcasterCache] Add BroadcasterCacheListener support #1518
  • WebsocketHandlerAdapter onclose method #1517
  • rboristerie #1516
  • Broadcast still send message after onDisconnect - browser close #1513
  • Bug on org.atmosphere.util.IOUtils class at String guestServletPath(AtmosphereFramework, String) #1512
  • AtmosphereSession class broken #1511
  • Servlet with /* mapping and websockets throws exception in Tomcat 8 #1508
  • [websocket] Possible NPE when client close the connection during the handshake #1507
  • [jersey] Missing Injection Point #1505
  • Connection not correctly closed ? #1504
  • Long-polling takes long time to connect on BlackBerry 7 browser #1498

Full Changelog

Implemented enhancements:

  • Allow configuring SessionTimeoutRestorer default HttpSession.setMaxInactiveInterval #1502

Closed issues:

  • [websphere 8.5.5] NPE when removing an attribute #1503
  • [jsonp] TrackMessageSizeInterceptor must compute the original String, not the escaped. #1501
  • Atmosphere chat example with XDR enabled fails on Android #1499
  • Websockets does not work on BlackBerry 7 browser #1497
  • Bottleneck? Finding a AtmosphereResource. #1496
  • [WebSocketHandlerService] BroadcasterCache defined not installed #1495
  • [DefaultWebSocketProtocol] Must suspend the AtmosphereResource before calling onOpen #1494
  • [Gwt1] [1.0.18] Response over websocket is broken #1493
  • endless loop while calling DefaultBroadcaster.removeAtmosphereResource() #1492
  • [Jetty 9.1] java.lang.IllegalStateException: Blocking message pending 10000 for BLOCKING #1491
  • Broadcaster created by ManagedServiceProcessor #1489
  • NPE if AtmosphereResource is closed inside @Ready annotated method #1488
  • Encoders are populated only with the encoders specified with @Message #1487
  • [Proxy] Force Fallback when a Proxy confuse a websocket connection #1486
  • Specify the JDK and other dependencies in the Document or Wiki page #1485
  • [Annotation] AtmosphereInterceprorProcessor must add the interceptor after the framework started #1484
  • [ManagedService Annotation] Simultaneous write to AtmosphereResponse #1483
  • Intermittent NullPointerException with long polling in Atmosphere 2.1 #1482
  • Hardcoded GWT SerializationPolicy #1481
  • [EndpointMapper] Possible mapping exception #1480
  • Sending a pipe ('|') with streaming causes a javascript exception #1479
  • AtmosphereRequest.getLocale throws exception in Tomcat 8 #1478
  • Ready.DELIVER_TO.RESOURCE with SSE/WS/HttpStreaming #1477
  • [jsr356] Two Atmosphere Servlet's may clash on jsr356 #1476
  • Atmosphere triggers fatal error killing the JVM #1475
  • Adding the SessionSupport listener fails on Jetty 8 #1474
  • [JBoss 7.1.1] java.lang.IllegalArgumentException: URI scheme is not "file" #1473
  • Logs are spammed if async support is not enabled #1472
  • Events sequence for AtmosphereResourceEventListener and Transport.Websocket #1471
  • Forcing jsr356 WebSocket support doesn't work., #1470
  • Crash with java.lang.IllegalStateException: The Atmosphere Framework is not installed properly and unexpected result may occurs #1469
  • NullReferenceException thrown when calling BroadcasterFactory.lookup #1468
  • NullReferenceException thrown when calling BroadcasterFactory.lookup #1467
  • AtmosphereResource must be removed from Broadcaster if the suspend operation fail. #1465
  • Different Handler Registration in Atmosphere 2.1.0 compared to 2.1.0-RC2 #1464
  • 2.1.0-RC2, AtmosphereFramework can't init the "webSocketProtocol" based on the configured WEBSOCKET_PROTOCOL in web.xml #1463

Full Changelog

Implemented enhancements:

  • [performance] Reduce bytes copy by allowing direct access to Request's body #1452
  • AtmosphereResource Session #1426

Closed issues:

  • Better explanation of chat-multiroom example #1462
  • HeartbeatInterceptor causes issues for undefined transport. #1461
  • Websocket failed. Downgrading to Comet and resending using https/wss #1460
  • [Evil Proxy] Messages may not not broadcasted when long-polling reconnects and proxy close the connection #1459
  • [Meteor] AtmosphereResource.close() must remove the associated Meteor #1457
  • [Meteor] Reduce memory footprint by using the AtmosphereResource.uuid() #1456
  • IE 9 and Safari caused on Tomcat (NIO) to fallback to BIO #1455
  • AtmosphereResource.close() must properly resume the underlying connection #1453
  • IE8 fails to access ajaxRequest.status #1450

Full Changelog

Implemented enhancements:

  • List of broadcasters per resource #1430
  • DefaultWebSocketProcessor does not notify listeners of the HANDSHAKE #1390

Closed issues:

  • Duplicate Broadcasters Created #1449
  • ERROR org.atmosphere.cache.SessionBroadcasterCache #1448
  • atmosphere_socketio_chat Chinese messy code #1447
  • [jsr356] Message can be lost if websocket closed #1446
  • [annotation] BroadcasterCache defined too late #1445
  • o.a.c.CometSupport.maxInactiveActivity not working OK in 2.0.6 with long-polling #1444
  • Encoding of broadcasted messages does not work reliably with multiple @Message annotations #1443
  • Add IdleResourceInterceptor by default to uniformize annotation usage #1442
  • o.a.c.CometSupport.maxInactiveActivity -1 vs 5 minutes #1441
  • AtmosphereInterceptorWriter.interceptor() - reverse order of invocation #1439
  • Incorrect javadoc for DISABLE_ATMOSPHEREINTERCEPTORS #1438
  • Javadoc for InvokationOrder #1437
  • AtmosphereInterceptorWriter.interceptor() - will be invoked in the order it was added #1436
  • [regression] Heartbeat interceptors creates too many inner classes #1434
  • .lookup() synchronization on strings (or .equal objects) #1413

Full Changelog

Implemented enhancements:

  • PrivateMessag can‘t be sent in sample chat-multiroom with RedisBroadcaster #1427
  • Concrete classes are passed to AtmosphereObjectFactory #1410

Closed issues:

  • [jetty 9.1.1] ava.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/api/io/WebSocketBlockingConnection #1433
  • [UUIDBroadcasterCache] Possible minor leak when the cache is invalidated #1431
  • Prevent Broadcaster from throwing java.lang.IllegalStateException: Request object no longer valid. This object has been cancelled #1429
  • QueryString with value of '=' not parsed properly #1428
  • Allow disabling a subset of the default Interceptor instead of all #1425
  • Build status on cloudbees #1422
  • ERROR o.a.cpr.AsynchronousProcessor - No AtmosphereHandler found #1421
  • Possible Concurrent Issue with AtmosphereStateRecovery Interceptor #1419
  • Prevent AtmosphereInterceptor from crashing each others #1418
  • Truth table for atmosphere jars #1417
  • Spray support #1416
  • License: Apache/CDDL/GPL2 with exception #1415
  • ajaxRequest.onreadystatechange function called twice for each message response #1414
  • Broadcast to BroadcasterCache AtmosphereResource #1412
  • possible finatra support? #1411
  • Documentation does not match ApplicationConfig.OBJECT_FACTORY #1409
  • Incomplete Jetty version for OSGi #1408
  • [regression] in 2.1.0-RC2, wicket-atmosphere is unable to load the page #1407

Full Changelog

Closed issues:

  • [jsr356] [Tomcat] Session is null #1406
  • [2.0.x] Backport JSONP encoding fixe #1405

Full Changelog

Implemented enhancements:

  • Add support for websocketd #1400
  • Allow configuring which WebSocket versions Jetty 7/8 should accept #1396
  • Reduce Padding Size for Up To Date Browser #1392
  • Add a ServletContextFactory #1387
  • Memory leak (and perhaps infinite loop) when used in Spring controller with patterned url #1385
  • [@___Service] Allow Encoder/Decoder of type InputStream and Reader #1380
  • Add support for AtmosphereSession #1359
  • MetaBroadcaster lost messages when no match #1143
  • Implement SockJs support #630

Closed issues:

  • [regression] ManagedService.broadcasterCache broken #1404
  • WebSocket draft-00 / hixie-76 doesn't work when request headers are attached in the query string #1403
  • [websocket] Make sure parent's UUID resource is always removed from Broadcaster #1402
  • Remove CloseDetector, Add IdleResourceInterceptor for WIFI outage #1401
  • Wrong Broadcaster Detected when using @___Service and classpath #1399
  • IllegalStateException #1397
  • Broadcastable.broadcast() does not have timeout #1395
  • [websocket] AtmosphereHandler not invoked when WebSocket is closed and enableProtocol == false #1394
  • Promote HeartbeatInterceptor to core, installed by default #1393
  • Browser Safari : server resumed the connection or down #1391
  • How can i transfer binary content (files) through atmosphere layer, and make them available for download on the client side? #1389
  • [annotation] applicationConfig may not work for some features #1388
  • set import range for javax.servlet to include 3.0 #1383
  • ConcurrentModificationException #1382
  • Links to GWT samples are broken #1381
  • Setting priority AFTER_DEFAULT for interceptor doesn't work #1311
  • TrackMessageSizeInterceptor's AsyncIOInterceptorAdapter should be executed before eg. JSONPAtmosphereInterceptor #1310

Full Changelog

Implemented enhancements:

  • AtmosphereResource not suspend, cannot resume it, on server shutdown #1344

Closed issues:

  • [Servlet30] AsyncContext.complete() must be called in timeout #1379
  • [regression] Broadcaster.broadcastOnResume(OBJ) #1378
  • [AtmosphereJS][2.0.3] enableProtocol + trackMessageSize not reconnecting #1377
  • [Jboss EAP 5.1.0] ClassCastException on deployment #1376
  • BroadcasterListener on refresh page #1372
  • 2.0.0-SNAPSHOT should be newer than 2.0.0.RCx #1297
  • Atmosphere cannot scan annotations on JBoss 5.1 #1204
  • Add MemoryAware Interceptor for checking load on the server #1200
  • [doc] Add architecture diagrams #422

Full Changelog

Implemented enhancements:

  • Client-driven option to enable websocket binary write #1338

Closed issues:

  • onReopen not called when Atmosphere protocol is enabled #1375
  • UUIDBroadcasterCache leak #1374
  • [HeartbeatInterceptor] Add a callback for detecting dead client #1373
  • [websocket] OnDisconnectInterceptor broken #1370
  • [OnMessage] OnMessageAtmosphereHandler lack of client/application close support #1369
  • [websocket] Survice Proxy that Strip Out the Upgrade Header #1368
  • Meteor+Struts2: X-Atmosphere-tracking-id - BigDecimal cannot be cast to java.lang.String #1367
  • [websocket] [annotation] WebSocketHandler's AtmosphereResource default Broadcaster class may not be honored #1366
  • [annotation] Honor specified Broadcaster #1365
  • [websocket] Avoid calling webSocket.close when a remote close happens #1364
  • [Tomcat] [websocket] Tomcat send wrong opcode when an exception happens inside onOpen #1363
  • JS: Unsubscribe should clear uuid #1362
  • Classes without a package won't deploy #1360
  • Messages greater than 8KB are chunked #1358
  • Make calls to analytics() optional #1356
  • [Undertow issue] Websocket Connection Fails On Wildfly 8.0.0.Beta1 #1348
  • Add init/configure method to BroadcasterConfig #1294

Full Changelog

Implemented enhancements:

  • When an AtmosphereHandler is mapped, skip WebSocketHandler Mapping #1350

Closed issues:

  • [WebLogic] Add support for native WebSocket #1355
  • [weblogic] Annotation Scanning not working #1354
  • JQuery trackMessageLength vs. trackMessageSize #1353
  • [Primefaces 4.0 Push + Atmosphere 2.0.3 + IE8] java.lang.IllegalStateException: Not supported. #1352
  • Long-polling connection issue with Firefox and IE #1351
  • [Atmosphere/TomEE] WARNING: Unable to detect annotations. Application may fail to deploy. #1349
  • [Performance] Preset Number of Threads instead of unlimited #1347
  • Unable to configure more than one Broadcaster Class with annotation #1346
  • [websocket] Possible thread race when wildcard mapping is used and fast broadcasting #1345
  • Message is not received all the time at client side #1343
  • [AtmosphereResourceStateRecovery] BroadcastTracker lost state when timeout exprires #1342
  • [java.io.IOException: Message Buffer too small] Allow configuring the bytebuffer/charbuffer of WebSocketProcessor #1330
  • [Tomcat 7.0.27 and lower] DefaultAsyncSupportResolver uses Jetty Continuation classes to detect Jetty #1290
  • Add a new 5 minutes tutorial that use annotation only #1286
  • Retrieving the original AtmosphereResource with WebSocket does not work in Jetty8 if recycleAtmosphereRequestResponse property is set to true #1081
  • Add tutorial for WebSocket's streaming API #811

Full Changelog

Implemented enhancements:

  • [AtmosphereResourceLifecyleInterceptor] Add timeout support #1334

Closed issues:

  • Jersy and atmosphere 2.0.2 #1341
  • Performance regression with WebSocket and 2.0.2 #1340
  • [runtime] Allow Listeners to handle a resumed connection BEFORE the connection is resumed #1337
  • @ManagedService - auto broadcast executed unless @Message defined #1336
  • [regression] [jsr356] Jersey broken with latest jsr356 implementation #1335
  • [Undertow/GlassFish4] JSR-356 Support is broken since 2.0.1 #1333
  • [AtmosphereResourceStateRecovery] java.util.ConcurrentModificationException #1332
  • Add support for WebSocketStreamingProtocol implementation #1331
  • HTTP Requests get suspended when sent during atmosphere connect #1323
  • Wasync client hangs when connecting to atmosphere-runtime-native 2.0.0-SNAPSHOT #1301

Full Changelog

Implemented enhancements:

  • [CDI, Spring, Guice and Injection] Ability to pass dependencies to resources #1190

Closed issues:

  • Adding Programmatically AtmosphereInterceptor doesn't call the configure method #1329
  • NPE with HeaderBroadcasterCache #1328
  • [Graddle] Fallback to manual annotation scanning #1327
  • @ManagedService object confusion #1326
  • [websocket] If server times out the websocket, padding must be sent back #1325
  • [dropWizard] Enable all classes scanning causes null pointer exception in org.atmosphere.cpr.AtmosphereFramework.setDefaultBroadcasterClassName() #1324
  • AtmosphereResponse.addCookie() issue. #1322
  • AtmosphereFramework.configureQueryStringAsRequest fails parsing queryString "=&X-atmo-protocol=true" at async timeout #1321
  • Message lost when broadcasting to an empty Set<AtmosphereResource> #1318
  • Unsubscribe event sends a synchronous http call for cross domains and no cookie and session information is present in this request #1315
  • No Cookie and session information in the unsubscribe request #1313
  • Duplicate atmosphere resources on a broadcaster #1305
  • FakeHttpSession in Wicket causes java.lang.IllegalStateException: getAttribute: Session already invalidated at org.apache.catalina.session.StandardSession.getAttribute #1164

Full Changelog

Implemented enhancements:

  • Fix Tomcat 7.0.43 WebSocket runtime changes with JDK 6 #1307

Closed issues:

  • NPE in GrizzlyCometSupport.resume() #1319
  • Wrong media type reported to Jersey #1317
  • [jsr356] Session, Principal and Headers aren't set. #1316
  • Annotations does not work with JavaRebel #1314
  • Turn off jsr356 by default #1312
  • Applying filters to cached messages in AtmosphereResourceStateRecovery #1309
  • Tomcat WebSockets issues and workaround, workarounds missing #1308
  • Use X-Forwarded-For in WebSocket IP logging ? #1306

Full Changelog

Full Changelog

Implemented enhancements:

  • RFE: Allow closing websockets from AtmosphereInterceptor #1162
  • Switching WebSocket Write Mode at Runtime #857

Closed issues:

  • AtmosphereResource.write swallow exceptions, prevent BroadcasterCache from caching messages #1303
  • [runtime] New value returned from PerRequestBroadcastFilter breaks the UUIDBroadcasterCache #1302
  • [jersey] [tomcat] [native] Tomcat fails to detect CometEvent for AtmosphereServlet mapped to "/*" #1300
  • AtmosphereFramework.addAtmosphereHandler must configure AtmosphereInterceptor for Dependency Injection #1298
  • Primefaces push with GlassFish 4.0 #1296
  • ConcurrentModificationException in DefaultWebSocketProcessor when original AtmosphereResource used #1293
  • [APR/JBossWeb] Native doesn't find annotation #1292
  • Tutorial for AtmosphereHandler with Websockets and Long Polling contains an error #1291
  • [websocket][tomcat] DefaultWebSocketProcessor.dispatchReader() exception #1289
  • Too many files open #1288
  • Fix sample broken link, update the page #1287
  • Update documentation atmosphere.js AND jquery.atmosphere.js #1285
  • Document new Javascrip function. #1284
  • [websockethandler] Possible deadlock? #1283
  • Invalid <issueManagement> in the pom file #1281
  • java.lang.IllegalStateException: Recycled #1280
  • 1.0.16 compat bundles importing 2.0 version and exporting 0.0 of the corresponding package #1276
  • Recent change to atmosphere-runtime-native 2.0.0-SNAPSHOT causes wasync Java client to hang when connecting. #1273
  • Atmosphere invalidade Spring Security Session #1244
  • CORS with IE8 and IE9 seems broken in v1.0.15 (worked in v1.0.13) #1236
  • [play] NullPointerException in WebSocket.write() #1196
  • java.lang.NullPointerException: charsetName with socketio #1169
  • Auto-detection of atmosphere handlers fails in specific deployments #1157
  • MetaBroadcaster not compatible with Jersey Path annotation #1154
  • Firefox closes websocket/streaming/long-polling request when window.location is changed #1128
  • Chrome cancels streaming/long-polling request when maybe navigating away #1126
  • WebSocket doesn't work with Glassfish 3.1.2 when Guice is used #1112
  • Setting request shared attribute to true causes JavaScript errors in Firefox, IE, and Safari #1102
  • JMS, XMPP, ... (via AbstractBroadcasterProxy) : Broadcast to a specific resource #799
  • [FeatureRequest] MetaBroadcaster should work in Cloud based environments #729
  • RFE: callback for a message #507
  • @Singleton -> ClassCastException on broadcaster.addAtmosphereResource() w/ Jersey resource #444
  • Add documentation for channel-based annotation @Susbscribe/@Publish #410

Full Changelog

Implemented enhancements:

  • Add an option to bypass FakeHttpSession #1269
  • How to integrate Atmosphere with Spring/Grizzly without XML #990

Closed issues:

  • JSONPAtmosphereInterceptor fails to encode JSON properly #1279
  • [Regression 2.0.0.RC4] BytecodeBasedAnnotationProcessor fail to find classes #1278
  • Document InvokationOrder interface for AtmosphereInterceptor #1275
  • [migration ] Document before/afterFilter changes from 1.0.x to 2.0 #1251
  • [migration] whitespace messages #1219
  • AtmosphereResourceLifecycleInterceptor and event listeners Documentation #1180
  • [atmosphere.js] JSONP not working #1090

Full Changelog

Implemented enhancements:

  • Add a way to support AtmosphereInterceptor execution order #1274
  • Document new Custom Annotation mechanism #1270
  • Improve javadoc for BroadcasterCache #1188

Closed issues:

  • [play] Browser tabs freeze #1194
  • Document @AtmosphereService annotations #1173
  • GWT: IE cannot read session cookie with Tomcat7, results in IllegalStateException: #1096
  • [DefaultBroadcaster] Invoking BroadcasterFuture.cancel(..) must cancel the async write operation. #889
  • Document the new @ManagedService annotation #810
  • Update tutorial to Atmosphere 1.1 #809
  • Add full documentation of new annotation: @Get @Post @Delete @Message etc. #807

Full Changelog

Implemented enhancements:

  • How About Jersey 2 support? #1257
  • [Improvement] make it easy to register a WebSocketHandler to AtmosphereFramework #1255
  • Remove charset from SSE Content-Type #1250
  • Feature request: An AtmosphereResourceEventListener method which is invoked when AtmosphereResource.close() is used #1242
  • [atmosphere.js] Memory can grow pretty heavily when local is used #1058

Closed issues:

  • DefaultBroadcaster.removeAtmosphereResource() doesn't remove #1272
  • Atmosphere 2.0.0.RC3: NullPointerException at org.atmosphere.cpr.SessionSupport.sessionDestroyed(SessionSupport.java:44) #1268
  • Tomcat/Spring should not create "phantom" HTTP request upon web app startup #1267
  • Annotation scanning is broken in JBoss 6.1.x #1266
  • Deadlock detected in Atmosphere Scheduler-2 #1265
  • [Tomcat/WebSocket] Deadlock detected in Atmosphere Scheduler #1264
  • Compatibility check for 'org.apache.catalina.websocket.WebSocketServlet' with jbossweb 7.2.2.Final yields a false positive #1262
  • Misfire of the polling request #1261
  • Atmosphere causing stuck threads on Weblogic 12 #1260
  • rest-chat jersey demo app freezes #1259
  • Long-polling chat in 2.0.0.RC3 #1258
  • [RestEasy] @FormParam params reset to null 2.0 RC3 . Works fine in 1.0.15 #1256
  • [investigate] Path problem? #1254
  • Atmosphere's HttpServletRequest.getRequestURI() must never return null in all circumstances #1246
  • [SSE] First two messages parsed incorrectly when TrackMessageSizeInterceptor is used #1245
  • Can't get websockets to work with JBOSS EAP6 #1243
  • AtmosphereResourceEventListener.onBroadcast isn't called when broadcasting to long-polling connected clients #1241
  • Pushing data from client to server doesn't reset MAX_INACTIVE attribute #1240
  • [jetty9] native == true cause issues #1238
  • query string for POST requests #1228
  • Inability to detect closed connection using WebLogic/Jersey #1227
  • Test Jetty 9.1 JSR 356 before releasing 2.0.0 #1222
  • [jetty 9.1] Native WebSocket Support broken #1220
  • Not possible to remove AtmosphereResource from Broadcaster under default scope #1213
  • GlassFish 4 mapping issue #1209
  • Encoding issue with 'streaming' transport #1208
  • Provide an example showing atmospherehandler-pubsub working with JBoss AS 7 and WebSockets #1191
  • [GlassFish 4] No AtmosphereHandler maps request for ... #1179
  • Possible SessionSupport issues with GWT #1166
  • [jersey] NPE with Websocket when unexpected Jersey error happens. #1163
  • Auto-configuration via annotation processing fails in specific deployments #1159
  • Server side timeout not working under certain conditions #1061
  • Atmosphere incompatible with Grizzly 2.3.1 #1055
  • Atmosphere Rest-Chat not deploying to jboss 5.1.0 #995
  • [test] re-enable tests before 1.1.0 release #980
  • [Internet Explorer] Tracking cookie not deleted with shared = true #968
  • org.atmosphere.cpr.defaultContextType #929

Full Changelog

Closed issues:

  • [patch] PrimeFaces Implementation loose messages #1253
  • [cache] Filter abording or skipping messages must remove original message from the cache #1252
  • Cyclic dependencies unnessary with BroadcasterFuture #1249
  • [leak] Possible Memory Leak with BroadcasterCache #1248
  • [cache] Let the specific server throws exception instead of babysitting a connection #1247
  • Message received from cache is erroring in 1.0.15 version #1239
  • Error: Request object no longer valid. This object has been cancelled #1235
  • BlockingIO always selected even when org.atmosphere.useWebSocketAndServlet3 is true #1234
  • Atmosphere OSGI bundle requires javax.websocket version < 1.0 #1233
  • Recovering a destroyed Broadcaster Docu unclear #1232
  • atmosphere-runtime-native 2.0.0.RC3 generates old dependency #1231
  • onOpen is not called when connected using long polling #1230
  • [Weblogic 12c] AnnotationDetector Not Able to Load and Scan Handler Classes In .war Deployment #1229
  • Invalidating spring security session in tomcat 7 #1226
  • Any URI with "_" in first path segment will throw: org.atmosphere.cpr.AtmosphereMappingException: No AtmosphereHandler maps request for /_... #1225
  • Websocket Error when using IE8 or IE9 #1224
  • ERROR cpr.AtmosphereFramework - AtmosphereFramework exception java.lang.IllegalStateException: Not supported. #1218
  • Improve JavaDoc #1217
  • Documentation - plugins #1216
  • ERROR cpr.AtmosphereFramework - AtmosphereFramework exception java.lang.IllegalStateException: Not supported. #1215
  • ERROR cpr.AtmosphereFramework - AtmosphereFramework exception java.lang.IllegalStateException: Not supported. #1214
  • Need configuration option for disabling analytics. #1212
  • IE9 Error: RROR cpr.AtmosphereFramework - AtmosphereFramework exception Message: Not supported. #1211
  • Test Tomcat 8 WebSocket API before final 2.0.0 release #1210
  • [https] Atmosphere 1.0.x MessageLengthTracking broken when "chunking" happens in wrong place #1199
  • flushPadding in 1.0.x AtmosphereResourceImpl incorrect? #1198
  • Deadlock with Grizzly #1183
  • Atmosphere ignores interceptors configured in atmosphere.xml #1161
  • Websocket error on Atmosphere.js #1146

Full Changelog

Full Changelog

Closed issues:

  • Jersey rest-chat sample - writeEntity=false is ignored #1206

Full Changelog

Full Changelog

Implemented enhancements:

  • Add jquery-atmosphere to cdnjs #904

Closed issues:

  • ERROR cpr.AtmosphereFramework - AtmosphereFramework exception java.lang.IllegalStateException: Not supported. #1205
  • java.nio.charset.MalformedInputException when broadcasting to IE8 #1203
  • ERROR handler.ReflectorServletProcessor - onRequest() javax.servlet.ServletException #1202
  • Enabling org.atmosphere.cpr.sessionSupport throws java.io.NotSerializableException #1201
  • get headers from server #1197
  • Is there a way to share the application context with atmosphere servlet? #1195
  • Atmosphere v2.0.0.RC1 -TrackMessageSizeFilter Issue #1192
  • ClassCastException when multiple non-String objects returned from Cache #1189
  • Race condition in DefaultBroadcaster.getAsyncWriteHandler #1187
  • [JBossWeb] Handle ERROR events as END/EOF #1186
  • @Disconnect not getting called in @ManagedService #1181
  • Annotation configuration issue #1177
  • Websocket: AtmosphereResourceStateRecovery produces warning message #1167
  • SSE: AtmosphereResource has wrong Broadcaster on disconnection #1158
  • SSE + CORS restricted on the client side #1156
  • UUIDBroadcasterCache: ClassCastException when using Jersey and broadcasting Object #1155
  • Multiple Content-Type Headers are returned #1147
  • JBoss websocket detection incorrectly done #1145
  • ReflectorServletProcessor.servletClassName isn't set when Guice is used #1129
  • AtmosphereNativeCometServlet can't be used if AtmosphereGuiceServlet is used in 1.1 #1125
  • Shiro & null ServletContext #724

Full Changelog

Implemented enhancements:

  • [For Framework] Add @AtmosphereService #1109

Closed issues:

  • AtmosphereFramework exception java.lang.IllegalStateException: Not supported. #1184
  • Wrong logic in UUIDBroadcasterCache may cause messages lost #1176
  • Memory leak in PrimePush #1171
  • @ManagedService does not work according to documentation #1170
  • Delay in broadcasting data #1168
  • atmosphere-jersey: It's possible to send data to a client before Atmosphere sends the UUID #1160
  • [optimization] Flush cache in one big string instead of one by one. #1152
  • WebSocketProcessorFactory sometimes returns wrong WebSocketProcessor with multiple AtmosphereFramework instances #1150
  • resource.resume() locks #1148
  • [Enhancement] deprecate AtmosphereResouce.setBroadcaster() #1091
  • MetaBroadcaster broadcastTo not thread safe #1035

Full Changelog

Implemented enhancements:

  • [jQuery.atmosphere] Add callbacks for successful push requests #808
  • Create an AMQPBroadcaster for use with RabbitMQ #703
  • [sse] Add support for event definition #434
  • [runtime] Add SPDY support #232

Closed issues:

  • Atmosphere on Tomcat/7.0.39 not Working with Servlet 3.0 Async API correctly #1144
  • jquery.atmosphere - trackMessageSize #1142
  • [long-polling] Possible Message Duplication if retrieving from the cache fail #1141
  • Streaming always aborts if connectTimeout is set #1138
  • PerRequestBroadcastFilter called twice #1136
  • Possible Message Lost #1135
  • ERROR cpr.AtmosphereFramework - AtmosphereFramework exception when using IE8 #1131
  • jquery.atmosphere.js uses deprecated JQuery features #1130
  • Client does not try to re-establish a closed streaming connection #1127
  • [enableProtocol=false, Jetty 7.5] Streaming transport allows writing to the response indefinitely after disconnect #1123
  • Unsubscribing from a failed subscription pauses while the close AJAX request is being sent #1122
  • onOpen callback not invoked after Websocket connection fails and is restored #1121
  • [CORS] Streaming broken #1120
  • [CORS] Issues when enableProtocol : true #1119
  • Jquery.atmosphere.js issue in IE8 #1116
  • [jersey] Deprecate outputComments API for 1.1 #1115
  • [jetty9] Possible ClassCastException on Linux #1113
  • [sse] Chrome reconnect forever on failure #1111
  • IE8 error with latest jquery.atmosphere.js #1108
  • Atmosphere cannot scan annotations on Wildfly/Jboss #1107
  • Use java.util.logging instead of slf4j #1106
  • atmosphere.js give error related to atmosphere.debug() method call #1105
  • [runtime] - high cpu usage #1104
  • Atmosphere project is not up to date on Ohloh web site #1101
  • [osgi[ [session] Exception running 1.0.13 on jetty 8.1.10 #1100
  • Snapshot artifacts contain wrong metadata #1098
  • Two consecutive emtpy messages confuse message size tracking #1042
  • [jquery.atmosphere.js]can not detect connection failure when unplug the network cable. #1004
  • failed to create comet support class #912
  • Generic WebSocketEventListener interface needed #887
  • Deprecate BroadcasterFactory.getDefault() #867
  • [atmosphere.js] Add support for .on("event",function") #402

Full Changelog

Implemented enhancements:

  • [atmosphere.js] Add Encoder/Decoder Support #1089
  • [#1078] Interceptors should skip requests if transport is undefined #1082
  • [api] Fix AtmosphereResourceEventListener & WebSocketEventListener onDisconnect #818

Closed issues:

  • Atmosphere 1.1.0.RC2 doesn't support filterClassName #1103
  • Atmosphere mapper exception #1099
  • browser making get method call #1097
  • Custom headers end up in URL parameters instead of HTTP headers section #1095
  • [firefox][atmosphere.js] SSE fail to detect disconnection #1094
  • Atmosphere GWT20 RC2 on maven central? #1093
  • X-Atmosphere-tracking-id - BigDecimal cannot be cast to java.lang.String #1092
  • [websocket] Possible race between OnDisconnectInterceptor and WebSocket.onClose #1087
  • AtmosphereResource.getRequest().getHeader("User-Agent") returns null #1085
  • Client timeout setting doesn't work properly #1084
  • Jquery 1.0.12 X-Atmosphere-tracking-id is 0 #1083
  • Atmosphere GWT20 RC2? #1080
  • Documentation request for Example without jQuery #1030
  • Performance issues with supportOutOfOrderBroadcast=true and many broadcasters #1029
  • [portal.js] Streaming incorrectly combines messages if a part of the message starts with whitespace #1024
  • [portal.js] Websocket transport never falls back to backup transport #997
  • [atmosphere/portal.js] Cached Messages sent twice upon browser reconnection #989

Full Changelog

Implemented enhancements:

  • [runtime] Add MeteorNativeCometServlet and AtmosphereNativeCometServlet for Tomcat6/7/JBoss native CometSupport #1072
  • [@Subscribe] Allow configuring the timeout #1069
  • AtmosphereInterceptor must be able to skip AtmosphereHandler but not AtmosphereInterceptor's chain #1067
  • Add support for Tomcat/Servlet 3 only. #718
  • [jquery] opera - websocket 2 min chars #549
  • [jquery] safari - websocket 8 min chars #548
  • Add support for GlassFish's WebSocket + Servlet 3.0 API #458

Closed issues:

  • 1.1.0.RC2: Filter's does not work anymore #1079
  • Interceptors should skip requests if transport is undefined #1078
  • [atmosphere.js] Do not trim messages before trackMessageLength is executed #1076
  • [streaming] Switch padding to whitespace #1075
  • Session caching in Atmosphere resource fails session fixation protection #1074
  • [Serializer] AbstractReflectorAtmosphereHandler fail to serialize cached messages #1073
  • GuiceManagedAtmosphereServlet forces JerseyBroadcaster to be used if jersey annotations is used for Atmosphere #1071
  • [DefaultAnnotationProcessor] Possible memory leak/problem with 1.1.0.RC2 #1070
  • Add a new AtmosphereServlet30 only for 3.x ServletContainer #1066
  • "No AtmosphereHandler maps request for null" with Atmosphere 1.1.0-SNAPSHOT and portal-java #1056
  • [BroadcasterCache] Add an API to exclude/include AtmosphereResource from getting the cache #1051
  • IE8 fails to receive initial streaming data if data is small #1019
  • Tomcat comet + session support fails to restore old session value on cancel/resume #950

Full Changelog

Implemented enhancements:

  • Add an interceptor for limiting onSuspend call to once for long-polling #1065
  • [runtime] Add AtmosphereResourceEvent.isClosedByClient() #1064
  • Atmosphere 1.0.13 (and PrimeFaces Push) is not CDI compliant #1060
  • Add an AtmosphereInterceptor for re-adding AtmosphereResource to all previous broadcaster #1050
  • atmosphere-jquery.war with minimized (compressed) version of jquery.js #1045
  • [atmosphere.js] Better onXXX lifecycle implementation in 1.1 #976
  • onDisconnect must not be called when resuming or timing out #948
  • [atmosphere.js] Reset failure counter when reconect was successfull #908
  • Redesign BroadcasterCache API #865
  • Add Annotation to add Notification in BroadcasterCache when a Broadcaster is added are removed #752
  • [runtime] add option to configure default broadcaster suspendPolicy through xml #701
  • [jquery] when websocket is reconnected I have no event fired #529

Closed issues:

  • [websocket] resource.getResponse().getCharacterEncoding() return null #1063
  • long polling issue while working with IE8 and IE9 #1062
  • [atmosphere.js] onOpen must not get called before enableProtocol: true happended #1059
  • Atmosphere 1.0.13 snapshot (2013-04-26) says, support Out Of Order Broadcast: false #1057
  • org.atmosphere.gwt20.AtmosphereGwt20 not found on GWT client? #1054
  • [deploy/undeploy] Atmosphere 1.1.RC1 Memory leak on Tomcat 6 #1053
  • java.lang.IllegalStateException: Request object no longer valid #1052
  • [atmosphere.js] Add support for onReconnect -> onReopen workflow #1049
  • [atmosphere.js] Document onXXX life cycle #1048
  • [atmosphere.js] Opera fail to detect server going down #1047
  • Jetty 8 websockets are used on Jetty 7 #1046
  • Streaming unreliable on Opera in 1.0.12 #1044
  • IOException with PrintWriter must be propagated to the Broadcaster #1043
  • AtmosphereResourceEventListener.onDisconnect() isn't called when client closes WebSocket connection #1039
  • atmosphere-gwt-jackson.jar should be updated with correct service package name #1038
  • client unsubscribe causes browser not responding #1036
  • How to listen for incoming data using atmosphere-jersey #1033
  • What do I have to update when changing from 1.1.0.beta3 to 1.1.0.RC1? #1032
  • Neither TrackMessageSizeInterceptor or TrackMessageSizeFilter are installed warning when using Wicket's org.apache.wicket.atmosphere.TrackMessageSizeFilter #1031
  • [Tomcat BIO] Thread Count Explosion #1028
  • Streaming + trackMessageSize broken (1.0.12) #1027
  • Setting org.atmosphere.websocket.maxIdleTime property closes the websocket connection as soon as it is opened. #1026
  • Websocket max message size params ignored on Tomcat (maxTextMessageSize and maxBinaryMessageSize config params) #1025
  • X-Atmosphere-tracking-id header is not set in 1.1.0.RC1 #1023
  • Long polling fails in IPAD version 6.0.1 #1021
  • [streaming] Reconnect logic must send the CLOSE signal #1020
  • Content type is not set for initial streaming request #1018
  • [IE] Streaming issue with trackMessageLength #1017
  • Missing static attribute BroadcasterLifeCyclePolicy.IDLE_RESUME in BroadcasterLifeCyclePolicy #1016
  • Document new Function in 1.1 #1015
  • [atmosphere.js] invoke _onError when fallbackTransport fail to reconnect #1014
  • Return an error when WebSocket only application are used #1013
  • Incorrect X-Atmosphere-tracking-id param when using Padding and Long-Polling #1012
  • Investigate Atmosphere+WS support on GlassFish 4. #1011
  • [jquery.atmosphere.js] problem using streaming transport in IE6 with trackMessageLength #1010
  • jquery client separate getStatus & getStatusText #1009
  • can not send message that contains "|"(messageDelimiter). #1008
  • 1.1.0.RC1 contains bugs which are not in 1.1.0.beta3 #1007
  • Timing issue in DefaultBroadcaster causes cached message to be missed #1003
  • java.lang.NullPointerException at org.apache.wicket.markup.html.form.Form.onComponentTag(Form.java:1520) during Atmosphere eventbus.post() if using WebSockets #1002
  • IllegalStateException thrown after Session was destroyed #1001
  • Atmosphere should send X-Accel-Buffering: no #1000
  • [atmosphere.js] enableProtocol = true, trackMessageSize = true and TrackMessageFilter issue #993
  • [jquery.atmosphere.js] long-polling does not work if set maxReconnectOnClose=0. #992
  • ClassCastException on CometEvent #991
  • Javadoc: ApplicationConfig.DISABLE_ATMOSPHEREINTERCEPTOR has an incorrect package #987
  • [Filter not called when message are cached and retrieved] Cast Exception when DefaultBroadcaster tries to send a cached message #986
  • Shield the OnDisconnect AtmosphereIntercetor from connection close #983
  • [hazelcast] HazelcastBroadcaster must invokes parent.destroy() #982
  • Possible NPE with WebSocket encoding #981
  • Other clients (then localhost) are not receiving broadcasted messages before server shutdown #979
  • [Jetty 9/mvn jetty-run issue] Atmosphere 1.1.0.RC1 throws ClassNotFoundException: org.eclipse.jetty.continuation.ContinuationListener on Jetty 9.0.0.v20130308 #978
  • Error: WebSocket is closed before the connection is established. #977
  • [logger] Possible java.util.ConcurrentModificationException #975
  • if org.atmosphere.cpr.Broadcaster.supportOutOfOrderBroadcast set 'true', atmosphere don't broadcast. #974
  • [websocket] DefaultWebSocketProcessor must suspend the resource before invoking onOpen #973
  • High CPU usage in Firefox browser (19.0.2) running WebSocket (1.0.11) in jetty 8 server #964
  • Firefox Offline Mode Reconnect Issues #962
  • Backport Jetty 9 support in 1.0.x #952
  • Add documentation for readResponseHeaders #941
  • HazelcastBroadcaster will broadcast two times when using long-polling. #934
  • [HeaderBroadcasterCache] multiple broadcast in a post request will lose message with long-polling. #923
  • [atmosphere/portal.js] long-polling reconnect forever #771

Full Changelog

Closed issues:

  • NPE when trying to looking a Broadcaster from WebSocketHandler#onOpen #972
  • [websocket] webSocket.onClose must allow retrieval of request's attribute #971
  • Channels concept in Atmosphere #970
  • [Internet Explorer] trackMessageLength doesn't work with streaming #969
  • [atmosphere.js] OnDisconnect event must be sent before closing the request #967
  • [sse] Uncaught Error: SecurityError: DOM Exception 18 #966
  • Backport support for packages scanning with annotations #965
  • client-side onError() function is not fired as expected when the client can not connect the server. #963
  • [runtime] - 1.0.13 cached messages causes streaming to disconnect #961
  • jquery-pubsub sample not working on 1.0.12 #960
  • [runtime] - 1.0.13-SNAPSHOT thread leak #959
  • [runtime] - messages.offer() not working anymore #958
  • [runtime] - deadlock #957
  • [atmosphere.js] Prevent delivering empty message when long-polling connection is resumed #956
  • [atmosphere.js] Duplicate message when the long-polling connection is resumed and trackMessageLength is used #955
  • [atmosphere.js] Possible NaN error with message delimiter and transport 'polling' #954
  • Corrections to CorsFilter #951
  • encodeURL and encodeRedirectURL return null #949
  • Deadlock with Jetty9-Websocket #945
  • AtmosphereFramework init handling parameters too late #819

Full Changelog

Closed issues:

  • [atmosphere.js] when unsubscribe , clearTimeout problem #944
  • Characterset is not used on IE 8 & 9 sending message from client to server #943
  • [atmosphere.js] when unsubscribe, if request url contains search key, push close event will cause problems #942
  • [runtime] Encoding issue #940
  • [websocket] AtmosphereResource associated WebSocket's Message needs to be removed from Broadcaster #938
  • [atmosphere.js] WebSocket timeout only honored once #937
  • [atmosphere.js] onOpen is called twice when using long-polling #936
  • [atmosphere.js] IE9 aborted connection #935
  • SimpleBroadcaster with UUIDBroadcasterCache can not be used in version 1.0.11 #933
  • infinite Loop in Atmosphere Servlet #932
  • Not able to received data on suspended connection when using AtmosphereInterceptor #931
  • TrackMessageSizeFilter not working properly when using AFTER_FILTER #930
  • unsubscribeUrl does not invoke X-Atmosphere-Transport=close for enableProtocol=true and resource is not removed from broadcaster #928

Full Changelog

Implemented enhancements:

  • RedisBroadcaster configuration - cluster #924
  • Update Hazelcast version and code #922
  • [jQuery] streaming onOpen/OnReconnect not fired after reconnect #550
  • RFE: Wait for the connection estabilished event before sending any message to the server for each request. #495
  • [socketio] Re-add SocketIO Unit Test #394

Closed issues:

  • [atmosphere.js] Prevent onClose called twice when unsubscribe #927
  • [atmosphere.js] Strange behavior when push is called from onClose #926
  • [atmosphere.js] function resolution issue #921
  • [Tomcat + GWT + Websocket] Comet event shouldn't spin infinitely #920
  • [Tomcat7] Atmosphere Websocket handler should overwrite default outbound buffer size #919
  • Redis Shared Pool being closed/destroyed when one of the broadcasters is destroyed #918
  • [DefaultBroadcaster] When one Broadcaster per connection is used, reduce at the minimum the number of thread used #917
  • Issue with long-polling and broadcast multiple times #916
  • [atmosphere.js] enableProtocol = true and streaming issue with Meteor #915
  • [sample] Using an distant redis server doesn't work #913
  • Embedded Usage with Jetty and Close / Disconnect Events #911
  • [regression] BroadcasterLifecyclePolicy doesn't work when using SimpleBroadcaster #910
  • native socket.io demo doesn't use websocket if nio configured in Tomcat 7 #885
  • NPE at InternalNioOutputBuffer.addToBB() in Tomcat 7 #874
  • APR Connector on win7/tomcat doesn't seem to support websockets #435
  • [sample] 404 when index.html is appended to the URL #310

Full Changelog

Implemented enhancements:

  • [asynchronous] Add support for content-type on suspend. #906
  • [Tomcat] Possible Denial of Service with WebSocket #902
  • Add support for write timeout with Broadcaster #890
  • [Tomcat] Add timeout support for WebSocket to prevent thread waiting indefinitely. #888
  • messages lost with SessionBroadcasterCache on broadcast #743
  • Executor of all type must be shareable amongst all components #645
  • [jQuery] streaming,network disconnected abruptly, disconnect not fired #604

Closed issues:

  • INFO: Using shared ExecutorServices amongst all Atmosphere components: Broadcaster ... #909
  • [atmosphere.js] request.reconnect == false should at least execute one request #907
  • [Broadcaster] Enabled Shared Thread Pool by Default #903
  • When Broadcaster is empty, perRequestFilter must always be executed for BEFORE and AFTER strategy #901
  • Duplicate Filter Execution #899
  • [websockets] The ResourceConfig instance does not contain any root resource classes #897
  • Wrong error/warning message on TrackMessageSizeFilter #896
  • sse with jQuery.atmosphere and https #895
  • Broadcaster can locks if the I/O layer block #894
  • [atmosphere.js] WebSocket reconnect using the wrong timeout #893
  • wss downgrades to comet #892
  • Tilde character ~ in path causes error #891
  • testEmptyBroadcastMethod(org.atmosphere.cpr.BroadcasterTest) FAILED #886
  • Should serializers close or flush their OutputStream? #884
  • Recover from an IOException when a message is found from the cache #883
  • Enforce same origin policy in TomcatWebSocketUtil #880
  • [atmosphere.js] Long-Polling reconnect twice on timeout #879
  • checkMessageLength fails on Firefox when xml has trailing carriage return #878
  • [jersey] Make @Broadcast asynchronous #877
  • EventCacheBroadcasterCache should use System.currentTimeMillis instead of System.nanoTime #876
  • Heap dump while running Atmosphere (1.0.9) with TomEE 1.5.2-SNAPSHOT (20130128 version which has Tomcat 7.0.35 dependency) #875
  • Logging message #863
  • [atmosphere.js] Cannot set client request timeout and get WebSocket error #860
  • [tomcat][grails]Threads get suck writing and BLOCK the Broadcaster #849
  • [jquery][streaming] - Atmosphere crashes ie10 on windows 7 #848
  • [jQuery] cannot close/abort connection in IE 9 #829
  • Last message rebroadcast when using WS w/maxInactiveActivity & BroadcastCache #706
  • [NettoSphere] Unexpected behavior with suspend() / resume() #633
  • [NettoSphere] AtmosphereResource.suspend(timeout, true) results in unpredictable channel closing #620
  • onDisconnect is not called in firefox for sse transport until firefox is fully closed #565
  • [tomcat] org.atmosphere.websocket.maxIdleTime - ignored #524
  • Add support for OnDisconnectAtmosphereInterceptor #523
  • BroadcasterCache json response bad #514
  • [jetty] WebSocketHandshakeFilter must force underlying Websocket to close #471
  • Websocket transport can not handle large data greater than default TCP buffer #282

Full Changelog

Implemented enhancements:

  • [atmosphere.js] Bump to jQuery 1.9.0 #871
  • Upgrade Jetty 9 support to 9.0.0.M5 #850
  • [atmosphere.js] Always try to reconnect when receiving a 503 #844
  • jQuery.browser is deprecated and removed in jQuery 1.9 #839
  • [broadcasterCache] Add a new cache that only retrieve messages when reconnecting #832
  • Log an exception when a broken BroadcastFilter throw an exception #827
  • Expose BroadcasterCache STATEGY API to DefaultBroadcaster #826
  • [runtime] - atmosphere switches to BIO when exception occurs #813
  • TrackMessageSizeInterceptor: Allow for delimiter character in message content #756
  • Add support for interface free component in Atmosphere #705
  • Add semi protocol negotiation to the atmosphere.js #680

Closed issues:

  • Inability to use WebLogic native support without providing Tomcat, JBossWeb, etc. libs #873
  • PrimeFaces.widget.Socket = ignore configuration #872
  • Guice support broken with Jersey 1.14 #870
  • java.lang.NumberFormatException: For input string: "(TomEE)/7" #869
  • Uncomment BroadcasterCacheTest #868
  • NPE at AtmosphereRequest.setAttribute(AtmosphereRequest.java:541) #866
  • [cache] EventCacheBroadcasterCache still miss some messages, need a new API #864
  • [glassfish] Cancelling the connection with streaming. #862
  • Tomcat, Servlet 3: The request associated with the AsyncContext has already completed processing. #858
  • jquery.atmosphere.js does not support websockets with binary frames #855
  • Broken Pipe even with org.atmosphere.cpr.CometSupport.maxInactiveActivity if server broadcast events in intervalls < maxInactiveActivity #854
  • Cache messages as soon as we know an AtmosphereResource has been resumed #853
  • [BroadcasterCache] Ensure the cache is delivered in the order it was populated #852
  • Messages are delivered not in order they get broadcasted #851
  • Mix od Broadcast filter and PerRequestBroadcastFilter produces wrong messages #847
  • [firefox][glassfish] When websocket not enabled, firefox doesn't automatically close the connection #846
  • [glassfish] WebSocket behaves strangely when timing out WebSocket #845
  • TrackMessageSizeFilter perform the calculation on the original message instead of the transformed one #843
  • TrackMessageSizeFilter perform the calculation on the original message instead of the transformed one #842
  • BroadcasterFactory issues with WebFragment/multiple AtmosphereServlet or Injection #841
  • [Glassfish] NPE on connection times out #840
  • OnMessage handler must handles BroadcasterCache's ArrayList #838
  • NPE failed to timeout resource null #837
  • MetaBroadcaster won't find broadcasters with @ in the name #836
  • dispatchUrl unused by websocket push #835
  • [http] Gives a chance to the connection to be established before calling the callback #833
  • [websocket] Push the uuid and the server timestamp as the first message so it get set #831
  • [websocket] When used with the org.atmosphere.cpr.CometSupport.maxInactiveActivity mechanism, must reset the timestamp #830
  • [GlassFish] Wrong WebSocket error code on browser close #828
  • DefaultBroadcaster is caching it's object instead of the message #825
  • Port BroadcasterCache's PerRequest filter code to 1.1.x #824
  • [GlassFish] Two AtmosphereHandler will maps to the same GlassFishWebSocketHandler #823
  • [GlassFish] NPE on shutdown #822
  • [GlassFish] GlassFishWebSocketHandler needs to be stateless as it cause thread race #821
  • onOpen() callback function in jquery.atmospehere.js does not fire properly when using long-polling #816
  • jquery long-polling with trackMessageLength bug #775
  • [jQuery][long-polling][XDR] IE9 does not reissue GET after receiving a message #750
  • cacheLostMessage breaks broadcaster cache #658
  • Document enableXDR and it's limitation #636
  • [runtime] JSONP Transport doesn't work with BroadcasterCache #249

Full Changelog

Implemented enhancements:

  • [api] Allow an AtmosphereResource to close a WebSocket connection #817
  • send max reconnect reached error code or event #774
  • Scan dependencies or other locations for annotations #614
  • Enhancement : transport() could support custom transport #328
  • [websocket][atmosphere.js] Not able to change request timeout (client side) #291

Closed issues:

  • onResume and onDisconnect are not fired with WebSocket connection. #814
  • NPE from Wicket Atmospere support when shutting down Tomcat #812
  • socket.io sample not working #789
  • Using atmosphere causes Glassfish requests to hang, only over SSL. #770
  • [runtime] thread leak in DefaultBroadcasterFactory #766
  • [runtime] , MetaBroadcaster regex issue #693
  • [RFE] Introduce maxRetryAttempts property instead of maxRequest #589
  • Comet connection lost in IE8 when clicking a hash link #465
  • [JBossWeb] error when refreshing page with wicket servlet with tcnative-1.dll #374

Full Changelog

Closed issues:

  • [long-polling] AbstractReflectorAtmosphereHandler does not resume on broadcast #806
  • AtmosphereRequest.queryString(Sring) method seems to be bug(values size) #805
  • [JbossWeb] Websocket protocol not supported #804
  • [atmosphere.js] Sharing tabs timeout issue #803
  • [IE regression] maxReconnectOnClose undefined #802
  • [gwt] unloadHandlerReg #801
  • Configure to suppres java.lang.IllegalStateException: The event object has been recycled and is no longer associated with a request #800
  • Atmosphere servlet fails to broadcast the response when configuring with apache web server #798
  • setCharacterEncoding method doesn't work in onPreSuspend method #797
  • GWT Comet over HTTPS on Chrome doesn't work #796
  • Improper GET parameter addition #795
  • resource.getRequest().getAttribute(...) doesn't work for long-polling/IE/Tomcat 7 #794
  • Inject servlets and filters instantiated by ReflectorServletProcessor. #793
  • [jQuery] reconnectInterval has no effect on reissue request after timeout #792
  • Exception when using SimpleBroadcaster instead of the default. #791
  • Osgi problem Import-Package org.mortbay.util.ajax is not optional #790
  • Problem with HeaderBroadcasterCache and long polling #788
  • Unnecessary data being sent upon connecting to receive updates #787
  • Add annotation scanner dependencies by default #785
  • AbstractBroadcasterCache.getQueueDepth() #783
  • NPE in DefaultBroadcaster.entryDone using SimpleBroadcaster or sub-class thereof #782
  • messageDelimiter in jquery.atmosphere.js #780
  • Intermittent failure IllegalStateException during @Suspend #772
  • [Glassfish] [HTTPS] Сonnection breaks every few seconds #744
  • Add WebSocket support for JBoss 7.x #362

Full Changelog

Closed issues:

  • [SimpleBroadcaster] NPE with latest 1.0.6 #781

Full Changelog

Full Changelog

Implemented enhancements:

  • [performance] Allow out of order broadcast delivery #779
  • Add support for unique AtmosphereResource UUID with WebSocket #778
  • Add Session's creation Interceptor #777
  • Add .zip distribution with all dependencies #769

Closed issues:

  • Resuming with Serializers #776
  • Atmosphere resources with the same uuid #773
  • Intermittent InterruptedException destroying Broadcaster #768
  • Ruby client #767
  • [runtime] DefaultBroadcaster hold threads under load. #765
  • comet not working with tomcat7 and atmos 1.0.5 #764
  • 404 url results in infinite requests to the server #763
  • Failed using comet support with tomcat NIO connector #762
  • If possible trigger event when maximum reconnect is reached #761
  • Jguery plugin: reset connectionCount after reconnect #760
  • [runtime] leak #751
  • [Glassfish] PWC3990: getWriter() has already been called for this response #722
  • Parameter parsing problem in 1.1.0-SNAPSHOT #691

Full Changelog

Implemented enhancements:

  • Support for non-jquery atmosphere.js #684
  • Inconsisten use of BroadcasterFactory in AtmosphereFramework #430
  • [client] Add a Java Based Atmosphere's Client #262

Closed issues:

  • [atmosphere.js] Deprecate maxRequest, add maxReconnectOnClose #759
  • WebSocketProtocol and Handler must first be loaded using the Thread's classloader #758
  • [websocket][tomcat] org.atmosphere.cpr.AtmosphereRequest.getRemoteAddr() returns empty string #757
  • [GlassFish] resource.getRequest().getPathInfo() issue #755
  • [Glassfish and PrimeFaces Push] No BroadcasterCache configured. #754
  • Websocket connection doesnt close with firefox #753
  • [runtime] - performance issue (thread blocked) #749
  • Critical memory leak #748
  • [jersey] @Asynchronous must set the Broadcaster's life cycle to EMPTY_DESTROY #747
  • Force resuming long-polling connection on Callable exception #746
  • toLowerCase on parameters #745
  • Generate a default UUID for WebSocket/Streaming #742
  • Configuration of Primefaces-Push with Apache Server Load Balancing #741
  • Resolution of optional bundles #740
  • [runtime] - onSuspend not invoked after reconnect with cached message #738
  • Passing the actual location to WebSocketImpl #737
  • applicationConfig not parsed properly in atmosphere.xml #736
  • perRequestFilter must not synchronize when no filters defined #735
  • [atmosphere.js] global onTransportFailure not defined properly #734
  • Atmosphere.js reports 1.0.3 in 1.0.4 #733
  • Implement getAuth and setAuth in RedisFilter. #732
  • [runtime] - push performance issue #730
  • Setting org.atmosphere.cpr.broadcasterLifeCyclePolicy in atmosphere.xml doesn't work #728
  • 0.a.c.AtmosphereRequest.getLocale() returns null on Tomcat7 whereas on Jetty8 or JBoss7 it returns non-null Locale. #727
  • [streaming] reconnect issue when maxStreamingLength is reached #726
  • [performance] Make WebSocketProcessor a singleton #725
  • [runtime] - 1.0.4-SNAPSHOT broadcaster.lookup is not thread safe #723
  • SimpleBroadcaster does not create a unique instance of BroadcasterConfig #720
  • createStreamingPadding does not respect padding member variable #672
  • IE closes socket after 10 minutes #623
  • [atmosphere.js] IE 8 doesn't work when share = true #580
  • [runtime] Possible Broacaster leaks #528

Full Changelog

Closed issues:

  • Server XML Configuration table in the wiki doesn't display properly. #719
  • [runtime] [long-polling] [EMPTY_DESTROY] - AsyncWrite thread leak #717
  • Growing number of broadcaster threads #716

Full Changelog

Full Changelog

Implemented enhancements:

  • Add support for excluding content-type when TrackMessageSizeInterceptor is used #704

Closed issues:

  • Update GWT module to support GWT 2.5.0 #713
  • [android 2.3.3/3.2] Messages get lost if published "at the same time" #712
  • Publish - Reconnect Problem on Android #711
  • [jetty] EofException / IOException using InternetExplorer #710
  • ArrayIndexOutOfBoundsException in AbstractBroadcasterCache #709
  • GWT client can fail to post messages to server #708
  • webSocketUrl does not dispatch to proper Jersey resource method #707
  • Clients hang when multiple tabs (~20+) opened #702
  • withCredentials not set when atmosphere.push is called. #700
  • [runtime] MetaBroadcaster Leaks #699
  • Add support for WebSocketStreamHandler #698
  • [GlassFish] WebSocket implementation doesn't call doCometSupport #696
  • json response is invalid #695
  • [GWT] (de-)serialization issue when broadcasting nested, complex object #694
  • onError not called for streaming/long-polling #692
  • AtmosphereResource.closeStreamOrWriter should not close the WebSocket. #690
  • [runtime] - AsyncWriteToken leak #689
  • [atmosphere.js] Mixing Callback and Function doesn't work with WebSocket #687
  • ClassNotFoundException for GWT 2.5-RC2 #686
  • [GlassFish] Atmosphere interrupts writer thread even if it didn't complete writing data to a client #651
  • resource.getRequest().getCookies() doesn't work #485

Full Changelog

Implemented enhancements:

  • Add a new meta annotation that does everything: @AtmosphereManagedService #685
  • Deprecate/remove all traces of suspend(time, junk) API #675
  • Add onPreSuspend callback to AtmosphereResourceEventListener #657
  • Add an HeartBeat AtmosphereInterceptor #654
  • [runtime] Add support for multiple WebSocketHandler #470
  • Add WebLogic pre-12.x Support #277

Closed issues:

  • Suspended requests never freed when using Tomcat Native (CometEvent.END handling bug) #683
  • onStateChange not always called when AtmosphereResource.resume() is called. #682
  • AtmosphereResponse must invoke onDisconnect callback on IOException #681
  • X-Cache-Date and X-Atmosphere-tracking-id not properly read in jquery.atmosphere.js #679
  • onStateChange returning a different resource UUID when connection is closed #678
  • onDisconnect must be called after onResume #677
  • [jersey] Make sure only one Broadcaster gets created when @Asynchronous annotation is used #676
  • Bug in AbstractBroadcasterCache.java #674
  • is ie8 supported? #673
  • Grizzly2WebSocketSupport and fallbacks #670
  • RediBroadcaster broken because of wrong initialization logic #667
  • OSGI import packages - issue #219 #666
  • Must honor the defined Broadcaster web.xml instead of auto discovering #665
  • [jetty][websockets] WebSocketFactory may throws IllegalStateException #663
  • Filter based applications do not initialize at all #662
  • QueryString must not be re-added after Interceptor/Processor dispatch, must be decoded #660
  • SessionBroadcasterCache throws ClassCastException #656
  • Document List<Object> returned by a BroadcasterCache when used with custom AtmosphereHandler #655
  • Message is not filtered if there are not resources associated with the Broadcaster #653
  • GWT Demo not working with IE9 on Tomcat and Glassfish #652
  • @ character not working in url path in Atmosphere framework #650
  • Missing shutdown of asyncSupport in case of fallback to other implementation #649
  • WebSocketProcessorFactory not application isolated #648
  • Typo in configuration parameter name DEFAULT_CONTENT_TYPE #647
  • Messages lost when using long-polling, Cache and TrackMessageSizeFilter #646
  • Add support for Jetty 9 new WebSocket API #644
  • Logging for AtmosphereResourceLifecycleInterceptor uses SSEAtmosphereInterceptor logger #643
  • AtmosphereHandler in web.xml does not get injected by org.atmosphere.di.Injector #642
  • native socket.io chat is broken #641
  • [runtime] streaming,gzip, broadcast split + stuck issue #621
  • SocketIOSessionManagerImpl trying to send on a closed websocke #609
  • Allow BroadcasterCache to discard some message #607
  • Connection sharing child-to-parent promotion sometimes does not occur #602
  • 1.0.0.rc1 breaks GWT apps #587
  • GWT client can't build with GWT 2.5.0-rc1 #575
  • Support for Gwt comet over https #574
  • [gwt] When WebSockets fail over 3G, Atmosphere should switch to long-poll #571
  • HazlecastBroadcaster wrong use of topic listener #536
  • GWT client API needs documenation #534
  • GWT with Basic container security causes NPE #518
  • Atmosphere GWT Client 1.0.x fails with SYNTAX_ERR: DOM Exception 12 #506
  • [GlassFish] When connection is down sometimes AtmosphereResource does not destroy #499
  • Inflexible mapping regex #498
  • [gwt] error on startup sometimes. #489
  • NullPointerException on atmosphere + tapestry5 (centOS + tomcat 7.0.26) #478
  • [gwt] unicode character transfer not possible #476
  • [gwt/glassfish] WebSocket not supported after restarting the server #462
  • Send X_ATMOSPHERE_TRANSPORT header #450
  • Atmosphere GWT 0.9/1.0 fails with JavaFX WebView #440
  • User selectable tranports #433
  • Create Long-Polling transport #432
  • Test with JDK 7 #416
  • Add support for HeaderBroadcasterCache #401
  • [gwt] Exception happens when heartbeat parameter is empty string on Tomcat 7. #298
  • [extra] Add support for Jersey 2 runtime #297

Full Changelog

Implemented enhancements:

  • Add support for simple AtmosphereHandler called OnMessage #635
  • Broadcaster: Improve #broadcast API #629
  • Broadcaster: Improve #broadcast API #628
  • [websocket] WebSocket class must be re-written to support AtmosphereInterceptorWriter #610

Closed issues:

  • SimpleHttpProtocol might lose part of the message with messageDelimiter defined #640
  • Inconsistent support-session value in atmosphere.xml/web.xml and ignored supportSession in AtmosphereHandlerService annotation #639
  • [atmosphere.js] JSONP must carry the headers from the server. #638
  • [atmosphere.js] XDomainRequest logic doesn't support all request's properties #637
  • [IE 8] With enableXDR, IE 8 reconnect forever. #634
  • @MeteorService breaks Meteor #632
  • org.atmosphere.cpr.Meteor, cache Memory Leak #631
  • Several AsyncIOWriterAdapter methods default to infinite loops, not no-ops #627
  • [jQuery] streaming, opera breaks on junk split + FIX #625
  • Atmosphere response setHeader adds header value instead of replacing it #624
  • Window close events randomly failing to be processed due to dead AtmosphereResource #619
  • [runtime] Improve BroadcasterCache handling of duplicate #616
  • [jQuery] [long-polling] callbacks for aggregated messages still not fired properly #615
  • cleaning up sessions - jboss 5.1 + long polling #613
  • annotation detection doesn't work in scala projects #611
  • IE9 loses messages during alert freeze #606
  • Receive part of streaming junk in onMessage callback #605
  • deadlock when disconnecting clients #601
  • [websocket] [jetty8] Cookies get recycled by Jetty and un availaible after initial handshake #600
  • messageLength of next message is glued after current one in IE #597
  • tracking-id is not reused upon reconnect #596
  • AtmosphereResourceLifecycleInterceptor does not resume resource for long-polling #594
  • maxInactiveActivity is not detected when tomcat failed using comet support #588
  • [atmosphere.js] Uncaught TypeError: Cannot call method 'concat' of null #586
  • [wicket] NPE on timeout #417
  • Atmosphere&Jersey: Wrong restfull api method is called when do push message from client side #241

Full Changelog

Closed issues:

  • AtmosphereServlet does not delegate to the default servlet if no filter matches #595
  • Session timeout restorer can get overwritten and the original timeout value is lost #592
  • Unsubscribe in window.unload instead of window.beforeunload #591
  • Message delimiter is added several times if message payload exceeds 8192 when using jersey #590
  • [runtime] org.atmosphere.cpr.recycleAtmosphereRequestResponse not properly implemented #584
  • TomcatWebSocketHandler handle onBinaryMessage as whole ByteBuffer #582
  • Grizzly2WebSocketSupport: pathInfo in HttpServletRequestImpl null #581
  • Session timeout not restored on serialized sessions #555
  • cleaning up sessions - jboss 5.1 + long polling #407

Full Changelog

Closed issues:

  • BroadcasterCache API must pass an ID to implementation #577
  • Possible Thread Race when Broadcaster gets destroyed and the re-use option is set to true #576
  • Cached messages multiplied #573
  • [runtime] cached messages missed when using exclude resource #572
  • Runtime errors with jdk 5.0 and Weblogic 10.0 #570
  • [jQuery] firefox, ESC key closes request #569
  • [atmosphere.js] long-polling, two messages in one request, only last one does callback #568
  • SessionBroadcasterCache deliver messages twice #567
  • HeaderBroadcasterCache delivers first message twice #566
  • MessageLengthInterceptor breaks SSE transport #564
  • Connection sharing doesn't work with atmosphere.js after first tab is closed #563
  • [jQuery] - streaming, junk issue #562
  • [glassfish][jersey] IllegalAccessException on Chrome browser #561
  • [jQuery] streaming, IE , disconnect event not fired when server closed #559
  • memory leak in the class Meteor #558
  • Connection sharing does not work in certain cases #557
  • [runtime] cached messages - first message is skipped #556
  • [jQuery] streaming, cached messages not passing through _trackMessageSize #554
  • Request parameters get lost on ws requests on Tomcat 7 #553
  • [jQuery] - streaming, onMessage is not fired when a lot requests made in short time #552
  • [runtime] streaming - different broadcasts combined #551
  • [jquery] IE9 - onClose not fired #547
  • disconnect event not fired issue #545
  • [1.0.0b5] AtmosphereResource.uuid != tracking-id #544
  • [1.0.0b5] examples chat, meteor-chat don't work #543
  • [1.0.0b5] SSE Interceptor - String vs. byte[] bug. #542
  • Chat Sample does not seem to work with Firefox 14.0.1 #541
  • Allow multiple fallback transports in atmosphere.js #540
  • Handling of "glued" messages #286

Full Changelog

Implemented enhancements:

  • [atmosphere.js] Add a way to disable reading response's headers #539
  • [atmosphere.js] [firefox] websocket it auto reopened when I refresh the webpage - firefox 14.0.1 #522
  • [runtime] Refactor WebSocket implementation #270

Closed issues:

  • @Asynchronous annotation must use the generatred AtmosphereResource's UUID #538
  • AtmosphereResource Initial Suspended's uuid is null when using streaming + POST #537
  • [atmosphere.js] long-polling XDR fails to suspend in IE9 #535
  • streaming transport disconnection event missing #533
  • streaming transport disconnection event missing #532
  • [atmosphere.js] Firefox/IE close tabs not detected #531
  • GlassFish WebSocketListenerEvent not working #530
  • [runtime] Factory should not be destroyed when shared amongst multiple application #527
  • [atmosphere.js] Wrong logic for executeCallbackBeforeReconnect and jsonp/ajaxtransport #526
  • Using multiple AtmosphereInterceptors results in only one being applied #525
  • cloneRequest puts copied session in wrong object on Tomcat 7 #520
  • SessionTimeoutSupport throws Exception if Session does not exists #510

Full Changelog

Closed issues:

  • Occasional GWT server NPE when using IE browser #519
  • exclude resource doesnt work #517
  • [streaming] switch streaming junk from atmosphere to whitespace #516
  • [websocket] Make sure FakeSession is shared amongst message #515
  • AtmosphereRequest.getSession(create) may return null, even if a session exists #513
  • Autoconfigure Service fails when using embedded Jetty #512
  • GWT + GlassFish 3.1.2 + Websockets only #511
  • [atmosphere.js] Add support for jQuery 1.7.2 #509
  • [runtime] WebSocketProcessor must be pluggable to support JSR 356 #508
  • [websocket] Possible memory leak on Tomcat with WebSocket #505
  • Atmosphere Server on Android Compatibility #503
  • org.atmosphere.filter ignored if org.atmosphere.servlet not set #502
  • [gwt] AtmosphereProxy - exponential backoff on reconnect #497
  • [atmosphere.js] Multi Tabs, Multi Window transport sharing #493
  • streaming transport not working in Android 2.2/2.3 browser #400

Full Changelog

Implemented enhancements:

  • each request from the same client returns a different AtmosphereResource #488
  • Default Broadcaster /* should be shareable amongst AtmosphereServlet #487

Closed issues:

  • [gwt] Char sequence "\n" in String messages gets corrupted through PLAIN String serialization in GWT #494
  • [atmosphere.js] AtmosphereRequest.uuid should be the server generated one #492
  • [atmosphere.js] unsubscribe events should invoke onClose function #491
  • sending pure binary data feature please #490
  • [gwt] Glassfish , Refresh page error #486
  • MetaBroadcaster must return a Future instead of a collection #484
  • Add BroadcasterListener support #483
  • Broadcaster.broadcast().get() innacurate #482
  • [jersey] Upgrade to 1.12 #481
  • Content-Type in query string not added as header before passing request to Jersey #480
  • [Spring] java.lang.ClassNotFoundException: > org.atmosphere.cache.HeaderBroadcasterCache #479
  • Redis: jQuery pubsub example wiping out my redis data #477
  • NPE in AtmosphereResponse #475
  • NPE logged when client closes WebSocket #474
  • [atmosphere.js] with long-polling transport _attachHeaders is not called #473
  • GWT posting Date on serialized data gives error on Glassfish 3.1.2 server #472
  • Error in java doc for addAtmosphereResource and removeAtmosphereResource #469
  • Broadcaster#broadcast(event, Set) -> Set may contains null value #467
  • [Tomcat 7.0.28] Comet fallback not working #464
  • Should Server-Sent Event processing include same-origin check? #463
  • Glassfish 3.1.2 atmosphere caching bug #461
  • NullPointerException on Glassfish 3.1.2 log #460
  • FakeHttpSession#copyAttributes doesn't do anything #459
  • Wrong AsyncSupport detected with webSocketSupported = false #457
  • Java Swing and JavaFX integration easy? #456
  • Java Swing and JavaFX integration easy? #455
  • [runtime] SessionSupport must be set to false #454
  • Glassfish 3.1.2 bug on web.xml context-path #453
  • [jaxrs2] Update to last version, fix regression #452
  • [runtime] Glassfish 3.1.2 WebSocket broken #451
  • using broadcaster cache results in reception of nested^3+ ArrayLists #449
  • XML response won't work correctly when using HTTP streaming #427
  • ajaxRequest.onreadystatechange fails when junk packet is chunked #314
  • Issues with using FixedThreadPool for maxProcessingThreads with SharedExecutors set to true #264
  • Can't produce JSONP with Jersey #194

Full Changelog

Closed issues:

  • [documentation] Document onDisconnect/disconnection behaviour #437

Full Changelog

Closed issues:

  • Possible NPE with WebSocket and Jersey #446
  • ClassCastException on broadcaster.addAtmosphereResource() w/ Jersey resource #445
  • MetaBroadcaster.broadcast causes NPE if no AtmosphereResource has been accessed #442
  • [websocket] Default SimpleHttpWebSocketProtocol Content-Type should be text/plain #441
  • [jersey] Content-Type sometimes written twice #439
  • <jquery-atmosphere>Cross domain requests with IE not working #425
  • SuspendResponse not honoring content-type #423
  • AtmosphereFilter content-type not handled correctly #418
  • Time interval between re-connect attempts #415
  • Rest-Chat: message body writer issues using streaming for transport #411

Full Changelog

Closed issues:

  • [regression] Fix for #412 brokes WebSocket InputStream #438
  • java.lang.IllegalStateException: STREAM Exception since 0.9.5 #436
  • NPE session troubles with 0.9.6 and later #431
  • Clarify difference between native websocket and websocket #429
  • Link ... take a look at the WebSocketProtocol documentation #428

Full Changelog

Closed issues:

  • GWT Starting double comet connection #426
  • Fixed a bug where the websocket transport was recreating it's server transport #424
  • TrackMessageSizeFilter and MessageLengthInterceptor incompatibility #421
  • [websocket] Broadcaster set in onOpen lost #420
  • NPE with AtmosphereResource.getSession() #414
  • atm-jquery: FF12 - reconnect issues. #413
  • UTF-8 characters encoding not working #412
  • Large message issues #405
  • [gwt] Add connection sharing between windows #372

Full Changelog

Implemented enhancements:

  • [extra] Add support for CometD support #404
  • [runtime] Add a BroadcastOnPost AtmosphereInterceptor #403
  • [runtime] Add support for automatic suspend/upgrade of AtmosphereResource based on the client protocol #398
  • Write a sample for Atmosphere multi-request / Wicket integration #239

Closed issues:

  • Allow AtmosphereHandler specific interceptors #409
  • AtmosphereInterceptorService's scope issue #408
  • Allow removal of pre-installed AtmosphereInterceptor #406
  • [socketio] Add official documentation, add sample descrition #397
  • [socketio] Change Chat logic to use the same CSS/layout than other chat #396
  • [socketio] SimpleHttpProtocol warning with chat sample #395
  • onMessage signature change dropped generics #391
  • [doc] Things I'd like to see documented #342

Full Changelog

Closed issues:

  • Some wierd code in the wiki examples #390
  • [gwt] NullPointerException on resumeAfterDeath #388
  • [websocket] GlassFish's WebSocket implementation scope issue #386
  • [runtime] Remove Trackable concept and support #385

default/master (2012-05-29)

Full Changelog

Implemented enhancements:

  • [atmosphere.js] Add a specific function for transport failure #382
  • [runtime] Add support for a MetaBroadcaster #381
  • [runtime] Generate an UUID for each AtmosphereResource and add a method to find them #379
  • Enhancement : SSEAtmosphereInterceptor and JSONPAtmosphereInterceptor should be annoted #377
  • [runtime] Add AsyncSupportListener #373
  • NullPointerException when version.properties is not present #346
  • Add support for Annotated Atmosphere's Component #316

Closed issues:

  • broadcasting in IE8 are not getting update after the first broadcast #384
  • broadcasting in IE8 are not getting update after the first broadcast #383
  • Plugin JQuery not compatible with RequireJS #378
  • GWT demo fails in bc32ef6 #375
  • Websocket wierd exceptions on disconnect #371
  • [runtime] Cookies issues #370
  • ClassCastException with Servlet 3.0 onTimeout #368
  • IllegalStateException: No SessionManager even when PROPERTY_SESSION_SUPPORT set to false #367
  • [runtime] Prevent AtmosphereFilter to intercept static resource #366
  • Disconnect Not Called On Tomcat7-Jersey #365
  • [ webSocket.resource() == null ] in the WebSocketHandler.onOpen(WebSocket webSocket) method #364
  • [atmosphere-jersey] forward URL is broken #363
  • AtmosphereRequest may return invalid Session #361
  • [atmosphere.js] Allow disabling Atmosphere's Headers #360
  • Http11NioProtocol on Tomcat: AtmosphereResource's compound with Comet transports #359
  • java.lang.IncompatibleClassChangeError Using WebSockets on Jetty 8.1.3 #358
  • [runtime] URI mapping exception #357
  • broadcasting in IE8 stop working when moving to 0.9.4 #356
  • Error when writing with jetty #354
  • IE8 & jquery.atmosphere.js: JS error if server connection is lost #331
  • [jersey] NPE during Broadcast #323
  • Add full WebSocket support for GWT #237

Full Changelog

Closed issues:

  • Simple long-poll example that doesn't reconnect on timeout #355
  • connection being Close after Suspending - JBossWebCometSupport #353
  • [websocket] WebSocketProtocol#onOpen must be called before dispatch #352
  • [atmosphere.js] Problem with JSESSIONID and GlassFish #351
  • [runtime] AtmosphereRequest/Response Wrapper lack of setRequest/Response #350
  • Jetty and Websocket, warning abotu status code >400 #349
  • NullPointerException from AtmosphereFramework#setBroadcasterFactory #348
  • Undefined variables in jquery.atmosphere.js #347
  • AtmosphereInterceptor should be configurable #344
  • exception using spring mvc with MeteorServlet on jboss 6.1 #343
  • Package jquery.atmosphere.js in a jar #340
  • [runtime] Possible StackOverflow when using AsyncIOWriter and AtmosphereResource.write API #336
  • [runtime] AsyncProtocol should works without the needs of AsyncIOWriter #335
  • [runtime] Mapping Algorithm fail to map /a/x to /a #317
  • [runtime] Add support for auto discovering AtmosphereHandler in library #222

Full Changelog

Closed issues:

  • SerializationException: Too few tokens in RPC request #320

Full Changelog

Closed issues:

  • [runtime] JBossWebCometSupport EOF issue #318

Full Changelog

Implemented enhancements:

  • [websocket] Remove AsyncProtocol API, replace with WebSocketResponseFilter #338
  • [annotation] Add contentType support to the Suspend annotation #329
  • load AtmosphereResourceConfig add a trim #322
  • [websocket] Improve WebSocketHandshakeFilter logic #313
  • [atmosphere.js] Expose the Request to the Response object #312
  • AtmosphereRequest.getSession returns null when session is set #311
  • [atmosphere.js] Reconnect function must always be invoked before reconnect #309
  • [tomcat7] Fix Tomcat + WebSocket + Nio Connector Support #308
  • [runtime] Add support for AtmosphereInterceptor #306
  • [atmosphere.js] Client JS should handle null fallbackTransport #304
  • [runtime] Add support for HTLM5 Server Side Events #302

Closed issues:

  • [atmosphere.js] Add a AtmosphereRequest.reconnect attribute to be set and prevent reconnecting #341
  • [websocket] Expose Binary Write API #339
  • Safari Error when connecting Websockets #337
  • [atmosphere.js] Add "ajax" transport support #334
  • [atmosphere.js] jsonp transport reconnect forever #333
  • Memory leak on Tomcat when websocket endpoint terminated #332
  • 'Original SevletRequest or wrapped original ServletRequest not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1' #330
  • AtmosphereRequest.getParameter should check for isNotNoOps() #327
  • AtmosphereRequest.getParameter should check for isNotNoOps() #326
  • [websocket] WebSocket + Comet issue using the Http11NioProtocol #325
  • [websocket] return a 501 instead of a 202 when WebSocket Handshake fail #324
  • AtmosphereFramework getFiles wrong validation #321
  • SerializationException: Too few tokens in RPC request #319
  • [atmosphere.js] FF 12 breaks WebSocket #315
  • [v0.9.1] error JSON parsing for sample rest-chat #307
  • Tomcat 7.0.27 websocket onClose called every 60 seconds #305
  • Serializer will be ignored in case JersyBroadcaster in in use #303

Full Changelog

Implemented enhancements:

  • [runtime] Expose atmosphere.xml path in AtmosphereFramework #295

Closed issues:

  • [runtime] NettyCometSupport must be detected at the very last #301
  • [runtime] NPE on SessionBroadcasterCache.cache() #300
  • [sample] Add the Tiles/Spring samples #299
  • [Guice] GuiceManagedAtmosphereServlet broken #296
  • WebSocket enabled but implementing different transport protocol #294
  • atmosphere-jquery socket.subscribe() succeeds although server returns 500 #293
  • [websocket][firefox11] Wrong handling of Connection: keep-alive, Upgrade. #292
  • [jgroups] *.xml not added to the jar, default constructor missed breaking @Cluster #290
  • [websocket] [Tomcat] One or more reserved bits are on: reserved1 = 0, reserved2 = 1, reserved3 = 1 #289
  • [websocket] ConcurrentModification Exception when protocol use asyncDispatch(true) #288
  • Tomcat Error: "getWriter() has already been called..." w/ Spring Security, Spring MVC, MeteorServlet #287
  • Add jquery.atmosphere.js connection error handling callbacks #285
  • AtmosphereRequest.getSession returns null when it shouldn't (Spring Security) #284
  • Tomcat7 websocket support blows up with spring security enabled #283
  • [websocket] Basic Authentication? #281
  • [tomcat] Sprint exception with WebSocket #280
  • [atmosphere.js] Firefox Bug: getAllResponseHeaders() returns empty String #273

Full Changelog

Implemented enhancements:

  • [runtime] Add writeOnTimeout API to AtmosphereResource #276
  • [websocket] Add support for suspend(timeout) semantic #275
  • [runtime] Add support for Tomcat WebSocket #195

Closed issues:

  • [websocket] [regression] Safari supports broken #278
  • [atmosphere.js] long-polling issue with jQuery Atmosphere 0.9 RC3 #274
  • [runtime] Deprecate Jetty 7.4.x and 8.0.0 Mx Websocket support #272
  • [runtime] Deprecate WebLogic support. #271
  • Problem with Meteor.resumeOnBroadcast #269
  • IE does not reconnect streaming http connections #268
  • [runtime] Do not send 503 on connection closed detection #267
  • [atmosphere.js] Support connect timeout #266
  • withCredentials support in doRequest #2 #265
  • [performance] Reduce the wrapping of Request #263
  • [jersey][0.9.0.RC2] Not all parameters are applied by pushing with websockit #261
  • [jersey][0.9.0.RC2] The WebSocketProtocol.configure() method is never call if custom WebSocketProtocol is assigned in the web.xml #260
  • [documentation] Need a migration guide for 0.x to 0.9 new API #246

Full Changelog

Implemented enhancements:

  • [atmosphere.js] attachHeaderAsQueryString set to true by default #256
  • [runtime] Rename CometSupport -> AsyncSupport #255
  • [runtime] Improve Broadcaster fluid API #252
  • withCredentials support in doRequest #251
  • [atmosphere.js] [regression] Unable to override reconnect method/data #250
  • [runtime] Add support for CacheMessage ID #248
  • Json data that I pass using atmosphere sometimes is corrupted #200

Closed issues:

  • [Jersey] [0.9.0.RC2] NPE during debugging #259
  • [guice] [regression] Initialization logic broken #258
  • [atmosphere.js] [regression] Re-add $.atmosphere.publish API #257
  • [Jersey] [0.9-SNAPSHOT] NPE #254
  • [runtime] Future returned by Broadcast#broadcast(Object, Set) doesn't block properly on get #253
  • onStateChange not called when client disconnects #247
  • AtmosphereResponse.DummyHttpServletResponse#flushBuffer throws UnsupportedOperationException #245
  • Atmosphere&Jersey: method of PerRequestBroadcastFilter is not called #244
  • Atmosphere&Jersey: interesting behavior with JSON support powered by Jersey #243
  • Atmosphere&Jersey: Problem with using the session #242
  • [runtime] JBoss7 initialization issue #240
  • [websocket] Attributes must not be cleaned when AtmosphereRequest.isDestroyable return true #231
  • [runtime][jetty] Session lost on first request #230
  • [atmosphere.js] Script must survive callback error #210

Full Changelog

Closed issues:

  • Jersey's @HeaderParam no more injected with WebSocket #238
  • [extras] Stop supporting GrizzlyAdapter #236
  • [jersey] Broadcast annotation must respect the writeEntity value #234
  • [runtime] Skip auto-discovering of AtmosphereHandler is already specified #233
  • Null contentType when suspending response #218
  • Jetty8WebSocket - 405 Method Not Allowed #208
  • [jersey] @Singleton fail to initialize #207
  • Cannot instantiate 2 JGroupsFilters w/ default constructor #205

Full Changelog

Closed issues:

  • [regression] [runtime] MeteorServlet Broken #229
  • [regression] [runtime] Some components not loaded by the MeteorServlet #228
  • [atmosphere.js] regression with 0.9: push method should take request as param #226
  • [atmosphere.js] Fires 'opening' event for transport other than Websocket #225
  • [runtime] Add .transport() method to AtmosphereResource #224
  • [websocket] onControl must not be propagated to AtmosphereHandler #223
  • [runtime] Allow WebSocketProtocol to dispatch asynchronously #220
  • [runtime] OSGi - combat bundles - import package optional #219
  • AmosphereServlet mapping and relative @Path? #217
  • Filters defined in the web.xml are not applied to the MeteorServlet #216
  • jquery-pubsub 0.8.6/0.9 first push seems to be incorrect #215
  • [runtime] Make AtmosphereResource API fluid #214
  • [runtime] DefaultBroadcaster must never return null instead of Future #213
  • Atmosphere-meteor bug with IE 9. #209
  • [websocket] Add support for simple WebSocketHandler #206
  • Incorrect Access-Control-Allow-Origin Headers on Credentialed CORS request #204
  • [runtime] Possible deadlock on unsubscribe #188
  • jquery pubsub behaves differently using long-polling and websocket #187

Full Changelog

Full Changelog

Closed issues:

  • [runtime] Tomcat 6 disconnection detection broken #203
  • SCRIPT16389: Unspecified error in 0.8.5 and 0.9 #197
  • [runtime] [api-break] Fix PerRequestFilter dependencies on HttpServlet* classes #193
  • [runtime] Allow multiple instance of the same BroadcastFilter #192
  • undefined 'headers' in jquery.atmosphere.js v0.9 #191
  • [guice, websockets] WebSocketProtocol implementation does not get DI #190
  • [guice, websockets] The ResourceConfig instance does not contain any root resource classes #189
  • [runtime] AtmosphereServlet must throw AtmosphereMappingException instead of SevletException when mapping fail #186
  • [Jersey] Add support for customizable ContainerResponseWriter #183

Full Changelog

Full Changelog

Full Changelog

Full Changelog

Full Changelog

Full Changelog

Full Changelog

Full Changelog

Full Changelog

Full Changelog

Full Changelog

Full Changelog

atmosphere-0.6.5 (2011-02-11)

Full Changelog

atmosphere-0.6.4.GA (2011-02-04)

Full Changelog

atmosphere-0.6.3 (2010-10-08)

Full Changelog

atmosphere-0.6.2 (2010-09-30)

Full Changelog

atmosphere-0.6.1 (2010-07-22)

Full Changelog

atmosphere-0.6 (2010-06-24)

* This Change Log was automatically generated by github_changelog_generator