Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Next Major Version] Prepare Davis 5.0.0 #135

Merged
merged 34 commits into from
Aug 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
4700c93
chore: update to Symfony 6
tchapi Jan 18, 2024
ce4b839
fix: authentication
tchapi Jan 18, 2024
55c0fa8
chore: lint
tchapi Jan 18, 2024
7332708
fix: filter processor
tchapi Jan 18, 2024
9fc7a67
fix: update CI, docker files
tchapi Jan 18, 2024
41653ad
Bump 5.0.0
tchapi Jan 18, 2024
71c8718
fix: configs
tchapi Jan 18, 2024
da28e86
fix: README
tchapi Jan 18, 2024
a97b633
fix: use annotations
tchapi Jan 18, 2024
71649bc
fix: tests
tchapi Jan 18, 2024
93ae1dc
feat: use route groups
tchapi Jan 19, 2024
5c6e6bd
fix: deprecations
tchapi Jan 19, 2024
2c2920b
chore: move AdminUser
tchapi Jan 19, 2024
386a9f9
chore: use attributes for entities
tchapi Jan 20, 2024
9383caa
chore: remove annotation package
tchapi Jan 20, 2024
cbc41a4
feat: disable the toolbar on dav/* routes
tchapi Jan 20, 2024
0a90d0b
chore: add setup for a better testing
tchapi Jan 20, 2024
4fac9c3
fix: typo in url for addressbooks
tchapi Jan 20, 2024
076c294
feat: new tests
tchapi Jan 20, 2024
0d3d8de
chore: lint
tchapi Jan 20, 2024
e19d313
chore: use native PDO
tchapi Feb 3, 2024
83c3250
feat: favicon
tchapi Feb 3, 2024
a4a6e05
chore: README
tchapi Feb 3, 2024
11cc06e
chore: lint
tchapi Feb 3, 2024
6206f83
chore: README
tchapi Feb 10, 2024
a2432db
chore: remove deprecations
tchapi Feb 10, 2024
a01f479
chore: symfony 7.0 and related packages
tchapi Feb 10, 2024
c9efcf1
chore: README
tchapi Feb 10, 2024
f3c5151
chore: remove php 8.1 from CI
tchapi Feb 10, 2024
56029d0
chore: remove uneeded polyfills
tchapi Feb 10, 2024
a615cb7
fix profiler
tchapi May 31, 2024
8f8e1a9
Compress the intl package
tchapi May 31, 2024
c260a2d
Better implementation
tchapi May 31, 2024
85b998a
composer update
tchapi Aug 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ DATABASE_DRIVER=mysql # or postgresql, or sqlite
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# For a PostgreSQL database, use: "postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=11&charset=UTF-8"
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db" (without the quotes so Symfony can resolve it if it's an absolute path)
DATABASE_URL="mysql://davis:davis@127.0.0.1:3306/davis?serverVersion=mariadb-10.6.10&charset=utf8mb4"
DATABASE_URL="mysql://davis:davis@127.0.0.1:3306/davis?serverVersion=10.9.3-MariaDB&charset=utf8mb4"
###< doctrine/doctrine-bundle ###

###> symfony/mailer ###
Expand Down
2 changes: 2 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots

DATABASE_URL="mysql://davis:davis@127.0.0.1:3306/davis_test?serverVersion=10.9.3-MariaDB&charset=utf8mb4"

MAILER_DSN=smtp://localhost:465?encryption=ssl&auth_mode=login&username=&password=
18 changes: 8 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ env:
SYMFONY_DEPRECATIONS_HELPER: max[self]=0
ADMIN_LOGIN: admin
ADMIN_PASSWORD: test
DATABASE_URL: mysql://user:password@mysql:3306/test_db
DATABASE_URL: mysql://davis:davis@mysql:3306/davis_test

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
container:
image: php:8.2-alpine
image: php:8.3-alpine
options: >-
--tmpfs /tmp:exec
--tmpfs /var/tmp:exec
Expand Down Expand Up @@ -51,11 +51,12 @@ jobs:
--tmpfs /var/tmp:exec
services:
mysql:
image: mariadb:10.7
image: mariadb:10.11
env:
MYSQL_DATABASE: test_db
MYSQL_USER: user
MYSQL_PASSWORD: password
# Corresponds to what is in .env.test
MYSQL_DATABASE: davis_test
MYSQL_USER: davis
MYSQL_PASSWORD: davis
MYSQL_ROOT_PASSWORD: root
options: >-
--health-cmd "mysqladmin ping"
Expand All @@ -67,9 +68,8 @@ jobs:
strategy:
matrix:
php:
- '8.0'
- '8.1'
- '8.2'
- '8.3'
fail-fast: false
steps:
- name: Checkout
Expand All @@ -84,7 +84,5 @@ jobs:
run: wget -qO - https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --quiet
- name: Install dependencies with Composer
run: composer install --no-progress --no-interaction --ansi
- name: Migrate database
run: bin/console doctrine:schema:update --force --no-interaction --complete
- name: Run tests with PHPUnit
run: vendor/bin/phpunit --process-isolation --colors=always
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Davis
[![Latest release][release_badge]][release_link]
[![Sponsor me][sponsor_badge]][sponsor_link]

A simple, fully translatable admin interface and frontend for `sabre/dav` based on [Symfony 5](https://symfony.com/) and [Bootstrap 5](https://getbootstrap.com/), initially inspired by [Baïkal](https://github.com/sabre-io/Baikal).
A simple, fully translatable admin interface and frontend for `sabre/dav` based on [Symfony 7](https://symfony.com/) and [Bootstrap 5](https://getbootstrap.com/), initially inspired by [Baïkal](https://github.com/sabre-io/Baikal).

Provides user edition, calendar creation and sharing, and address book creation. The interface is simple and straightforward, responsive, and provides a light and a dark mode.

Expand All @@ -28,7 +28,7 @@ Created and maintained (with the help of the community) by [@tchapi](https://git

# 🔩 Requirements

- PHP > 7.3.0 (with `pdo_mysql` [or `pdo_pgsql`, `pdo_sqlite`], `gd` and `intl` extensions), compatible up to PHP 8.2 (_See dependencies table below_)
- PHP > 8.2 (with `pdo_mysql` [or `pdo_pgsql`, `pdo_sqlite`], `gd` and `intl` extensions), compatible up to PHP 8.3 (_See dependencies table below_)
- A compatible database layer, such as MySQL or MariaDB (recommended), PostgreSQL (not extensively tested yet) or SQLite (not extensively tested yet)
- Composer > 2 (_The last release compatible with Composer 1 is [v1.6.2](https://github.com/tchapi/davis/releases/tag/v1.6.2)_)
- The [`imap`](https://www.php.net/manual/en/imap.installation.php) and [`ldap`](https://www.php.net/manual/en/ldap.installation.php) PHP extensions if you want to use either authentication methods (_these are not enabled / compiled by default except in the Docker image_)
Expand All @@ -38,8 +38,8 @@ Dependencies

| Release | Status | PHP version |
|--------------------|----------------------------|--------------------|
| `main` (edge) | development branch | PHP 8.0+ |
| `v4.x` | active | PHP 8.0+ |
| `main` (edge) | development branch | PHP 8.2+ |
| `v4.x` | security fixes only | PHP 8.0 → 8.3 |
| `v3.x` | security fixes only | PHP 7.3 → 8.2 |

# 🧰 Installation
Expand Down
85 changes: 37 additions & 48 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,62 +4,59 @@
"type": "project",
"license": "MIT",
"require": {
"php": "^8.0",
"php": "^8.2",
"ext-ctype": "*",
"ext-gd": "*",
"ext-iconv": "*",
"composer-runtime-api": "^2",
"dantsu/php-osm-static-api": "^0.6.4",
"doctrine/annotations": "^1.14.3",
"doctrine/doctrine-bundle": "^2.4",
"doctrine/doctrine-migrations-bundle": "^3.1",
"doctrine/orm": "^2.9",
"phpdocumentor/reflection-docblock": "^5.3",
"doctrine/doctrine-bundle": "^2.11.2",
"doctrine/doctrine-migrations-bundle": "^3.3.0",
"doctrine/orm": "^2.18",
"sabre/dav": "^4.6.0",
"symfony/apache-pack": "^1.0.1",
"symfony/asset": "^5.4.21",
"symfony/console": "^5.4.21",
"symfony/dotenv": "^5.4.21",
"symfony/expression-language": "^5.4.21",
"symfony/flex": "^1.21.2",
"symfony/form": "^5.4.21",
"symfony/framework-bundle": "^5.4.21",
"symfony/http-client": "^5.4.21",
"symfony/intl": "^5.4.21",
"symfony/mailer": "^5.4.21",
"symfony/asset": "^7.0",
"symfony/console": "^7.0",
"symfony/dotenv": "^7.0",
"symfony/expression-language": "^7.0",
"symfony/flex": "^2.4.4",
"symfony/form": "^7.0",
"symfony/framework-bundle": "^7.0",
"symfony/http-client": "^7.0",
"symfony/intl": "^7.0",
"symfony/mailer": "^7.0",
"symfony/monolog-bundle": "^3.10.0",
"symfony/process": "^5.4.21",
"symfony/property-access": "^5.4.21",
"symfony/property-info": "^5.4.21",
"symfony/proxy-manager-bridge": "^5.4.21",
"symfony/runtime": "^5.4.21",
"symfony/security-bundle": "^5.4.21",
"symfony/security-guard": "^5.4.21",
"symfony/serializer": "^5.4.21",
"symfony/translation": "^5.4.21",
"symfony/twig-bundle": "^5.4.21",
"symfony/validator": "^5.4.21",
"symfony/web-link": "^5.4.21",
"symfony/yaml": "^5.4.21"
"symfony/process": "^7.0",
"symfony/property-access": "^7.0",
"symfony/property-info": "^7.0",
"symfony/runtime": "^7.0",
"symfony/security-bundle": "^7.0",
"symfony/serializer": "^7.0",
"symfony/translation": "^7.0",
"symfony/twig-bundle": "^7.0",
"symfony/validator": "^7.0",
"symfony/web-link": "^7.0",
"symfony/yaml": "^7.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.46.0",
"phpunit/phpunit": "^9.6",
"symfony/browser-kit": "^5.4.21",
"symfony/css-selector": "^5.4.21",
"symfony/debug-bundle": "^5.4.21",
"symfony/maker-bundle": "^1.40",
"symfony/phpunit-bridge": "^5.4.21",
"symfony/stopwatch": "^5.4.21",
"symfony/web-profiler-bundle": "^5.4.21"
"doctrine/doctrine-fixtures-bundle": "^3.5",
"friendsofphp/php-cs-fixer": "^3.49.0",
"phpunit/phpunit": "^10.5.10",
"symfony/browser-kit": "^7.0",
"symfony/css-selector": "^7.0",
"symfony/debug-bundle": "^7.0",
"symfony/maker-bundle": "^1.54",
"symfony/phpunit-bridge": "^7.0",
"symfony/stopwatch": "^7.0",
"symfony/web-profiler-bundle": "^7.0"
},
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true,
"platform": {
"php": "8.0.28"
"php": "8.2.15"
},
"allow-plugins": {
"composer/package-versions-deprecated": true,
Expand All @@ -77,14 +74,6 @@
"App\\Tests\\": "tests/"
}
},
"replace": {
"paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php71": "*",
"symfony/polyfill-php70": "*",
"symfony/polyfill-php56": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
Expand All @@ -103,7 +92,7 @@
"extra": {
"symfony": {
"allow-contrib": false,
"require": "5.4.*"
"require": "7.0.*"
}
}
}
Loading