Skip to content

Tags: passiondev211/react-redux-firebase

Tags

v2.0.0-beta.14

Toggle v2.0.0-beta.14's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
v2.0.0-beta.14 (prescottprue#316)

### Description
* fix(typings): Updated type definitions - prescottprue#311
* fix(populate): dispatch for errors during profile population - prescottprue#312
* feat(firebaseConnect): `store` is passed as second argument of `firebaseConnect` - prescottprue#278
* feat(firestoreConnect): `store` is passed as second argument of `firestoreConnect`
* fix(query): `dispatchRemoveAction` is now `false` by default - prevents multiple state updates when calling `remove` if listener associated is attached

### Potentially Breaking
 * `store` being passed as second argument of `firebaseConnect` (and `firestoreConnect`), which means any components using that second argument will break (most commonly used for getting `uid`). To access `uid` or other info from redux state, use `store.getState()` like so:

```js
firebaseConnect(
  (props, store) => {
    const { firebase: { auth } } = store.getState()
    // be careful, listeners are not re-attached when auth state changes unless props change
    return [{ path: `todos/${auth.uid || ''}` }]
  }
)
```

More details are included in [the migration guide](http://docs.react-redux-firebase.com/history/v2.0.0/docs/v2-migration-guide.html).

v2.0.0-beta.13

Toggle v2.0.0-beta.13's commit message
v2.0.0-beta.13 (prescottprue#306)

* fix(reducers): add `EMPTY_AUTH_CHANGE` case to Profile Reducer - prescottprue#305 
* feat(constants): `enableEmptyAuthChanges` config option replaced by `preserveOnEmptyAuthChange`  - prescottprue#305 
* feat(profile): `autoPopulateProfile` support for v2 (still `disabled` by default)
* fix(presence): support presence option on `react-native-firebase` versions without `setPriority` on `RNFirebase.database.ThenableReference` - prescottprue#267
* fix(core): withFirebase now works for all main methods
* feat(examples): material example updated to be much more simple (uses mostly functional components over classes)
* feat(docs): `promiseEvents` added to SSR docs - prescottprue#299

v2.0.0-beta.12

Toggle v2.0.0-beta.12's commit message
v2.0.0 beta.12 (prescottprue#298)

* feat(core): `recompose` used for `withFirebase` and `withFirestore` HOCs
* feat(core): `promiseEvents` method added. Similar to `firebaseConnect`, but not a React Higher Order Component - prescottprue#299 - thanks @marekolszewski 
* feat(core): `redux-firestore` is no longer included and is now an optionalDependency (increased bundle size too much)
* feat(helpers): `getVal` added to simplify migration from v1 to v2 (can easily replace `dataToJS`) - prescottprue#305 - thanks @fej-snikduj 
* feat(reducer): added error to clearly indicate wrong initial state being passed to `errors` state
* feat(reducer): `preserve` now supports passing an object to preserve `auth`, `profile`, `errors`, and `ordered`
* feat(docs): Firestore setup instructions switched to using `redux-firestore` externally
* feat(examples): firestore example uses `redux-firestore` directly (since it is no longer included)
* fix(typings): remove an artifact from a previous merge conflict - prescottprue#304 - thanks @cbellino 
* fix(reducer): `authError` state is now `null` by default (tests changed to match)
* fix(examples): examples all point to `next` tag for consistency
* fix(examples): snippets README.md files updated
* fix(examples): `tests` folder removed from material example

### Potentially Breaking

* `authError` state is now `null` by default instead of `{}` - this is more clear, and more closely resembles `v1.*.*`

v1.5.1

Toggle v1.5.1's commit message
v1.5.1 (prescottprue#283)

* fix(populate): `ordered` set for populate
* fix(populate): `ordered` correctly set to `null` when empty (instead of `undefined` which could cause `isLoaded` to be incorrect)
* feat(query): `ordered` correctly set when using `populate`
* fix(query): Return Promise rejection to `watchEvent` for once queries
* feat(auth): `disableEmptyAuthDispatch` config option added for disabling dispatch of `LOGOUT` action when auth updates with `null` - prescottprue#115
* feat(docs): `api-docs-upload` util added from v2.0.0 (for uploading different versions of docs)
* feat(examples): `watchEvent` snippet added to show querying outside of `firebaseConnect` (i.e. "lazy querying") - prescottprue#232

v2.0.0-beta.11

Toggle v2.0.0-beta.11's commit message
v2.0.0-beta.11 (prescottprue#295)

* fix(populate): missing childKey causes no population - prescottprue#277 (thanks @JeremyPlease)
* feat(firestore): `firestoreConnect` - React HOC that sets listeners to Cloud Firestore (similar to `firebaseConnect`, but for Cloud Firestore instead of Real Time Database) - prescottprue#286
* feat(firestore): `firestoreReducer` is exported from [`redux-firestore`](https://github.com/prescottprue/redux-firestore) included to handle managing `firestore` state - prescottprue#286
* feat(core): `withFirebase` - React HOC for just passing `props.firebase` (`firebaseConnect` without any listener management)
* feat(docs): Firestore page added to docs (outlining usage of `firestoreConnect` and `setListener`)
* feat(examples): Firestore complete example added
* feat(docs): README and Query examples simplified + improved
* feat(docs): FAQ moved to its own docs page

**NOTE**: After the Firestore API (including `firestoreConnect`) is stabilized, the `v2.0.0` pre-releases should be ready for release candidate status (pending other major bugs).

v2.0.0-beta.10

Toggle v2.0.0-beta.10's commit message
v2.0.0-beta.10 (prescottprue#291)

* bugfix(auth): `auth.isLoaded` set to `true` on `AUTH_EMPTY_CHANGE` action dispatch - prescottprue#290
* feat(storage): customizable file name with `uploadFile` and `uploadFiles` through `name` option (can be String or Function) - prescottprue#285
* bugfix(query): `remove` dispatches `REMOVE` action type with associated reducer case - prescottprue#257
* feat(query): `remove` accepts an options object as third argument
* feat(query): `remove` now has `dispatchAction` option for disabling dispatch of new `REMOVE` action type
* feat(query): `dispatchRemoveAction` config option add for global control of dispatching when calling `remove`

v2.0.0-beta.9

Toggle v2.0.0-beta.9's commit message
v2.0.0 beta.9 (prescottprue#281)


* `reloadAuth` added for reloading auth (calls `firebase.auth().currentUser.reload()`) - prescottprue#273
* `linkWithCredential` added for linking auth with credential - prescottprue#268 
* `store.firebaseAuthIsReady` is now added by `reactReduxFirebase` store enhancer - promise that resolves once auth state is ready - prescottprue#264 
* `authIsReady` promise added for waiting for auth to be ready - prescottprue#264
* `ordered` always set as `null` instead of `undefined` - fixes possible issue of `isLoaded` not always being correct
* `firebaseStateName` constant - assumed name of firebase state to be used in `authIsReady`
* `attachAuthIsLoaded` constant - boolean for enabling/disabling the
attaching of `firebaseAuthIsReady` to store (`true` by default)
* `yarn.lock` removed - npm5 is faster
* `v2.0.0` branch added to travis config (so v2.0.0 pushes/merges are built)
* `babel-preset-env` used in place of `babel-preset-es2015` (fixes deprecation warning)

v1.5.0

Toggle v1.5.0's commit message
v1.5.0 (prescottprue#270)

🍾 🥂 The long awaited v1.5.0 release 🥂 🍾 

### Breaking Changes
* `browser` field has been removed from `package.json` which means commonJS build is used instead of `UMD` build from Webpack (much smaller)
* [firebaseConnect] Uses `prop-types` instead of importing from React - prescottprue#122 

### Core
* [firebaseConnect] Allow usage of different stores in `firebaseConnect` - prescottprue#148, prescottprue#29
* [firebaseConnect] statics are now hoisted thanks to `hoist-non-react-statics`
* [firebaseConnect] exposed `createFirebaseConnect` for creating `firebaseConnect` HOCs connected to different stores
* [auth] `login` method supports `credential` parameter (with matching docs and tests updates)
* [auth] deprecation warning added for `token` and `provider` combo in `login` method
* [auth] Adds `updateProfile`, `updateAuth`, and `updateEmail` methods that dispatch associated start/success/failure actions
* [helpers] `deleteFile` method response no longer includes `dbPath` if it is undefined (test added to check this case)
* [helpers] No more race condition with `uniqueSet` - prescottprue#207
* [typescript] Typescript typings - prescottprue#142, prescottprue#214 
* [query] `watchEvent` accepts options object as third argument
* [populate] Lodash path syntax support - prescottprue#132
* [populate] accept a function for populate for item based populate config - prescottprue#132
* [populate] Profile population (`profileParamsToPopulate`) supports single item and list population - prescottprue#203
* [storage] `uploadFile` and `uploadFiles` no longer track progress by default (`storageRef.put` called directly)
* [config] Usage of `profileFactory` is wrapped in try/catch to handle and reject errors within provided factory function
* [config] `distpatchOnUnsetListener` spelling fixed to be `dispatchOnUnsetListener` (depreciation warning added along with a test confirm it is displayed)
* [config] `enableEmptyAuthChanges` config option added - prescottprue#137


### Build
* Firebase is now an external in Webpack config (shrinks UMD build size)
* `.npmignore` expanded to include more files that do not needed to be included in published version (including `.babelrc` which can cause build errors)
* `.babelrc` settings are now environment specific (decorators only used in testing)
* `babel-preset-stage-1` removed (unnecessary)
* `.eslintrc` added to tests folder which contains globals that are only necessary for testing (simplifies top level eslint config)
* `.eslintrc` file now using yaml format instead of JSON format (easier to read)
* `async/await` added to unit tests
* Webpack 2
* [`firebase-server`](https://github.com/urish/firebase-server) used in tests instead of connecting to a real Firebase instance

### Docs
* Query docs updated with `storeAs` and `keyProp` query options
* `redux-persist` recipe added

v1.5.0-rc.5

Toggle v1.5.0-rc.5's commit message
v1.5.0-rc.5 (prescottprue#262)

* `watchEvent` accepts options object as third argument
* `async/await` capability added to unit tests
* Material example updated with new build setup including Webpack 3
* `npm run test` and `npm run test:cov` commands are now consistent
* Yarn file updated
* package-lock.json added

v2.0.0-beta.8

Toggle v2.0.0-beta.8's commit message
v2.0.0-beta.8 (prescottprue#263)

* fix(reducer): `MERGE` action added and `SET` action to reverted to v1 behavior - prescottprue#255
* feat(populate): population of ordered data - prescottprue#239
* feat(populate) populate once queries - prescottprue#256
* feat(auth): emptyOnLogin config option added (defaults to `true`) - prescottprue#254
* feat(query): emit `NO_VALUE` for `once` queries that are empty - prescottprue#265
* fix(populate) Fixed populate function to return null for null paths
* app instance handling now uses `firebase_` instead of `extendApp` (more functionality) - prescottprue#250
* Removed no longer in use code from v1 (validateConfig)