Skip to content

Releases: Flowductive/easy-firebase

1.2.1

19 Apr 10:33
Compare
Choose a tag to compare

鈿狅笍 Warning: This update contains some breaking changes. Be sure to fix your project when you update this package!

馃帀 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

11 Mar 10:03
Compare
Choose a tag to compare

馃帀 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

09 Mar 05:09
Compare
Choose a tag to compare

馃帀 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

07 Mar 21:35
Compare
Choose a tag to compare

馃帀 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

28 Feb 00:20
Compare
Choose a tag to compare

馃帀 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

19 Feb 22:47
Compare
Choose a tag to compare

馃帀 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

12 Feb 00:23
Compare
Choose a tag to compare

馃帀 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

11 Feb 20:50
Compare
Choose a tag to compare

馃帀 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

05 Feb 03:51
5f33a7b
Compare
Choose a tag to compare

馃帀 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

23 Jan 03:44
33c2ace
Compare
Choose a tag to compare
1.0.0-pre Pre-release
Pre-release

馃帀 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 to IndexableDocument instead of Document

Bug Fixes

  • Fix iOS device compatability