- CHANGE do not emit messages that have been existed before the channel was created.
- ADD support for the Deno runtime
- REPLACE
new Date().getTime()
withDate.now()
which is faster
- Add
sideEffects: false
- FIX import of
p-queue
throwsis not a constructor
- REFACTOR check for native method #1157
- FIX hasLeader() is mixing up states
- Use Web Locks API for leader election if possible.
LeaderElector.hasLeader
is now a function that returns aPromise<boolean>
.
- FIX exports order
- FIX typings did not work with
"moduleResolution": "NodeNext"
- Updated dependencies
- Updated dependencies
- FIX fix(indexedDB): Can't start a transaction on a closed database #1042 nabigraphics
- REMOVE the
isNode
utility function so that we do not access theprocess
variable in browsers.
- Rerelase because npm got stuck
- Remove
microtime
dependency https://github.com/pubkey/broadcast-channel/pull/1036 jaredperreault-okta
- Updated dependencies.
- FIX ES module for Node.js #972
- FIX ES module for Node.js Thanks denysoblohin-okta
- Replaced
nano-time
withmicrotime
. - Improve IndexedDB method performance.
- Improve error message when calling
postMessage
to a closed channel.
Bugfixes:
- When listening to messages directly, responses that where send directly after
addEventListener()
where missing because of inaccurate JavaScript timing.
Changes:
- Better determine the correct
responseTime
to use to make it less likely to elect duplicate leaders.
Bugfixes:
- Remove useless log at leader election fallback interval.
Bugfixes:
- Prevent
EMFILE, too many open files
error when writing many messages at once.
Other:
- Added
broadcastChannel.id()
for debugging
Bugfixes:
- Refactor
applyOnce()
queue to ensure we do not run more often then needed.
Bugfixes:
- Running
applyOnce()
in a loop must not fully block the JavaScript process.
Other:
- Replaced
js-sha
with node'scrypto
module.
Bugfixes:
- Fixed broken promise rejection.
Features:
- Added
LeaderElector.hasLeader
- Added
LeaderElector.broadcastChannel
Bugfixes:
- Fixed Webpack 5 Relative Import Support. Thanks catrielmuller
Bugfixes:
Other:
Other:
- Moved
ObliviousSet
into its own npm module
Features:
- Added
BroadcastChannel.isClosed
#544
Other:
- Updated dependencies to work with newer node versions
Bugfixes:
- Fixed broken typings
Bugfixes:
BroadcastChannel.close()
waits for all ongoing message sending to be finished before resolving.
Features:
- Added
LeaderElector.onduplicate
Bugfixes:
- fix cursor error in Safari #420
Bugfixes:
new BroadcastChannel().close()
should not resolve before all cleanup is done #348