Jordi Boggiano
3a64acb53e
Make sure versions are ordered also in the satisfied by package lists
4 years ago
Jordi Boggiano
56a11b9c2c
Deduplicate require/conflict rules which are the same but for different versions of the same package, fixes #8851
4 years ago
Jordi Boggiano
56811b4c8f
Exclude platform require/provides from InstalledVersions as concrete ones are also not listed
4 years ago
Jordi Boggiano
557fb873ee
Add a way to retrieve the Loop instance from Composer to be able to wait on promises to integrate things
4 years ago
Jordi Boggiano
3c593b0d12
Remove duplicate use statement
4 years ago
Jordi Boggiano
74a63b4d6b
Merge branch '1.10'
4 years ago
Jordi Boggiano
81bf47ffa2
Use fully qualified calls in hot classes
4 years ago
Alessandro Lai
ff05150c4e
Add composer-runtime-api version constant
4 years ago
Basil Peace
6140897d08
feat: add archive.name config option
4 years ago
Alessandro Lai
270c7c3262
Backport validation support for composer-runtime-api ( #8842 )
...
Fixes #8841
4 years ago
Nils Adermann
56edd53046
Remove unnecessary implementation of interface method in abstract class
4 years ago
Jordi Boggiano
a63913c245
Merge pull request #8836 from kbacia7/master
...
close #8784 , Added --locked option to composer show command. Displaying locked packages with --all option
4 years ago
Kamil Bacia
0779308076
close #8784 , Added --locked option to composer show command. Displaying locked packages with --all option
4 years ago
Nils Adermann
994a5b41c2
Provide default impl for abstract method in interface for PHP < 5.3.9 ( #8837 )
4 years ago
Jordi Boggiano
d173af2d7a
Fix check-platform-reqs command to take into account provide/replace from the root package
4 years ago
Jordi Boggiano
6a6ea6057f
Handle provider/replacer packages and avoid checking extensions which are provided by packages, refs #8546
4 years ago
Jordi Boggiano
d494df61ff
Make sure platform-check returns a non-0 exit code if it fails
4 years ago
Jordi Boggiano
755a73baa9
Only check for pcntl on cli SAPI, fixes #8828
4 years ago
PirxDanford
3a7ea25289
Introduce --no-install option for the update, require and remove commands
...
Closes #8669 , fixes #8551
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
4 years ago
effulgentsia
46efcefefa
Added --json and --merge options to ConfigCommand ( #8779 )
4 years ago
Jordi Boggiano
1d4185b844
Recommend ocramius/package-versions fork if needed to solve dependencies
4 years ago
Jordi Boggiano
34801239f1
Tweak problem wording slightly
4 years ago
Jordi Boggiano
cdc6a87e8d
Fix docblock
4 years ago
Jordi Boggiano
9b8694bc0b
Show suggestions from root package in suggest, and lists them in count only on first install of a project, fixes #8805
4 years ago
Jordi Boggiano
6529fabb24
Add isFresh to InstalledRepositoryInterface and make sure local repo is always an InstalledRepositoryInterface
4 years ago
Jordi Boggiano
fa14cd1353
Show number of additional suggestions when not using --all, fixes #8788
4 years ago
Jordi Boggiano
d6a9d78309
Merge pull request #8810 from heddn/8809_expand_context_post_file_download
...
#8809 : expand context for post file download event
4 years ago
Jordi Boggiano
7049bbb714
Switch require_once to require for autoload_static as the once variant seems unnecessary
4 years ago
Jordi Boggiano
c2f77d80bd
Remove usage of 5.6+ constant
4 years ago
Jordi Boggiano
1000d49145
Fix error reporting when the root version changed since the last update, and does not match circular deps in lock file anymore
4 years ago
Jordi Boggiano
0ab48a1773
Add composer-runtime-api platform package
4 years ago
Jordi Boggiano
0d1922dc27
Add a Composer\Versions class which is available in all projects at runtime to query installed packages/versions
4 years ago
Jordi Boggiano
4ba958f08e
Merge pull request #8816 from staabm/patch-2
...
fixed typo in phpdocs
4 years ago
Pierre Grimaud
a42c6ceff3
Fix typos
4 years ago
Jordi Boggiano
2c8a4a1b93
Add platform-check config option to disable platform_check.php generation, and disable it for Composer
4 years ago
Markus Staab
3c09e4021e
fixed typo
4 years ago
Jordi Boggiano
af18c2bd7d
Update semver, fix poolbuilder usage and optimize creation of filtering nameConstraints
4 years ago
Jordi Boggiano
c9846d4d3c
Merge pull request #8812 from nicolas-grekas/ext-check
...
Optimize extension checks
4 years ago
Nils Adermann
75f4116417
Merge pull request #8811 from Seldaek/fix-transaction-order
...
Fix transaction order
4 years ago
Jordi Boggiano
c41bb909ff
Add platform check file in phars, fixes #8813
4 years ago
Nicolas Grekas
6463ab9e49
Optimize extension checks
4 years ago
Yanick Witschi
e23710f92d
Implemented php version check in autoload.php ( #8546 )
4 years ago
Lucas D Hedding
2bf2e9fc60
fix failing tests
4 years ago
Jordi Boggiano
ba9d4793bc
Fix transaction order
4 years ago
Lucas D Hedding
3e2163de5c
#8809 : expand context for post file download event
4 years ago
Jordi Boggiano
3f338ee8d9
Make sure versions are sorted before they get trimmed in error output
4 years ago
Jordi Boggiano
424c08d6b2
Fix bug loading ~dev in some circumstances
4 years ago
Jordi Boggiano
b3f46979b0
Merge pull request #8802 from kubawerlos/command-validate-no-check-version
...
Add "no-check-version" option to ValidateCommand
4 years ago
Jordi Boggiano
c12a1a6d64
Update flag description
4 years ago
Kuba Werłos
a54bf0e2d4
Use flags instead of boolean in ConfigValidator for checking version field
4 years ago
Kuba Werłos
4ec73874cb
Add "no-check-version" option to ValidateCommand
4 years ago
Jérôme Tamarelle
bd34ff1328
Remove unused property $httpDownloader
4 years ago
Jordi Boggiano
80a7c40c76
Shorten long lists of similar versions in problem output, fixes #8743
4 years ago
Jordi Boggiano
5b54a93751
Fix phpstan build
4 years ago
Jordi Boggiano
44a4429978
Remove PEAR installer/downloader/repos/..., fixes #8778
4 years ago
Nils Adermann
5e9bf532c1
Merge pull request #8786 from Seldaek/unused-flag
...
Add --unused flag to remove command
4 years ago
Lucas Hedding
1883832ddc
Provides a post download event ( #8655 )
4 years ago
Jordi Boggiano
11765ddfea
Add --unused flag to remove command, fixes #8283
4 years ago
Jordi Boggiano
6bed9d8f13
Implement count and search correctly in FilterRepository
4 years ago
Jordi Boggiano
a0c5d519e9
Restore --no-suggest but mark it deprecated, remove --no-custom-installers and mark --dev also deprecated with stronger wording
4 years ago
Markus Staab
3819b02fea
added phpstan types to `CompletePackageInterface` ( #8782 )
4 years ago
Alexandre D'Eschambeault
e0e2bb11a5
Fix typo: directory instead of directoy
4 years ago
Jordi Boggiano
be1ddcf293
Fix handling of svn trunk in version guesser, fixes #8765
4 years ago
Jordi Boggiano
876136022b
Merge remote-tracking branch 'origin/1.10'
4 years ago
Jordi Boggiano
19902ba6a9
Merge pull request #8772 from villfa/fix/8771
...
Dispatch POST_STATUS_CMD even when there is no changes
4 years ago
Jordi Boggiano
2e7ace238a
Merge pull request #8767 from cebe/package-name-double-dash
...
Allow duplicate dashes in package names (1.10)
4 years ago
Jordi Boggiano
7d3f45cf04
Avoid errors in cleanup, fixes #8766 , fixes #8764
4 years ago
Jordi Boggiano
62fda2ed85
Reorg ComposerRepository to fix tests
4 years ago
Jordi Boggiano
048781c268
Fix whatProvides function declaration
4 years ago
Jordi Boggiano
3dd6dbe14a
Merge pull request #8774 from Ayesh/https
...
Update HTTP URLs to their HTTPS if they already redirect automatically
4 years ago
Jordi Boggiano
4ea6b1ef55
Make all params non-optional
4 years ago
Ayesh Karunaratne
fdb35a6a06
Fix \Composer\Installer\PackageEvent::__construct() and \Composer\Repository\ComposerRepository::isVersionAcceptable() required arguments used after optional, which is deprecated in PHP 8.0
...
1. `Deprecated: Required parameter $name follows optional parameter $constraint in src\Composer\Repository\ComposerRepository.php on line 745`
2. `Deprecated: Required parameter $operation follows optional parameter $operations in src\Composer\Installer\PackageEvent.php on line 73`
Optional parameters with a type declared, and a default value of `null` is excepted from this deprecation. See https://php.watch/versions/8.0/deprecate-required-param-after-optional . This is the case in `ComposerRepository::isVersionAcceptable`, which still has two optional parameters as first two parameters, but this will not raise a deprecation notice.
4 years ago
Ayesh Karunaratne
280f02b4bc
Update HTTP URLs to their HTTPS if they already redirect automatically
4 years ago
Fabien Villepinte
c718579623
Dispatch POST_STATUS_CMD even when there is no changes
4 years ago
Carsten Brandt
960fa4b205
Allow duplicate dashes in package names
...
fixes #8749
1.10 implementation of #8750
4 years ago
Jordi Boggiano
40a35abb94
Resolve options when creating requests to fix 5.3 build
4 years ago
Jordi Boggiano
4cb74d33e6
Forward default HttpDownloader options to RemoteFilesystem/CurlDownloader, fixes #8757
4 years ago
Jordi Boggiano
86cfbdc541
Merge branch '1.10'
4 years ago
Jordi Boggiano
2f7e901940
Fix #8748 in an alternative way to avoid messing with PATH for other binaries, fixes #8758
4 years ago
Jordi Boggiano
b3dbd95332
Fix PHP <5.6 syntax, fixes #8759 , closes #8760
4 years ago
Jordi Boggiano
a7ad186c89
Return early in case a call to the wrapped repo is unnecessary
4 years ago
Jordi Boggiano
096b507050
Merge branch '1.10'
4 years ago
Jordi Boggiano
e121de35a3
Fix variable used for symlinking absolute paths, refs #8700
4 years ago
Jordi Boggiano
f70b3b0152
Avoid warning about --2 usage when no channel is requested
4 years ago
Jordi Boggiano
8e664a37f5
Merge branch '1.10'
4 years ago
Jordi Boggiano
b79f2b5e0f
Make sure scripts calling composer call the correct composer binary even if the project requires composer/composer, fixes #8748
4 years ago
Jordi Boggiano
ccc8829ed9
Allow forcing self-update to stick to 1.x or 2.x using --1 and --2 flags, fixes #8753
4 years ago
Jordi Boggiano
28d26bd3a4
Merge pull request #8755 from Seldaek/repo-filtering
...
Add options to configure repository priorities
4 years ago
Markus Staab
6f6974df70
added phpdocs ( #8754 )
4 years ago
Jordi Boggiano
b6bad4eef6
Add options to configure repository priorities
4 years ago
Jordi Boggiano
59c831c2f8
Add docs to loadPackages
4 years ago
Jordi Boggiano
e34a2a9f45
Remove unused used vars
4 years ago
Jordi Boggiano
8b0da77a1d
Make sure cleanup is called for every package in case any operation fails to execute
4 years ago
Jordi Boggiano
55f122008b
Make sure we avoid cleanup running more than once per package on VcsDownloader
4 years ago
Matthias Van Woensel
067101dbf5
Only send GitHub API token to api.github.com domain ( #8747 )
4 years ago
Jordi Boggiano
0aaa815268
Merge branch '1.10'
4 years ago
Bingqing Wang
46db638678
fix typo
4 years ago
Bingqing Wang
63eb178297
compatible with symfony/console 5.0.0 getVerticalBorderChars() method
4 years ago
Jordi Boggiano
aa6be02c64
Allow COMPOSER_DISABLE_NETWORK to work with GitHubDriver by doing a cache priming pass first
4 years ago
Jordi Boggiano
9575c7623f
Update changelog, add upgrade guide
4 years ago
Jordi Boggiano
ee09b75be3
Clean ups
4 years ago
Jordi Boggiano
8930f1b824
Add color to lock operations and dry run output
4 years ago
Jordi Boggiano
2e64e8dc2e
Avoid generating duplicate aliases in lock file if several aliased packages are installed
4 years ago
Jordi Boggiano
64f907f93f
Fix handling of aliases to use consistent format everywhere
4 years ago
Jordi Boggiano
a695f686c3
Add some docblocks and make sure RepositorySet/PoolBuilder accept regular rootAliases and not pre-normalized ones
4 years ago
Markus Staab
593d5abf27
use more precise phpstan/psam return-types ( #8744 )
4 years ago
Jordi Boggiano
736af4cb58
Add with-all-dependencies and update-with-all-dependencies args to remove command
4 years ago
Jordi Boggiano
52d1b52eb6
Merge branch '1.10'
4 years ago
Jordi Boggiano
11999118a5
Avoid failing on malformed funding info, fixes #8731
4 years ago
Jordi Boggiano
a8eec36931
Merge branch '1.10'
4 years ago
Jordi Boggiano
96c1ba279a
Add infos about plugin install failure
4 years ago
Markus Staab
c30925e68d
extracted `VersionParser::DEV_MASTER_ALIAS` ( #8742 )
4 years ago
Jordi Boggiano
b166ef4b58
Fix more phpstan errors
4 years ago
Jordi Boggiano
bbc4854452
Merge pull request #8740 from renanbr/patch-1
...
Remove duplicated `dry-run` option
4 years ago
Jordi Boggiano
80505e745e
Fix phpstan issues
4 years ago
Adam Žurek
25cd2382cb
Raise phpstan level to 1 ( #8027 )
4 years ago
Nils Adermann
cb68fc3134
Merge pull request #8690 from Seldaek/solver-problems
...
Error reporting improvements
4 years ago
Jordi Boggiano
d34ea60c48
canonicalize providers api url
4 years ago
Jordi Boggiano
3e19e3b0f1
Show alias of version in package lists in problems
4 years ago
Jordi Boggiano
7cca451312
Fix more issues with dev-master normalization in aliases
4 years ago
Jordi Boggiano
e09dd9c10d
Detect packages which are only available in lock file and warn appropriately
4 years ago
Jordi Boggiano
8945936dbd
Deduplicate solver problems which list problems for dev-master AND 9999999-dev
4 years ago
Renan
c4a3e912a1
Remove duplicated `dry-run` option
4 years ago
Nils Adermann
415b36a1a1
Remove match types from Pool as these are no longer used
4 years ago
Nils Adermann
80a5fdf398
Remove obsolete rules and their generation
...
The only automatic conflict we have results from packages using the same name
either by literally having the same name and being different versions or they
replace the same name, so
- removed all types of obsolete rules
- simplified rule generation significantly
- got rid of provide filtering in the pool
- fixed some language in error handling
4 years ago
Nils Adermann
4e3d989978
A package providing a name should not conflict with a package replacing it
...
Simplified whatProvides, mustMatchName is unused, removed unused
function from policy
4 years ago
Jordi Boggiano
2b86df4003
Add a hint about being on v2 when things go wrong
4 years ago
Jordi Boggiano
87757de6bc
Merge branch '2.0'
4 years ago
Jordi Boggiano
1c73f078f7
Remove repository field from getProviders result
4 years ago
Nils Adermann
4fab2c7759
Error wording use "thus cannot" instead of "can thus not"
4 years ago
Jordi Boggiano
51c48b1519
Merge pull request #8729 from naderman/t/partial-update-always-update-replace
...
Give a clearer error message explaining how to update a conflicting locked dependency
4 years ago
Nils Adermann
9858718ef6
Give a clearer error message explaining how to update a conflicting locked dependency
4 years ago
Jordi Boggiano
4e7ff690c6
Revert lock file as well when a require command operation failed to complete
4 years ago
Nils Adermann
1b55b466fb
require: Add with-dependencies and with-all-dependencies as alternative option names
4 years ago
Jordi Boggiano
379baa1560
Merge pull request #8717 from naderman/t/pool-builder-allow-list
...
Move processing of partial update argument list into the pool builder
4 years ago
Nils Adermann
f7b5cbd1fc
Lock file should not contain new aliases for packages which were not updated
4 years ago
Nils Adermann
5ad93959cf
PoolBuilder: On partial update of a new dep with mutual replace, unfix replacer
...
Test also verifies provider does not get uninstalled in partial update
for another package name
4 years ago
Nils Adermann
613450e58a
PoolBuilder: properly clean up alias packages when unfixing packages
...
Prevent aliases to be duplicated: no need to apply root aliases from
composer.json on packages currently locked, they should have their
aliases in the lock file, otherwise request an update.
4 years ago
Nils Adermann
2dfbf3692a
PoolBuilder: Remove null default for io
4 years ago
Nils Adermann
14000e7575
PoolBuilder: Ensure alias references get removed when unfixing a locked package
...
Use the last key + 1 for an index instead of count, since we unset elements somtimes
4 years ago
Nils Adermann
c270d3cfa6
PoolBuilder: make io non-nullable, NullIO can be used instead
4 years ago
Nils Adermann
71c3c63b54
Remove unused variable assignment
4 years ago
Nils Adermann
9fb09049ff
Rename and document constants for partial update behavior
4 years ago
Jordi Boggiano
22a52f5813
Apply suggestions from code review
...
Co-Authored-By: Andreas Möller <am@localheinz.com>
4 years ago
Andreas Möller
6e88683e35
Fix: Return early
4 years ago
Jordi Boggiano
800491175b
Avoid failing cleanup when a package gets uninstalled
4 years ago
Jordi Boggiano
6e45a53e76
Add support for relative paths in handling of install-path for the installed.json
4 years ago
Jordi Boggiano
1b1d59ee6c
Make FileDownloader always download file first in vendor-dir/composer/$tmp instead of next to install path to avoid issues with custom installers not being loaded when downloading on first install, and use cleanup method properly
4 years ago
Jordi Boggiano
918768fc54
Make sure we get a temporary dir which is unique
4 years ago
Jordi Boggiano
73251691a0
Avoid emptying the directory before extracting an archive into it, check that it is empty instead
4 years ago
Nils Adermann
fc40fefa6f
Make sure nameConstraints is always set when loading a name
4 years ago
Nils Adermann
443553423b
Mark replaced packages for update when using --with-dependencies
...
This is necessary to allow the requiring of new packages which replace
packages currently locked without requiring explicitly listing them as
an argument, so simplifies the composer require command
4 years ago
Nils Adermann
392d0abd21
Rename test files and standardize on allow list rather than whitelist
4 years ago
Nils Adermann
01fe92905a
The update allow list is now generated while building the pool
...
This reduces code complexity while making partial updates more
predictable. This also allows composer require to successfully run a
partial update for a new package with transitive dependency updates.
4 years ago
Nils Adermann
da84763f03
Move partial update handling to pool builder
4 years ago
Christian Raue
b644f63a93
fixed help URL for ClearCacheCommand
4 years ago
Jordi Boggiano
6679dde713
Merge pull request #8693 from enumag/patch-2
...
Add --dry-run to composer require
4 years ago
Jordi Boggiano
7e679656a4
Keep absolute path repos symlinks absolute, fixes #8700
4 years ago
Jordi Boggiano
86677ad172
Avoid scanning files twice when generating optimized autoloaders, fixes #8683
4 years ago
Jáchym Toušek
3bf46a77f9
Update RequireCommand.php
4 years ago
Jáchym Toušek
bbb781b1ed
Add --dry-run to composer require
4 years ago
Jordi Boggiano
cbdf74eb34
Merge remote-tracking branch 'naderman/optimize-fixed-pkg-loading' into 2.0
4 years ago
Jordi Boggiano
cf5513f28d
Fix syntax error
4 years ago
Jordi Boggiano
0d2c2c044a
Avoid skipping feature branch detection if no branch-alias is defined at all
4 years ago
Jordi Boggiano
c2d0fed06b
Tweak lock repo name
4 years ago
Jordi Boggiano
3a9b786400
Bring suggest output in line with the rest of update/install output
4 years ago
Jordi Boggiano
e15f7d6bb7
Merge branch 'master' into 2.0
4 years ago
Aaron Johnson
b41e768e1f
Put backticks around command for readability.
...
Helps to promote the command to discern it from the sentence. :)
4 years ago
Nils Adermann
8a6382d78d
Remove unnecessary TODOs and skip EmptyConstraint like null
4 years ago
Nils Adermann
bbdbb3517b
PoolBuilder: Drop name constraints loop, already set earlier in same code
4 years ago
Nils Adermann
59bc957e76
Simplify loading of fixed and root require packages in pool builder
...
additionally mark all packages replaced by fixed packages as loaded as
there is no need to load those names at all, since the fixed package
will provide them
4 years ago
Jordi Boggiano
d58653627a
Optimize loading of deps from fixed packages
4 years ago
Jordi Boggiano
82e2a679bf
Add TODO note
4 years ago
Jordi Boggiano
08cee4c3e9
Implement getProviders equally on all repos
4 years ago
Jordi Boggiano
8a83d5cc35
Fix create-project command
4 years ago
Jordi Boggiano
d09daa8d5a
Merge pull request #8684 from naderman/dev-require-errors
...
Handle dev extraction exit codes instead of completing broken lock with errors
4 years ago
Nils Adermann
ee8df484c4
Separate createPool and createPoolWithAllPackages, fix test description
4 years ago
Nils Adermann
281d8930ff
For dev extraction skip pool building, we already have a working package set
...
Also reduce getProviders back to just providers, and add some todos
4 years ago
Jordi Boggiano
3d0d71367d
Doc updates
4 years ago
Jordi Boggiano
73a5cc63cc
Always use Removing for consistency between dry-run and actual install
4 years ago
Mathias Berchtold
1ebeb143ae
Fix PHP 8 warnings
...
The PR fixes this PHP 8 warning:
PHP Deprecated: Required parameter $ambiguousClasses follows optional parameter $blacklist in phar://.../composer.phar/src/Composer/Autoload/AutoloadGenerator.php on line 339
4 years ago
Nils Adermann
06f460c557
Remove trailing spaces from output
4 years ago
Nils Adermann
1f467046d7
Implement getProviders on reposet for all repo types and add replacers
...
This way errors during require dev extraction make more sense
4 years ago
Nils Adermann
ddb1e79bef
Handle dev extraction exit codes instead of completing broken lock with errors
4 years ago
Jordi Boggiano
9c84f4d79f
Make sure InstalledRepository itself can be added too but requires allowing installed repos in reposet
4 years ago
Jordi Boggiano
589aa351a8
Change Uninstalling to Removing in lock operations
4 years ago
Jordi Boggiano
ba04a46cae
Fix 5.3 issue
4 years ago
Jordi Boggiano
d13ce20b6e
Fix handling of composer repos with v1 version_normalized format
4 years ago
Jordi Boggiano
a453792d6b
Merge pull request #8682 from glaubinix/f/gitlab-guest-token-access
...
GitLab: properly handle token which has Guest only access
4 years ago
Jordi Boggiano
d559bf5387
Allow configuring a path repo to an empty path as long as using wildcards and the wildcard root exists, fixes #8679
4 years ago
Stephan
402c64c271
Update src/Composer/Repository/Vcs/GitLabDriver.php
...
Co-Authored-By: Jordi Boggiano <j.boggiano@seld.be>
4 years ago
Jordi Boggiano
a7a975ec1c
Alias dev-master/trunk/default to 9999999-dev instead of normalizing the version to that, fixes #8323
4 years ago
Stephan Vock
55d252b9c3
GitLab: properly handle token which has Guest only access
4 years ago
Jordi Boggiano
97e2a249e8
Merge branch 'master' into 2.0
4 years ago
Jordi Boggiano
d271004b30
Also check for package requiring itself in require, not only require-dev
4 years ago
Jordi Boggiano
5c4ef1eb96
Make package name validation a hard failure, fixes #7875
4 years ago
Jordi Boggiano
c033644f8b
Present lock changes alphabetically, with uninstalls first, then all install/updates mixed
4 years ago
Jordi Boggiano
24a5a0dacb
Skip invalid PSR-0/4 classes from optimized autoloader, fixes #8403
4 years ago
Jordi Boggiano
94e6cfc521
Only show direct dependencies suggestions by default, add --all flag to see all in suggest command, fixes #8660
4 years ago
Jordi Boggiano
2445ef5e1f
Refactor check-platform-reqs to use InstalledRepository and look for providers as well as platform packages, fixes #8645 , closes #8676
...
Co-authored-by: Ellis <eantaya@nuglif.com>
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
4 years ago