Releases: Flowductive/easy-firebase
1.2.1
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
Breaking Changes
You now must add in the field name when updating/linking document field values.
// Before
global.user.set("apples", to: \.favoriteFood)
// After
global.user.set(field: "favoriteFood", with: "apples", using: \.favoriteFood)
This changes affects field-specific calls of .set(...)
, as well as all calls of .assign(...)
, .unassign(...)
, and .setAssign(...)
. Under very rare circumstances should the String
and KeyPath
parameters of these methods match after this change.
🤔 Why add this? Sometimes using just the KeyPath
to grab the field name as a String
causes a fatal error related to Objective-C. This removes the risk of this error at the cost of library code prettiness.
1.2.0
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
New Features
Firestore Updating
Quickly update values in Firestore without initially knowing what the values are using EasyFirestore.Update
:
EasyFirestore.Updating.increment(\.chipsEaten, by: 6, in: myFoodEaten)
myFoodEaten.increment(\.chipsEaten, by: 6) { error in
// ...
}
Safe Setting
Set documents in Firestore only if they do not exist in their respective collection:
EasyFirestore.Storage.setIfNone(myCar, checking: myMissingCarID) { error in
// ...
}
These values are even mutated locally, so you don't need to update them yourself.
1.1.5
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
Bug Fixes
- Fix user account data not being deleted upon account deletion (#4)
- Fix
EasyUser
subclass properties not being updated in Firestore (see Wiki)
1.1.4
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
Minor Changes
- Ability to callback image upload progress when updating user profile image
- User profile images are stored in Storage under folder name "Profile Images"
1.1.3
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
Minor Changes
- Auto-generated usernames always match a 6-character minimum
Bug Fixes
- Fixed an issue where profile images would not update properly
1.1.2
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
Bug Fixes
EasyAuth.accountProvider
now properly updates
1.1.1
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
Minor Changes
- Changing user properties (email, username, password, etc.) now require user type as input
1.1.0
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
New Features
Example Project
An example project has been added to go alongside the Wiki. To set up EasyAuth, read the wiki and use the example project.
Bug Fixes
- Fixed issue with usernames not changing
- Fixed issue with querying only returning first result
1.0.0
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
New Features
Analytics
Analytics is here. Easily keep track of your users' actions and properties.
EasyAnalytics.log("food_eaten", data: [
"name": "Hot Dog",
"isHot": true
])
For more information, check out README.md.
1.0.0-pre
🎉 Thank you for supporting EasyFirebase! I'm a full-time student spending my free time on this library, so I apologize if there any bugs present. Feel free to contribute with a pull request or report buts in Issues!
New Features
Querying
Querying is here. Search for documents in a Swifty manner.
EasyFirestore.Querying.where(\Car.make, .equals, "Toyota") { cars in
// Handle your queried documents here...
}
For more information, check out README.md.
Indexable Documents
Conform your class to IndexableDocument
to index your documents! This allows you to easily keep track of how many documents are in a collection. This also will allow you to grab a random document easier.
class Car: IndexableDocument {
// These properties are inherited from Document
var id: String = UUID().uuidString
var dateCreated: Date = Date()
// And this shiny new property is inherited from IndexableDocument
var index: Int
// ...
}
Other Additions
- Easily generate
EasyUser
usernames and suggest new ones if they're taken (more info) - Ability to request updated email verification status from
EasyUser
objects
Minor Changes
- All auth management features have migrated to instance methods of
EasyUser
- All
EasyUser
objects now conform toIndexableDocument
instead ofDocument
Bug Fixes
- Fix iOS device compatability