Skip to content

v3.2.1 - CLP Default Permissions & User Fields

Choose a tag to compare

@AdrianCurtin AdrianCurtin released this 09 Jan 02:18
· 35 commits to master since this release

CLP Default Permissions & User Fields

This release adds new CLP configuration methods and improves field name handling.

New Features

  • NEW: Added set_default_clp method to set a default permission for all CLP operations at once.
class Document < Parse::Object
  # Set all operations to public by default
  set_default_clp public: true

  # Or require authentication for all operations
  set_default_clp requires_authentication: true

  # Or restrict all operations to specific roles
  set_default_clp roles: ["Admin", "Editor"]

  # Then override specific operations as needed
  set_clp :delete, public: false, roles: ["Admin"]
end
  • NEW: Added set_read_user_fields and set_write_user_fields for pointer-based permissions.
class Document < Parse::Object
  belongs_to :owner, as: :user
  belongs_to :editor, as: :user

  # Owner can read, editor can write
  set_read_user_fields [:owner]
  set_write_user_fields [:editor]
end
  • NEW: Added reset_clp! method to reset CLPs to public defaults.

Improvements

  • IMPROVED: CLP methods now automatically convert snake_case Ruby property names to camelCase Parse Server field names.
  • IMPROVED: Added include_defaults parameter to CLP#as_json for pushing complete CLPs to server.

Bug Fixes

  • FIXED: auto_upgrade! now resets CLPs before applying new ones, preventing old restrictive permissions from persisting.
  • FIXED: as_json(include_defaults: true) now properly includes all operations even when no explicit set_default_clp is called.

Author: Adrian Curtin
Date: December 2025