Roadmap
Upcoming Major Version (v2.0.0
)
Progress
- All pre-released changes for v2.0.0 are located on the
v2.0.0
branch
Breaking Changes
- Remove usage of
Immutable.js
and Immutable Maps (no more need forpathToJS()
,dataToJS()
or any Immutable helpers to load data from redux) - Firebase is now initialized outside of
react-redux-firebase
- #173, #131, #107 login
with custom token no longer internally decodes JWT (useprofileFactory
instead to include token data on profile)- reducer split into multiple nested reducers for a few reasons:
- Follows standard for nesting of reducers using combine reducers).
- Allows for separately importable reducers (for placing in other parts of redux other than
state.firebase
) - Keeps reducers easier to read, understand, and debug
- Improved rendering/update performance for
react
- #84
Features
- Integration for
react-native-firebase
for using Firebase native modules instead of JS library (allowing for instance to be passed in) - #131 - Population of ordered data - #239
- Support for keeping data on logout - #125
- Online users/presence functionality based on firebase's presence example
- Built in
react-native
JS (not native modules) support making it no longer necessary to passReactNative
in config - Detect Non-HTTP environments (such as with SSR) so that
enableRedirectHandling: false
is not required in config - Track online users and sessions by passing
presence
config option (string or function) - Support passing Firebase app passed instead of full firebase lib (pass around a smaller object) - #249, #250
store.firebaseAuthIsReady
promise for confirming auth is ready (useful on App boot) - #264
Future Versions
Under Consideration
- Option to re-render HOCs (
firebaseConnect
andfirestoreConnect
) based on auth state change - #367 - Higher Order Components (or HOC factory) that force data to exist before rendering component (maybe
AuthRequired
orDataLoaded
) - Possibility of delayed initialization - #70 (more research needed)
Longer Term Goals
- Optional Built in Role Management
- Multi-level population
- Population rules suggestion/generation
- Routing decorators (most likely to include
AuthRequired
,DataLoaded
andRedirectOnAuth
)
Other Versions
Note, updates of v1.*.*
versions have been deprioritized due to the high adoption of v2.0.0
syntax.
v1.6.0
Features
- Renaming a file on upload (currently does not work due to HTML 5 File element being read only)
Enhancements/Fixes
- Fix
TypeError: Converting circular structure to JSON
(through update of firebase version) - #230
v1.7.0 - v1.*.*
Note: Subject to change
Breaking Changes
None Yet Planned
Features
preserveOnLogout
config option to preserve certain data on logout (already supported in v2.0.0)- Population of ordered data (already supported in v2.0.0) - #239
childAlias
to store populate result on another parameter - #126waitForPopulate
option to allow data to be returned before populated data as in becomes available. As ofv1.4.0-rc.2
, populate only setsisLoaded
to true after all children are loaded,waitForPopulate
would make this optional - #121- Config option for populated items updating when changed - #69
- Improved support for batching of UI updates as the result of a database "array" loading - #212
- Expose whole Firebase instance (warning: Using Firebase instance methods will not dispatch actions or update redux state)
- Nested populates #85)
- Support for universal environments (i.e. no
next
function) - #199 - Option to clear redux data on
firebaseConnect
unmount - #55
Enhancements/Fixes
- Fix
TypeError: Converting circular structure to JSON
(through update of firebase version) - #230