FRANK VAN PUFFELEN: Welcome to Firebase Release Notes for July
where we cover recent big and small updates from Firebase.
Now, we've got eight releases to cover today.
So let's dig in quickly.
We just added new security features and functionality
to Firebase Authentication including
multi-factor authentication which you can see here,
the ability to run Cloud Functions before a user is
created or signed in, and support
for new sign-in providers.
These features are all part of an optional upgrade called
Firebase Auth with Identity Platform which you can opt
into from the Firebase console.
Now, it does require a credit card,
but we made sure that it's free for almost everyone.
Your existing code will continue to work just as before.
So you only need to change your code if you
want to use the new features.
The features are also present in the UI of the Firebase Emulator
Suite, meaning that you can test them locally
before using a real Firebase project.
Check out the link that I shared below for more information
on Firebase Auth with Identity Platform.
Transactions on Firestore and client-side SDKs
are optimistic compare and set operations.
This means that you read the data into your transaction
first.
Then you determine the new value.
And then the server only writes the new value
if the data was not changed outside of your transaction.
This often leads to great throughput
as no pessimistic lock is required.
But the SDK may have to retry the transaction if somebody
else also changed the data.
In our latest SDKs for iOS, Android, Web, Unity, C++,
and Flutter, you can now specify up to how many times the client
retries a transaction before giving up.
By specifying a max retry value when you start a transaction,
your code has more control over the behavior of your app
when there is contention for the resources.
The GeoFire libraries for Firebase
add the ability to perform queries
around geographic ranges to our databases
by storing location information in special strings known
as geohashes that you can see over here.
A few months ago, we released version 3.2
of GeoFire for Android to Work with AndroidX,
allowing you to finally get rid of such jeda.file dependency.
Thanks to Stefan Warting for contributing this PR.
We also just released version 6.0 of GeoFire for JavaScript
which now uses the modular v9 SDK for its realtime database
access.
This means that you can now build small apps even
when you use geo queries.
The Firebase console now automatically creates shortcuts
at the top of the sidebar on the left
to help you quickly find the products that you
use most within each project.
And if you're like me, you've probably
already noticed how many clicks it saves you every day.
You can access walkthrough of these dynamic features
by clicking the Learn More at the bottom
of the console sidebar.
Firebase Performance monitoring now
measures the rendering performance
of the fragments in your Android app
without you having to write any code for it,
just as it already did for activities.
This means that you can now quickly find out
which of your sub canvases that are on the user's display
are causing slow or frozen frames by giving you
precise feedback about which elements render slowly
in your app.
Cloud Functions deployment now stores container images
on Google Cloud Artifact Registry instead
of the container registry.
This may result in small differences in billing.
So see the Cloud Functions pricing FAQ at a link
below for more information on this change.
We launched a public preview of Cloud Functions for Firebase v2
at Google I/O. And this v2 has more configurable scaling
behavior, leading to speed and pricing
benefits for many developers.
But in the initial preview, we didn't have any database
triggers ready yet.
Now, we just launched triggers for events in the Realtime
Database.
So you can now also get these benefits
when you have Cloud Functions that respond
to changes in your JSON data.
For more information, see the documentation
at the link below.
Removing outdated or stale data is such a common task
that Firestore now has a feature built in for it.
I haven't used it myself yet, but you can now set a Time
To Live or TTL policy.
In this policy, you configure one of your fields
as the TTL field.
And the document will then be deleted at some point
after the time has passed.
The exact moment of deletion is not under your control,
though, so you still want to filter on the same field
that your queries do to ensure that your app doesn't
show any stale data.
OK.
Those were all the updates we have time for today.
If you like this video, be sure to give it a thumbs
up and subscribe to the channel below.
Now, my name is Puf, and I'll see you
on a future episode of Firebase Release Notes.
[MUSIC PLAYING]