Skip to content

Latest commit

 

History

History
162 lines (128 loc) · 4.66 KB

CHANGELOG.md

File metadata and controls

162 lines (128 loc) · 4.66 KB

Changelog

Unreleased

2.0.1

Fixed

  • unpin max django version

Changed

  • convert to uv

2.0.0

Added

  • python3.11 support
  • python3.10 support
  • django4 support
  • django4.2 support
  • django3.2 support

Removed

  • python3.6 support
  • python3.7 support
  • django2.2 support
  • django3.0 support
  • django3.1 support

1.9.1

Fixed

  • bug where group permissions overwrote direct permissions

1.9.0

Added

  • python3.9 support
  • django3.1 support
  • added rest.ModelViewSetPermission django-rest-framework permission class
  • added grainy_namespace property to decorated models
  • added util.check_permissions helper function
  • added util.get_permissions helper function
  • added GRAINY_ANONYMOUS_GROUP setting

Fixed

  • fix django-admin user and group admin view unregister
  • fix instance namespacing on decorated models that have a grainy parent defined

Changed

  • grainy handler classes moved to handlers.py to prevent circular depdendency issue

1.8.0

Added

  • remote grainy permissions
  • field level permission checks when POST/PUT/PATCHing to REST api (#14)
  • python3.8 support

Changed

  • fix #36: Grainy decorators should allow setting of Permissions class to use for permission checks

Removed

  • python2.7 support
  • python3.4 support
  • python3.5 support
  • django1.11 support

1.7.0

Added

  • tests for django 2.1
  • fix #33: easy namespace inheritance through related models
  • fix #31: add delete_permission function to grainy manager
  • fix #35: Custom permission holder implementation

Fixed

  • admin inlines: sort by namespace alphabetically (#24)

Changed

  • move from facsimile to Ctl (#32)

1.6.2

Fixed

  • when applying perms to a grainy view response, make sure to return the proper container when it is empty

1.6.1

Fixed

  • Fixed issue with namespace formatting for grainy views that was introduced in 1.6.0 where trying to format using url parameters would raise a KeyError

1.6.0

Added

  • grainy view decorators can now access the request object when formatting namespaces
  • you can now use extra keyword arguments passed to Grainy.namespace and helpers.namespace to further format the namespace string

Changed

  • grainy view decorators: renamed explicit_object to explicit_instance

1.5.0

Added

  • util.Permissions.get now accepts the explicit keyword argument
  • decorators.grainy_view now accepts the explicit_object keyword argument

Fixed

  • util.Permissions.get now works correctly

Changed

  • decorators.grainy_view request GET parameters now available for namespace formatting
  • decorators.grainy_view get_object() now available as instance for base namespace formatting if it exists
  • decorators.grainy_decorator decorator namespaces can now be passed as lists in which case the resulting namespace is a joint namespace of all the elements

1.4.0

Added

  • implemented decorators.grainy_view_response
  • implemented decorators.grainy_json_view_response
  • implemented decorators.grainy_rest_viewset_response

Changed

  • decorators.grainy_view now simply decorates all response handlers
  • decorators.grainy_json_view now simply decorates all response handlers
  • decorators.grainy_rest_viewset now simply decorates all response handlers

1.3.0

Added

  • grainy_model: allow specifying of custom instance namespace formatting
  • grainy_view: impl explicit namespace handling during request gating

1.2.1

Fixed

  • Template files not being installed

1.2.0

Added

  • Permissions.instances(): add explicit keyword argument
  • Permissions.instances(): add ignore_grant_all keyword argument
  • Permissions.check(): add ignore_grant_all keyword argument

1.1.0

Added

  • Passing a tuple or list to helpers.namespace will now return a joint namespace of all contained elements
  • Implemented util.Permissions.instances method to retrieve all instances of a model according to permissions
  • decorators.grainy_view decorator can now use url parameters to format it s namespace

1.0.0

Added

  • grainy authentication backend
  • django admin integration
  • str_flags function
  • PermissioManager.add_permission
  • Default permissions for AnonymousUser
  • decorators.grainy_view
  • decorators.grainy_rest_viewset
  • helpers.dict_get_namespace
  • helpers.request_method_to_flag
  • helpers.request_to_flag
  • util.Permissions.grant_all property
  • conf.REQUEST_METHOD_TO_FLAG

Fixed

  • util.Permissions now accepts AnonynmousUser as object

Changed

  • renamed convert_flags to int_flags
  • moved str_flags and int_flags functions from util.py to helpers.py
  • moved namespace function from util.py to models.py
  • removed clear argument from PermissionManager.add_permission_set