v3.2.1 - CLP Default Permissions & User Fields
CLP Default Permissions & User Fields
This release adds new CLP configuration methods and improves field name handling.
New Features
- NEW: Added
set_default_clpmethod 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_fieldsandset_write_user_fieldsfor 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_defaultsparameter toCLP#as_jsonfor 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 explicitset_default_clpis called.
Author: Adrian Curtin
Date: December 2025