Skip to content

Latest commit

 

History

History
1371 lines (824 loc) · 53.6 KB

File metadata and controls

1371 lines (824 loc) · 53.6 KB

Changelog

v0.8.4

compare changes

🚀 Enhancements

  • Pass pagination options to drizzle (f294f7e)
  • AI skills (experimental) (5b4172f)

🩹 Fixes

  • Pass findOptions.meta to core methods (3969992)
  • Allow overriding fetchPolicy in fetchMore (d8f593e)
  • module: Module getting disposed (4d458c9)

❤️ Contributors

v0.8.3

compare changes

🚀 Enhancements

  • FindDefaults + resolveFindOptions (2eab3fc)
  • Unwrap items before processing in find/create/update (f4999b7)
  • Relations accept array of mappings (f27c039)
  • Cache pause/resume (fcbd41e)
  • offline: Pause cache while syncing to prevent flickering (f37b8a7)

🔥 Performance

  • Relation read now use indexes (64059ef)

🩹 Fixes

  • Check if collection wasn't removed in query tracking (1f2aafc)
  • Wrong query type on initial SSRed query meta lookup (6ec5953)
  • form: Reset is applied synchronously preventing unwanted form data updates (66ec510)
  • Handle falsy keys (bff4d0d)
  • Remove Cannot read computed page data without pageSize option error (32d47cc)
  • Update indexes on add/remove layer (6764e84)
  • FindFirst/findMany with cache-and-fetch not returning immediately + new fetchPromise returned (ec7c7d1)
  • query: Pagination + cache-and-fetch + gc was incorrectly gcing items from previous pages (f061ee7)
  • Opposite relations not computed on self (edd226b)
  • Update meta with fetch-and-cache (5cc76f1)
  • Update meta on background fetch only if fetch is valid (d0dfd7c)
  • Don't reset main page data on refresh (0c1db3a)
  • updateForm: DefaultValues not overriding the current item values (159dfb9)
  • drizzle: Sqlite like should be case insensitive (e78d5b7)

💅 Refactors

📖 Documentation

  • relation: Alternate mappings (f183409)

❤️ Contributors

v0.8.2

compare changes

🚀 Enhancements

  • Dynamic collection name (a08d447)
  • vue: Compare query options before reloading (b10a34d)
  • Pagination (3806b0c)

🩹 Fixes

  • gc: Take into account include from the query (f44d309)
  • Check if key is nullish instead of falsy (1d92c72)
  • Duplicate call to wrapItem in findFirst (71b4d48)
  • Only generate one collections file and write it to disk (06071d1)
  • Exclude .ts from the generated collections file (a904ded)
  • FindFirst/findMany update options fetchPolicy (e91e0d9)
  • vue: query(q => q.many(): Typing of TOptions with no parameter passed to many (a99a512)

🏡 Chore

  • Nuxt vite:extendConfig hook is deprecated (8593237)

✅ Tests

  • lint: Update antfu eslint to split type imports (4773d8d)

❤️ Contributors

v0.8.1

compare changes

🔥 Performance

  • vue: Cache collection state with layers (38e0b55)

🩹 Fixes

  • drizzle: Query can be nullish (e9d93b7)

📖 Documentation

  • Link to rstore drizzle demo (4b4f279)

🏡 Chore

❤️ Contributors

v0.8.0

compare changes

🚀 Enhancements

  • Revamped cache and layers for faster performance (2b59e9b)
  • nuxt: Newer nuxt dependency and related improvements (baa8497)
  • query: Use onServerPrefetch to allow SSR without awaiting the query in script setup (1f3394f)
  • drizzle: Realtime updates with websockets (1070ed5)
  • Offline (9556f2b)

🔥 Performance

  • Simpler relation lookup (1e0319f)

🩹 Fixes

  • Call plugin setup simultaneously so they have the Nuxt context, preventing errors (d0ec259)
  • directus: Import form #imports instead of nuxt/app (6c854e4)
  • drizzle: Use /api/rstore-realtime/ws as default websocket path (420ee34)

📖 Documentation

🏡 Chore

❤️ Contributors

v0.7.8

compare changes

🩹 Fixes

  • drizzle: Dialect is wrong (491b3c4)
  • directus: Skip folder 'collections', closes #51 (#51)
  • Remove item relation cache (aa34b9a)

❤️ Contributors

v0.7.7

compare changes

🚀 Enhancements

  • Many mutations added to collection hooks (9c229a1)
  • drizzle: Return deleted item (95c0391)

🔥 Performance

  • Shallow items in the cache (3c0b535)

🩹 Fixes

  • Improve item wrapping for fetchPolicy 'no-cache' (d0fbe6e)
  • Deduplicate wrapped items ownKeys (4673a1f)
  • Handle JSON stringifying wrapped items (d0158f3)
  • gc: Don't run a garbage collection on query unmount (f180d31)

❤️ Contributors

v0.7.6

compare changes

🩹 Fixes

  • gc: Handle fetch skipped (abd8609)
  • Improve experimentalGarbageCollection query option (c66df81)
  • gc: Handle non wrapped items (73dda4c)

❤️ Contributors

v0.7.5

compare changes

🚀 Enhancements

  • New garbage collector (2378647)
  • Expose useQueryTracking (42865ff)
  • Allow passing meta to find options (ed8e3d0)
  • AddToQueryTracking (cdfc3f8)

🩹 Fixes

  • devtools: Cache count per collection not working if no layer is selected (2a157a3)
  • More stable tracking query id (b1d8ae1)
  • Enumerate relations and computed so watch deep works (b737d9a)
  • Export setActiveStore (3484a28)

📖 Documentation

🌊 Types

  • New RstoreGlobal augmentable interface to apply custom store types to plugin hooks etc. (0bc5706)

❤️ Contributors

v0.7.4

compare changes

🚀 Enhancements

  • form: ResetOnSuccess: false (787889d)
  • form: ValidateOnSubmit + pickOnlyChanged, closes #47 (#47)

🩹 Fixes

  • nuxt-drizzle: IsNull and similar where clause with no value not working (c19fd47)

🌊 Types

  • form: Allow void in submit (3372faa)

❤️ Contributors

v0.7.3

compare changes

🚀 Enhancements

  • CreateMany, updateMany, deleteMany (40aaa50)
  • devtools: Improved filters (a3f59d3)
  • devtools: Cache layers (d7d1038)
  • devtools: Go to cache tab from collections (dd18099)
  • cache: Handle frozen items in writeItem (6586aec)
  • nuxt-drizzle: Extras in query transform (803a569)

🔥 Performance

  • cache: Iterate over state directly (7016950)
  • devtools: Considerably reduce overhead of adding history records (453f85a)

🩹 Fixes

  • Relations undefined if fetchPolicy is no-cache (9845539)
  • Use item as proxy target to improve dx in browser devtools (a11b218)
  • devtools: Local icon (35bcdc5)
  • nuxt-drizzle: Allow any field in where clauses (84301f1)
  • nuxt-drizzle: OrderBy allow any column name (b7d07b5)
  • cache: Handle existing frozen items in cache (f4bb64f)

❤️ Contributors

v0.7.2

compare changes

🩹 Fixes

  • cache: Auto remove layer with same id (3f94499)
  • Always abort from collection hooks (9810cc7)

🌊 Types

  • Add TCollection generic to CustomCollectionMeta (ab1e8ed)

❤️ Contributors

v0.7.1

compare changes

🚀 Enhancements

  • nuxt-drizzle: Expose filterWhere (e79683d)

🔥 Performance

  • Fast path for getStateForCollection (c7a8831)
  • Cache relations for one tick (04ac3fa)

🩹 Fixes

  • nuxt-drizzle: Key from primary keys adding up numbers (cffbef7)
  • nuxt-drizzle: Multi primary key update (e91be9c)

📖 Documentation

❤️ Contributors

v0.7.0

compare changes

🚀 Enhancements

  • New schema and relation declarations (844635b)
  • devtools: New cache tab (5be73c2)
  • New query API (04c4e34)
  • cache: ReadItems new limit option (bc7d1fa)
  • Experimental garbage collection (a119680)
  • devtools: Auto update cache (e7326da)
  • Cache layers (43519e0)
  • Optimistic updates (04a5c63)
  • devtools: Gc + cache layer events in history (9a1ccef)
  • UseStore + new setup docs (cbd97d6)
  • New module API (07c2c9c)
  • SetActiveStore for tests (d32cc67)
  • nuxt-drizzle: Remove deprecated option drizzleImport.default (2e737ba)
  • nuxt-drizzle: Drizzle hooks (c7cb660)
  • nuxt-drizzle: Adapt to new relations syntax (f2a5088)
  • nuxt-drizzle: Use new define model syntax (3edb432)
  • Use nuxt module dependencies (9be4ab5)
  • nuxt: Simpler schema syntax with export const (b6aa3fa)
  • nuxt-drizzle: HooksForTable (6e9f3d0)
  • nuxt-drizzle: AllowTables (c8361d3)
  • Sort plugins (b727f31)
  • plugin: Auto abort fetchFirst & fetchMany (7ce07ae)
  • plugin: Category (ec1a41b)
  • Collection hooks (c6824b1)
  • module: $loading, $error, $time no longer Refs (d98f1c2)
  • plugin: Abort API (541d41d)
  • plugin: Abort API for fetchRelations (b72474a)
  • plugin: Auto abort createItem and updateItem (0d8218a)

🔥 Performance

  • Faster relation lookup (#44)
  • Normalize relations eagerly (1a25f54)

🩹 Fixes

  • devtools: Cache model item height (12b5ee9)
  • Disallow excess properties in withItemType().defineModel() (c7c2f1f)
  • Always wrap items out of find methods (f7cc489)
  • Store.$getModel should use item.$model (2383304)
  • devtools: Automatically update cache filtering (52c6da2)
  • devtools: Sort models (a50c7de)
  • Clone properties for mutations (c1d614d)
  • Optimistic updates using serialized item (8f21f2f)
  • Don't always clone properties in pickNonSpecialProps (86ceeff)
  • devtools: Cache model item height (276b3c5)
  • Lower minimum dep version of @nuxt/kit (8503aa5)
  • nuxt-drizzle: Missing getQuery import (39d613e)
  • nuxt-drizzle: Where.push is not a function (be74a82)

💅 Refactors

  • Rename model to collection (00b661d)

📖 Documentation

  • Typo (#49)
  • Layers (65a7cc1)
  • Not about modules and code splitting (418121c)
  • Typo (#50)
  • Note about plugin change (111f327)
  • Not about StoreResolvedCollectionItem in migration (4243cdf)
  • Typo in migration guide (9680a3a)
  • Update Nuxt multiple models (5e32f67)
  • nuxt-drizzle: Features (9db2c81)
  • Code diff in vue code snippets (e128a72)

🌊 Types

  • Improvements and cleanup (c37c460)
  • Recursively typed FindOptions.include (c64eb91)
  • form: CreateFormObject submit type can now be different (f4d8821)
  • Fix query many without params + augment find options docs (8c79bc4)
  • Improvements, stricter types and more checking (c29dafe)

🏡 Chore

✅ Tests

🤖 CI

❤️ Contributors

v0.6.18

compare changes

🩹 Fixes

  • Don't call defaultValues in form objects twice (#46)

🏡 Chore

❤️ Contributors

v0.6.17

compare changes

🚀 Enhancements

  • nuxt: Export StoreCreateFormObject and StoreUpdateFormObject (50f323d)

📖 Documentation

  • Update commit convention regex (84302cd)

🌊 Types

  • vue: Export CreateFormObject and UpdateFormObject (b6b5b2e)

❤️ Contributors

v0.6.16

compare changes

🚀 Enhancements

  • Field serialize, fix #41 (#41)

🩹 Fixes

  • Peek methods returning empty results when called directly, fix #42 (#42)

❤️ Contributors

v0.6.15

compare changes

🩹 Fixes

  • vue: Cache attempting to write null items in relations (db88234)

🏡 Chore

❤️ Contributors

v0.6.14

compare changes

🚀 Enhancements

  • nuxt: Run plugin before router (8572e56)

❤️ Contributors

v0.6.13

compare changes

🩹 Fixes

  • nuxt: Duplicate scan dirs with app (86ea149)

❤️ Contributors

v0.6.12

compare changes

🩹 Fixes

  • nuxt: Use layer srcDir instead of rootDir (35eddf6)

❤️ Contributors

v0.6.11

compare changes

🚀 Enhancements

  • Support nuxt layer, closes #8 (#8)

❤️ Contributors

v0.6.10

compare changes

🚀 Enhancements

  • vue: Cache use weakmap for wrapped item cache (90e840a)

🩹 Fixes

  • vue: Clear model cache on removeModel (38d720d)
  • Revert call form object (0fc4952)

❤️ Contributors

v0.6.9

compare changes

🚀 Enhancements

  • nuxt-drizzle: Support with, columns, top-level orderBy (#36)

🩹 Fixes

  • nuxt-drizzle: PrimaryKeys use item keys instead of column names (4115eb8)
  • nuxt-drizzle: In relations use keys instead of columns names (dcb93f4)

🏡 Chore

  • Copy readme to all packages (a804085)

❤️ Contributors

v0.6.8

compare changes

🩹 Fixes

  • nuxt-drizzle: Missing useRequestFetch import (f4aac90)

❤️ Contributors

v0.6.7

compare changes

🚀 Enhancements

🩹 Fixes

  • nuxt drizzle: Use request fetch (7e7493b)
  • nuxt-drizzle: Relations handling (5afaa22)
  • nuxt-drizzle: Primary key multi columns (0fa1424)

🏡 Chore

❤️ Contributors

v0.6.6

compare changes

🚀 Enhancements

  • form: $valid (c07d4e9)
  • form: $onChange and merge createFormObjectWithChangeDetection into createFormObject (18ae2b9)

🩹 Fixes

❤️ Contributors

v0.6.5

compare changes

🚀 Enhancements

  • drizzle: Limit and offset (585d705)

🩹 Fixes

🏡 Chore

  • Drizzle playground devtools (a546812)

❤️ Contributors

v0.6.4

compare changes

🚀 Enhancements

  • form: Rename $save to $submit (dbf46cb)
  • form: Rename $onSaved to $onSuccess (d363e72)
  • vue: Export createFormObject and createFormObjectWithChangeDetection (6b6c94f)
  • vue: Form.$onError event hook (f09d156)
  • query: Expose meta (7950c24)
  • subscribe: Expose meta (4b17eeb)

🩹 Fixes

  • Subscribe should not return a promise (a461e65)

❤️ Contributors

v0.6.3

compare changes

🩹 Fixes

  • nuxt: Should dedupe modules per request during SSR (73f1aa5)

🏡 Chore

  • Use npm exec instead of pnpm in git hook (c84118e)

❤️ Contributors

v0.6.2

compare changes

🚀 Enhancements

  • devtools: More displayed in module exposed props (a91f51b)

🩹 Fixes

  • Not deduping on model, closes #31 (#31)

❤️ Contributors

v0.6.1

compare changes

🚀 Enhancements

  • Record module mutations in the mutation history (db41348)

🩹 Fixes

  • vue: Throw error in wrapped mutation (d78e144)

💅 Refactors

  • Deprecate store.$createModule -> use createModule directly (757d48a)

📖 Documentation

🏡 Chore

  • Add create module API jsdoc (dbe1db9)

❤️ Contributors

v0.6.0

compare changes

🚀 Enhancements

  • Scope id, closes #9 (#9)
  • devtools: Plugins tab (b48bf6c)
  • Modules, closes #10 (#10)

🩹 Fixes

  • drizzle: Table with different name not recognized, fix #30 (#30)

📖 Documentation

🌊 Types

  • nuxt: Add Store, StoreResolvedModelItem and StoreWrappedItem to auto imports (3ef23c3)
  • Check for excess properties in defineItemType.model (c52fb38)
  • vue: Check for excess properties in queryFirst, queryMany (b6e2453)
  • nuxt: Don't use ModelDefaults as the store defaults type parameters to allow excess properties check (758a4ea)

❤️ Contributors

v0.5.9

compare changes

🚀 Enhancements

🩹 Fixes

  • vue: Form validation issues handling (9f2b238)
  • fields: Handle parsing fields of nested relations, fix #25 (#25)

📖 Documentation

🌊 Types

  • Fix model.fields requiring all fields (a4a02bb)

🏡 Chore

  • Update issue repro links (3a5651d)
  • Disable build in commit hook (65fc756)

✅ Tests

❤️ Contributors

v0.5.8

compare changes

🚀 Enhancements

  • As const is no longer required (58639ff)
  • Refresh queries on cache reset, closes #4 (#4)
  • Dedupe findFirst and findMany, fix #16 (#16)

🩹 Fixes

  • drizzle: Named column breaking primary keys, fix #20 (#20)

🏡 Chore

  • Update pnpm and refresh lockfile (aeb00c8)
  • Cleanup variable names (33be02b)

❤️ Contributors

v0.5.7

compare changes

  • Republishing packages

📖 Documentation

🏡 Chore

  • Build docs in commit hook (2887bc5)
  • Run some scripts in commit in parallel (ab276b1)
  • Improve lint-staged config (ee2787b)
  • Only rerun everything on pnpm-lock (bfc08e5)

🤖 CI

❤️ Contributors

v0.5.6

compare changes

🚀 Enhancements

  • Allow customizing FindOptions interface (42a818d)
  • nuxt-drizzle: Customize apiPath (f78bc4c)
  • New @rstore/nuxt-directus package (6c9dd60)

🩹 Fixes

  • devtools: Tailwind config (684adff)
  • nuxt-drizzle: Scope fetchRelations (bf629c3)

💅 Refactors

  • nuxt-drizzle: Moved where to find options and removed moduleOptions.drizzleImport.default (39ebb86)

📖 Documentation

  • Link to nuxt drizzle codesandbox (3ca066b)
  • Remove sponsors section (65841ca)
  • Remove sponsors from homepage (fba1f0f)

🏡 Chore

❤️ Contributors

v0.5.5

compare changes

🩹 Fixes

  • Type imports (1915d5c)
  • drizzle: AddServerScanDir not working (744558a)

📖 Documentation

  • Nuxt drizzle filter and relation (d62a705)
  • Nuxt drizzle more docs (5d18348)
  • Utilize the defineRstorePlugin function in the nuxt example section (#18)

🏡 Chore

  • Simpler drizzle playground (cfe578a)

❤️ Contributors

v0.5.4

compare changes

🩹 Fixes

  • nuxt-drizzle: Dynamic import of '@rstore/nuxt/api' in case it is not installed yet (6519ac5)

📖 Documentation

  • Remove demo link (temporary) (6bd9ac8)

❤️ Contributors

v0.5.3

compare changes

🚀 Enhancements

  • New @rstore/nuxt-drizzle package (e8fa3cd)
  • devtools: Model meta (18624cd)
  • devtools: Computed fields (ea95c2d)

🩹 Fixes

  • devtools: Model search scrolling with list (bb08cef)

📖 Documentation

❤️ Contributors

v0.5.2

compare changes

🚀 Enhancements

  • Allow number key (0283aad)
  • nuxt: AddModelImport and addPluginImport (807d859)
  • vue: Only send changed props in update form (3163845)

🩹 Fixes

  • devtools: Tab label (be636f1)
  • Transform store so it's the same in hooks (d948346)
  • Remove check for special keys in update form object (19b60e8)
  • vue: Number item key checks (e55f5a9)

📖 Documentation

🌊 Types

  • Add generics to CustomParams and CustomSortOption (d9e2712)

🏡 Chore

  • Add name to playground ws server (79ff206)
  • Add playground-drizzle (43308b1)

❤️ Contributors

v0.5.1

compare changes

🚀 Enhancements

🩹 Fixes

  • Form object types not including item props if no schema (21ced4a)
  • Don't write to cache if no items (124f014)

💅 Refactors

  • Use nullish coalescing assignment (2e6f0ff)

📖 Documentation

❤️ Contributors

v0.5.0

compare changes

🚀 Enhancements

  • AddModel and removeModel (e5688ad)

🩹 Fixes

  • Use own $schema in form object (cbc40fe)
  • Better model name check (260bb0c)

💅 Refactors

  • Model.schema -> model.formSchema (d29b714)

❤️ Contributors

v0.4.0

compare changes

💅 Refactors

  • defineModel -> defineDataModel (4f9a12e)

📖 Documentation

❤️ Contributors

v0.3.0

compare changes

🚀 Enhancements

  • Throw error if model name starts with $ (06d944e)
  • vue: Store.$model('model_name') (c0dc3b5)

🩹 Fixes

💅 Refactors

  • Models is now an array of models (0d0977f)
  • Store native props now starts with $ (e586006)

📖 Documentation

❤️ Contributors

v0.2.1

compare changes

🚀 Enhancements

📖 Documentation

❤️ Contributors

v0.2.0

compare changes

🚀 Enhancements

  • Specify form validation schema in create/update methods to override model schema (de40714)

💅 Refactors

🏡 Chore

❤️ Contributors

v0.1.8

compare changes

🚀 Enhancements

  • vue: Display load error in console (6133c13)

🩹 Fixes

  • nuxt: Missing convertFunctionsToString (b0ca559)

❤️ Contributors

v0.1.7

compare changes

🚀 Enhancements

  • Nuxt devtools integration (1e7b7f3)

🩹 Fixes

  • Prepare script breaking pnpm pack (e1a10ec)
  • nuxt: Import useState from #app (528e968)

🏡 Chore

🤖 CI

❤️ Contributors

v0.1.6

compare changes

🩹 Fixes

  • query: CustomFilterOption type should be union instead of intersection (4c362f8)

❤️ Contributors

v0.1.5

compare changes

🩹 Fixes

  • CacheFilterFirst hook setResult type (5d9ca12)

❤️ Contributors

v0.1.4

compare changes

🚀 Enhancements

  • CacheFilterFirst hook readItemsFromCache() (ca57d13)

❤️ Contributors

v0.1.3

compare changes

🩹 Fixes

  • cache: Items not red from cache if filter is not function (40a7ced)

❤️ Contributors

v0.1.2

compare changes

🩹 Fixes

  • vue: Use toRaw on cache.getState() (4363c6f)
  • nuxt: Missing import for markRaw (a940213)

🏡 Chore

❤️ Contributors

v0.1.1

compare changes

🏡 Chore

❤️ Contributors

v0.1.0

🚀 Enhancements

🩹 Fixes

💅 Refactors

  • Merge Vue store with core store (cb65b83)

📖 Documentation

🏡 Chore

✅ Tests

🤖 CI

❤️ Contributors