@shivaedev/form 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.0 - 2026-11-03
4
+
5
+ ### Added
6
+
7
+ - The `draftPersistence` Effect from `@shivaedev/form/adapters/draftPersistence.ts` acquires `DraftStorageProvider` and the Clock for draft storage, timestamps and expiry. Provide `browserDraftStorage` from `@shivaedev/form/adapters/browserDraftStorage.ts` for best-effort localStorage persistence.
8
+ - Form's `validate` atom reveals schema feedback and returns an encoded and decoded snapshot through the configured runtime without calling `onSubmit` or accepting the draft.
9
+
10
+ ### Breaking
11
+
12
+ - Import React hooks and `DraftSessionContext` from `@shivaedev/form/adapters/react.ts` instead of `@shivaedev/form/client/react.ts`. Import the low-level `persistence` bridge from `@shivaedev/form/adapters/persistence.ts` instead of `@shivaedev/form/persistence.ts`.
13
+ - `usePersistedDraft` requires explicit storage alongside time. Replace `BrowserDraftConfig` with `PersistedDraftConfig` from `@shivaedev/form/persistence.ts`, acquire `persistence` with `yield* draftPersistence.pipe(Effect.provide(browserDraftStorage))` during Effect setup, and pass `persistedDraft: { key, ...persistence }`.
14
+
3
15
  ## 0.12.0 - 2026-11-02
4
16
 
5
17
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shivaedev/form",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Schema-derived Effect atom forms with optional React hooks",
5
5
  "keywords": [
6
6
  "effect"
@@ -43,14 +43,14 @@
43
43
  "README.md"
44
44
  ],
45
45
  "dependencies": {
46
- "@shivaedev/errors": "0.5.0"
46
+ "@shivaedev/errors": "0.6.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@effect/atom-react": "4.0.6",
50
50
  "@effect/vitest": "4.0.6",
51
- "@shivaedev/quality": "0.56.0",
52
- "@shivaedev/test": "0.13.0",
53
- "@shivaedev/test-story": "0.34.0",
51
+ "@shivaedev/quality": "0.57.0",
52
+ "@shivaedev/test": "0.14.0",
53
+ "@shivaedev/test-story": "0.35.0",
54
54
  "@types/node": "24.19.2",
55
55
  "@types/react": "19.3.0",
56
56
  "effect": "4.0.6",