This project adheres to Semantic Versioning.
- Fixed types.
- Added
loadValue()
. - Added
ensureLoaded()
helper for tests. - Added
connect
argument toClient#start
. - Added key support in
encryptActions
(by @nichoth). - Added Nano Stores 0.10 support.
- Added
SyncMapStore#deleted
. - Added
LoadedValue
type to exports. - Fixed support of local
SyncMap
. - Removed Node.js 16 support.
- Fixed double subscription on
createFilter
(by Eduard Aksamitov).
- Moved to Nano Stores 0.9.
- Refactored Vue composables to improve performance (by Eduard Aksamitov).
- Fixed loss of unsubscribes on changing arguments in Vue (by Eduard Aksamitov).
- Fixed errors handler in Vue (by Eduard Aksamitov).
- Removed Node.js 14 support.
- Moved to Nano Stores 0.8.
- Faster leader election with Web Lock API.
- Fixed types (by Slava Mostovoy).
- Fixed Nano Stores peer dependency.
- Fixed
subscribe.since
for single offlineSyncMap
(by Nikita Galaiko). - Moved to Nano Stores 0.7.
- Fixed
subscribe.since
for offlineSyncMap
(by Nikita Galaiko).
- Moved to Logux Core 0.8.
- Moved to Nano Stores 0.6.
- Removed Node.js 12 support.
- Add
logux/unsubscribe
processing in offline. - Fixed race condition on resubscribe on
sending
state (by Tyler Han).
- Fixed React types (by Wojciech Grzebieniowski).
- Cleaned peer dependencies (by Yuri Mikhin).
- Fixed value object mutation in
createSyncMap
andbuildSyncMap
. - Fixed
ErrorsContext
export.
- Added
Client#type(actionCreator, cb)
support. - Added color highlight for new action and
logux/undo
events inlog()
.
- Moved to new default version of Vue 3 (by Eduard Aksamitov).
- Fixed missing store updates in React and Preact (by Aleksandr Slepchenkov).
- Fixed Vue
useFilter()
working with reactive filter (by Eduard Aksamitov). - Improved Vue
useFilter()
performance (by Eduard Aksamitov). - Improved Vue
useSync()
performance (by Eduard Aksamitov).
- Fixed logger for clean events (by Aleksandr Slepchenkov).
- Updated
@nanostores/vue
.
- Updated
@nanostores/vue
.
- Moved to Nano Stores Vue 0.2 (by Eduard Aksamitov).
- Reduced package size.
- Renamed
defineSyncMap()
tosyncMapTemplate()
. - Moved to Nano Stores 0.5.
- Added
AuthStore#loading
(by Eduard Aksamitov).
- Replaced
colorette
withnanocolors
.
- Throw an error on missed client in
useClient()
(by Aleksandr Slepchenkov).
- Fixed Preact export (by Phil Schaffarzyk).
- Moved to Nano Stores 0.4.
- Added Nano Stores effects to
SyncMap
andFilter
.
- Moved to React own batching.
- Fixed
useAuth()
.
- Moved from
@logux/state
tonanostores
. - Added Preact support.
- Added
filter
support toTestServer
(by Aleksandr Slepchenkov). - Fixed docs (by Eduard Aksamitov).
- Added
badge/styles
export (by @TrentWest7190).
- Added
@logux/state
peer dependency. - Added
SyncMap
. - Added
Filter
. - Added
prepareForTest
forSyncMap
. - Added React helpers for
SyncMap
. - Added Vue.js helpers for
SyncMap
(by Eduard Aksamitov). - Fixed
TestServer
error text (by Aleksandr Slepchenkov).
- Moved project to ESM-only type. Applications must use ESM too.
- Dropped Node.js 10 support.
- Added
Client#sync()
. - Added
track()
. - Added
Client#type()
. - Added action encryption.
- Added
request()
. - Added
TestServer#sendAll()
. - Added
logux/subscribed
support tolog()
. - Fixed
IndexedStore
withPromise
. - Fixed
TextClient#sent
by adding small delay. - Fixed types performance by replacing
type
tointerface
.
- Fix
changeUser()
for cross-tab client case (by Sergey Korolev).
- Fix log messages (by Eduard Aksamitov).
- Replace
chalk
withcolorette
.
- Improve log messages for subscribing.
- Use Logux Core 0.6 and WebSocket Protocol 4.
- Add
CrossTabClient#waitFor()
. - Add
user
event. - Improve
log()
output with collapsed groups. - Show offline in the badge from the beginning.
- Fix
Client#changeUser()
.
- Remove
global
fromIndexedStore
(by Neville Franks).
- Fix
log()
forlogux/unsubscribe
actions.
- Update log’s node ID on
Client#changeUser()
call.
- Remove support of old servers.
- Fix node ID generation in
Client#changeUser()
.
- Use Logux Core 0.5 and WebSocket Protocol 3.
- Rename
credentials
option totoken
. - User ID must be always a string without
:
. - Token must be a string.
- Add
Client#changeUser()
method. - Add support for dynamic tokens.
- Add ES modules support.
- Add TypeScript definitions.
- Move API docs from JSDoc to TypeDoc.
- Mark package as side effect free.
- Do not synchronize event cleaning between tabs.
- Ask to update page receiving bigger
subprocol
from another tab. - Disable cross-tab communication on
localStorage
error. - Fix falling on empty
userId
(by @Abdubek).
- Fix React Native and React Server-Side Rendering support (by Can Rau).
- Fix compatibility with Logux Server 0.4.
- Rename
Client#id
toClient#tabId
. - Trim re-send meta keys (
users
,channels
) during synchronization.
- Add
Client#on
method to unify API withCrossTabClient
. - Add
preadd
event as alias toclient.log.on('preadd', cb)
. - Improve docs (by Paul Chavard).
- Fix multiple resubscriptions.
- Fix log message for
logux/processed
orlogux/undo
.
- Keep
sync: true
actions in the log untillogux/processed
orlogux/undo
. - Add resubscribe action only after origin action was processed.
- Update dependencies.
- Rename project from
logux-client
to@logux/client
. - Merge with
logux-status
. - Use
MemoryStore
by default. - Use Logux Core 0.3.
- Wait for
logux/processed
before switching tosynchronized
state. - Add
Client#clientId
. - Add
action.since
tologux/subscribe
action. - Add
ignoreActions
tolog()
. - Combine add/clean messages in
log()
. - Remove Promise fix for old Firefox.
- Track subscription counts.
- Clean up code (by Dimitri Nicolas).
- Fix cross-tab
add
event withMemoryStore
.
- Fix
MemoryStore
support in cross-tab client.
- Fix subscription after offline.
- Allow to work with missed
extra.lastSynced
.
- Fix
logux/unsubscribe
detection. - Subscribe again only in
connected
state. - Allow to have
:
in user ID. - Allow to use client without
window
.
- Fix follower tab’s actions synchronization.
- Fix
Promise
implementation inIndexedStore
.
- Fix
IndexedStore
in Firefox.
- Fix subscription to same channel twice.
- Sort correctly actions with same
time
. - Fix race condition between uniqueness check and add.
- Use Logux Protocol 2.
- Use Logux Core 0.2 and Logux Sync 0.2.
- Send actions with
meta.sync
only. - Add
logux/subscribe
andlogux/unsubscribe
support. - Replace
localStorage
toIndexedDB
in the store (by Alexey Gaziev). - Add mandatory
userId
option. - Use Nano ID for node ID.
- Add cross-tab communication with leader tab election.
- Add
meta.tab
support. - Add
debug
message support (by Roman Fursov). - Add production non-secure protocol warning (by Hanna Stoliar).
- Add
Add Client#clean
method. - Set
meta.subprotocol
. - Move store tests to separated project (by Konstantin Mamaev).
- Fix docs (by Grigoriy Beziuk and Vladimir Dementyev).
- Clean up code (by Evgeny Rodionov).
- Initial release.