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

Choose a tag to compare

@j6s j6s released this 14 Apr 07:23
f9d89f0

[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

Choose a tag to compare

@j6s j6s released this 28 Mar 21:00
299c897

[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

Choose a tag to compare

@j6s j6s released this 31 Jan 15:11

[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

Choose a tag to compare

@j6s j6s released this 28 Jan 15:02

[2.0.1] - 2021-01-28

Fixed

  • Fixed a typo in the error message of mustOnlyDependOn

2.0.0

Choose a tag to compare

@nepda nepda released this 14 Oct 12:26

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

Choose a tag to compare

@j6s j6s released this 27 Jul 15:58

Added

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

1.1.2

Choose a tag to compare

@j6s j6s released this 02 Mar 20:13

Added

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

1.1.1

Choose a tag to compare

@j6s j6s released this 19 May 12:08

Fixed

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

1.1.0

Choose a tag to compare

@j6s j6s released this 19 May 11:45

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

Choose a tag to compare

@j6s j6s released this 18 Feb 20:33

[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