Skip to content

Releases: LM-Commons/LmcRbacMvc

4.0.2

24 Sep 13:49
b64c0bc
Compare
Choose a tag to compare

Release Notes for 4.0.2

4.0.x bugfix release (patch)

4.0.2

  • Total issues resolved: 2
  • Total pull requests resolved: 3
  • Total contributors: 1

Bugs:

Dependency updates:

4.0.1

17 Sep 20:03
85fa90b
Compare
Choose a tag to compare

Release Notes for 4.0.1

4.0.x bugfix release (patch)

4.0.1

  • Total issues resolved: 2
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug

4.0.0

10 Sep 14:46
d301142
Compare
Choose a tag to compare

Version 4.0 - First Release

This is the first release of LmcRbcMvc version 4.

LmcRbacMvc v3 and LmcRbac v1 shared a lot of code.

LmcRbacMvc v4 is now based on LmcRbac v2 which was augmented such that common code is now part of LmcRbac.
This has rendered many components of LmcRbacMvc unnecessary and they are deprecated.

In addition, LmcRbac v2 is now based on laminas-permissions-rbac's Role classes and interfaces.

Therefore, LmcRbacMvc v4 is a major upgrade with many breaking changes that prevent
straightforward upgrading.

Please read the Upgrade guide before upgrading:

Namespace change

In an effort to In an effort to normalize LM-Commons components into a common Lmc namespace, the namespace will
be refactored to Lmc\Rbac\Mvc.

Please update your code to replace LmcRbacMvc by Lmc\Rbac\Mvc.

Deprecations

The following components that were shared with LmcRbac are deprecated in LmcRbacMvc and should be replaced by their
LmcRbac equivalent:

  • Lmc\Rbac\Mvc\Exception\ExceptionInterface
  • Lmc\Rbac\Mvc\Exception\InvalidArgumentException
  • Lmc\Rbac\Mvc\Exception\RoleNotFoundException
  • Lmc\Rbac\Mvc\Exception\RuntimeException
  • Lmc\Rbac\Mvc\Permission\PermissionInterface
  • Lmc\Rbac\Mvc\Identity\IdentityInterface
  • Lmc\Rbac\Mvc\Role\RoleProviderInterface

Refactored and removed classes

Factories

  • The factory classes were refactored from the LmcRbacMvc\Factory namespace to be colocated with
    the service that the factory is creating. All the factories that were in LmcRbacMvc\Factory namespace have been
    deleted.

Role providers

The former LmcRbacMvc v3 role providers are no longer available and replaced by LmcRbac equivalent. LmcRbac will throw
an exception if your config file still refers to them. In addition, the role provider plugin manager
was removed as it was not necessary.

  • LmcRbacMvc\Role\RoleProviderPluginManager no longer used
  • LmcRbacMvc\Role\InMemoryRoleProvider replaced by a LmcRbac equivalent
  • LmcRbacMvc\Role\ObjectRepositoryRoleProvider replaced by a LmcRbac equivalent

Assertion

  • LMcRbacMvc\Assertion\AssertionPluginManagerFactory no longer used
  • LMcRbacMvc\Assertion\AssertionPluginManager no longer used

Assertions refactoring

LmcRbacMvc is now using LmcRbac assertions and assertion plugin manager instead of its own.

Therefore all previous assertions in LmcRbacMvc v3 must now implement the \Lmc\Rbac\Assertion\AssertionInterface
otherwise LmcRbac will throw an exception.

\Lmc\Rbac\Assertion\AssertionInterface is a more generic interface for asserting permissions. An assertion under this
interface will be passed the permission, identity and context whereas in LmcRbacMvc v3, the assertion is
passed the AuthorizationService from which one had to get the identity. Having the permission as a parameter allows to
reuse the same assertion to handle multiple permissions.

3.4.1

10 Sep 01:12
9ab3942
Compare
Choose a tag to compare

Maintenance Release

  • Added .gitattributes #134
  • Updated .gitgnore
  • Added component installer #34

Release v3.4.0 - Added support for PHP 8.3

09 Aug 12:53
3e63c2d
Compare
Choose a tag to compare

Updated PHP requirements

  • Added PHP 8.2 and 8.3
  • Dropped PHP 7.4

Updated dependencies

  • Removed zfr/rbac v1. This package is no longer supported and was causing deprecation notices in PHP 8.
  • Added lm-commons/rbac v1 which is a 1-for-1 clone of zfr/rbac which fixes the deprecations notices. It uses the same Rbac namespace.

Important note

LmcRbacMvc now includes lm-commons/rbac. If your project has its own dependency on zfr/rbac, you should update it to lm-commons/rbac to avoid namespace conflicts.

Release v3.3.2 - Moved to Psr/Container

09 Mar 19:02
1b40c32
Compare
Choose a tag to compare

Moved to Psr/Container

  • Removed deprecated Interop/Container
  • No changes to functionality

Release v3.3.1 - Add support for PHP 8.1

23 Jun 20:33
8d245e3
Compare
Choose a tag to compare

Add support for PHP 8.1

  • Support for PHP 8.1
  • Fixed deprecation notice in RbacCollector
  • Dropped support for PHP 7.3
  • Re-enabled test cases for ObjectRepositoryRoleProvider

Release v3.3.0 - Add support for PHP 8

26 Jun 02:14
26ee8a3
Compare
Choose a tag to compare

Add support for PHP 8

  • Updated dependency to PHP 8

Important Note

In order to update to PHP 8, the test case for ObjectRepositoryRoleProvider was temporarily removed. This is due to the fact that doctrine/doctrine-module used by the test case cannot yet be updated to PHP 8.

Release v3.2.0 - Updated for doctrine-persistence v2

06 Feb 19:08
f06a7e2
Compare
Choose a tag to compare

Updated for doctrine-persistence v2

  • Updated ObjectRepositoryRoleProvider.php
  • Updated ObjectRepositoryRoleProviderFactory.php

Documentation updates

  • Updated documentation to reflect the use of doctrine-persistence v2

Breaking changes

  • If you are using doctrine-persistence v1, please use LmcRbacMvc v3.1.x.

Release v3.1.3 - Updated dependency for doctrine

06 Feb 19:01
0376900
Compare
Choose a tag to compare

Added dependency on doctrine-persistence v1

If you require doctrine-persistence v2, use Version 3.2.x