All Versions
44
Latest Version
Avg Release Cycle
33 days
Latest Release
556 days ago

Changelog History
Page 3

  • v3.1.0 Changes

    January 15, 2021

    ๐Ÿ”‹ Features

    • confirm a weak but matching ETag (#3485) (161091d)
    • esm: export the Namespace and Socket class (#3699) (233650c)
    • โž• add support for Socket.IO v2 clients (9925746)
    • โž• add room events (155fa63)

    ๐Ÿ› Bug Fixes

    • ๐Ÿ‘ allow integers as event names (1c220dd)
  • v3.0.5 Changes

    January 05, 2021

    ๐Ÿ› Bug Fixes

    • โฑ properly clear timeout on connection failure (170b739)

    โช Reverts

    • โช restore the socket middleware functionality (bf54327)
  • v3.0.4 Changes

    December 07, 2020

    ๐Ÿ”— Links:

    • Milestone: -
    • Diff: 3.0.3...3.0.4
    • ๐Ÿš€ Client release: 3.0.4
    • engine.io version: ~4.0.0
    • ws version: ^7.1.2
  • v3.0.3 Changes

    November 19, 2020

    ๐Ÿ”— Links:

    • Milestone: -
    • Diff: 3.0.2...3.0.3
    • ๐Ÿš€ Client release: 3.0.3
    • engine.io version: ~4.0.0
    • ws version: ^7.1.2
  • v3.0.2 Changes

    November 17, 2020

    ๐Ÿ› Bug Fixes

    • ๐Ÿ”€ merge Engine.IO options (43705d7)

    ๐Ÿ”— Links:

    • Milestone: 3.0.2
    • Diff: 3.0.1...3.0.2
    • ๐Ÿš€ Client release: 3.0.2
    • engine.io version: ~4.0.0
    • ws version: ^7.1.2
  • v3.0.1 Changes

    November 09, 2020

    ๐Ÿ› Bug Fixes

    • export ServerOptions and Namespace types (#3684) (f62f180)
    • typings: update the signature of the emit method (50671d9)

    ๐Ÿ”— Links:

    • Milestone: 3.0.1
    • Diff: 3.0.0...3.0.1
    • ๐Ÿš€ Client release: 3.0.1
    • engine.io version: ~4.0.0
    • ws version: ^7.1.2
  • v3.0.0 Changes

    November 05, 2020

    ๐Ÿš€ More details about this release in the blog post: https://socket.io/blog/socket-io-3-release/

    ๐Ÿ“„ Dedicated migration guide: https://socket.io/docs/migrating-from-2-x-to-3-0/

    ๐Ÿ› Bug Fixes

    • close clients with no namespace (91cd255)

    ๐Ÿ”‹ Features

    • emit an Error object upon middleware error (54bf4a4)
    • serve msgpack bundle (aa7574f)
    • โž• add support for catch-all listeners (5c73733)
    • ๐Ÿ”€ make Socket#join() and Socket#leave() synchronous (129c641)
    • โœ‚ remove prod dependency to socket.io-client (7603da7)
    • ๐Ÿšš move binary detection back to the parser (669592d)
    • โž• add ES6 module export (8b6b100)
    • do not reuse the Engine.IO id (2875d2c)
    • โœ‚ remove Server#set() method (029f478)
    • โœ‚ remove Socket#rooms object (1507b41)
    • โœ‚ remove the 'origins' option (a8c0600)
    • โœ‚ remove the implicit connection to the default namespace (3289f7e)
    • throw upon reserved event names (4bd5b23)

    ๐Ÿ’ฅ BREAKING CHANGES

    ๐Ÿ‘€ the Socket#use() method is removed (see 5c73733)

    Socket#join() and Socket#leave() do not accept a callback argument anymore.

    Before:

    socket.join("room1", () =\> {io.to("room1").emit("hello");});
    

    After:

    socket.join("room1");io.to("room1").emit("hello");// or await socket.join("room1"); for custom adapters
    
    • the "connected" map is renamed to "sockets"
    • ๐Ÿšš the Socket#binary() method is removed, as this use case is now covered by the ability to provide your own parser.
    • ๐Ÿšš the 'origins' option is removed

    Before:

    new Server(3000, {origins: ["https://example.com"]});
    

    The 'origins' option was used in the allowRequest method, in order to
    determine whether the request should pass or not. And the Engine.IO
    server would implicitly add the necessary Access-Control-Allow-xxx
    headers.

    After:

    new Server(3000, {cors: {origin: "https://example.com",methods: ["GET", "POST"],allowedHeaders: ["content-type"]}});
    

    The already existing 'allowRequest' option can be used for validation:

    new Server(3000, {allowRequest: (req, callback) =\> {callback(null, req.headers.referer.startsWith("https://example.com"));}});
    

    Socket#rooms is now a Set instead of an object

    Namespace#connected is now a Map instead of an object

    0๏ธโƒฃ there is no more implicit connection to the default namespace:

    // client-sideconst socket = io("/admin");// server-sideio.on("connect", socket =\> {// not triggered anymore})io.use((socket, next) =\> {// not triggered anymore});io.of("/admin").use((socket, next) =\> {// triggered});
    
    • ๐Ÿšš the Server#set() method was removed

    This method was kept for backward-compatibility with pre-1.0 versions.

    ๐Ÿ”— Links:

    • Milestone: 3.0.0
    • Diff: 2.3.0...3.0.0
    • ๐Ÿš€ Client release: 3.0.0
    • engine.io version: ~4.0.0
    • ws version: ^7.1.2
  • v3.0.0-rc4 Changes

    October 30, 2020

    ๐Ÿ”‹ Features

    • emit an Error object upon middleware error (54bf4a4)
    • serve msgpack bundle (aa7574f)

    ๐Ÿ”— Links:

  • v3.0.0-rc3 Changes

    October 26, 2020

    ๐Ÿ”‹ Features

    • โž• add support for catch-all listeners (5c73733)
    • ๐Ÿ”€ make Socket#join() and Socket#leave() synchronous (129c641)
    • โœ‚ remove prod dependency to socket.io-client (7603da7)

    ๐Ÿ’ฅ BREAKING CHANGES

    ๐Ÿ‘€ the Socket#use() method is removed (see 5c73733)

    Socket#join() and Socket#leave() do not accept a callback argument anymore.

    Before:

    socket.join("room1", () =\> {io.to("room1").emit("hello");});
    

    After:

    socket.join("room1");io.to("room1").emit("hello");// or await socket.join("room1"); for custom adapters
    

    ๐Ÿ”— Links:

  • v3.0.0-rc2 Changes

    October 15, 2020

    ๐Ÿ› Bug Fixes

    • close clients with no namespace (91cd255)

    ๐Ÿ”จ Code Refactoring

    • โœ‚ remove duplicate _sockets map (8a5db7f)

    ๐Ÿ”‹ Features

    • ๐Ÿšš move binary detection back to the parser (669592d)

    ๐Ÿ’ฅ BREAKING CHANGES

    • the "connected" map is renamed to "sockets"
    • ๐Ÿšš the Socket#binary() method is removed, as this use case is now covered by the ability to provide your own parser.

    ๐Ÿ”— Links: