Commit Graph

92 Commits

Author SHA1 Message Date
Kévin Dunglas 25ed020036 feat: Windows support (#2119)
Closes #83 #880 #1286.

Working patch for Windows support.

Supports linking to the [official PHP release (TS
version)](https://www.php.net/downloads.php).
Includes some work from #1286 (thanks @TenHian!!)

This patch allows using Visual Studio to compile the cgo code. To do so,
it must be compiled with Go 1.26 (RC) with the following setup:

```powershell
winget install -e --id Microsoft.VisualStudio.2022.Community --override "--passive --wait --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --includeRecommended"
winget install -e --id GoLang.Go

$env:PATH += ';C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin'

cd c:\
gh repo clone microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat
.\vcpkg\vcpkg install pthreads brotli

# build watcher
Invoke-WebRequest -Uri "https://github.com/e-dant/watcher/releases/download/0.14.3/x86_64-pc-windows-msvc.tar" -OutFile "$env:TEMP\watcher.tar"
tar -xf "$env:TEMP\watcher.tar" -C C:\
Rename-Item -Path "C:\x86_64-pc-windows-msvc" -NewName "watcher-x86_64-pc-windows-msvc"
Remove-Item "$env:TEMP\watcher.tar"

# download php
Invoke-WebRequest -Uri "https://downloads.php.net/~windows/releases/archives/php-8.5.1-Win32-vs17-x64.zip" -OutFile "$env:TEMP\php.zip"
Expand-Archive -Path "$env:TEMP\php.zip" -DestinationPath "C:\"
Remove-Item "$env:TEMP\php.zip"

# download php development package
Invoke-WebRequest -Uri "https://downloads.php.net/~windows/releases/archives/php-devel-pack-8.5.1-Win32-vs17-x64.zip" -OutFile "$env:TEMP\php-devel.zip"
Expand-Archive -Path "$env:TEMP\php-devel.zip" -DestinationPath "C:\"
Remove-Item "$env:TEMP\php-devel.zip"

$env:GOTOOLCHAIN = 'go1.26rc1'
$env:CC = 'clang'
$env:CXX = 'clang++'
$env:CGO_CFLAGS = "-I$env:C:\vcpkg\installed\x64-windows\include -IC:\watcher-x86_64-pc-windows-msvc -IC:\php-8.5.1-devel-vs17-x64\include -IC:\php-8.5.1-devel-vs17-x64\include\main -IC:\php-8.5.1-devel-vs17-x64\include\TSRM -IC:\php-8.5.1-devel-vs17-x64\include\Zend -IC:\php-8.5.1-devel-vs17-x64\include\ext"
$env:CGO_LDFLAGS = '-LC:\vcpkg\installed\x64-windows\lib -lbrotlienc -LC:\watcher-x86_64-pc-windows-msvc -llibwatcher-c -LC:\php-8.5.1-Win32-vs17-x64 -LC:\php-8.5.1-devel-vs17-x64\lib -lphp8ts -lphp8embed'

# clone frankenphp and build
git clone -b windows https://github.com/php/frankenphp.git
cd frankenphp\caddy\frankenphp
go build -ldflags '-extldflags="-fuse-ld=lld"' -tags nowatcher,nobadger,nomysql,nopgx

# Tests

$env:PATH += ";$env:VCPKG_ROOT\installed\x64-windows\bin;C:\watcher-x86_64-pc-windows-msvc";C:\php-8.5.1-Win32-vs17-x64"
"opcache.enable=0`r`nopcache.enable_cli=0" | Out-File -Encoding ascii php.ini
$env:PHPRC = Get-Location
go test -ldflags '-extldflags="-fuse-ld=lld"' -tags nowatcher,nobadger,nomysql,nopgx .
```

TODO:

- [x] Fix remaining skipped tests (scaling and watcher)
- [x] Test if the watcher mode works as expected
- [x] Automate the build with GitHub Actions

---------

Signed-off-by: Marc <m@pyc.ac>
Co-authored-by: Kévin Dunglas <kevin@dunglas.dev>
Co-authored-by: DubbleClick <m@pyc.ac>
2026-02-26 12:38:14 +01:00
Kévin Dunglas f434f5ea37 chore: bump deps 2026-02-23 16:46:51 +01:00
Marc 2bdf85866c Upgrade to Cady v2.11.1 (#2214)
fixes failing integration tests and closes
https://github.com/php/frankenphp/issues/2213
2026-02-21 23:29:47 +07:00
Alexandre Daubois d704e60bb0 chore: bump to Go 1.26 (#2178)
Bump and free perf boost with Green tea GC 🍵
2026-02-11 14:55:57 +01:00
Kévin Dunglas 6eef0d30aa chore: bump deps 2026-02-09 14:31:16 +01:00
Kévin Dunglas 709ba29bef chore: bump deps 2026-01-29 16:51:29 +01:00
dependabot[bot] d2b941833d chore(caddy): bump the go-modules group across 1 directory with 3 updates (#2144)
Bumps the go-modules group with 3 updates in the /caddy directory:
[github.com/caddyserver/certmagic](https://github.com/caddyserver/certmagic),
[github.com/dunglas/mercure](https://github.com/dunglas/mercure) and
[github.com/dunglas/mercure/caddy](https://github.com/dunglas/mercure).

Updates `github.com/caddyserver/certmagic` from 0.25.0 to 0.25.1
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/caddyserver/certmagic/commit/d2a72863e63a7f37fc4bb39859614807d550b9df"><code>d2a7286</code></a>
Upgrade dependencies, esp. zerossl</li>
<li><a
href="https://github.com/caddyserver/certmagic/commit/20b57b0b0d73715896347e80f214e21336d59f6a"><code>20b57b0</code></a>
Bump golang.org/x/crypto from 0.41.0 to 0.45.0 (<a
href="https://redirect.github.com/caddyserver/certmagic/issues/358">#358</a>)</li>
<li><a
href="https://github.com/caddyserver/certmagic/commit/80e9a597650e61f87f615bff17c58b3bc269d6a2"><code>80e9a59</code></a>
Explicitly allow small RSA key sizes for testing</li>
<li><a
href="https://github.com/caddyserver/certmagic/commit/d66689d31041c80e2a2ad8b52b45bae669450232"><code>d66689d</code></a>
Add TryLock for use with optional tasks like ARI updates to reduce lock
conte...</li>
<li><a
href="https://github.com/caddyserver/certmagic/commit/aba1313fdf2bf611c82904fa8d69b19a57f48cf9"><code>aba1313</code></a>
Fix edge case panic in case of repeated account recreation failure (fix
<a
href="https://redirect.github.com/caddyserver/certmagic/issues/354">#354</a>)</li>
<li><a
href="https://github.com/caddyserver/certmagic/commit/14972fd692b5c3efd8ccfa1129f843ae084cd5ce"><code>14972fd</code></a>
Don't log about OCSP when disabled (Fixes <a
href="https://redirect.github.com/caddyserver/certmagic/issues/353">#353</a>)</li>
<li>See full diff in <a
href="https://github.com/caddyserver/certmagic/compare/v0.25.0...v0.25.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/dunglas/mercure` from 0.21.4 to 0.21.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dunglas/mercure/releases">github.com/dunglas/mercure's
releases</a>.</em></p>
<blockquote>
<h2>helm-chart-0.21.5</h2>
<p>A Helm chart to install a Mercure Hub in a Kubernetes cluster.
Mercure is a protocol to push data updates to web browsers and other
HTTP clients in a convenient, fast, reliable and battery-efficient
way.</p>
<h2>v0.21.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: prevent context cancellation for critical write by <a
href="https://github.com/dunglas"><code>@​dunglas</code></a> in <a
href="https://redirect.github.com/dunglas/mercure/pull/1151">dunglas/mercure#1151</a></li>
<li>chore: bump deps by <a
href="https://github.com/dunglas"><code>@​dunglas</code></a> in <a
href="https://redirect.github.com/dunglas/mercure/pull/1152">dunglas/mercure#1152</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dunglas/mercure/compare/v0.21.4...v0.21.5">https://github.com/dunglas/mercure/compare/v0.21.4...v0.21.5</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dunglas/mercure/commit/142944de7350b42c711f8f71d4febce09c9dc834"><code>142944d</code></a>
chore: prepare release 0.21.5</li>
<li><a
href="https://github.com/dunglas/mercure/commit/124f2f86c46da678f40ad6fe726b1ebfc8e4617c"><code>124f2f8</code></a>
ci: bump io.gatling:gatling-maven-plugin in /gatling</li>
<li><a
href="https://github.com/dunglas/mercure/commit/e444581233261531eacb8779c0af089efaf90abf"><code>e444581</code></a>
chore: bump deps (<a
href="https://redirect.github.com/dunglas/mercure/issues/1152">#1152</a>)</li>
<li><a
href="https://github.com/dunglas/mercure/commit/aa6539d0755f35cf93136e96224efc69cf01b058"><code>aa6539d</code></a>
fix: prevent context cancellation for critical write (<a
href="https://redirect.github.com/dunglas/mercure/issues/1151">#1151</a>)</li>
<li><a
href="https://github.com/dunglas/mercure/commit/19b3850840d874e602b34bd0455b8d04c7b1fcea"><code>19b3850</code></a>
ci: bump actions/upload-artifact from 5 to 6</li>
<li><a
href="https://github.com/dunglas/mercure/commit/4c684fef3f74b5dd1c561ca2fac690df09786ac0"><code>4c684fe</code></a>
ci: bump net.alchim31.maven:scala-maven-plugin in /gatling</li>
<li>See full diff in <a
href="https://github.com/dunglas/mercure/compare/v0.21.4...v0.21.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/dunglas/mercure/caddy` from 0.21.4 to 0.21.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dunglas/mercure/releases">github.com/dunglas/mercure/caddy's
releases</a>.</em></p>
<blockquote>
<h2>helm-chart-0.21.5</h2>
<p>A Helm chart to install a Mercure Hub in a Kubernetes cluster.
Mercure is a protocol to push data updates to web browsers and other
HTTP clients in a convenient, fast, reliable and battery-efficient
way.</p>
<h2>v0.21.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: prevent context cancellation for critical write by <a
href="https://github.com/dunglas"><code>@​dunglas</code></a> in <a
href="https://redirect.github.com/dunglas/mercure/pull/1151">dunglas/mercure#1151</a></li>
<li>chore: bump deps by <a
href="https://github.com/dunglas"><code>@​dunglas</code></a> in <a
href="https://redirect.github.com/dunglas/mercure/pull/1152">dunglas/mercure#1152</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dunglas/mercure/compare/v0.21.4...v0.21.5">https://github.com/dunglas/mercure/compare/v0.21.4...v0.21.5</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dunglas/mercure/commit/142944de7350b42c711f8f71d4febce09c9dc834"><code>142944d</code></a>
chore: prepare release 0.21.5</li>
<li><a
href="https://github.com/dunglas/mercure/commit/124f2f86c46da678f40ad6fe726b1ebfc8e4617c"><code>124f2f8</code></a>
ci: bump io.gatling:gatling-maven-plugin in /gatling</li>
<li><a
href="https://github.com/dunglas/mercure/commit/e444581233261531eacb8779c0af089efaf90abf"><code>e444581</code></a>
chore: bump deps (<a
href="https://redirect.github.com/dunglas/mercure/issues/1152">#1152</a>)</li>
<li><a
href="https://github.com/dunglas/mercure/commit/aa6539d0755f35cf93136e96224efc69cf01b058"><code>aa6539d</code></a>
fix: prevent context cancellation for critical write (<a
href="https://redirect.github.com/dunglas/mercure/issues/1151">#1151</a>)</li>
<li><a
href="https://github.com/dunglas/mercure/commit/19b3850840d874e602b34bd0455b8d04c7b1fcea"><code>19b3850</code></a>
ci: bump actions/upload-artifact from 5 to 6</li>
<li><a
href="https://github.com/dunglas/mercure/commit/4c684fef3f74b5dd1c561ca2fac690df09786ac0"><code>4c684fe</code></a>
ci: bump net.alchim31.maven:scala-maven-plugin in /gatling</li>
<li>See full diff in <a
href="https://github.com/dunglas/mercure/compare/v0.21.4...v0.21.5">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 14:35:01 +01:00
Kévin Dunglas e01e40fd97 chore: bump deps (#2078) 2025-12-17 11:47:14 +01:00
dependabot[bot] 3599299cde chore(caddy): bump github.com/spf13/cobra
Bumps the go-modules group in /caddy with 1 update: [github.com/spf13/cobra](https://github.com/spf13/cobra).


Updates `github.com/spf13/cobra` from 1.10.1 to 1.10.2
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.10.1...v1.10.2)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-version: 1.10.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-modules
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 13:41:56 +01:00
Kévin Dunglas 225ca409d3 feat: hot reload (#2031)
This patch brings hot reloading capabilities to PHP apps: in
development, the browser will automatically refresh the page when any
source file changes!
It's similar to HMR in JavaScript.

It is built on top of [the watcher
mechanism](https://frankenphp.dev/docs/config/#watching-for-file-changes)
and of the [Mercure](https://frankenphp.dev/docs/mercure/) integration.

Each time a watched file is modified, a Mercure update is sent, giving
the ability to the client to reload the page, or part of the page
(assets, images...).

Here is an example implementation:

```caddyfile
root ./public


mercure {
      subscriber_jwt {env.MERCURE_SUBSCRIBER_JWT_KEY}
      anonymous
}

php_server {
      hot_reload
}
```

```php
<?php
header('Content-Type: text/html');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test</title>
<script>
    const es = new EventSource('<?=$_SERVER['FRANKENPHP_HOT_RELOAD']?>');
    es.onmessage = () => location.reload();
</script>
</head>
<body>
Hello
```

I plan to create a helper JS library to handle more advanced cases
(reloading CSS, JS, etc), similar to [HotWire
Spark](https://github.com/hotwired/spark). Be sure to attend my
SymfonyCon to learn more!

There is still room for improvement:

- Provide an option to only trigger the update without reloading the
worker for some files (ex, images, JS, CSS...)
- Support classic mode (currently, only the worker mode is supported)
- Don't reload all workers when only the files used by one change

However, this PR is working as-is and can be merged as a first step.

This patch heavily refactors the watcher module. Maybe it will be
possible to extract it as a standalone library at some point (would be
useful to add a similar feature but not tight to PHP as a Caddy module).

---------

Signed-off-by: Kévin Dunglas <kevin@dunglas.fr>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-12 14:29:18 +01:00
Kacper Rowiński e0dcf42852 chore: bump github.com/smallstep/certificates/ from 0.28.4 to 0.29.0 2025-12-09 11:40:58 +01:00
Max c9ad9fc55a headerKeyCache: use otter v2 (#2040)
Benchmarks show that version 1, while extremely fast with hot keys,
becomes several times slower than no‑cache under frequent misses.
Version 2 delivers consistently better performance across all scenarios,
with no allocations and stable latency.

```
BenchmarkGetUnCommonHeaderNoCacheSequential-12                           7545640               169.4 ns/op            72 B/op          4 allocs/op
BenchmarkGetUnCommonHeaderV2Sequential-12                               14471982                85.98 ns/op            0 B/op          0 allocs/op
BenchmarkGetUnCommonHeaderV1Sequential-12                               19748048                59.63 ns/op            0 B/op          0 allocs/op

BenchmarkGetUnCommonHeaderNoCacheParallelOneKey-12                      24352088                44.47 ns/op           72 B/op          4 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelOneKey-12                           91024160                11.76 ns/op            0 B/op          0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelOneKey-12                           192048842                6.186 ns/op           0 B/op          0 allocs/op

BenchmarkGetUnCommonHeaderNoCacheParallelRandomMaximumSize-12           26261611                43.07 ns/op           62 B/op          3 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelRandomMaximumSize-12                100000000               14.43 ns/op            0 B/op          0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelRandomMaximumSize-12                137813384                8.965 ns/op           0 B/op          0 allocs/op

BenchmarkGetUnCommonHeaderNoCacheParallelRandomLenKeys-12               24224664                46.57 ns/op           71 B/op          3 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelRandomLenKeys-12                    69002575                17.42 ns/op            0 B/op          0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelRandomLenKeys-12                     8498404               253.1 ns/op            42 B/op          1 allocs/op
```

---------

Co-authored-by: Kévin Dunglas <kevin@dunglas.fr>
2025-12-01 11:37:40 +01:00
Kévin Dunglas e6b3f70d91 chore: bump deps 2025-11-23 23:13:12 +01:00
Kévin Dunglas 75a48e81a7 chore: bump deps 2025-11-18 11:48:59 +01:00
Kévin Dunglas 41cb2bbeaa feat: mercure_publish() PHP function to dispatch Mercure updates (#1927)
* feat: mercure_publish() PHP function to dispatch Mercure updates

* fix stubs for old versions

* review

* cleanup and fixes
2025-11-18 09:59:53 +01:00
Alexandre Daubois 40cb42aace chore: bump net 2025-11-17 15:09:30 +01:00
Alexandre Daubois b49aed1934 chore: bump deps 2025-10-31 16:51:26 +01:00
Alexandre Daubois 7668a27d4b chore: bump /caddy sub-group deps (#1863) 2025-09-23 10:26:13 +02:00
dependabot[bot] 0f942c8601 chore(caddy): bump github.com/spf13/cobra
Bumps the go-modules group in /caddy with 1 update: [github.com/spf13/cobra](https://github.com/spf13/cobra).


Updates `github.com/spf13/cobra` from 1.9.1 to 1.10.0
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.9.1...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-modules
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 23:36:48 +02:00
Kévin Dunglas 460d63e436 chore: bump deps and check go.mod files are clean in CI 2025-08-28 19:16:01 +02:00
Alexandre Daubois 99bb87167e chore: bump deps 2025-08-27 15:56:40 +02:00
Alexandre Daubois 6ad34b1cb3 chore: bump deps 2025-08-14 15:27:29 +02:00
Kévin Dunglas f7ea33d328 chore: upgrade Mercure to v0.20 2025-07-18 12:11:51 +02:00
Kévin Dunglas 0c25b2488c chore: bump deps 2025-07-16 13:29:04 +02:00
Kévin Dunglas 40ee7929a1 chore: bump deps (#1708) 2025-07-01 10:29:21 +02:00
Kévin Dunglas 80de1f8bc7 chore: bump deps (#1702) 2025-06-30 14:36:26 +02:00
Kévin Dunglas 12f469e701 chore: bump deps (#1643) 2025-06-19 19:10:59 +02:00
Kévin Dunglas 4b1679e70f chore: bump deps 2025-06-02 17:36:51 +02:00
Kévin Dunglas afa7dafe1c chore: bump deps 2025-05-16 09:22:00 +02:00
Kévin Dunglas 49d2e62996 chore: bump Mercure and downgrade cbrotli (#1525)
* chore: bump Mercure

* downgrade cbrotli
2025-04-23 14:01:33 +02:00
Kévin Dunglas 4550027de4 feat: upgrade to Caddy 2.10 2025-04-22 17:34:11 +02:00
Kévin Dunglas 7f8e43fd62 feat: upgrade to Caddy 2.10 2025-04-22 16:15:11 +02:00
Kévin Dunglas 565b3a9629 chore: bump deps (#1455) 2025-03-24 11:56:20 +01:00
dependabot[bot] 6203d207fa chore(caddy): bump github.com/caddyserver/certmagic in /caddy
Bumps [github.com/caddyserver/certmagic](https://github.com/caddyserver/certmagic) from 0.21.7 to 0.22.0.
- [Release notes](https://github.com/caddyserver/certmagic/releases)
- [Commits](https://github.com/caddyserver/certmagic/compare/v0.21.7...v0.22.0)

---
updated-dependencies:
- dependency-name: github.com/caddyserver/certmagic
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 15:30:22 +01:00
Kévin Dunglas 409c0fdf5f chore: bump deps (#1434) 2025-03-10 15:35:17 +01:00
Kévin Dunglas 251567a617 fix: Mercure duplicate metrics panic (#1393)
* fix: Mercure duplicate metrics panic

* tidy

* ci: clang-format
2025-02-19 12:40:59 +01:00
Kévin Dunglas f61bc180c4 chore: upgrade to Go 1.24 2025-02-18 07:33:36 +01:00
Kévin Dunglas 7bd6ca89b0 chore: bump deps 2025-01-28 11:19:14 +01:00
Kévin Dunglas 39a88c3e83 chore: bump deps 2025-01-08 22:23:38 +01:00
Kévin Dunglas 19344a0dfe chore: bump deps 2025-01-08 20:54:21 +01:00
Kévin Dunglas 2276129c6d feat(caddy): upgrade to Caddy 2.9.0 2025-01-06 13:34:53 +01:00
Kévin Dunglas e2687dbeb9 chore: bump deps 2024-12-21 19:05:53 +01:00
Kévin Dunglas 79ab84dad7 chore: bump deps 2024-12-18 17:12:50 +01:00
Kévin Dunglas 2f3e4b650b chore: bump deps (#1235)
* chore: bump deps

* chore: bump indirect deps

* downgrade Brotli
2024-12-10 14:58:26 +01:00
Kévin Dunglas a1797c49b0 chore: bump deps (#1187) 2024-11-23 13:53:08 +01:00
Kévin Dunglas 172b598f3b chore: bump deps (#1150) 2024-11-11 23:24:42 +01:00
Kévin Dunglas 75dab8f33d chore: bump deps and misc improvements (#1135) 2024-11-04 16:42:15 +01:00
Kévin Dunglas f43de0ccf5 chore: bump deps 2024-10-18 15:47:09 +02:00
Kévin Dunglas d968334371 chore: bump deps 2024-08-27 12:02:39 +02:00
Kévin Dunglas fd97c977c1 chore: bump deps (#954) 2024-08-05 15:48:25 +02:00