- Removed unused exception `InvalidProjectConfigurationException` in `\ncc\Exceptions` in favor of `ConfigurationException` - Removed unused exception `InvalidScopeException` in `\ncc\Exceptions` in favor of `InvalidArgumentException` (standard php) - Removed unused exception `InvalidCredentialsEntryException` in `\ncc\Exceptions` (not used) - Removed unused exception `ComponentNotFoundException` in `\ncc\Exceptions` in favor of `ConfigurationException` - Removed unused exception `InvalidPackageNameException` in `\ncc\Exceptions` (not used) - Removed unused exception `InvalidVersionNumberException` in `\ncc\Exceptions` (not used) - Removed unused exception `InvalidProjectException` in `\ncc\Exceptions` in favor of `ConfigurationException` - Removed unused exception `InvalidProjectNameException` in `\ncc\Exceptions` in favor of `ConfigurationException` - Removed unused exception `BuildConfigurationNotFoundException` in `\ncc\Exceptions` in favor of `ConfigurationException`
14 KiB
14 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.4] - Unreleased
This update introduces major changes in the codebase, including the removal of Win32 support, and the addition of new features.
Added
LICENSE.md
&license.md
are now detected as license files in\ncc\Classes\ComposerExtension > ComposerSourceBuiltin > convertProject()
- Added new exception
PathNotFoundException
and implemented it in replacement forDirectoryNotFoundException
andFileNotFoundException
in\ncc\Exceptions
- Added a new interface class
BytecodeObjectInterface
which will be used to implement object types for compiled assets - Added new exception
GitException
in\ncc\Exceptions
to replace all git related exceptions
Fixed
- Fixed MITM attack vector in
\ncc\Classes > HttpClient > prepareCurl()
Changed
- Corrected code-smell and code style issues in
\ncc\Classes > HttpClient
- Corrected code-smell and code style issues in
\ncc\Classes > BashExtension > BashRunner
- Corrected code-smell and code style issues in
\ncc\Classes > ComposerExtension > ComposerSourceBuiltin
- Corrected code-smell and code style issues in
\ncc\Classes > GithubExtension > GithubService
- Corrected code-smell and code style issues in
\ncc\Classes > GitlabExtension > GitlabService
- Corrected code-smell and code style issues in
\ncc\Classes > NccExtension > ConstantCompiler
- Renamed
Abstracts
namespace toEnums
- Updated class type to "final class" in
\ncc\Enums\Options > BuildConfigurationValues
- Updated class type to "final class" in
\ncc\Enums\Options > InitializeProjectOptions
- Updated class type to "final class" in
\ncc\Enums\Options > InstallPackageOptions
- Updated class type to "final class" in
\ncc\Enums\SpecialConstants > AssemblyConstants
- Updated class type to "final class" in
\ncc\Enums\SpecialConstants > BuildConstants
- Updated class type to "final class" in
\ncc\Enums\SpecialConstants > DateTimeConstants
- Updated class type to "final class" in
\ncc\Enums\SpecialConstants > InstallConstants
- Updated class type to "final class" in
\ncc\Enums\SpecialConstants > RuntimeConstants
- Updated class type to "final class" in
\ncc\Enums > AuthenticationType
- Updated class type to "final class" in
\ncc\Enums > CompilerExtensionDefaultVersions
- Updated class type to "final class" in
\ncc\Enums > CompilerExtensions
- Updated class type to "final class" in
\ncc\Enums > CompilerExtensionSupportedVersions
- Updated class type to "final class" in
\ncc\Enums > ComponentDataType
- Updated class type to "final class" in
\ncc\Enums > ComponentFileExtensions
- Updated class type to "final class" in
\ncc\Enums > ComposerPackageTypes
- Updated class type to "final class" in
\ncc\Enums > ComposerStabilityTypes
- Updated class type to "final class" in
\ncc\Enums > EncoderType
- Updated class type to "final class" in
\ncc\Enums > ExceptionCodes
- Updated class type to "final class" in
\ncc\Enums > HttpRequestType
- Updated class type to "final class" in
\ncc\Enums > HttpStatusCodes
- Updated class type to "final class" in
\ncc\Enums > LogLevel
- Updated class type to "final class" in
\ncc\Enums > NccBuildFlags
- Updated class type to "final class" in
\ncc\Enums > PackageStandardVersions
- Updated class type to "final class" in
\ncc\Enums > PackageStructureVersions
- Updated class type to "final class" in
\ncc\Enums > ProjectType
- Updated class type to "final class" in
\ncc\Enums > RegexPattern
- Updated class type to "final class" in
\ncc\Enums > RemoteSourceType
- Updated class type to "final class" in
\ncc\Enums > Runners
- Updated class type to "final class" in
\ncc\Enums > Scopes
- Updated class type to "final class" in
\ncc\Enums > Versions
- Corrected code-smell and code style issues in
src/installer/hash_check.php
- Corrected code-smell and code style issues in
\ncc\Managers > ProjectManager
- Corrected code-smell and code style issues in
\ncc\Objects\NccVersionInformation > Component
- Corrected code-smell and code style issues in
\ncc\Objects\Package > Component
- Corrected code-smell and code style issues in
\ncc\Managers > ConfigurationManager
- Corrected code-smell and code style issues in
\ncc\Managers > CredentialManager
- Refactored
\ncc\Utilities > PathFinder
to remove all Win32 references - Corrected code-smell and code style issues in
\ncc\Objects > ExecutionPointers
- Corrected code-smell and code style issues in
\ncc\Managers > ExecutionPointerManager
- Corrected code-smell and code style issues in
\ncc\Utilities > Functions
- Corrected code-smell and code style issues in
\ncc\Managers > PackageManager
- Corrected code-smell and code style issues in
\ncc\Utilities > IO
- Corrected code-smell and code style issues in
\ncc > ncc
- Corrected code-smell and code style issues in
\ncc\CLI > Main
- Corrected code-smell and code style issues in
\ncc\Objects > Package
- Corrected code-smell and code style issues in
\ncc\Classes\NccExtension > PackageCompiler
- Corrected code-smell and code style issues in
\ncc\CLI > PackageManagerMenu
- Corrected code-smell and code style issues in
\ncc\Classes\PhpExtension > PhpCompiler
- Corrected code-smell and code style issues in
\ncc\Classes\PhpExtension > PhpInstaller
- Corrected code-smell and code style issues in
\ncc\Classes\PhpExtension > PhpRunner
- Corrected code-smell and code style issues in
\ncc\Objects > ProjectConfiguraiton
- Corrected code-smell and code style issues in
\ncc\Managers > ProjectManager
- Corrected code-smell and code style issues in
\ncc\Classes\Extensions\PythonExtension > Python2Runner
- Corrected code-smell and code style issues in
\ncc\Classes\Extensions\PythonExtension > Python3Runner
- Corrected code-smell and code style issues in
\ncc\Classes\Extensions\PythonExtension > PythonRunner
- Corrected code-smell and code style issues in
\ncc\Interfaces > RunnerInterface
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects > Package
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects > Vault
- Corrected code-smell and code style issues in
\ncc\Objects > Vault
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects > ProjectConfiguration
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects > ExecutionPointers
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects > DefinedRemoteSource
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\Vault > Entry
- Corrected code-smell and code style issues in
\ncc\Objects\Vault\Password > AccessToken
- Corrected code-smell and code style issues in
\ncc\Objects\Vault\Password > UsernamePassword
- Extended
PasswordInterface
withBytecodeObjectInterface
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\SymlinkDictionary > SymlinkEntry
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration > UpdateSource
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration > Project
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration > Installer
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration > ExecutionPolicy
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration > Dependecy
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration > Compiler
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration > Build
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration > Assembly
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration\UpdateSource > Repository
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration\ExecutionPolicy > Execute
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration\ExecutionPolicy > ExitHandle
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration\ExecutionPolicy > ExitHandlers
- Implemented interface
BytecodeObjectInterface
into\ncc\Objects\ProjectConfiguration\Build > BuildConfiguration
- Updated
\ncc\Classes > GitClient > cloneRepository()
to throwGitException
instead ofGitCloneException
- Updated
\ncc\Classes > GitClient > checkout()
to throwGitException
instead ofGitCheckoutException
- Corrected code-smell and code style issues in
\ncc\Objects > PackageLock
Removed
- Removed
FileNotFoundException
andDirectoryNotFoundException
from\ncc\Exceptions
- Removed the use of
InvalidScopeException
across the project - Removed references of Win32 from the project as Windows is not going supported
- Removed unused exception
FileNotFoundException
in\ncc\CLI > HelpMenu
- Removed unused class
\ncc\Objects > SymlinkDictionary
- Removed unused exception
GitCloneException
in\ncc\Exceptions
in favor ofGitException
- Removed unused exception
GitCheckoutException
in\ncc\Exceptions
in favor ofGitException
- Removed unused exception
GithubServiceException
in\ncc\Exceptions
in favor ofGitException
- Removed unused exception
GitTagsException
in\ncc\Exceptions
in favor ofGitException
- Removed unused exception
GitlabServiceException
in\ncc\Exceptions
in favor ofGitException
- Removed unused exception
UnsupportedArchiveException
in\ncc\Exceptions
in favor ofArchiveException
- Removed unused exception
NotImplementedException
in\ncc\Exceptions
in favor ofNotSupportedException
- Removed unused exception
UnsupportedCompilerExtensionException
in\ncc\Exceptions
in favor ofNotSupportedException
- Removed unused exception
UnsupportedExtensionVersionException
in\ncc\Exceptions
(not used) - Removed unused exception
UnsupportedComponentTypeException
in\ncc\Exceptions
in favor ofNotSupportedException
- Removed unused exception
UnsupportedPackageException
in\ncc\Exceptions
(not used) - Removed unused exception
UnsupportedRemoteTypeSource
in\ncc\Exceptions
(not used) - Removed unused exception
UnsupportedProjectTypeException
in\ncc\Exceptions
(not used) - Removed unused exception
InvalidProjectConfigurationException
in\ncc\Exceptions
in favor ofConfigurationException
- Removed unused exception
InvalidScopeException
in\ncc\Exceptions
in favor ofInvalidArgumentException
(standard php) - Removed unused exception
InvalidCredentialsEntryException
in\ncc\Exceptions
(not used) - Removed unused exception
ComponentNotFoundException
in\ncc\Exceptions
in favor ofConfigurationException
- Removed unused exception
InvalidPackageNameException
in\ncc\Exceptions
(not used) - Removed unused exception
InvalidVersionNumberException
in\ncc\Exceptions
(not used) - Removed unused exception
InvalidProjectException
in\ncc\Exceptions
in favor ofConfigurationException
- Removed unused exception
InvalidProjectNameException
in\ncc\Exceptions
in favor ofConfigurationException
- Removed unused exception
BuildConfigurationNotFoundException
in\ncc\Exceptions
in favor ofConfigurationException
[1.0.3] - 2023-08-16
Changed
- Refactored
\ncc\Objects > PackageLock
- Updated
defuse\php-encryption
to version 2.4.0 - Updated
\ncc\Classes > GitClient > cloneRepositor()
to clone submodules recursively by default - Updated
\ncc\Classes > GitClient > checkout()
to update submoudles. - Updated build system for Gitlab
Fixed
- Fixed issue in
\ncc\Managers > ExecutionPointerManager > executeUnit()
where if ttyMode is enabled in a non-tty environment, the process will throw an exception "/etc/ncc/ThirdParty/Symfony/Process/Process.php:1019 Error: TTY mode requires /dev/tty to be read/writable.", now ncc will display a warning if TTY mode cannot be enabled
[1.0.2] - 2023-06-29
Fixed
- Fixed issue where error states are not properly handled in
ExecutionPointerManager
issue #44 - Updated \ncc\Managers > ExecutionPointerManager > executeUnit to set processes to run forever if a timeout is not set/null
Changed
- Updated
Symfony\Filesystem
to version 6.2.5 - Updated
Symfony\polyfill-ctype
to version 1.27.0 - Updated
Symfony\polyfill-mbstring
to version 1.27.0 - Updated
Symfony\polyfill-uuid
to version 1.27.0 - Updated
Symfony\Process
to version 6.2.5 - Updated
Symfony\Uid
to version 6.2.5 - Updated
Symfony\Yaml
to version 6.2.5 - Updated
\ncc\Managers > PackageManager
to display more logging messages
Added
- Dockerfile for building a docker image of NCC
[1.0.1] - 2023-02-07
Added
- Added file downloads progress
- Added pass-through arguments to
composer
command, all arguments beginning with--composer-
will be passed to thecomposer
command, for example--composer-dev
will be passed as--dev
to thecomposer
command
Fixed
- Bug fix where resources are not decoded correctly when installing packages #31
- Fixed issue where dependency conflicts are thrown even when
--reinstall
is used - Properly implemented
composer.enable_internal_composer
so that warnings regarding improper configuration values are not thrown - Minor improvements to the CLI interface including fixing
--version
Changed
- File downloads now cache the URL as a pointer to the file reducing the number of times the same file is downloaded
[1.0.0] - 2022-01-29
Added
- Initial release of NCC