News Archive

Names of Evaluation Versions for Composer Changed2019-12-18

If you'd installed an evaluation version from Setasign via Composer in the past you may have received a deprecation warning from composer starting some month ago:

Deprecation warning: require.setasign/eval/some/package is invalid, it should have a vendor name, a forward slash, and a package name. The vendor and package name can be words separated by -, . or _. The complete name should match "[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9]([_.-]?[a-z0-9]+)*". Make sure you fix this as Composer 2.0 will error.

This was raised because of a special folder structure we'd use to "inject" an ioncube license file into the path of an evaluation package. Anyhow, this seems to had worked more by accident and it was never planned by the team of Composer to support such structures. You can find a long conversation on GitHub regarding this issue, too. 

Starting from today on we changed all names of evaluation packages and we created a plugin, which will copy the license files to the final destinations automatically.

If you use evaluation versions in your composer.json file make sure that you update these dependencies!

This is outdated and will not work anymore as of today:

"require": {
    "setasign/eval/fpdi_pdf-parser/ioncube/php7.1": "^2.0"
}

You need to replace it by the new name you can find in your personal pickup depot. An example for the above is:

"require": {
    "setasign/fpdi_pdf-parser_eval_ioncube_php7.1": "^2.0"
}

If you are interrested in how we wrote the plugin for this, just check out the repository here