anchor.diff:  * `boolean BayeuxServer.removeSession(ServerSession session)`
   * `void ClientSession.remoteCall(String target, Object data, MessageListener callback)`
   
  -=== JavaScript Implementation Changes
  -
  -The JavaScript implementation now supports two more bindings, for
  -https://angularjs.org/[Angular 1] (Angular 2 not supported yet)
  -and for _vanilla_ JavaScript (i.e. plain JavaScript without frameworks or
  -other libraries).
  -
  -The JavaScript implementation is now available via https://www.npmjs.com/[NPM]
  -and https://bower.io/[Bower], and compatible with both CommonJS modules and
  -AMD modules.
  +==== JavaScript Implementation Changes
  +
  +The JavaScript implementation now supports two more bindings, for https://angularjs.org/[Angular 1] (Angular 2 not supported yet) and for _vanilla_ JavaScript (i.e. plain JavaScript without frameworks or other libraries).
  +
  +The JavaScript implementation is now available via https://www.npmjs.com/[NPM] and https://bower.io/[Bower], and compatible with both CommonJS modules and AMD modules.
   
   The location of the JavaScript files has changed when explicitly referenced.
  -For applications built with Maven using the overlay WARs, the JavaScript files
  -location has changed:
  +For applications built with Maven using the overlay WARs, the JavaScript files location has changed:
   
   [cols="1a,1a", options="header"]
   |===
  
positive.code: 
  Package names did not change.
  
  [cols="1,1", options="header"]
  |===
  | CometD 2 | CometD 3
  | CometdServlet | CometDServlet
  | AnnotationCometdServlet | AnnotationCometDServlet
  |===
  
  NOTE: Pay attention to the capital `D' of Comet**D**
  
negative.code: 
  ==== Deprecated API Removed
  
  In `OortMap` and `OortList`, a number of deprecated (since 3.0.x) blocking APIs have been removed. Use the non-blocking variant of the same APIs.
  
  [cols="1,1", options="header"]
  |===
  | CometD 3.1.x | CometD 4.0.x
  | OortMap.putAndShare(K key, V value) | OortMap.putAndShare(K key, V value, Result<V> callback)
  | OortMap.putIfAbsentAndShare(K key, V value) | OortMap.putIfAbsentAndShare(K key, V value, Result<V> callback)
  | OortMap.removeAndShare(K key) | OortMap.removeAndShare(K key, Result<V> callback)
  