You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: new JSONSchema, and shortcuts and auto-inference for basic types
* feat: disallow null or undefined in setItem
* feat: allow custom indexeddb database and store names (#78)
* feat: better error management and move idb fallback to main service
* internal: reduce surface api
* fix: stringify all keys for interoperability
* fix: better error management
* feat: new getItem() signature (#79)
* fix: catch stringify error
* fix: catch quota error on localStorage setItem
* fix: catch missing store error
* fix: remove getUnsafeItem()
* feat: new IDB storing behavior with no wrapping (#82)
* feat: new prefix token for interop
* feat: removeItem when storing null or undefined (#93)
* feat: remove xSubscribe() methods (#96)
* feat: separate localStorage and Map APIs (#100)
* feat: iterating keys()
* fix: deprecate xSubscribe
* feat: rxjs 6.4 as minimum
* fix: use openKeyCursor() when possible for perf
* feat: schema option in set()
* fix: throw when storing data that can't be serialized in localStorage (#104)
* feat: engine and database info + opt-in for unwraped values in idb + new options system (#107)
* fix: new interface for new options system
* fix: test and doc about blob refused in idb in safari private
Copy file name to clipboardExpand all lines: CHANGELOG.md
+59-12Lines changed: 59 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,62 @@
2
2
3
3
This lib is fully documented and so you'll find detailed [migration guides](./MIGRATION.md).
4
4
5
-
## 8.0.0-beta.x
5
+
## 8.0.0-beta.13 (2019-05-27)
6
6
7
-
v8 development is tracked in [#76](https://github.com/cyrilletuzi/angular-async-local-storage/pull/76).
7
+
**A [full migration guide to version 8](./docs/MIGRATION_TO_V8.md) is available.**
8
8
9
-
This will be an important release so **beta testers are very welcomed.**
9
+
### Angular 8
10
+
11
+
v8 requires Angular 8.
12
+
13
+
### Feature: new `StorageMap` service
14
+
15
+
See the [general documentation](./README.md).
16
+
17
+
### Feature: validation is much easier!
18
+
19
+
- The schema used for validation can (and should) be passed directly as the second argument of `getItem()`
20
+
- The returned type of `getItem()` is now inferred for basic types (`string`, `number`, `boolean`) and arrays of basic types (`string[]`, `number[]`, `boolean[]`)
21
+
- Just use the new `JSONSchema` interface, IntelliSense will adjust itself based on the `type` option
22
+
23
+
See the new [validation guide](./docs/VALIDATION.md).
24
+
25
+
### Full review
26
+
27
+
This lib started as a little project and is now the first Angular library used for local storage.
28
+
It was time to do a full review and refactoring, which results in:
29
+
30
+
- Better error management (see [README](./README.md#errors))
31
+
- Better documentation
32
+
- Better overall code (= easier to contribute)
33
+
34
+
### Other features
35
+
36
+
-`indexedDB` database and object store names default values are exported and can be changed
37
+
(see the [interoperability guide](./docs/INTEROPERABILITY.md))
38
+
- When trying to store `null` or `undefined`, `removeItem()` instead of just bypassing (meaning the old value was kept)
39
+
40
+
### Breaking changes
41
+
42
+
-**`type` now required for array, object, const and enum validation schemas**
43
+
-`JSONSchemaNull` removed (useless, `null` doesn't require any validation)
44
+
-`JSONSchema` no longer accepts extra properties
45
+
-`getUnsafeItem()` is removed (was already deprecated in v7)
46
+
47
+
### Future breaking changes
48
+
49
+
-`.has()`, `.keys()` and `.size` are deprecated in `LocalStorage`. They will be removed in v9. They moved to the new `StorageMap` service.
50
+
-`JSONSchemaNumeric` deprecated (will be removed in v9)
51
+
-`LSGetItemsOptions` deprecated (not necessary anymore, will be removed in v9)
52
+
-`LOCAL_STORAGE_PREFIX`, `LocalStorageProvidersConfig` and `localStorageProviders()` deprecated (will be removed in v9). Moved to `StorageModule.forRoot()`
53
+
-`setItemSubscribe()`, `removeItemSubscribe()` and `clearSubscribe()` deprecated (will be removed in v9)
54
+
55
+
### Reduced public API
56
+
57
+
Should not concern you as it was internal stuff.
58
+
59
+
-`IndexedDBDatabase` and `LocalStorageDatabase` not exported anymore
60
+
-`MockLocalDatabase` renamed and not exported anymore
10
61
11
62
## 7.4.1 (2019-01-27) / 5.3.6 and 6.2.3 and 7.4.2 (2019-02-25)
12
63
@@ -27,6 +78,8 @@ This will be an important release so **beta testers are very welcomed.**
@@ -59,6 +112,8 @@ This will be an important release so **beta testers are very welcomed.**
59
112
60
113
In v7.2, `has()` and `keys()` were not supported in Internet Explorer and Edge. Update to v7.4.
61
114
115
+
Do *not* use: it's deprecated in v8.
116
+
62
117
See [documentation](./docs/MAP_OPERATIONS.md).
63
118
64
119
### Breaking change (from v7.1 only)
@@ -87,7 +142,7 @@ These releases have been **deprecated** due to a critical regression.
87
142
-`JSONSchemaConst`
88
143
-`JSONSchemaEnum`
89
144
-`JSONSchemaString`
90
-
-`JSONSchemaNumeric`
145
+
-`JSONSchemaNumeric` (deprecated in v8)
91
146
-`JSONSchemaBoolean`
92
147
-`JSONSchemaArray`
93
148
-`JSONSchemaObject`
@@ -133,8 +188,6 @@ Validation of data is now required when using `getItem()`:
133
188
134
189
- New JSON Schema validation options supported (see [#18](https://github.com/cyrilletuzi/angular-async-local-storage/issues/18) for the full list).
135
190
136
-
-`setItemSubscribe()`, `removeItemSubscribe()`, `clearSubscribe()` methods for auto-subscription
137
-
138
191
-`localStorageProviders({ prefix: 'myapp' })` to avoid collision in multiple apps on same subdomain
139
192
140
193
### Breaking changes
@@ -206,12 +259,6 @@ If you want to keep your previous data, double the prefix, for example: `localSt
206
259
207
260
-`localStorageProviders({ prefix: 'myapp' })` to avoid collision in multiple apps on same subdomain
208
261
209
-
## 5.2.0 (2018-04-08)
210
-
211
-
### Feature
212
-
213
-
-`setItemSubscribe()`, `removeItemSubscribe()`, `clearSubscribe()` methods for auto-subscription
0 commit comments