Skip to content

Commit 0d5cf7b

Browse files
committed
Merge branch 'main' of github.com:HTTPArchive/almanac.httparchive.org into production
2 parents 9776399 + 4a535a1 commit 0d5cf7b

File tree

4 files changed

+39
-39
lines changed

4 files changed

+39
-39
lines changed

src/config/last_updated.json

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -52,188 +52,188 @@
5252
"/static/pdfs/web_almanac_2019_en.pdf": {
5353
"date_published": "2020-05-15T00:00:00.000Z",
5454
"date_modified": "2026-01-16T00:00:00.000Z",
55-
"hash": "72b52ec5d94252b0a6369193da328995",
55+
"hash": "e18d27af546e6f50166e471d341c911e",
5656
"size": 9
5757
},
5858
"/static/pdfs/web_almanac_2019_en_cover_A5.pdf": {
5959
"date_published": "2020-05-15T00:00:00.000Z",
6060
"date_modified": "2026-01-16T00:00:00.000Z",
61-
"hash": "55cbaf984d6f166afee4d44b475bfffe"
61+
"hash": "95100d0ed6eb5b3bba3297a750c430f3"
6262
},
6363
"/static/pdfs/web_almanac_2019_en_print_A5.pdf": {
6464
"date_published": "2020-05-15T00:00:00.000Z",
6565
"date_modified": "2026-01-16T00:00:00.000Z",
66-
"hash": "bbd365c6898fbb66fbd1a12b02890705",
66+
"hash": "008521eb249cf2f97a464ba57bb731b6",
6767
"size": 9
6868
},
6969
"/static/pdfs/web_almanac_2019_ja.pdf": {
7070
"date_published": "2020-05-15T00:00:00.000Z",
7171
"date_modified": "2026-01-16T00:00:00.000Z",
72-
"hash": "528b835a90abe4e11f2eec7bf74d3e66",
72+
"hash": "f543d76127094e672d9184d76d68de89",
7373
"size": 10
7474
},
7575
"/static/pdfs/web_almanac_2019_ja_cover_A5.pdf": {
7676
"date_published": "2020-05-15T00:00:00.000Z",
7777
"date_modified": "2026-01-16T00:00:00.000Z",
78-
"hash": "4092e8e9bc7afd66f586bb10017cfc9d"
78+
"hash": "43bea1a273207819eb48bb3df97dc1e6"
7979
},
8080
"/static/pdfs/web_almanac_2019_ja_print_A5.pdf": {
8181
"date_published": "2020-05-15T00:00:00.000Z",
8282
"date_modified": "2026-01-16T00:00:00.000Z",
83-
"hash": "ee21f01266ec29fa639d4235c576ba7d",
83+
"hash": "da501fe89d39fe07ea9a291e2a2e7ca7",
8484
"size": 9
8585
},
8686
"/static/pdfs/web_almanac_2020_en.pdf": {
8787
"date_published": "2020-12-08T00:00:00.000Z",
8888
"date_modified": "2026-01-16T00:00:00.000Z",
89-
"hash": "c60fadb4f3644b54da2c1eaa2e1b0a50",
89+
"hash": "46331db20bb91224272a02cd8ea5d819",
9090
"size": 13
9191
},
9292
"/static/pdfs/web_almanac_2020_en_cover_A5.pdf": {
9393
"date_published": "2020-12-09T00:00:00.000Z",
9494
"date_modified": "2026-01-16T00:00:00.000Z",
95-
"hash": "174bcb5b55a80c99dabb6225d67ac1c3"
95+
"hash": "6d24d3f3c2b2954f2f5fac9f6d57750a"
9696
},
9797
"/static/pdfs/web_almanac_2020_en_print_A5.pdf": {
9898
"date_published": "2020-12-09T00:00:00.000Z",
9999
"date_modified": "2026-01-16T00:00:00.000Z",
100-
"hash": "a1ffcaad981b7275fe988abe6e5a77d4",
100+
"hash": "e2305059060228cf95767a49d399fa85",
101101
"size": 13
102102
},
103103
"/static/pdfs/web_almanac_2020_ja.pdf": {
104104
"date_published": "2021-10-24T00:00:00.000Z",
105105
"date_modified": "2026-01-16T00:00:00.000Z",
106-
"hash": "c763b00c335bcf853fbf066440e5f754",
106+
"hash": "8156f27f538c02dc8b0b601dc125dbab",
107107
"size": 14
108108
},
109109
"/static/pdfs/web_almanac_2020_ja_cover_A5.pdf": {
110110
"date_published": "2021-10-24T00:00:00.000Z",
111111
"date_modified": "2026-01-16T00:00:00.000Z",
112-
"hash": "11cc3744d03d4869aff7a4528d97b6e3"
112+
"hash": "0863b081561e25f56cce1551ec028593"
113113
},
114114
"/static/pdfs/web_almanac_2020_ja_print_A5.pdf": {
115115
"date_published": "2021-10-24T00:00:00.000Z",
116116
"date_modified": "2026-01-16T00:00:00.000Z",
117-
"hash": "da2a73296e51b10a469eccb18737309f",
117+
"hash": "cc3a47f272cb7896eb963ca2477e0c49",
118118
"size": 13
119119
},
120120
"/static/pdfs/web_almanac_2021_en.pdf": {
121121
"date_published": "2021-12-01T00:00:00.000Z",
122122
"date_modified": "2026-01-16T00:00:00.000Z",
123-
"hash": "2561c25d75a0a78f929146ca5816ecd8",
123+
"hash": "275f824cba0eb8ff64aeec3c7167b278",
124124
"size": 18
125125
},
126126
"/static/pdfs/web_almanac_2021_en_cover_A5.pdf": {
127127
"date_published": "2021-12-01T00:00:00.000Z",
128128
"date_modified": "2026-01-16T00:00:00.000Z",
129-
"hash": "5c1a09188160cd6d06fc6fe536d5e97d"
129+
"hash": "f3c1041f4280e69fe08040449957825e"
130130
},
131131
"/static/pdfs/web_almanac_2021_en_print_A5.pdf": {
132132
"date_published": "2021-12-01T00:00:00.000Z",
133133
"date_modified": "2026-01-16T00:00:00.000Z",
134-
"hash": "b7400ddb422c2af4dc5f83c78af9ab9e",
134+
"hash": "c2e671b08d9d028a5060503940aaf311",
135135
"size": 17
136136
},
137137
"/static/pdfs/web_almanac_2021_ja.pdf": {
138138
"date_published": "22-08-01T00:00:00.000Z",
139139
"date_modified": "2026-01-16T00:00:00.000Z",
140-
"hash": "128c382f054f79c1eec21c4ee433c05e",
140+
"hash": "3ea76af56bd5e04e50e5d8a7721df6ce",
141141
"size": 18
142142
},
143143
"/static/pdfs/web_almanac_2021_ja_cover_A5.pdf": {
144144
"date_published": "22-08-01T00:00:00.000Z",
145145
"date_modified": "2026-01-16T00:00:00.000Z",
146-
"hash": "54835cd158d1374918dacf37ca0f5a03"
146+
"hash": "a29901ad4cbfa52f14489eb71fe21509"
147147
},
148148
"/static/pdfs/web_almanac_2021_ja_print_A5.pdf": {
149149
"date_published": "22-08-01T00:00:00.000Z",
150150
"date_modified": "2026-01-16T00:00:00.000Z",
151-
"hash": "8da1cf633a32fc07728b81ba4948c8a4",
151+
"hash": "baf6632a8f0d8555ff101a33f9e24820",
152152
"size": 18
153153
},
154154
"/static/pdfs/web_almanac_2022_en.pdf": {
155155
"date_published": "2022-10-19T00:00:00.000Z",
156156
"date_modified": "2026-01-16T00:00:00.000Z",
157-
"hash": "f9136420d70ebda987253857988f3286",
157+
"hash": "86fd5681480a98ec851145a77209d20e",
158158
"size": 16
159159
},
160160
"/static/pdfs/web_almanac_2022_en_cover_A5.pdf": {
161161
"date_published": "2022-10-19T00:00:00.000Z",
162162
"date_modified": "2026-01-16T00:00:00.000Z",
163-
"hash": "c89cab35043afa2baba6e4161a07498f"
163+
"hash": "cd975ed9769edf43754a0cc460a11967"
164164
},
165165
"/static/pdfs/web_almanac_2022_en_print_A5.pdf": {
166166
"date_published": "2022-10-19T00:00:00.000Z",
167167
"date_modified": "2026-01-16T00:00:00.000Z",
168-
"hash": "18ff509f1b0f3dca7d3b58ab78ea56c9",
168+
"hash": "1e6c3912f5764adb286e2fb2810b1cf4",
169169
"size": 16
170170
},
171171
"/static/pdfs/web_almanac_2022_ja.pdf": {
172172
"date_published": "2024-09-26T00:00:00.000Z",
173173
"date_modified": "2026-01-16T00:00:00.000Z",
174-
"hash": "baca6417fbdb5fef4c6f0bd840960e63",
174+
"hash": "c1ad00994f5e44e982f3b0add5b9d572",
175175
"size": 17
176176
},
177177
"/static/pdfs/web_almanac_2022_ja_cover_A5.pdf": {
178178
"date_published": "2024-09-26T00:00:00.000Z",
179179
"date_modified": "2026-01-16T00:00:00.000Z",
180-
"hash": "4937c8709998e5916b77f854ad48215e"
180+
"hash": "47ce1c4c656e4d63d1fa087e86e9f87b"
181181
},
182182
"/static/pdfs/web_almanac_2022_ja_print_A5.pdf": {
183183
"date_published": "2024-09-26T00:00:00.000Z",
184184
"date_modified": "2026-01-16T00:00:00.000Z",
185-
"hash": "7b08810e883793138bfc701e747c1eb4",
185+
"hash": "5bc953da6401622a7544b44b1277d5fe",
186186
"size": 16
187187
},
188188
"/static/pdfs/web_almanac_2024_en.pdf": {
189189
"date_published": "2025-03-03T00:00:00.000Z",
190190
"date_modified": "2026-01-16T00:00:00.000Z",
191-
"hash": "3a0a7615c3707f6d437d59592533ac5b",
191+
"hash": "ce9fad28fde7f2865edadea727abc1d4",
192192
"size": 17
193193
},
194194
"/static/pdfs/web_almanac_2024_en_cover_A5.pdf": {
195195
"date_published": "2025-03-03T00:00:00.000Z",
196196
"date_modified": "2026-01-16T00:00:00.000Z",
197-
"hash": "a387c62500b34d959a99e33f403d5a6a"
197+
"hash": "f5392db10ad6228f7aa24487b9d59f12"
198198
},
199199
"/static/pdfs/web_almanac_2024_en_print_A5.pdf": {
200200
"date_published": "2025-03-03T00:00:00.000Z",
201201
"date_modified": "2026-01-16T00:00:00.000Z",
202-
"hash": "f813dee146cb1e990e05ef07fad5d845",
202+
"hash": "96e43e6cbdac7183f7ac951e10a6c75b",
203203
"size": 16
204204
},
205205
"/static/pdfs/web_almanac_2024_ja.pdf": {
206206
"date_published": "2025-07-18T00:00:00.000Z",
207207
"date_modified": "2026-01-16T00:00:00.000Z",
208-
"hash": "2898df57a365a65d268b17423b0f806a",
208+
"hash": "fa4c286ac3fce18806f53e396d107f66",
209209
"size": 17
210210
},
211211
"/static/pdfs/web_almanac_2024_ja_cover_A5.pdf": {
212212
"date_published": "2025-07-18T00:00:00.000Z",
213213
"date_modified": "2026-01-16T00:00:00.000Z",
214-
"hash": "b7d24ab04c199efdb1e90a33aabd6bbd"
214+
"hash": "3ac282154bc050f31cbcf192e37aabdd"
215215
},
216216
"/static/pdfs/web_almanac_2024_ja_print_A5.pdf": {
217217
"date_published": "2025-07-18T00:00:00.000Z",
218218
"date_modified": "2026-01-16T00:00:00.000Z",
219-
"hash": "94e159d32cb9869c3eb600330a9f9c48",
219+
"hash": "7fc7347944d606e6d992bf55ffc4fc4f",
220220
"size": 17
221221
},
222222
"/static/pdfs/web_almanac_2025_en.pdf": {
223223
"date_published": "2026-01-15T00:00:00.000Z",
224224
"date_modified": "2026-01-16T00:00:00.000Z",
225-
"hash": "aa03493d27fd8b7e44cd7d9d13981666",
225+
"hash": "755b6954fb3ec42a9f713e1a4944795e",
226226
"size": 12
227227
},
228228
"/static/pdfs/web_almanac_2025_en_cover_A5.pdf": {
229229
"date_published": "2026-01-15T00:00:00.000Z",
230230
"date_modified": "2026-01-16T00:00:00.000Z",
231-
"hash": "5b15a925aad72b3aea9881de328b9f88"
231+
"hash": "eca0363ecec083e302fda63ce767faf8"
232232
},
233233
"/static/pdfs/web_almanac_2025_en_print_A5.pdf": {
234234
"date_published": "2026-01-15T00:00:00.000Z",
235235
"date_modified": "2026-01-16T00:00:00.000Z",
236-
"hash": "1be910a799386890c248fc10f3237be3",
236+
"hash": "2e0220bebd47523349aca5f3fcebd6ca",
237237
"size": 11
238238
},
239239
"en/2019/chapters/accessibility.html": {
@@ -989,7 +989,7 @@
989989
"en/2025/chapters/performance.html": {
990990
"date_published": "2026-01-15T00:00:00.000Z",
991991
"date_modified": "2026-01-16T00:00:00.000Z",
992-
"hash": "629a1f6f187f3f7462dd5e9feae4fa25"
992+
"hash": "b21dca28af0bc1e2eaabe0fc7e174197"
993993
},
994994
"en/2025/chapters/privacy.html": {
995995
"date_published": "2026-01-15T00:00:00.000Z",

src/content/en/2025/performance.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ From 2023 to 2025, the share of sites with "good" CLS increases steadily across
424424

425425
There are a number of best practices sites can follow to reduce the likelihood of CLS.
426426

427-
### Back/forward cache (bfcache)
427+
#### Back/forward cache (bfcache)
428428

429429
[The back/forward cache (bfcache)](https://web.dev/articles/bfcache) allows browsers to instantly restore a page from memory when users navigate using the browser's back or forward buttons. Rather than reloading the page and re-executing JavaScript, the browser preserves the page's state, resulting in near-instant navigations and improved user experience. Because pages are restored in their previous state, bfcache can also help avoid layout shifts that might otherwise occur during re-navigation.
430430

@@ -555,7 +555,7 @@ Non-composited animations remain common, appearing on 40% of mobile pages and 44
555555
)
556556
}}
557557

558-
Non-composited animations impact emerges primarily at higher percentiles, with usage increasing at the 75th percentile and rising sharply at the 90th percentile to 13 animations on desktop and 11 on mobile, as shown in the chart below.
558+
Non-composited animations impact emerges primarily at higher percentiles, with usage increasing at the 75th percentile and rising sharply at the 90th percentile to 13 animations on desktop and 11 on mobile.
559559

560560
### Visual stability conclusion
561561

src/server/tests/helpers_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ def test_random_value_is_returned_as_none():
375375

376376

377377
def test_en_ebook_size_at_least_10_mb_info():
378-
assert get_file_date_info("/static/pdfs/web_almanac_2019_en.pdf", "size") > 10
378+
assert get_file_date_info("/static/pdfs/web_almanac_2019_en.pdf", "size") >= 8
379379

380380

381381
def test_versioned_css_file_is_of_correct_format():
@@ -390,12 +390,12 @@ def test_non_versioned_css_file_is_of_correct_format():
390390

391391

392392
def test_en_ebook_size_at_least_10_mb():
393-
assert get_ebook_size_in_mb("en", "2019") > 10
393+
assert get_ebook_size_in_mb("en", "2019") >= 8
394394

395395

396396
@pytest.mark.parametrize("config", all_ebooks)
397397
def test_all_configured_ebooks_at_least_10_mb(config):
398-
assert get_ebook_size_in_mb(config[0], config[1]) > 10
398+
assert get_ebook_size_in_mb(config[0], config[1]) >= 8
399399

400400

401401
def test_ebook_size_non_existant_language_is_zero():
14.9 KB
Loading

0 commit comments

Comments
 (0)