Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
301 commits
Select commit Hold shift + click to select a range
b8435c4
refactor: migrated 2FA logic (#3834)
thorsten Jan 2, 2026
bd2ba72
fix: corrected some issues (#3834)
thorsten Jan 3, 2026
b8425cd
refactor: removed obsolete rewrite rules (#3834)
thorsten Jan 3, 2026
1a88e30
refactor: migrated solution id route (#3834)
thorsten Jan 3, 2026
16e8237
refactor: migrated tag routes (#3834)
thorsten Jan 3, 2026
fd9f363
refactor: migrated gzipped sitemap routes (#3834)
thorsten Jan 3, 2026
d6761d9
fix: corrected nginx rewrite rules (#3834)
thorsten Jan 3, 2026
4112d66
fix: corrected rewrite rules for IIS and FrankenPHP (#3834)
thorsten Jan 3, 2026
c9d19c1
fix: corrected 404 handling (#3834)
thorsten Jan 3, 2026
2aa5f7e
refactor: simplified rewrite routes (#3834)
thorsten Jan 3, 2026
741152d
feat(api): improved API errors with formatted RFC 7807 Problem Detail…
thorsten Jan 3, 2026
1e5173e
feat(api): added API for glossary definitions
thorsten Jan 3, 2026
0f09ec0
feat(api): updated API version to 3.2 (#3830)
thorsten Jan 3, 2026
e4d5210
docs: added updated OpenAPI specs (#3830)
thorsten Jan 3, 2026
e0922a2
fix: corrected tests
thorsten Jan 3, 2026
c937ef2
fix: corrected update routes, closes #3834
thorsten Jan 3, 2026
4c55aa2
feat: improved error page
thorsten Jan 3, 2026
b4772ca
refactor: simplified session usage in controllers
thorsten Jan 3, 2026
8cb7a00
chore: updated translations
thorsten Jan 3, 2026
61d5d9d
chore: translation cleanup
thorsten Jan 3, 2026
a954412
feat(admin-log): improved admin logging (#3833)
thorsten Jan 4, 2026
61f6c4d
refactor: simplified code, fixed linter issues
thorsten Jan 4, 2026
47c323c
build: migrated codebase to use PHP 8.4 language features
thorsten Jan 5, 2026
207748d
refactor: removed CategoryHelper::renderOptions()
thorsten Jan 5, 2026
97c5619
refactor: removed deprecated CommentHelper class
thorsten Jan 5, 2026
6775351
refactor: removed deprecated getCategoryLanguagesToTranslate() method…
thorsten Jan 5, 2026
62b4fea
refactor: removed deprecated Category class code
thorsten Jan 5, 2026
160c323
refactor: replaced attribute qualifier with import
thorsten Jan 5, 2026
cec2e1e
refactor: removed deprecated renderChangeLanguageSelector() method
thorsten Jan 5, 2026
a938b6d
fix: corrected URL schemes
thorsten Jan 5, 2026
c5746e9
fix: corrected URL schemes
thorsten Jan 5, 2026
5a4e685
fix: corrected URL schemes
thorsten Jan 5, 2026
02da302
feat: added title slugify Twig extension
thorsten Jan 5, 2026
86cc0e4
fix: corrected URL schemes
thorsten Jan 5, 2026
ded401b
fix: corrected URL schemes
thorsten Jan 5, 2026
3fe7bd4
fix: corrected URL schemes
thorsten Jan 5, 2026
9e35c99
fix: corrected URL schemes
thorsten Jan 5, 2026
8891d57
fix: corrected typo
thorsten Jan 5, 2026
d72ec3f
fix: corrected Symfony session usage for flash bags
thorsten Jan 5, 2026
b3b64ec
build(deps-dev): bump zircote/swagger-php from 5.7.6 to 5.7.7
dependabot[bot] Jan 5, 2026
a4f39ad
build(deps): bump monolog/monolog from 3.9.0 to 3.10.0
dependabot[bot] Jan 5, 2026
997ecab
build(deps): bump robthree/twofactorauth from 3.0.2 to 3.0.3
dependabot[bot] Jan 6, 2026
aa52559
build(deps-dev): bump sass from 1.97.1 to 1.97.2
dependabot[bot] Jan 6, 2026
3de021e
build(deps-dev): bump typescript-eslint from 8.51.0 to 8.52.0
dependabot[bot] Jan 6, 2026
2672371
Merge branch '4.1' into 'main'
thorsten Jan 6, 2026
c550df1
build: removed legacy routing
thorsten Jan 6, 2026
80c560a
docs: added more documentation for Claude Code
thorsten Jan 6, 2026
b4ad88a
feat(admin-log): added more log types
thorsten Jan 6, 2026
93452cd
feat(admin-log): added tracking for all content changes (#3833)
thorsten Jan 6, 2026
676eb28
Merge branch '4.1' into 'main'
thorsten Jan 6, 2026
1304a7a
refactor: improved Pagination class with types and property hooks
thorsten Jan 6, 2026
96b0321
fix: simplified code
thorsten Jan 6, 2026
e5a3117
fix: avoid doubled page query parameters
thorsten Jan 6, 2026
93dd726
fix: corrected URL
thorsten Jan 6, 2026
e8b0c2b
fix: corrected pages display for pagination
thorsten Jan 6, 2026
e07f7df
feat(admin-log): added enums for user and groups (#3833)
thorsten Jan 6, 2026
9df3a1b
feat(admin-log): role and permission changes are now tracked (#3833)
thorsten Jan 6, 2026
ee84a79
feat(admin-log): added logging for security-relevant actions (#3833)
thorsten Jan 6, 2026
18c565d
feat(admin-log): added admin log CSV export feature (#3833)
thorsten Jan 6, 2026
f8549f2
build(deps-dev): bump doctrine/instantiator from 2.0.0 to 2.1.0
dependabot[bot] Jan 7, 2026
ac99a05
build(deps-dev): bump phpdocumentor/reflection-docblock
dependabot[bot] Jan 8, 2026
63a0867
build(deps-dev): bump vite from 7.3.0 to 7.3.1
dependabot[bot] Jan 8, 2026
e826996
build(deps-dev): bump @commitlint/cli from 20.3.0 to 20.3.1
dependabot[bot] Jan 9, 2026
a52e9cd
build(deps-dev): bump @commitlint/config-conventional
dependabot[bot] Jan 9, 2026
950aefc
feat(admin-log): the Logs are tamper-resistant now
thorsten Jan 9, 2026
509e4dc
Merge branch '4.1' into 'main'
thorsten Jan 10, 2026
dea4698
Merge branch '4.1' into 'main'
thorsten Jan 11, 2026
040fe41
test: added more controller tests for the public API (#3830)
thorsten Jan 11, 2026
47708bf
test: added more controller tests for the public API (#3830)
thorsten Jan 11, 2026
0383aab
Fix: for frontend pages with Server Error 500 when accessed by guests…
d0ubIeU Jan 11, 2026
5838f15
test: added more controller tests for the public API (#3830)
thorsten Jan 11, 2026
eea6d9e
fix: corrected adding new admin log entries
thorsten Jan 11, 2026
d973f84
fix: corrected 401/403 behaviour
thorsten Jan 11, 2026
3f66a00
feat(api): added foundation for standardized pagination, sorting, and…
thorsten Jan 11, 2026
3f388a4
feat(api): added pagination, sorting, and filtering for news and cate…
thorsten Jan 11, 2026
7093bc6
Merge branch '4.1' into 'main'
thorsten Jan 11, 2026
812c5d8
4.2dev (#3860)
d0ubIeU Jan 11, 2026
6cb6fd9
fix: corrected ordering of log entries
thorsten Jan 11, 2026
3b535a3
feat(api): added pagination, sorting, and filtering for API controlle…
thorsten Jan 12, 2026
b3abf6e
Merge branch '4.1' into 'main'
thorsten Jan 12, 2026
3fd39d6
test: added more tests for APIs (#3830)
thorsten Jan 12, 2026
1e02f8b
feat(custom-pages): added service and repository classes for custom p…
thorsten Jan 12, 2026
6df428b
build(deps-dev): bump @babel/core from 7.28.5 to 7.28.6
dependabot[bot] Jan 13, 2026
591243a
build(deps-dev): bump zircote/swagger-php from 5.7.7 to 6.0.0
dependabot[bot] Jan 13, 2026
9ab951c
build(deps-dev): bump typescript-eslint from 8.52.0 to 8.53.0
dependabot[bot] Jan 13, 2026
c36fb90
build(deps-dev): bump @babel/preset-env from 7.28.5 to 7.28.6
dependabot[bot] Jan 13, 2026
380ef05
Update StatisticsSearchController.php
d0ubIeU Jan 13, 2026
06d1b11
build(deps-dev): bump rector/rector from 2.3.0 to 2.3.1
dependabot[bot] Jan 14, 2026
37120b3
build(deps-dev): bump prettier from 3.7.4 to 3.8.0
dependabot[bot] Jan 15, 2026
db8e2a5
feat(custum-pages): added admin section to create, update and delete …
thorsten Jan 15, 2026
926bff3
feat: added sanitizer for SVG content
thorsten Jan 15, 2026
d3d0fd8
feat: added check to prevent Zip Slip attacks
thorsten Jan 15, 2026
2567054
feat(custom-pages): added front controller, template and search integ…
thorsten Jan 16, 2026
402ebf4
feat(custom-pages): corrected indexing (#3015)
thorsten Jan 16, 2026
152958b
feat(custom-pages): added controller for terms of service, imprint an…
thorsten Jan 16, 2026
f8da133
feat(custom-pages): added translations to custom pages and documentat…
thorsten Jan 17, 2026
b671d0e
build(deps-dev): bump zircote/swagger-php from 6.0.0 to 6.0.1
dependabot[bot] Jan 16, 2026
0fb2783
fix: redirect user to login if a 401 happens in the admin API
thorsten Jan 17, 2026
666c51d
fix: corrected OpenAPI attributes
thorsten Jan 17, 2026
dc78433
refactor: simplified duplicated code
thorsten Jan 17, 2026
c902085
fix: removed obsolete template variable
thorsten Jan 17, 2026
a030ec7
refactor: updated PHPDoc
thorsten Jan 17, 2026
2ce3139
feat: added more German translations
thorsten Jan 17, 2026
5397b5e
feat(api): added new configuration options (#3876)
thorsten Jan 17, 2026
cc4c244
feat(api): added configuration for only active FAQs in API (#3876)
thorsten Jan 17, 2026
77c3da2
feat(api): added configuration for orphaned FAQs in API (#3876)
thorsten Jan 17, 2026
433b5e6
feat(api): added configuration for only active categories in API (#3876)
thorsten Jan 17, 2026
81d424b
feat(api): added configuration for public questions in API, closes #3876
thorsten Jan 17, 2026
f442274
docs: updated PDO support
thorsten Jan 17, 2026
c85b029
feat(translations): added core infrastructure and provider implementa…
thorsten Jan 17, 2026
a15453c
feat(translations): added admin API endpoint (#3720)
thorsten Jan 18, 2026
ffacde4
feat(translations): added translation buttons to FAQs, categories and…
thorsten Jan 18, 2026
ebdb203
feat(translation): added missing translation string (#3720)
thorsten Jan 18, 2026
ad9b057
feat(translation): added support for Amazon Translate (#3720)
thorsten Jan 18, 2026
9bd0cb6
feat(translations): added documentation for translation adapters, clo…
thorsten Jan 18, 2026
6aacba5
feat(routing): added infrastructure for attribute-based routing (#3877)
thorsten Jan 18, 2026
eccaca9
feat(routing): added missing route attribute (#3877)
thorsten Jan 18, 2026
f95963f
feat: add remove-sticky-status button in sticky FAQ overview
d0ubIeU Jan 18, 2026
e8e3f5f
refactor: using a modal instead of confirm(), added tests
thorsten Jan 18, 2026
933a2ad
feat(routing): added missing route attributes (#3877)
thorsten Jan 18, 2026
12fedc7
feat(routing): added missing route attributes (#3877)
thorsten Jan 18, 2026
bbe54a0
docs: updated documentation
d0ubIeU Jan 18, 2026
d5f66cf
feat(routing): added missing route attributes (#3877)
thorsten Jan 18, 2026
ba574ae
feat(routing): added missing route attributes (#3877)
thorsten Jan 18, 2026
e57f689
build: updated third party dependencies
thorsten Jan 18, 2026
38b561e
feat(routing): fixed route attributes (#3877)
thorsten Jan 18, 2026
a919cd8
feat(routing): fixed route attributes (#3877)
thorsten Jan 19, 2026
4ffe5d7
feat(routing): file-based route definitions have been removed, closes…
thorsten Jan 19, 2026
e10b111
chore: updated changelog
thorsten Jan 19, 2026
1972714
feat(routing): enabled the route cache, closes #3877
thorsten Jan 19, 2026
86ef4ce
docs: update FAQ administration section for clarity and organization
d0ubIeU Jan 19, 2026
ad0847c
fix: corrected routes for Admin API
thorsten Jan 19, 2026
4cfdd31
feat(comments): added option to use basic WYSIWYG editor for comments…
thorsten Jan 19, 2026
57e479f
refactor: simplified PLurals class
thorsten Jan 19, 2026
c2d7cca
feat(chat): added basic classes, controllers and database (#3722)
thorsten Jan 19, 2026
b4fa294
fix: redirect user to login if a 401 happens in the admin API
thorsten Jan 19, 2026
442674f
fix: corrected TypeScript errors
thorsten Jan 20, 2026
6a4ac53
feat(a11y): added information on the accessibility of services page
thorsten Jan 20, 2026
fab1b5c
fix: corrected template variable
thorsten Jan 20, 2026
c0d9efb
build: updated third party dependencies
thorsten Jan 20, 2026
4f22214
fix: custom templates sources
d0ubIeU Jan 21, 2026
8b832ef
fix: corrected route
thorsten Jan 21, 2026
629f6d7
fix: corrected routes
thorsten Jan 21, 2026
8774a1d
build(deps-dev): bump rector/rector from 2.3.2 to 2.3.4
dependabot[bot] Jan 22, 2026
8c18161
feat(style): high contrast mode browser scrollbar
d0ubIeU Jan 22, 2026
62761eb
build(deps-dev): bump prettier from 3.8.0 to 3.8.1
dependabot[bot] Jan 22, 2026
d57566a
build(deps-dev): bump sass from 1.97.2 to 1.97.3
dependabot[bot] Jan 22, 2026
b1af0b4
build(deps-dev): bump zircote/swagger-php from 6.0.2 to 6.0.3
dependabot[bot] Jan 23, 2026
f8cc914
fix: Dockerfile to reduce vulnerabilities
snyk-bot Jan 23, 2026
5638e2f
Merge branch '4.1' into 'main'
thorsten Jan 23, 2026
a988cf4
feat(chat): added a simple chat for users, closes #3722
thorsten Jan 23, 2026
ffb730b
chore: next version will be v4.2.0-alpha
thorsten Jan 23, 2026
50232b6
fix: added missing new tables
thorsten Jan 24, 2026
5122656
Merge branch '4.1' into 'main'
thorsten Jan 24, 2026
a6fc987
style: added sidebar toggle, closes #3857
thorsten Jan 24, 2026
4ac5dae
feat: added support for Flesch readability tests
thorsten Jan 24, 2026
75f4ee1
style: moved Flesch index to the bottom
thorsten Jan 25, 2026
e954b6e
feat: added more languages for Flesch readability tests
thorsten Jan 25, 2026
71e2f95
open questions admin page expanded
d0ubIeU Jan 25, 2026
9a9abd3
fixed: variables
d0ubIeU Jan 25, 2026
7f1aca7
fixed: formatting
d0ubIeU Jan 25, 2026
1460983
build(deps): bump symfony/http-kernel from 8.0.3 to 8.0.4
dependabot[bot] Jan 26, 2026
c5ed98a
build(deps): bump symfony/dependency-injection from 8.0.3 to 8.0.4
dependabot[bot] Jan 26, 2026
fde52b7
build(deps): bump symfony/console from 8.0.3 to 8.0.4
dependabot[bot] Jan 26, 2026
e0a28ed
build(deps): bump symfony/mailer from 8.0.3 to 8.0.4
dependabot[bot] Jan 26, 2026
82b8acc
build(deps): bump twig/intl-extra from 3.22.1 to 3.23.0
dependabot[bot] Jan 26, 2026
9e28b15
build(deps): bump symfony/http-client from 8.0.3 to 8.0.4
dependabot[bot] Jan 26, 2026
c5a15d8
build(deps-dev): bump vite-plugin-static-copy from 3.1.5 to 3.1.6
dependabot[bot] Jan 26, 2026
6c2999d
build(deps): bump symfony/uid from 8.0.0 to 8.0.4
dependabot[bot] Jan 26, 2026
9ebec8e
build(deps): bump symfony/config from 8.0.3 to 8.0.4
dependabot[bot] Jan 27, 2026
63e676b
build(deps-dev): bump carthage-software/mago from 1.1.0 to 1.2.2
dependabot[bot] Jan 27, 2026
2f24771
build(deps): bump symfony/routing from 8.0.3 to 8.0.4
dependabot[bot] Jan 27, 2026
ddf0867
build(deps-dev): bump phpunit/phpunit from 12.5.6 to 12.5.7
dependabot[bot] Jan 27, 2026
09d6df6
build(deps-dev): bump vite-plugin-static-copy from 3.1.6 to 3.2.0
dependabot[bot] Jan 27, 2026
e422e02
build(deps-dev): bump typescript-eslint from 8.53.1 to 8.54.0
dependabot[bot] Jan 27, 2026
a1789de
build(deps): bump phpseclib/phpseclib from 3.0.48 to 3.0.49
dependabot[bot] Jan 28, 2026
a3f2719
build(deps-dev): bump rector/rector from 2.3.4 to 2.3.5
dependabot[bot] Jan 29, 2026
175e92b
build(deps): bump symfony/dependency-injection from 8.0.4 to 8.0.5
dependabot[bot] Jan 29, 2026
73bad71
build(deps): bump symfony/http-client from 8.0.4 to 8.0.5
dependabot[bot] Jan 29, 2026
8e860aa
build(deps): bump symfony/http-kernel from 8.0.4 to 8.0.5
dependabot[bot] Jan 29, 2026
cd71fd3
build(deps-dev): bump phpunit/phpunit from 12.5.6 to 12.5.8
dependabot[bot] Jan 29, 2026
76630c4
build(deps-dev): bump carthage-software/mago from 1.2.2 to 1.3.0
dependabot[bot] Jan 30, 2026
9f846a2
feat: the LanguageCodes class has been updated with native language n…
thorsten Jan 26, 2026
20fc43e
feat: enhancement to cross language orphaned FAQ Management
d0ubIeU Jan 31, 2026
0fc9f2f
docs: update documentation for multi-language content management
d0ubIeU Jan 31, 2026
ddf5340
refactor(update): improved update process (#3906)
thorsten Jan 31, 2026
0690a47
build(deps-dev): bump @types/node from 24.10.9 to 25.2.0
dependabot[bot] Feb 2, 2026
c421148
build(deps-dev): bump @babel/preset-env from 7.28.6 to 7.29.0
dependabot[bot] Feb 2, 2026
5e12f99
build(deps): bump jodit from 4.7.9 to 4.8.9
dependabot[bot] Feb 2, 2026
0e7a02b
build(deps-dev): bump autoprefixer from 10.4.23 to 10.4.24
dependabot[bot] Feb 2, 2026
9c108fc
build(deps-dev): bump @babel/core from 7.28.6 to 7.29.0
dependabot[bot] Feb 2, 2026
731ee94
build(deps-dev): bump @commitlint/config-conventional
dependabot[bot] Feb 2, 2026
a5263df
build(deps-dev): bump @commitlint/cli from 20.3.1 to 20.4.0
dependabot[bot] Feb 2, 2026
49c9ce7
style: minor changes in high-contrast mode
d0ubIeU Feb 2, 2026
cc063fb
refactor(setup): improved installation and setup classes
thorsten Feb 2, 2026
cce7db3
refactor: improved order of databases
thorsten Feb 2, 2026
23361ad
fix: improve fatal error handling
thorsten Feb 2, 2026
69762e2
fix: cleanup
thorsten Feb 2, 2026
c15f1d1
build(deps-dev): bump @commitlint/cli from 20.4.0 to 20.4.1
dependabot[bot] Feb 3, 2026
36e2ae5
build(deps-dev): bump jsdom from 27.4.0 to 28.0.0
dependabot[bot] Feb 3, 2026
5472c41
build(deps-dev): bump @commitlint/config-conventional
dependabot[bot] Feb 3, 2026
6fa4cfc
build(deps-dev): bump zircote/swagger-php from 6.0.3 to 6.0.4
dependabot[bot] Feb 4, 2026
d83b143
build(deps-dev): bump carthage-software/mago from 1.3.0 to 1.4.1
dependabot[bot] Feb 4, 2026
f9ff03a
build(deps): bump jodit from 4.8.9 to 4.9.4
dependabot[bot] Feb 4, 2026
4deedd8
style: added basic adjustments to the Jodit Editor for high-contrast …
d0ubIeU Feb 4, 2026
7920c5d
feat: improved layout and permissions for open questions
d0ubIeU Feb 4, 2026
a765c35
build(deps-dev): bump carthage-software/mago from 1.4.1 to 1.5.0
dependabot[bot] Feb 5, 2026
d05cd5e
build(deps): bump endroid/qr-code from 6.1.0 to 6.1.1
dependabot[bot] Feb 5, 2026
e55f444
build(deps): bump endroid/qr-code from 6.1.1 to 6.1.3
dependabot[bot] Feb 6, 2026
5909f21
build(deps-dev): bump phpunit/phpunit from 12.5.8 to 12.5.9
dependabot[bot] Feb 6, 2026
0bfb45d
build(deps-dev): bump @types/node from 25.2.0 to 25.2.1
dependabot[bot] Feb 6, 2026
d50b57b
feat: added Web Push API support, closes #3845
thorsten Feb 6, 2026
a5316ab
Merge branch '4.1' into 'main'
thorsten Feb 6, 2026
47bb2c5
test: added more tests
thorsten Feb 6, 2026
cb72e6a
test: added more tests
thorsten Feb 7, 2026
044272a
Merge branch '4.1' into 'main'
thorsten Feb 7, 2026
23e60c7
refactor: added 4 cohesive classes for bootstrapping with full backwa…
thorsten Feb 8, 2026
2f51a7a
fix: skip session ini test when session is already active
thorsten Feb 8, 2026
cfceb99
refactor: improved code
thorsten Feb 8, 2026
9fa63fc
refactor: improved code
thorsten Feb 8, 2026
88c5439
fix: corrected test output
thorsten Feb 8, 2026
7834428
build(deps): bump minishlink/web-push from 9.0.4 to 10.0.1
dependabot[bot] Feb 9, 2026
cd0760e
build(deps-dev): bump rector/rector from 2.3.5 to 2.3.6
dependabot[bot] Feb 9, 2026
682105b
build(deps-dev): bump @types/node from 25.2.1 to 25.2.2
dependabot[bot] Feb 9, 2026
735711c
feat: improved tenant isolation, added tenant context and tenant live…
thorsten Feb 9, 2026
eb6c6ce
feat: added storage abstraction, closes #1069
thorsten Feb 9, 2026
0de6a0e
feat: added API Key infrastructure and OAuth server
thorsten Feb 9, 2026
97f5cc3
feat: added rate limiter for API
thorsten Feb 9, 2026
a01fdfc
build(deps): bump aws/aws-sdk-php from 3.369.29 to 3.369.30
dependabot[bot] Feb 10, 2026
3930f0b
build(deps-dev): bump carthage-software/mago from 1.6.0 to 1.7.0
dependabot[bot] Feb 10, 2026
6eec93d
build(deps-dev): bump typescript-eslint from 8.54.0 to 8.55.0
dependabot[bot] Feb 10, 2026
ceb69df
build(deps): bump jodit from 4.9.4 to 4.9.6
dependabot[bot] Feb 10, 2026
0340496
feat: added tenant quotas
thorsten Feb 11, 2026
0b12e26
build(deps-dev): bump zircote/swagger-php from 6.0.4 to 6.0.5
dependabot[bot] Feb 11, 2026
565d635
build(deps): bump aws/aws-sdk-php from 3.369.30 to 3.369.31
dependabot[bot] Feb 11, 2026
22ec09d
build(deps-dev): bump @types/node from 25.2.2 to 25.2.3
dependabot[bot] Feb 11, 2026
1b3c608
build(deps): bump sortablejs from 1.15.6 to 1.15.7
dependabot[bot] Feb 12, 2026
667d1e8
build(deps): bump aws/aws-sdk-php from 3.369.31 to 3.369.33
dependabot[bot] Feb 13, 2026
cf6516b
build(deps-dev): bump carthage-software/mago from 1.7.0 to 1.8.0
dependabot[bot] Feb 13, 2026
c5bd80d
feat(queue): added queue infrastructure, DB-backed jobs, worker, wiri…
thorsten Feb 11, 2026
5276e4d
feat: added task scheduler
thorsten Feb 13, 2026
002c695
feat: added possibility to use Sendgrid, AWS SES, and SMTP for mails
thorsten Feb 14, 2026
f85255e
feat: added Redis-ready session scaling
thorsten Feb 14, 2026
7a8512a
feat: added theme manager
thorsten Feb 14, 2026
f2ea66d
Merge branch '4.1' into 'main'
thorsten Feb 14, 2026
0720749
style: improved configuration layout
thorsten Feb 14, 2026
91eceec
style: improved configuration layout
thorsten Feb 15, 2026
5d60553
style: added translated label matching the active configuration tab
thorsten Feb 15, 2026
7731cbd
feat: extend configuration filter to search within all config items
thorsten Feb 15, 2026
92fa15b
Add cookie consent theme SCSS and import
d0ubIeU Feb 17, 2026
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
  •  
  •  
  •  
8 changes: 6 additions & 2 deletions .docker/apache/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#
# This image uses a php:8.4-apache base image and do not have any phpMyFAQ code with it.
# This image uses a php:8.5-apache base image and do not have any phpMyFAQ code with it.
# It's for development only, it's meant to be run with docker-compose
#

#####################################
#=== Unique stage without payload ===
#####################################
FROM php:8.4-apache
FROM php:8.5-apache

#=== Install gd PHP dependencie ===
RUN set -x \
Expand Down Expand Up @@ -61,6 +61,10 @@ RUN set -ex \
RUN pecl install xdebug-3.5.0 \
&& docker-php-ext-enable xdebug

#=== Install redis PHP extension ===
RUN pecl install redis-6.3.0 \
&& docker-php-ext-enable redis

#=== php default ===
ENV PMF_TIMEZONE="Europe/Berlin" \
PMF_ENABLE_UPLOADS=On \
Expand Down
181 changes: 34 additions & 147 deletions .docker/frankenphp/Caddyfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# Enable compression
encode gzip

# PHP Handler für FrankenPHP
# PHP Handler for FrankenPHP
php_server

# Exclude assets from being handled by router
Expand All @@ -24,104 +24,35 @@

# Error pages
handle_errors 404 {
rewrite * /index.php?action=404
rewrite * /404.html
php_server
}

# General pages
rewrite /add-faq.html /index.php?action=add
rewrite /add-question.html /index.php?action=ask
rewrite /show-categories.html /index.php?action=show
rewrite /search.html /index.php?action=search
rewrite /open-questions.html /index.php?action=open-questions
rewrite /contact.html /index.php?action=contact
rewrite /glossary.html /index.php?action=glossary
rewrite /overview.html /index.php?action=overview
rewrite /login.html /index.php?action=login
rewrite /privacy.html /index.php?action=privacy
rewrite /login /index.php?action=login
rewrite /index.html /index.php
rewrite /bookmarks.html /index.php?action=bookmarks
rewrite /forgot-password /index.php?action=password

# Solution ID pages
@solution_id path_regexp solution ^/solution_id_([0-9]+)\.html$
rewrite @solution_id /index.php?solution_id={re.solution.1}

# FAQ record pages
@faq path_regexp faq ^/content/([0-9]+)/([0-9]+)/([a-z\-_]+)/(.+)\.html?$
rewrite @faq /index.php?action=faq&cat={re.faq.1}&id={re.faq.2}&artlang={re.faq.3}

# Category pages with page count
@category_page path_regexp cat_page ^/category/([0-9]+)/([0-9]+)/(.+)\.html?$
rewrite @category_page /index.php?action=show&cat={re.cat_page.1}&seite={re.cat_page.2}

# Category pages
@category path_regexp cat ^/category/([0-9]+)/(.+)\.html?$
rewrite @category /index.php?action=show&cat={re.cat.1}

# News pages
@news path_regexp news ^/news/([0-9]+)/([a-z\-_]+)/(.+)\.html?$
rewrite @news /index.php?action=news&newsid={re.news.1}&newslang={re.news.2}

# Sitemap pages
@sitemap path_regexp sitemap ^/sitemap/([^/]+)/([a-z\-_]+)\.html?$
rewrite @sitemap /index.php?action=sitemap&letter={re.sitemap.1}&lang={re.sitemap.2}

# Google sitemap
rewrite /sitemap.xml /sitemap.xml.php
rewrite /sitemap.gz /sitemap.xml.php?gz=1
rewrite /sitemap.xml.gz /sitemap.xml.php?gz=1

# robots.txt
rewrite /robots.txt /robots.txt.php

# llms.txt
rewrite /llms.txt /llms.txt.php

# Tags pages with page count
@tags_page path_regexp tags_page ^/tags/([0-9]+)/([0-9]+)/(.+)\.html?$
rewrite @tags_page /index.php?action=search&tagging_id={re.tags_page.1}&seite={re.tags_page.2}

# Tags pages
@tags path_regexp tags ^/tags/([0-9]+)/([^/]+)\.html?$
rewrite @tags /index.php?action=search&tagging_id={re.tags.1}

# Authentication services
@webauthn path /services/webauthn*
rewrite @webauthn /services/webauthn/index.php

# User pages
@user path_regexp user ^/user/(ucp|bookmarks|request-removal|logout|register)$
rewrite @user /index.php?action={re.user.1}

# Setup and update pages
# Setup pages
@setup path /setup*
rewrite @setup /setup/index.php

# Update page - route directly to index.php (handled by Symfony router)
@update path /update*
rewrite @update /update/index.php
rewrite @update /index.php

# Administration API
@admin_api path /admin/api*
@admin_api path /admin/api/*
rewrite @admin_api /admin/api/index.php

# Redirect /admin to /admin/
@admin_exact path_regexp ^/admin$
redir @admin_exact /admin/ 301

# Administration pages
@admin path /admin*
rewrite @admin /admin/index.php
handle_path /admin/* {
rewrite * /admin/index.php
}

# Private APIs
@api path_regexp api ^/api/(autocomplete|bookmark/delete|bookmark/create|user/data/update|user/password/update|user/request-removal|user/remove-twofactor|contact|voting|register|captcha|share|comment/create|faq/create|question/create|webauthn/prepare|webauthn/register|webauthn/prepare-login|webauthn/login)$
# API routes (all API endpoints)
@api path /api/*
rewrite @api /api/index.php

# Setup APIs
@api_setup path_regexp api_setup ^/api/setup/(check|backup|update-database)$
rewrite @api_setup /api/index.php

# REST API v3.0 and v3.1
@api_v3 path_regexp api_v3 ^/api/v3\.[01]/(.*)$
rewrite @api_v3 /api/index.php

file_server

header {
Expand All @@ -148,87 +79,43 @@
# TLS configuration with your certificate files
tls /etc/ssl/cert.pem /etc/ssl/cert-key.pem

# PHP Handler for FrankenPHP
php_server

# Gleiche Rewrite-Regeln wie für Port 80
# Exclude assets from being handled by router
@assets path /admin/assets*
file_server @assets

# Error pages
handle_errors 404 {
rewrite * /index.php?action=404
rewrite * /404.html
php_server
}

rewrite /add-faq.html /index.php?action=add
rewrite /add-question.html /index.php?action=ask
rewrite /show-categories.html /index.php?action=show
rewrite /search.html /index.php?action=search
rewrite /open-questions.html /index.php?action=open-questions
rewrite /contact.html /index.php?action=contact
rewrite /glossary.html /index.php?action=glossary
rewrite /overview.html /index.php?action=overview
rewrite /login.html /index.php?action=login
rewrite /privacy.html /index.php?action=privacy
rewrite /login /index.php?action=login
rewrite /index.html /index.php
rewrite /bookmarks.html /index.php?action=bookmarks

@solution_id path_regexp solution ^/solution_id_([0-9]+)\.html$
rewrite @solution_id /index.php?solution_id={re.solution.1}

@faq path_regexp faq ^/content/([0-9]+)/([0-9]+)/([a-z\-_]+)/(.+)\.html?$
rewrite @faq /index.php?action=faq&cat={re.faq.1}&id={re.faq.2}&artlang={re.faq.3}

@category_page path_regexp cat_page ^/category/([0-9]+)/([0-9]+)/(.+)\.html?$
rewrite @category_page /index.php?action=show&cat={re.cat_page.1}&seite={re.cat_page.2}

@category path_regexp cat ^/category/([0-9]+)/(.+)\.html?$
rewrite @category /index.php?action=show&cat={re.cat.1}

@news path_regexp news ^/news/([0-9]+)/([a-z\-_]+)/(.+)\.html?$
rewrite @news /index.php?action=news&newsid={re.news.1}&newslang={re.news.2}

@sitemap path_regexp sitemap ^/sitemap/([^/]+)/([a-z\-_]+)\.html?$
rewrite @sitemap /index.php?action=sitemap&letter={re.sitemap.1}&lang={re.sitemap.2}

rewrite /sitemap.xml /sitemap.xml.php
rewrite /sitemap.gz /sitemap.xml.php?gz=1
rewrite /sitemap.xml.gz /sitemap.xml.php?gz=1
rewrite /robots.txt /robots.txt.php
rewrite /llms.txt /llms.txt.php

@tags_page path_regexp tags_page ^/tags/([0-9]+)/([0-9]+)/(.+)\.html?$
rewrite @tags_page /index.php?action=search&tagging_id={re.tags_page.1}&seite={re.tags_page.2}

@tags path_regexp tags ^/tags/([0-9]+)/([^/]+)\.html?$
rewrite @tags /index.php?action=search&tagging_id={re.tags.1}

@webauthn path /services/webauthn*
rewrite @webauthn /services/webauthn/index.php

@user path_regexp user ^/user/(ucp|bookmarks|request-removal|logout|register)$
rewrite @user /index.php?action={re.user.1}

# Setup pages
@setup path /setup*
rewrite @setup /setup/index.php

# Update page - route directly to index.php (handled by Symfony router)
@update path /update*
rewrite @update /update/index.php
rewrite @update /index.php

@admin_api path /admin/api*
# Administration API
@admin_api path /admin/api/*
rewrite @admin_api /admin/api/index.php

@admin path /admin*
rewrite @admin /admin/index.php

@api path_regexp api ^/api/(autocomplete|bookmark/delete|bookmark/create|user/data/update|user/password/update|user/request-removal|user/remove-twofactor|contact|voting|register|captcha|share|comment/create|faq/create|question/create|webauthn/prepare|webauthn/register|webauthn/prepare-login|webauthn/login)$
rewrite @api /api/index.php
# Redirect /admin to /admin/
@admin_exact path_regexp ^/admin$
redir @admin_exact /admin/ 301

@api_setup path_regexp api_setup ^/api/setup/(check|backup|update-database)$
rewrite @api_setup /api/index.php
# Administration pages
handle_path /admin/* {
rewrite * /admin/index.php
}

@api_v3 path_regexp api_v3 ^/api/v3\.[01]/(.*)$
rewrite @api_v3 /api/index.php
# API routes (all API endpoints)
@api path /api/*
rewrite @api /api/index.php

file_server

Expand Down
4 changes: 4 additions & 0 deletions .docker/frankenphp/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
RUN pecl install xdebug \
&& docker-php-ext-enable xdebug

#=== Install redis PHP extension ===
RUN pecl install redis \
&& docker-php-ext-enable redis

#=== Environment variables ===
ENV PMF_TIMEZONE="Europe/Berlin" \
PMF_ENABLE_UPLOADS=On \
Expand Down
Loading