Kubernetes is one of the fastest-growing technologies in the industry, and for good reason. Kubernetes provides an isolated and secure app platform for managing containers - ultimately transforming application development and operations for your team or company. You may have heard, or felt, that Kubernetes is complex or hard to learn.Β
Kubefly was born out of a simple idea, explain the concepts of Kubernetes, Istio and cloud native technologies in a fun and visual way. We wanted to help people understand what was going on behind the scenes.
The question was how to visualize the concepts?
The answer was Drones!!
Our team at IBM recently built a demo to teach and demonstrate core Kubernetes concepts using a swarm of flying drones. The drones showcase concepts like pods, replica sets, deployments, and stateful sets.Β Once you apply your Kubernetes Deployment describing an application, you'll see a few drones take off -- each one representing a pod in the deployment. If one of the kubernetes pods is killed, you'll see the drone land, and another will take its place, as Kubernetes' declarative model will always attempt to match the desired state.
If you would like to learn a little more, or see a video of the drones in action, check out our blog.
This project will share the demo code we built and the equipment that we used.
To build the demo we used drones from Bitcraze.io. The drones are Crazyflie 2.0 drones.
These are open source drones that have a rich API and easy to use programming libraries. And the really cool part is that they are extensible with a set of add-on decks. For our demo we used the LED Ring Deck to provide the lights on the bottom of the drones.
To position the drones, we used the Loco Positioning System. LPS is essentially indoor GPS, allowing the drones to fly autonomously. LPS also provides an API to tell the drones an exact coordinate we want them to fly to. .
In our case we actually bought the Swarm Bundle, which provided 10 drones, the Loco Positioning System, and all the parts we needed.
If you want to start small, you can play with a single Crazyflie drone and the Flow Deck. This will allow you to do similar things without the complexity of the full LPS.
Kubefly is made up of two key components, the Drone Controller and the Kubernetes Watcher.
The Drone controller, in the drone-controller folder, is a python program that runs on your laptop and connects via radio link directly to the drones. Drone controller will call the kube-watcher API to receive data about where the drones should be positioned, and then will send commands to the drones based on that data.
The Kubernetes Watcher, in the kube-watcher folder, is a Node.js program that runs locally, on your laptop. It uses the Kubernetes API to connect to a Kubernetes cluster and watches for events such as Pods starting and stopping. Kube-watcher then translates those events into positions for the drones sent to the drone connection. In our case we ran Kubernetes on IBM Cloud using IBM Cloud Kubernetes Service (IKS).
MyApp, in the myapp folder, is a simple demo application you can run on Kubernetes to test things out.
Bumps qs to 6.11.0 and updates ancestor dependency express. These dependencies need to be updated together.
Updates qs
from 6.5.2 to 6.11.0
Sourced from qs's changelog.
6.11.0
- [New] [Fix]
stringify
: revert 0e903c0; addcommaRoundTrip
option (#442)- [readme] fix version badge
6.10.5
- [Fix]
stringify
: witharrayFormat: comma
, properly include an explicit[]
on a single-item array (#434)6.10.4
- [Fix]
stringify
: witharrayFormat: comma
, include an explicit[]
on a single-item array (#441)- [meta] use
npmignore
to autogenerate an npmignore file- [Dev Deps] update
eslint
,@ljharb/eslint-config
,aud
,has-symbol
,object-inspect
,tape
6.10.3
- [Fix]
parse
: ignore__proto__
keys (#428)- [Robustness]
stringify
: avoid relying on a globalundefined
(#427)- [actions] reuse common workflows
- [Dev Deps] update
eslint
,@ljharb/eslint-config
,object-inspect
,tape
6.10.2
- [Fix]
stringify
: actually fix cyclic references (#426)- [Fix]
stringify
: avoid encoding arrayformat comma whenencodeValuesOnly = true
(#424)- [readme] remove travis badge; add github actions/codecov badges; update URLs
- [Docs] add note and links for coercing primitive values (#408)
- [actions] update codecov uploader
- [actions] update workflows
- [Tests] clean up stringify tests slightly
- [Dev Deps] update
eslint
,@ljharb/eslint-config
,aud
,object-inspect
,safe-publish-latest
,tape
6.10.1
- [Fix]
stringify
: avoid exception on repeated object values (#402)6.10.0
- [New]
stringify
: throw on cycles, instead of an infinite loop (#395, #394, #393)- [New]
parse
: addallowSparse
option for collapsing arrays with missing indices (#312)- [meta] fix README.md (#399)
- [meta] only run
npm run dist
in publish, not install- [Dev Deps] update
eslint
,@ljharb/eslint-config
,aud
,has-symbols
,tape
- [Tests] fix tests on node v0.6
- [Tests] use
ljharb/actions/node/install
instead ofljharb/actions/node/run
- [Tests] Revert "[meta] ignore eclint transitive audit warning"
6.9.7
- [Fix]
parse
: ignore__proto__
keys (#428)- [Fix]
stringify
: avoid encoding arrayformat comma whenencodeValuesOnly = true
(#424)- [Robustness]
stringify
: avoid relying on a globalundefined
(#427)- [readme] remove travis badge; add github actions/codecov badges; update URLs
- [Docs] add note and links for coercing primitive values (#408)
- [Tests] clean up stringify tests slightly
- [meta] fix README.md (#399)
- Revert "[meta] ignore eclint transitive audit warning"
... (truncated)
56763c1
v6.11.0ddd3e29
[readme] fix version badgec313472
[New] [Fix] stringify
: revert 0e903c0; add commaRoundTrip
option95bc018
v6.10.50e903c0
[Fix] stringify
: with arrayFormat: comma
, properly include an explicit `[...ba9703c
v6.10.44e44019
[Fix] stringify
: with arrayFormat: comma
, include an explicit []
on a s...113b990
[Dev Deps] update object-inspect
c77f38f
[Dev Deps] update eslint
, @ljharb/eslint-config
, aud
, has-symbol
, tape
2cf45b2
[meta] use npmignore
to autogenerate an npmignore fileUpdates express
from 4.16.4 to 4.18.2
Sourced from express's releases.
4.18.2
- Fix regression routing a large stack in a single route
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- deps: [email protected]
4.18.1
- Fix hanging on large stack of sync routes
4.18.0
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error- deps: [email protected]
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
priority
option- Fix
expires
option to reject invalid dates- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor- Use instance methods on
process
to check for listeners- deps: [email protected]
- Remove set content headers that break response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Prevent loss of async hooks context
- deps: [email protected]
- deps: [email protected]
- Fix emitted 416 error missing headers property
- Limit the headers removed for 304 response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
... (truncated)
Sourced from express's changelog.
4.18.2 / 2022-10-08
- Fix regression routing a large stack in a single route
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- deps: [email protected]
4.18.1 / 2022-04-29
- Fix hanging on large stack of sync routes
4.18.0 / 2022-04-25
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error- deps: [email protected]
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
priority
option- Fix
expires
option to reject invalid dates- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor- Use instance methods on
process
to check for listeners- deps: [email protected]
- Remove set content headers that break response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Prevent loss of async hooks context
- deps: [email protected]
- deps: [email protected]
... (truncated)
8368dc1
4.18.261f4049
docs: replace Freenode with Libera Chatbb7907b
build: [email protected]f56ce73
build: [email protected]24b3dc5
deps: [email protected]689d175
deps: [email protected]340be0f
build: [email protected]33e8dc3
docs: use Node.js name style644f646
build: [email protected]ecd7572
build: [email protected]Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps express from 4.16.4 to 4.17.3.
Sourced from express's releases.
4.17.3
- deps: [email protected]~1.3.8
- deps: [email protected]~2.1.34
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Fix handling of
__proto__
keys- pref: remove unnecessary regexp for trust proxy
4.17.2
- Fix handling of
undefined
inres.jsonp
- Fix handling of
undefined
when"json escape"
is enabled- Fix incorrect middleware execution with unanchored
RegExp
s- Fix
res.jsonp(obj, status)
deprecation message- Fix typo in
res.is
JSDoc- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]~1.6.18
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Fix
maxAge
option to reject invalid values- deps: [email protected]~2.0.7
- Use
req.socket
over deprecatedreq.connection
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- pref: ignore empty http tokens
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
4.17.1
- Revert "Improve error message for
null
/undefined
tores.status
"4.17.0
- Add
express.raw
to parse bodies intoBuffer
- Add
express.text
to parse bodies into string
... (truncated)
Sourced from express's changelog.
4.17.3 / 2022-02-16
- deps: [email protected]~1.3.8
- deps: [email protected]~2.1.34
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Fix handling of
__proto__
keys- pref: remove unnecessary regexp for trust proxy
4.17.2 / 2021-12-16
- Fix handling of
undefined
inres.jsonp
- Fix handling of
undefined
when"json escape"
is enabled- Fix incorrect middleware execution with unanchored
RegExp
s- Fix
res.jsonp(obj, status)
deprecation message- Fix typo in
res.is
JSDoc- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]~1.6.18
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Fix
maxAge
option to reject invalid values- deps: [email protected]~2.0.7
- Use
req.socket
over deprecatedreq.connection
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- pref: ignore empty http tokens
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
4.17.1 / 2019-05-25
... (truncated)
3d7fce5
4.17.3f906371
build: update example dependencies6381bc6
deps: [email protected]a007863
deps: [email protected]e98f584
Revert "build: use [email protected] for Node.js < 4"a659137
tests: use strict modea39e409
tests: prevent leaking changes to NODE_ENV82de4de
examples: fix path traversal in downloads example12310c5
build: use nyc for test coverage884657d
examples: remove bitwise syntax for includes checkDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps qs to 6.5.3 and updates ancestor dependency express. These dependencies need to be updated together.
Updates qs
from 6.5.2 to 6.5.3
Sourced from qs's changelog.
6.5.3
- [Fix]
parse
: ignore__proto__
keys (#428)- [Fix]
utils.merge
: avoid a crash with a null target and a truthy non-array source- [Fix] correctly parse nested arrays
- [Fix]
stringify
: fix a crash withstrictNullHandling
and a customfilter
/serializeDate
(#279)- [Fix]
utils
:merge
: fix crash whensource
is a truthy primitive & no options are provided- [Fix] when
parseArrays
is false, properly handle keys ending in[]
- [Fix] fix for an impossible situation: when the formatter is called with a non-string value
- [Fix]
utils.merge
: avoid a crash with a null target and an array source- [Refactor]
utils
: reduce observable [[Get]]s- [Refactor] use cached
Array.isArray
- [Refactor]
stringify
: Avoid arr = arr.concat(...), push to the existing instance (#269)- [Refactor]
parse
: only need to reassign the var once- [Robustness]
stringify
: avoid relying on a globalundefined
(#427)- [readme] remove travis badge; add github actions/codecov badges; update URLs
- [Docs] Clean up license text so itβs properly detected as BSD-3-Clause
- [Docs] Clarify the need for "arrayLimit" option
- [meta] fix README.md (#399)
- [meta] add FUNDING.yml
- [actions] backport actions from main
- [Tests] always use
String(x)
overx.toString()
- [Tests] remove nonexistent tape option
- [Dev Deps] backport from main
298bfa5
v6.5.3ed0f5dc
[Fix] parse
: ignore __proto__
keys (#428)691e739
[Robustness] stringify
: avoid relying on a global undefined
(#427)1072d57
[readme] remove travis badge; add github actions/codecov badges; update URLs12ac1c4
[meta] fix README.md (#399)0338716
[actions] backport actions from main5639c20
Clean up license text so itβs properly detected as BSD-3-Clause51b8a0b
add FUNDING.yml45f6759
[Fix] fix for an impossible situation: when the formatter is called with a no...f814a7f
[Dev Deps] backport from mainUpdates express
from 4.16.4 to 4.18.2
Sourced from express's releases.
4.18.2
- Fix regression routing a large stack in a single route
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- deps: [email protected]
4.18.1
- Fix hanging on large stack of sync routes
4.18.0
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error- deps: [email protected]
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
priority
option- Fix
expires
option to reject invalid dates- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor- Use instance methods on
process
to check for listeners- deps: [email protected]
- Remove set content headers that break response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Prevent loss of async hooks context
- deps: [email protected]
- deps: [email protected]
- Fix emitted 416 error missing headers property
- Limit the headers removed for 304 response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
... (truncated)
Sourced from express's changelog.
4.18.2 / 2022-10-08
- Fix regression routing a large stack in a single route
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- deps: [email protected]
4.18.1 / 2022-04-29
- Fix hanging on large stack of sync routes
4.18.0 / 2022-04-25
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error- deps: [email protected]
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
priority
option- Fix
expires
option to reject invalid dates- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor- Use instance methods on
process
to check for listeners- deps: [email protected]
- Remove set content headers that break response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Prevent loss of async hooks context
- deps: [email protected]
- deps: [email protected]
... (truncated)
8368dc1
4.18.261f4049
docs: replace Freenode with Libera Chatbb7907b
build: [email protected]f56ce73
build: [email protected]24b3dc5
deps: [email protected]689d175
deps: [email protected]340be0f
build: [email protected]33e8dc3
docs: use Node.js name style644f646
build: [email protected]ecd7572
build: [email protected]Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps certifi from 2019.9.11 to 2022.12.7.
9e9e840
2022.12.07b81bdb2
2022.09.24939a28f
2022.09.14aca828a
2022.06.15.2de0eae1
Only use importlib.resources's new files() / Traversable API on Python β₯3.11 ...b8eb5e9
2022.06.15.147fb7ab
Fix deprecation warning on Python 3.11 (#199)b0b48e0
fixes #198 -- update link in license9d514b4
2022.06.154151e88
Add py.typed to MANIFEST.in to package in sdist (#196)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps decode-uri-component from 0.2.0 to 0.2.2.
Sourced from decode-uri-component's releases.
v0.2.2
- Prevent overwriting previously decoded tokens 980e0bf
https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2
v0.2.1
- Switch to GitHub workflows 76abc93
- Fix issue where decode throws - fixes #6 746ca5d
- Update license (#1) 486d7e2
- Tidelift tasks a650457
- Meta tweaks 66e1c28
https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps engine.io to 3.6.1 and updates ancestor dependency socket.io. These dependencies need to be updated together.
Updates engine.io
from 3.5.0 to 3.6.1
Sourced from engine.io's releases.
3.6.1
:warning: This release contains an important security fix :warning:
A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:
Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:209:20) Emitted 'error' event on Socket instance at: at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:80:21) { errno: -104, code: 'ECONNRESET', syscall: 'read' }
Please upgrade as soon as possible.
Bug Fixes
- catch errors when destroying invalid upgrades (83c4071)
3.6.0
Bug Fixes
- add extension in the package.json main entry (#608) (3ad0567)
- do not reset the ping timer after upgrade (1f5d469)
Features
- decrease the default value of maxHttpBufferSize (58e274c)
This change reduces the default value from 100 mb to a more sane 1 mb.
This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.
See also: https://github.com/advisories/GHSA-j4f2-536g-r55m
- increase the default value of pingTimeout (f55a79a)
Links
- Diff: https://github.com/socketio/engine.io/compare/3.5.0...3.6.0
- Client release: -
... (truncated)
Sourced from engine.io's changelog.
3.6.1 (2022-11-20)
:warning: This release contains an important security fix :warning:
A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:
Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:209:20) Emitted 'error' event on Socket instance at: at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:80:21) { errno: -104, code: 'ECONNRESET', syscall: 'read' }
Please upgrade as soon as possible.
Bug Fixes
- catch errors when destroying invalid upgrades (83c4071)
6.2.1 (2022-11-20)
:warning: This release contains an important security fix :warning:
A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:
Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:209:20) Emitted 'error' event on Socket instance at: at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:80:21) { errno: -104, code: 'ECONNRESET', syscall: 'read' }
Please upgrade as soon as possible.
Bug Fixes
... (truncated)
67a3a87
chore(release): 3.6.183c4071
fix: catch errors when destroying invalid upgradesf62f265
chore(release): 3.6.0f55a79a
feat: increase the default value of pingTimeout1f5d469
fix: do not reset the ping timer after upgrade3ad0567
fix: add extension in the package.json main entry (#608)58e274c
feat: decrease the default value of maxHttpBufferSizeUpdates socket.io
from 2.4.0 to 2.5.0
Sourced from socket.io's releases.
2.5.0
:warning: WARNING :warning:
The default value of the
maxHttpBufferSize
option has been decreased from 100 MB to 1 MB, in order to prevent attacks by denial of service.Security advisory: https://github.com/advisories/GHSA-j4f2-536g-r55m
Bug Fixes
- fix race condition in dynamic namespaces (05e1278)
- ignore packet received after disconnection (22d4bdf)
- only set 'connected' to true after middleware execution (226cc16)
- prevent the socket from joining a room after disconnection (f223178)
Links:
- Diff: https://github.com/socketio/socket.io/compare/2.4.1...2.5.0
- Client release: 2.5.0
- engine.io version:
~3.6.0
(diff)- ws version:
~7.4.2
2.4.1
This release reverts the breaking change introduced in
2.4.0
(https://github.com/socketio/socket.io/commit/f78a575f66ab693c3ea96ea88429ddb1a44c86c7).If you are using Socket.IO v2, you should explicitly allow/disallow cross-origin requests:
- without CORS (server and client are served from the same domain):
const io = require("socket.io")(httpServer, { allowRequest: (req, callback) => { callback(null, req.headers.origin === undefined); // cross-origin requests will not be allowed } });
- with CORS (server and client are served from distinct domains):
io.origins(["http://localhost:3000"]); // for local development io.origins(["https://example.com"]);
In any case, please consider upgrading to Socket.IO v3, where this security issue is now fixed (CORS is disabled by default).
Reverts
- fix(security): do not allow all origins by default (a169050)
Links:
... (truncated)
Sourced from socket.io's changelog.
2.5.0 (2022-06-26)
Bug Fixes
- fix race condition in dynamic namespaces (05e1278)
- ignore packet received after disconnection (22d4bdf)
- only set 'connected' to true after middleware execution (226cc16)
- prevent the socket from joining a room after disconnection (f223178)
4.5.1 (2022-05-17)
Bug Fixes
- forward the local flag to the adapter when using fetchSockets() (30430f0)
- typings: add HTTPS server to accepted types (#4351) (9b43c91)
4.5.0 (2022-04-23)
Bug Fixes
Features
- add support for catch-all listeners for outgoing packets (531104d)
This is similar to
onAny()
, but for outgoing packets.Syntax:
socket.onAnyOutgoing((event, ...args) => { console.log(event); });
- broadcast and expect multiple acks (8b20457)
Syntax:
io.timeout(1000).emit("some-event", (err, responses) => { </tr></table>
... (truncated)
baa6804
chore(release): 2.5.0f223178
fix: prevent the socket from joining a room after disconnection226cc16
fix: only set 'connected' to true after middleware execution05e1278
fix: fix race condition in dynamic namespaces22d4bdf
fix: ignore packet received after disconnectiondfded53
chore: update engine.io version to 3.6.0e6b8697
chore(release): 2.4.1a169050
revert: fix(security): do not allow all origins by defaultDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.