The logic related to the registration of the ncc extension has been refactored. Previously, the code that registered the ncc extension was contained in the installer. However, this change moves the code that registers the ncc extension from the installer to the Utilities/Functions class. This change was made because the extension registration is not only applicable to the installer, but is also required for several other components. This fact justified the need for the logic to be located in a more generic and accessible class. The Makefile, installer, generate_build_files.php files have been updated to reflect this change. Components using these should now work properly with the changes.
- Various bug fixes and improved performance on package reading/writing
- Corrected CHANGELOG.md
- Updated dependency `Symfony/polyfill-mbstring` to 1.28.0
- Updated dependency `Symfony/polyfill-uuid` to 1.28.0
- Updated dependency `Symfony/Process` to 6.3.4
- Updated dependency `Symfony/Uid` to 6.3.0
- Updated dependency `Symfony/Yaml` to 6.3.3
- Added support for Gitea repositories
- Added support for Packagist repositories
- Added a new default Gitea repository nocturn9x at git.nocturn9x.space
- Added a new default Gitea repository martinvlba at git.martinvlba.eu
- Added a new default Gitea repository kuny at git.it-kuny.ch
- Added dependency composer/semver version 3.4.0 for composer version comparison compatibility
- Added a new class \ncc\Classes\ArchiveExtractor to extract multiple archive types
- Refactored \ncc\Objects\RemoteRepository
- Refactored the repository system
- Refactored Github's repository interface
- Refactored Gitlab's repository interface
- Refactored SourcesMenu in the CLI to use the new repository system
- Updated dependency nikic/php-parser to version 4.17.1
- Added a simple security measure in \ncc\Objects\Value\Entry to delay returns randomly when the password is incorrect
- Refactored the CLI menu system to use a return exit code system
- Updated the installer to remove unused components and installation steps
- Updated dependency Symfony/Filesystem to 6.3.1
- Updated dependency Symfony/polyfill-ctype to 1.28.0
- Enforced credential storage security by applying 600 permissions to the storage file so that only the owner can read/write to the file; this will require root access to perform any operations on the credential file. A password will still be needed to decrypt entries in the file if any entries are encrypted.
- Removed \ncc\Classes\NccExtension\Runner in favor of the new Execution Unit system
- Removed \ncc\Managers\ExecutionPointerManager in favor of the new Execution Unit system
- Refactored execution unit system to use a new execution pointer system
- Refactored `PhpRunner` to use the new execution pointer system
- Refactored `BashRunner` to use the new execution pointer system
- Refactored `LuaRunner` to use the new execution pointer system
- Refactored `PerlRunner` to use the new execution pointer system
- Refactored `PythonRunner` to use the new execution pointer system
- Removed dependency `theseer\Autoload` in favor of ncc's own autoloader (screw you Arne Blankerts)
- Refactored ZiProto
- Removed runners `Python2` & `Python3` in favor of `Python`
Added third-party dependency theseer\DirectoryScanner
Added warning if one or more components failed to load
Added more error-handling to autoload.php
Updated autoload.php
Updated .gitignore
Updated Makefile
Fixed namepsaces and added requirement theseer\DirectoryScanner for theseer\Autoload
Updated version.json