Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Releases: j6s/phparch

3.1.1

14 Apr 07:23
@j6s j6s
f9d89f0

Choose a tag to compare

[3.1.1] - 2022-04-14

Added

  • Broadened the requirement for symfony/finder to include version 6.x to be compatible with symfony 6.x projects.

3.1.0

28 Mar 21:00
@j6s j6s
299c897

Choose a tag to compare

[3.1.0] - 2022-02-28

Added

  • Architecture now uses a ComposerFileParserFactory to create a file parser. CachedComposerFileParserFactory can be used for caching of results in order to prevent parsing the file multiple times.

3.0.0

31 Jan 15:11
@j6s j6s

Choose a tag to compare

[3.0.0] - 2021-01-31

Added

  • PHP8 is now supported

Removed

  • PHP 7.3 is no longer supported
  • The minimum compatible version of symfony/finder was lifted from 3.* to 4.* making this
    update incompatible with symfony 3.* projets.

2.0.1

28 Jan 15:02
@j6s j6s

Choose a tag to compare

[2.0.1] - 2021-01-28

Fixed

  • Fixed a typo in the error message of mustOnlyDependOn

2.0.0

14 Oct 12:26

Choose a tag to compare

Removed

  • Support for PHP 7.2 was dropped

Changed

  • Dependencies were updated
    • phpunit/phpunit to 9.4+
    • thecodingmachine/safe to 1.3+
    • and more...
  • Added type hints to more methods

1.2.0

27 Jul 15:58
@j6s j6s

Choose a tag to compare

Added

  • Types used inside of generics are now also tracked correctly.

1.1.2

02 Mar 20:13
@j6s j6s

Choose a tag to compare

Added

  • Support for symfony/finder 5.x. This means phparch will install in symfony 4 & 5 environments.

1.1.1

19 May 12:08
@j6s j6s

Choose a tag to compare

Fixed

  • Architectures are now not validated to only have autoloadable dependencies anymore because
    this validator disregards namespace imports.

1.1.0

19 May 11:45
@j6s j6s

Choose a tag to compare

Added

  • A new MustOnlyHaveAutoloadableDependencies validator has been added in order to prevent accidental dependencies
    to unrelated packages that just happen to be used in the same system often.
    • All components in architectures are now being checked against this new validator.
  • A new MustOnlyDependOnComposerDependencies validator has been added in order to prevent accidentally using
    namespaces that are not also declared in composer.json.
  • A new ExplicitlyAllowDependency validator allows explicitly allowing dependencies from one component to another.
  • Architectures now have a bunch of new helper methods
    • mustOnlyDependOnComposerDependencies adds MustOnlyDependOnComposerDependencies validator.
    • addComposerBasedComponent initializes a full component from the given composer.json file and
      adds a MustOnlyDependOnComposerDependencies validator
    • isAllowedToDependOn allows dependencies from one component to another one.
    • disallowInterdependence makes it easy to disallow dependence between many different components.
    • mustNotDependOnAnyOtherComponent makes it easy to declare core components that should not depend on
      anything else that is architecturally significant.

Removed

  • Support for PHP 7.1 was dropped

1.0.0

18 Feb 20:33
@j6s j6s

Choose a tag to compare

[1.0.0] - 2019-02-18

Added

  • Allowing dependencies to Interfaces only is now possible
    • Using the AllowInterfaces Validation wrapper
    • Using the mustNotDependOn method on a component
    • Using the mustNotDirectlyDependOn method on an architecture
  • Bulk declaration of components using the Architecture->components method is now possible

Fixed

  • Dependencies of anonymous / inner classes are now correctly tracked