Box Project Box Versions Save

📦🚀 Fast, zero config application bundler with PHARs.

4.6.2

3 weeks ago

Fixes

  • Fix the autoloading of the excluded files (#1323)
  • Group by source the required and provided extensions (#1334, #1335)

Misc

  • Introduce a File primitive (#1275)
  • Various changes related to detecting/building the list of extensions for a given application (mostly preparatory steps for #1273):
    • Make RequirementAppFactory non-static (#1274)
    • Add the Command prefix to the console command class names (#1326)
    • Simplify the sorting in the requirement builder (#1327)
    • Provide a non optimized requirement list (#1328)
  • Upgrade to phpdocumentor/reflection-docblock 5.4 (#1357)

4.6.1

4 months ago

Fixes

  • Reset the PHP script filename in PHARs (#1246)
  • Remove unnecessary code boostrapping in the worker (#1264)
  • Remove unused MultiReasonException exception (#1265)
  • Improve the requirement checker detection (#1247)
  • Pick the correct custom vendor-dir config (#1290)
  • Do not refer to the composer.json file when decoding the composer.lock file (#1289)

Misc

  • Allow Symfony7 (#1254)
    • Upgrade to PHPUnit 10 (#1252)
  • Make PharInfo aware of the RequirementChecker's Requirements (#1242)
  • Enable back the terminal class comparison with the Symfony one (#998)
  • Various internal refactorings around the RequirementChecker (on Box side) and the Composer artifacts

4.6.0

5 months ago

This release comes up with quite a number of changes! The most notable ones the parallelization in Box now works. So there is no more need for --no-parallel and the build should around 50% faster than without parallelization.

Features

  • Various Box docker command improvements:
    • Allow to generate Dockerfile with PHP 8.3 image (#1234)
    • No longer fail on non satisfiable PHP constraint when generating Docker file (#1233)
    • Allow to pass a --working-dir option to the docker command (#1231)
  • Add a command to check the signature (#1229)
  • Add a info:signature command (#1228)
  • Deprecate the metadata setting (#1155)
  • Change the default signing algorithm to SHA-512 (#1156)
  • Allow a way to fix the timestamp of the PHAR (#1117)

Fixes

  • Fix constant usage of the xdebug constant (#1232)
  • Migrate from amphp/parallel-functions to amphp/parallel (#1216)
  • Fix PHP 7.2 compatibility of the RequirementChecker (#1210)
  • Correctly interpret the parallelization option (#1205)
  • Fix PharInfo BC (#1186)
  • Allow the info command to work on the old RequirementChecker (#1157)

4.5.1

6 months ago

Fixes

  • Adjust the required PHP version required message (#1119)
  • Correct the invalid usage of whitelist in the process command (#1138)

Misc

  • Various doc updates
  • Update to PHP-Scoper 0.18.5 (#1142)

4.5.0

6 months ago

Features

  • Add Composer commands (#1083)
  • Add the PHAR timestamp to PharMeta (#1102)
  • Add the PHAR timestamp to the info command (#1104)
  • Include the PHAR timestamp in the PHAR diff (#1105)
  • Add the stub to the diff comparisons (#1101)
  • Deprecate OpenSSL signing (#1100)
  • Add information about the requirement source (#1113)
  • Show the requirement checker in the PHAR info (#1111)
  • Display with which version of Box the PHAR was built (#1116)

Fixes

  • Get the raw output for the Composer version (#1063)
  • Show more information upon failure when getting Composer version (#1064)
  • Correctly close the info tag (#1068)
  • Add back the old PharInfo (fix BC break) (#1067)
  • Make the invalid diff mode error message understandable (#1078)
  • Update the no php.ini message to avoid confusing the users (#906)
  • Do not rethrow the exception in the info command (#1081)
  • Fix the ComposerOrchestrator in quiet verbosity (#1087)
  • Correct detect the Composer version with a polluted output (#1088)
  • Require missing iconv and mbstring dependencies (#1090)
  • Ensure the PHP processes are restarted properly (#1091)

4.4.0

7 months ago

This release comes with a special change. An internal piece of Box, Paragonie's Pharaoh, has been removed as a dependency. Its original code has been brought within the Box project and better integrated. This birthed a new class PharInfo which allows to provide a similar but richer API than Phar|PharData without its traditional problems. Thanks to this, the info and diff commands could be completely revamped.

TLDR: the biggest change is the diff command that can now be reliably be used to compare two PHARs.

Features

  • Prompt a question before removing the output directory when extracting a PHAR (#968)
  • No longer require phar.readonly to be off for using the extract command (#969)
  • Extract the PHAR API version and the normalized metadata when extracting a PHAR (#977)
  • Rework the diff command (#1039, #1040, #1043, #1045, #1051, #1052, #1053, #1055, #1056, #1057, #1058, #1059, #1062)
    • Show the PHAR signature in the PHAR diff command (#1042)
    • Introduce a --diff=diffMode option (#1044)
    • Correctly check the PHARs equality (#1049)
    • Improve the diff command output (#1054)
    • Change from filename to checksum as the default diff mode (#1060)
    • Colorize the archive diff (#1061)

Bugfixes

  • Fix the parsing of invalid PHPDoc (#943)
  • Fix the normalization of null metadata (#983)
  • Fix the file the PHAR file size shown when displaying a PHAR info (#987)
  • Fix the requirement checker Terminal getenv() usage (#999)

Misc

  • Merge Pharaoh within Box, rework it into PharInfo (#934, #938, #939, #937, #953, #952, #957, #963, #964, #965, #966, #967, #962, #961, #972, #974, #975, #976, #978, #980, #982, #985, #960, #996, #997, #1026, #1031, #1033, #1034, #1035, #1036, #1037, #1038, #1032, #1041)
  • Switch more methods to a Safe\* API (#948, #1050)
  • Fix the Makefile color usage (#1000)
  • Migrate Box FileSystem to Fidry FileSystem (#1028)

4.3.8

1 year ago

Bugfixes

  • deps: Update dependencies (#932)

Misc

  • refactor: Inline the pharaoh package (#895)
  • refactor: Add types, missing imports and review the PHPDocs for the Pharaoh classes (#920)
  • build: Fix the dev branch (#926)
  • refactor: Extract checking that the PHAR is readonly in a dedicated method (#929)

4.3.7

1 year ago

Misc

  • ci: Fix the requirement checker update PR title (#913)
  • ci: Fix infection on non-pull requests (#915)

4.3.6

1 year ago

Misc

  • ci: Fix the docker tags multiline declaration (#909)
  • ci: Change the title of the PR open to bump the requirement checker (#910)
  • refactor: Remove unused code (#894)
  • ci: Fix the requirement checker installations (#911)

4.3.5

1 year ago

Misc

  • ci: Fix multi-line environment variable declaration (#908)