Skip to content

Releases: edemaine/solid-meteor-data

v0.6.2

12 Jul 20:32

Choose a tag to compare

  • Fix bug in createFind: If a document changed at the same time as documents were moved/added/removed, then the wrong document could have been updated (when in useStore mode, which is the default).
  • Rewrite createTracker: This rewrite both is simpler and better respects Solid's reactive graph, by using createMemo over createComputed. In some cases it should be slightly more efficient.
  • Documentation improvements: Use "primitive" terminology common in Solid
  • Testing improvements: Check that Meteor Trackers are correctly stopped.

Full Changelog: v0.6.1...v0.6.2

v0.6.1

16 Jan 19:18

Choose a tag to compare

  • Fix import {createFindOne} from 'solid-meteor-data' (index export was missing; import {createFindOne} from 'solid-meteor-data/createFindOne' worked and still does)

Full Changelog: v0.6.0...v0.6.1

v0.6.0

15 Jan 21:54

Choose a tag to compare

  • New createFindOne helper for fine-grained reactivity to a single document, as returned by a Mongo Collection's findOne method or a related helper like Meteor.user().
  • Add API function types to documentation.
  • Small type fixes: options are optional, and avoid hiding any usage.

Full Changelog: v0.5.2...v0.6.0

v0.5.2

13 Jan 17:12

Choose a tag to compare

  • Fix useFind in SSR mode. Previously, useFind output a warning and never returned any results. This was caused by a bug in react-meteor-data.

Full Changelog: v0.5.1...v0.5.2

v0.5.1

11 Jan 23:29

Choose a tag to compare

  • createFind no longer triggers an update when transitioning between empty lists. (Missed some cases in 0.5.0.)

Full Changelog: v0.5.0...v0.5.1

v0.5.0

11 Jan 23:20

Choose a tag to compare

  • BREAKING CHANGE: createFind now returns an array of Stores by default. This enables components with a <For> loop to react at a fine-grained level to specific fields of documents, instead of an "all or nothing" change, and it enables the re-use of old components with matching _id fields (similar to Blaze and react-meteor-data). To restore the old "all or nothing" behavior, pass an option of noStore: false. (#6)
  • When the cursor passed to createFind changes reactively, createFind now tries to reconcile the new document set with the old one, again re-using old documents with matching _ids and enabling fine-grained reactivity. For example, if all you do is change the sort order of the query, nothing will re-render except the <For> order. (#1)
  • createFind less often triggers an update when transitioning between empty lists.

Full Changelog: v0.4.0...v0.5.0

v0.4.0

10 Jan 23:55

Choose a tag to compare

  • New, much faster createFind engine (#4).
    • Modifies the results array in-place instead of copying the array for every update (while still triggering updates), avoiding quadratic array update time.
    • Batches together several cursor updates all at once (e.g. as seen after initial subscription), avoiding quadratic DOM update time.
    • Both of these improvements should mean we far surpass react-meteor-data performance.
  • Automated testing of createFind (#5).

Full Changelog: v0.3.0...v0.4.0

v0.3.0

10 Jan 14:42

Choose a tag to compare

  • Rename package from solidjs-meteor-data to solid-meteor-data, deprecating the former. This is more consistent naming with react-meteor-data and other SolidJS packages.
  • Benchmarking of auto mode suggests 5x slowdown to reactivity, although in practice it's probably much lower.

Full Changelog: v0.2.0...v0.3.0

v0.2.0

08 Jan 16:51

Choose a tag to compare

  • Add new auto mode that lets you use Meteor reactive data in any Solid reactive context, without wrapping in createTracker. Built on Solid 1.3's experimental External Sources mechanism, so you need to upgrade to Solid 1.3.\
  • Built-in testing

Full Changelog: v0.1.0...v0.2.0

v0.1.0

01 Jan 23:00

Choose a tag to compare

  • New createTracker engine should now correctly detect latest SolidJS and Tracker dependencies as you would expect (no weird corner cases).
  • New createSubscribe interface allows arguments to be wrapped in functions to make their values reactive. Alternatively, you can pass in one function that returns a subscription. (#2) (Thanks to @Brendan-csel for design input!)

Full Changelog: v0.0.1...v0.1.0