Skip to content

Commit 4b930f7

Browse files
committed
[docs] Readme
1 parent eee2100 commit 4b930f7

1 file changed

Lines changed: 28 additions & 17 deletions

File tree

site/guides/15_releases.md

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,29 @@ adding new features.
1212

1313
The most notable changes for users are:
1414

15-
- The package distribution only includes ESM packages.
16-
- React 19 is now expected as a peer dependency for UI components.
15+
- The package distribution only includes modern ESM packages (both minified and
16+
non-minified).
17+
- React 19 is now compatible as an optional peer dependency.
1718
- The tools module and TinyBase CLI have been removed.
1819

19-
As a result of these, there have been some knock-on effects to the project as a
20-
whole. For example, React 19 is used as a developer dependency for the project
21-
and so the test suite has been updated to use `react-testing-library` instead
22-
of `react-test-renderer`. The React `jsx-runtime` is used for JSX
23-
transformations. And the demos (and CodePen examples) have been updated to use
24-
an `importmap` mapping the modules to the [esm.sh](https://esm.sh/) CDN.
20+
If you have been using CJS or UMD packages, you will need to update your
21+
bundling strategy for TinyBase (in the same way that you will have had to have
22+
done for React 19, for example) but this change should be compatible with most
23+
packaging tools. If you had been using the library directly a browser, you
24+
should consider the [esm.sh](https://esm.sh/) CDN, as we have for our demos.
2525

26-
Please let us know how these changes find you!
26+
As a result of these changes, there have been some additional knock-on effects
27+
to the project and developer infrastructure as a whole. For example:
28+
29+
- The test suite has been updated to use `react-testing-library` instead of
30+
`react-test-renderer`.
31+
- The React `jsx-runtime` is used for JSX transformations.
32+
- Demos (and CodePen examples) have been updated to use an `importmap` mapping
33+
the modules to the [esm.sh](https://esm.sh/) CDN.
34+
- ESLint has finally been upgraded to v9.
35+
36+
Please let us know how these changes find you, and please file an issue on
37+
GitHub if you need help adapting to any of them.
2738

2839
# v5.4
2940

@@ -307,8 +318,8 @@ issues in a development environment.
307318

308319
# v5.0
309320

310-
We're excited to announce this major release for TinyBase! It includes
311-
important data synchronization functionality and a range of other improvements.
321+
We're excited to announce this major release for TinyBase! It includes important
322+
data synchronization functionality and a range of other improvements.
312323

313324
# In Summary
314325

@@ -329,10 +340,10 @@ Let's look at the major functionality in more detail!
329340

330341
## The New MergeableStore Type
331342

332-
A key part of TinyBase v5.0 is the new mergeable-store module, which contains
333-
a subtype of Store - called MergeableStore - that can be merged with another
334-
with deterministic results. The implementation uses an encoded hybrid logical
335-
clock (HLC) to timestamp the changes made so that they can be cleanly merged.
343+
A key part of TinyBase v5.0 is the new mergeable-store module, which contains a
344+
subtype of Store - called MergeableStore - that can be merged with another with
345+
deterministic results. The implementation uses an encoded hybrid logical clock
346+
(HLC) to timestamp the changes made so that they can be cleanly merged.
336347

337348
The getMergeableContent method on a MergeableStore is used to get the state of a
338349
store that can be merged into another. The applyMergeableChanges method will let
@@ -355,8 +366,8 @@ console.log(localStore2.getContent());
355366
// -> [{pets: {felix: {species: 'cat'}, fido: {species: 'dog'}}}, {}]
356367
```
357368

358-
Please read the new Using A MergeableStore guide for more details of how to
359-
use this important new API.
369+
Please read the new Using A MergeableStore guide for more details of how to use
370+
this important new API.
360371

361372
A MergeableStore can be persisted locally, just like a regular Store into file,
362373
local and session storage, and simple SQLite environments such as Expo and

0 commit comments

Comments
 (0)