Skip to content
This repository was archived by the owner on Jul 2, 2026. It is now read-only.

Releases: thebrowsercompany/firebase-cpp-sdk

20251201.0

Choose a tag to compare

@github-actions github-actions released this 01 Dec 09:47
Install 3 additional generated headers in the android archive (#49)

20240912.1

Choose a tag to compare

@github-actions github-actions released this 12 Sep 23:45
Install 3 additional generated headers in the android archive (#49)

20240912.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 19:33
Install 3 additional generated headers in the android archive (#49)

20240909.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 19:03
3605919
Install 3 additional generated headers in the android archive (#49)

20240903.0: Copy over headers we use for firebase for the android distribution (#48)

Choose a tag to compare

@github-actions github-actions released this 03 Sep 18:47
8ac5915
* Copy over headers we use for firebase for the android distribution

* update the install step for headers for review comment

20240807.1: Force-disable BMI2 instruction set when building snappy.lib (#47)

Choose a tag to compare

@github-actions github-actions released this 07 Aug 00:06
c38940e
Firebase-cpp-sdk on Windows pulls in firebase-ios-sdk (for firestore code), which pulls in leveldb (for key/value persistence) and Snappy (for efficient data compression). For faster compression, Snappy uses one specific CPU instruction for bit manipulation, bzhi, from the BMI2 instruction set. However, this instruction crashes firestore on a CPU that does not support the BMI2 instructions, which is the case of older CPUs, for example Intel pre-Haswell and AMD pre-Excavator CPUs.

By default, Snappy detects if it should use the BMI2 optimized instruction by performing a compilation test on the cmake configure phase , which obviously returns if the build machine supports BMI2, not the target machines.
Snappy build setup does not support a compiler directive that overrides that specific compilation test, so it can only build for the host machine BMI2 setup.

Unfortunately, due to the very involved dependency chain, there is no good way to patch Snappy's code and the easiest solution in terms of maintenance is to patch the config.h created during the configure step, which is what this PR does. It only changes the automated build process (Github Actions workflow).

20240807.0: Force-disable BMI2 instruction set when building snappy.lib (#47)

Choose a tag to compare

@github-actions github-actions released this 07 Aug 00:05
c38940e
Firebase-cpp-sdk on Windows pulls in firebase-ios-sdk (for firestore code), which pulls in leveldb (for key/value persistence) and Snappy (for efficient data compression). For faster compression, Snappy uses one specific CPU instruction for bit manipulation, bzhi, from the BMI2 instruction set. However, this instruction crashes firestore on a CPU that does not support the BMI2 instructions, which is the case of older CPUs, for example Intel pre-Haswell and AMD pre-Excavator CPUs.

By default, Snappy detects if it should use the BMI2 optimized instruction by performing a compilation test on the cmake configure phase , which obviously returns if the build machine supports BMI2, not the target machines.
Snappy build setup does not support a compiler directive that overrides that specific compilation test, so it can only build for the host machine BMI2 setup.

Unfortunately, due to the very involved dependency chain, there is no good way to patch Snappy's code and the easiest solution in terms of maintenance is to patch the config.h created during the configure step, which is what this PR does. It only changes the automated build process (Github Actions workflow).

20240709.0: GHA: unify the release step for all the platforms

Choose a tag to compare

@github-actions github-actions released this 09 Jul 20:31
Rather than have 3 different releases for a single build, unify the
releases into a single step so that we have a single unit of release for
the platform and architecture combinations.

20240612.2

Choose a tag to compare

@github-actions github-actions released this 21 Jun 19:19
auth: add copy constructor for `firebase::auth::Auth` on Android

Add the copy constructor on Android as well to ensure that the type is
imported properly by the clang importer when bridging to Swift.

20240621.1

Choose a tag to compare

@github-actions github-actions released this 21 Jun 19:17
auth: add copy constructor for `firebase::auth::Auth` on Android

Add the copy constructor on Android as well to ensure that the type is
imported properly by the clang importer when bridging to Swift.