Skip to content
Closed

8.x #1036

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
a77ebc2
Kick off 8.x development
jeromegamez Dec 3, 2025
4380397
Remove Dynamic Links component
jeromegamez Dec 3, 2025
59b9f08
Remove deprecated classes, methods and class constants
jeromegamez Dec 3, 2025
1640a1b
Drop support for PHP <8.3
jeromegamez Dec 3, 2025
0d341a0
Apply PHP 8.3 language migrations
jeromegamez Dec 3, 2025
4224e1c
Upgrade PHPUnit to 12.4.5 and bump dev-dependencies
jeromegamez Dec 3, 2025
9a1d0b0
Ignore indirect deprecations when running PHPUnit
jeromegamez Dec 4, 2025
2a195ac
Drop exception code when wrapping exceptions
jeromegamez Dec 3, 2025
af7a367
Treat PHPDoc types as certain
jeromegamez Dec 3, 2025
2a9c942
Add implemented and to-be-implemented PHPStan rules
jeromegamez Dec 3, 2025
98d9d4a
Remove deprecated custom log middlewares
jeromegamez Dec 5, 2025
5be7631
Move `psr/log` to dev-dependencies
jeromegamez Dec 5, 2025
08ab738
Extract backward compatibility checks into dedicated workflow
jeromegamez Dec 5, 2025
70d8e01
Remove unused dependabot auto-approve workflow
jeromegamez Dec 5, 2025
0fbb8f7
Always run workflows, including for dependabot PRs
jeromegamez Dec 5, 2025
01cf66c
Run BC checks only when on or targeting the current release branch
jeromegamez Dec 5, 2025
e446f82
Replace `Stringable|string` argument types with `string`-only
jeromegamez Dec 5, 2025
fcc4d23
Improve type safety with strict union types
jeromegamez Dec 5, 2025
d18ffa3
Enable `rector/type-perfect` for stricter type checking
jeromegamez Dec 5, 2025
c5eb547
Reword type changes as performance optimization
jeromegamez Dec 5, 2025
9b722f1
Rename test methods
jeromegamez Dec 5, 2025
6fa78d4
Move `getUserByProviderUid()` method into the `Auth` contract
jeromegamez Dec 14, 2025
a8c3cba
Type-hint constants
jeromegamez Dec 14, 2025
fa74c45
Add `lang` attribute to `<html>` element
jeromegamez Dec 14, 2025
d2b4c44
Convert database unit tests to integration tests
jeromegamez Dec 15, 2025
8c764b0
Remove obsolete variable
jeromegamez Dec 15, 2025
30e2f53
Make internal classes final
jeromegamez Dec 15, 2025
dca3225
Make Realtime Database value objects final and readonly
jeromegamez Dec 15, 2025
053f92a
Make Realtime Database Transactions immutable
jeromegamez Dec 15, 2025
48a4b45
Simplify RemoteConfig tests
jeromegamez Dec 16, 2025
e805121
Remove obsolete logging tests
jeromegamez Dec 27, 2025
4799f25
Make the default bucket configuration non-nullable as it is always set
jeromegamez Dec 27, 2025
cec1d8e
Allow mock objects without expectations
jeromegamez Dec 27, 2025
ea48bc0
Remove duplicate semicolon
jeromegamez Dec 27, 2025
4d1d930
Remove default arguments
jeromegamez Dec 27, 2025
1f7e196
Remove unnecessary/unused method arguments
jeromegamez Dec 27, 2025
f821186
Use read-only class instead of read-only properties
jeromegamez Dec 27, 2025
978d1da
Import `Override` annotation
jeromegamez Dec 27, 2025
779c9f3
Add type declarations
jeromegamez Dec 27, 2025
8d06001
Relax Messaging API type validation and limit it to `CloudMessage`
jeromegamez Dec 27, 2025
367f4d5
Remove `Kreait\Firebase\RemoteConfig\DefaultValue` class
jeromegamez Dec 28, 2025
84e4ee1
Add SensitiveParameter annotations to protect sensitive data
jeromegamez Dec 28, 2025
a2f10ea
Update changelog and upgrade documentation
jeromegamez Dec 28, 2025
105bb01
Remove unused internal `Request` interface
jeromegamez Dec 28, 2025
aca70ba
Mark classes/traits only to be used in the SDK as internal
jeromegamez Dec 28, 2025
09dc1fe
Move files from `src/Firebase/` to `src/`
jeromegamez Dec 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 41 additions & 0 deletions .github/workflows/backward-compatibility.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Backward Compatibility Check

on:
pull_request:
branches: ['7.x']
paths:
- 'src/**'
- 'composer.json'
- '.github/workflows/backward-compatibility.yml'
push:
branches: ['7.x']
paths:
- 'src/**'
- 'composer.json'
- '.github/workflows/backward-compatibility.yml'
workflow_dispatch:

permissions:
contents: read

jobs:
bc-checks:
name: Backward Compatibility Check
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: grpc

- name: Install roave/backward-compatibility-check
run: composer require --dev roave/backward-compatibility-check

- name: Check for BC breaks
run: vendor/bin/roave-backward-compatibility-check --format=github-actions
21 changes: 0 additions & 21 deletions .github/workflows/dependabot-auto-approve.yml

This file was deleted.

1 change: 0 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ jobs:
links:
name: Check Links
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]'

steps:
- name: Checkout repository
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/emulator-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,11 @@ jobs:
emulator-tests:
name: Emulator Tests
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]'

env:
php-version: '8.4'
extensions: ctype, dom, grpc, json, mbstring, openssl, xml, zip, zlib
key: cache-emulators-7x-83-v1
key: cache-emulators-8x

steps:
- name: Checkout code
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,11 @@ jobs:
integration-tests:
name: Integration Tests
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]'

env:
php-version: '8.4'
extensions: ctype, dom, grpc, json, mbstring, openssl, xml, zip, zlib
key: cache-integration-7x-83-v1
key: cache-integration-8x

steps:
- name: Checkout code
Expand Down
9 changes: 2 additions & 7 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,18 @@ jobs:
phpstan:
name: "PHPStan (PHP ${{ matrix.php }})"
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]'

strategy:
fail-fast: false
matrix:
php:
- "8.1"
- "8.2"
- "8.3"
- "8.4"
include:
- php: "8.5"
composer-options: "--ignore-platform-reqs"
- "8.5"

env:
extensions: ctype, dom, grpc, json, mbstring, openssl, xml, zip, zlib
key: cache-static-analysis-7x-${{ matrix.php }}-v1
key: cache-static-analysis-8x-${{ matrix.php }}

steps:
- name: Checkout code
Expand Down
32 changes: 2 additions & 30 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,21 @@ jobs:
tests:
name: "PHP ${{ matrix.php }}, ${{ matrix.dependencies }} deps"
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]'

strategy:
fail-fast: false
matrix:
php:
- "8.1"
- "8.2"
- "8.3"
- "8.4"
- "8.5"
dependencies:
- "lowest"
- "highest"
include:
- php: "8.5"
composer-options: "--ignore-platform-reqs"
dependencies: "highest"

env:
extensions: ctype, dom, grpc, json, mbstring, openssl, xml, zip, zlib
key: cache-unit-7x-${{ matrix.php }}-v1
key: cache-unit-8x-${{ matrix.php }}

steps:
- name: Checkout code
Expand Down Expand Up @@ -93,25 +87,3 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unit

bc-checks:
name: Backward Compatibility Check
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]'

steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
extensions: grpc

- name: Install roave/backward-compatibility-check.
run: composer require --dev roave/backward-compatibility-check

- name: Check for BC breaks
run: vendor/bin/roave-backward-compatibility-check --format=github-actions
8 changes: 8 additions & 0 deletions .php-cs-fixer.dist.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,25 @@
->setRiskyAllowed(true)
->setRules([
'@PER-CS3x0:risky' => true,
'@PHPUnit9x1Migration:risky' => true,
'class_attributes_separation' => true,
'class_definition' => [
'single_line' => true,
],
'concat_space' => [
'spacing' => 'none',
],
'final_internal_class' => true,
'fully_qualified_strict_types' => [
'import_symbols' => true,
'leading_backslash_in_global_namespace' => true,
],
'method_argument_space' => [
'attribute_placement' => 'standalone', // same_line can break PHP <8.2
],
'no_blank_lines_after_phpdoc' => true,
'no_empty_phpdoc' => true,
'no_unneeded_braces' => true,
'no_unused_imports' => true,
'ordered_imports' => [
'imports_order' => [
Expand All @@ -32,6 +37,9 @@
],
'sort_algorithm' => 'alpha',
],
'phpdoc_align' => [
'align' => 'left',
],
'php_unit_method_casing' => [
'case' => 'camel_case',
],
Expand Down
Loading
Loading