Skip to content

Replace hassankhan/config with symfony/yaml#48

Draft
Copilot wants to merge 3 commits intodevelopfrom
copilot/remove-dead-hassankhan-config-lib
Draft

Replace hassankhan/config with symfony/yaml#48
Copilot wants to merge 3 commits intodevelopfrom
copilot/remove-dead-hassankhan-config-lib

Conversation

Copy link
Copy Markdown

Copilot AI commented Apr 3, 2026

hassankhan/config had stalled development; replace it with symfony/yaml, a well-maintained alternative sufficient for this plugin's simple YAML config needs.

Changes

  • composer.json: Remove hassankhan/config, add symfony/yaml: ^6.4 || ^7.0
  • Config.php: Rewrite as a standalone class — no longer extends \Noodlehaus\Config. Implements \Iterator directly using symfony/yaml for parse/write. Same public API (dot-notation get/set/remove, writeFile).
  • _dependencies.php: Replace do-while loop (which relied on next() returning bool, incompatible with \Iterator::next(): void) with a standard foreach.
// Before: custom do-while relying on non-standard next() return value
do {
    $key = $conf->key();
    $current = $conf->current();
    // ...
} while ($conf->next());

// After: standard foreach over \Iterator
foreach ($conf as $key => $current) {
    // ...
}

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/defuse/php-encryption/zipball/f53396c2d34225064647a05ca76c1da9d99e5828
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/galette-community/oauth2-galette/zipball/c15bc90f259d9c4559c1f98e06031f8d87a42ddf
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/lcobucci/clock/zipball/a3139d9e97d47826f27e6a17bb63f13621f86058
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/lcobucci/jwt/zipball/bb3e9f21e4196e8afc41def81ef649c164bca25e
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/paragonie/sodium_compat/zipball/4714da6efdc782c06690bc72ce34fae7941c2d9f
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/paragonie/sodium_compat_ext_sodium/zipball/cbded8e0b0aa0c1a5769455169eb378c2159e6c8
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/event/zipball/062ebb450efbe9a09bc2478e89b7c933875b0935
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/oauth2-client/zipball/26e8c5da4f3d78cede7021e09b1330a0fc093d5e
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/oauth2-server/zipball/cc8778350f905667e796b3c2364a9d3bd7a73518
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/uri/zipball/bf414ba956d902f5d98bf9385fcf63954f09dce5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/whT992 /usr/bin/composer update --no-interaction (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI linked an issue Apr 3, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Remove dead hassankhan/config library Replace hassankhan/config with symfony/yaml Apr 3, 2026
Copilot AI requested a review from trasher April 3, 2026 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Remove dead hassankhan/config lib

2 participants