Change : Use https link for Role Scoper css and js files if ssl is being used / forced for the current uri
BugFix : Archives listing using postbypost listing type did not display private posts to logged Administrator
BugFix : Template function is_protected() / is_restricted() did not work with secondary queries
BugFix : Private posts / pages not sometimes hidden from logged Administrators in front-end custom query results
BugFix : PHP warnings on Edit Post / Page form (if WordPress debug mode enabled)
BugFix : PHP notice for undefined constant (SCOPER_FORCE_FILE_INCLUSIONS)
Feature : Support SCOPER_TEASER_HIDE_PAGE_LISTING definition, to suppress teased pages from front-end listing (while still applying teaser on direct access)
1.1.5 - 28 Jan 2010
BugFix : Fatal error under some configurations: Call to undefined function is_site_admin()
Change : Don't create a blank .htaccess file in uploads folder if there are no restricted attachments to filter
Feature : Observe SCOPER_DEFAULT_MONITOR_GROUPS definition to disable custom editing of Pending Revision Monitors, Scheduled Revision Monitors groups
1.1.4 - 27 Jan 2010
BugFix : Fatal error on activation with wp-MU if File Filtering enabled
BugFix : File Filtering was ineffective with wp-MU under some configurations
BugFix : Updates to Role assignments fail if MySQL does not convert nullstring to zero value for datetime storage
Lang : Reverted _x() translation calls to __(), due to issues with poEdit support
1.1.3 - 22 Jan 2010
WP-mu Fatal Error
BugFix : Fatal error on wp-MU version upgrade, due to failed get_home_path() call (since 1.1.RC1)
File Filtering
BugFix : .htaccess file was not regenerated when File Filtering is re-enabled following a disable (since 1.1.RC1)
BugFix : File Filtering was not imposed for new attachments to private / restricted posts (since 1.1.RC1)
WP 2.9 Trash Function
WP Compat : Trashed posts / pages were included in edit listing when status filter set to default "All"
WP Compat : Trashed pages were included in Page Parent dropdown
Significant, Prevalent Bugs (new in 1.1 code base)
BugFix : Main Page was not selectable when Quick Editing a Page
BugFix : Posts were included in get_pages listing if "Include private pages in listing" option was disabled and Hidden Content Teaser turned off
BugFix : When Contributor / Author category selection is limited, valid default category was not automatically selected
BugFix : Some Category Roles were inappropriately auto-deleted on blogs which originated with WP < 2.3 (and have cats with term_taxonomy_id != term_id)
BugFix : With Limited Editing Elements option enabled, some Post/Page Edit Form elements were inappropriately hidden from Editors / Authors / Contributors
Significant but Obscure 1.1 Bugs (only affect nonstandard config)
BugFix : "Not valid" error message when a non-administrator saves a post/page with Role Type option set to "WP"
BugFix : If RS Realm was customized for Page Roles only, the Restrictions menu included an invalid link to Category Restrictions
BugFix : Some custom taxonomy queries were not filtered correctly
BugFix : If "Remap terms" option was disabled, Category Edit Form did not list editable categories whose parent is uneditable
Significant but Rare 1.1 Bugs (only affect some installations)
BugFix : New Pages / Posts did not inherit parent restrictions, in some installations
BugFix : New Role assignments fail if MySQL does not convert nullstring to zero value for datetime storage
BugFix : If Additional Object Roles option was enabled for some role, Page/Post assignments of that role could not be removed
BugFix : PHP Warning on Group creation, in some installations
Hidden Content Teaser
BugFix : Template function is_teaser_rs() did not work unless post ID was explicitly passed in (should default to ID of global $post)
BugFix : Hidden Content Teaser, when applying "first x chars" teaser, stripped out img tag but not image caption
Feature : Support SCOPER_NO_FEED_TEASER constant definition to prevent teasing of feed items even if teaser is enabled for main posts/pages listing
Nuisance Bugs
BugFix : Convenience links to Category / Page Restrictions and Roles (within caption text) were invalid
BugFix : "Browse Members" link on User Groups management page was broken
BugFix : On General Roles assignment attempt, role selections were not preserved if user/group selection is missing
Plugin Compatibility
Compat : PHP Warnings with WP Facebook Connect plugin
1.1.2 - 31 Dec 2009
Change : Disable File Filtering by default, due to undiagnosed errors on some installations
1.1.1 - 30 Dec 2009
BugFix : Recursive execution of category filter caused memory error in some installations
1.1 - 30 Dec 2009
Feature : Additional "Lock Top Pages" option to allow any Page Author to set or remove top-level pages
Feature : If HTTP authentication is enabled, append the http_auth argument to Category, Tag, Author and Comment feed links also
BugFix : Changes to restrictions, roles did not clear internal cache for anonymous user (since 1.1.RC1)
BugFix : Contributors could not upload an image before a category is set, if editing rights are based on category
BugFix : Edit Posts listing for Published status included non-published posts (since 1.1.RC1)
BugFix : Edit Pages listing for Published status included non-published pages (since 1.1.RC1)
BugFix : Category Restrictions were not correctly noted in Edit Posts listing or front-end template functions (since 1.1.RC1)
BugFix : In WP-mu dashboard, PHP warnings on first execution (since 1.1.RC1)
BugFix : Attachments Utility did not load (since 1.1.RC1)
Compat : Simple Section Nav: page selection list in Widget setup was broken with latest SSN version
1.1.RC3 - 18 Dec 2009
BugFix : Categories listing filter was inactive for new installations and following RS Options re-save (since 1.1.RC1)
BugFix : Invalid HTML formatting of Page Parent dropdown if no published pages exist
1.1.RC2 - 17 Dec 2009
BugFix : Custom Taxonomy Restrictions were not applied correctly (since 1.1.RC1)
BugFix : Activation Error (since 1.1.RC1)
1.1.RC1 - 12 Dec 2009
WP-mu:
Feature : Option for site-wide groups when running on WP-mu
Feature : Most RS options can be applied either site-wide or blog-specific
Feature : Default settings for per-blog options can be customized via Site Admin > Role Defaults
BugFix : User RS Blog Roles were not added / removed appropriately with mu user addition / removal for specific blogs
BugFix : RS General Role assignments were not effective; attempt to add post/page caused redirect to profile page of main blog
BugFix : Internal cache returned categories from other blogs in some situations
Date Limits:
Feature : Roles can be assigned with limited duration (grant and expire dates)
Feature : General Roles and Category Roles can be assigned with content date limits (role only applies for posts/pages dated within specified range)
File Filtering:
Feature : New filtering scheme eliminates many quirks by using header redirect rather than opening and sending file contents directly
BugFix : Attachment filtering blocked some unattached files or public files. New scheme uses per-file RewriteRules, does not filter unprotected files at all.
Feature : File filtering can be disabled / enabled via RS Option.
Feature : Definition / removal of DISABLE_ATTACHMENT_FILTERING constant definition now forces automatic .htaccess regeneration / restoration
BugFix : Fatal error due to failed flush_rules call on initialization, in some upgrade scenarios
BugFix : Auto-regenerate .htaccess if it gets out of sync with DB-stored file access key(s)
Default memory usage is lower than v 1.0.8 despite feature additions.
Further memory savings possible by disabling various features (see below).
Decreased database execution time in several areas.
Performance Enhancements Details:
Perf : User role sync at activation (for WP role assignments) was executing a separate query for each user (leading to long delays on some installations)
Perf : Do not resync all users on each user registration / profile update
Perf : Extensive optimization of code structure and inclusion logic to prevent unnecessary memory usage.
Change : Require MySQL >= 4.1 so LEFT JOINs can be replaced by subqueries
Perf : Converted LEFT JOIN in posts query to subselect
Perf : Eliminated unnecessary LEFT JOIN in terms query
Perf : Further wp-admin memory savings via option to disable filtering of Post Author dropdown (if "Indicate Blended Roles" and "Limit eligible users" also disabled)
Perf : Further front-end memory savings if you define SCOPER_GET_PAGES_LEAN (don't retrieve page content just to list page titles)
Perf : Further wp-admin memory savings if you define SCOPER_EDIT_POSTS_LEAN, SCOPER_EDIT_PAGES_LEAN
Perf : Eliminated redundant filtering for page parent dropdown
Perf : Eliminated unnecessary RS queries in Media Library
Perf : No construction / translation of role names in wp-admin until they are needed
Perf : set RS option records to autoload = no, since RS does its own buffering
Perf : Eliminated lots of PHP warnings for unset variables / array keys
Change : Stop storing postmeta last_parent entry for pages / posts that have no Parent setting
User Editing / Role Assignment:
Feature : support distinction between Content Administrator, User Administrator and Option Administrator. Currently designate cap for each via define( 'SCOPER_CONTENT_ADMIN_CAP', 'cap_name' );
Feature : Option to allow role assignment only by Content Administrators / User Administrators
Feature : Don't allow the editing of users with a higher level than logged user (can disable via RS Option)
Feature : Don't allow the assignment of a WP role with a higher level than logged user's level (can disable via RS Option)
Role Definition:
Feature : Synchronize RS Role Defs to WP Role Defs at installation (eliminates unexpected results when WP roles are customized)
Feature : On RS Role Defs tab, warn if WP Roles do not have normal RS role containment (WP Author contains RS Post Author, etc.) due to extra caps in RS Role def
Feature : On RS Role Defs tab, option to synchronize WP Contributor / Author / Editor role def with current RS Post Contributor / Post Author / Post Editor / Page Editor role def
BugFix : WP Role Definitions tab empty on reload after updating RS Options
Change : Post Editor / Page Editor role assignment also grants unfiltered_html capability for that content. Can be disabled via Roles > RS Role Defs.
Group Roles:
Feature : Metagroup for anonymous users - define SCOPER_ANON_METAGROUP. Only to be used when some content should be seen by anon users but not all logged users.
BugFix : WordPress roles with name longer than 25 characters caused RS metagroup record to be perpetually regenerated with new group_id, leaving orphaned role assignments
BugFix : Group deletion did not always delete all associated roles
BugFix : Incorrect eligible groups count if orphaned Group Role assignments are stored
Change : Delete all orphaned group role assignments on plugin re-activation
Media Library:
BugFix : non-administrators could not view unattached uploads via View link in Media Library
BugFix : non-administrators could not see unattached uploads in Library tab of uploader
BugFix : Authors were not allowed to edit or delete their unattached uploads in Media Library
Post / Page Edit Form:
Feature : Option to default new posts and/or pages to Private visibility
Feature : Option to auto-select Private visibility when the Reader role is restricted in Page/Post Edit Form
BugFix : On post creation, default category was not applied in some situations when author had save / publish capability for it
BugFix : On post creation, first available category was not applied in some situations when author did not select any categories (and does not have save/publish capability for default cat)
BugFix : Authors could not edit their own private posts / pages in some configurations
BugFix : Non-editors were sometimes unable to save subpages of pages based on their Page Associate role; received a "cannot associate with the Main Page" error message
BugFix : WP Metagroup Category/General Role assignments were not indicated by color coding in Post/Page Edit Form role metaboxes
BugFix : "Attempt has failed" error when submitting post with some certain WP/RS Role Definitions and editing roles restricted in all categories
BugFix : Out of memory / timeout error on some servers when non-Administrator views Edit Posts listing
BugFix : In some configurations where user can edit a subpage based on propagated Page Editor role, that role assignment was lost when they saved a change to the page content.
Change : Implicit role ownership via Category/General Role assignment is indicated by slashes around user/group name. Previous versions used square brackets.
Post / Page Edit Form - Limited Editing Elements:
Feature : Option to require blog-wide Administrator / Editor / Author / Contributor role for specified Limited Editing Element IDs
BugFix : Comment and Trackbacks status turned off when a post was edited with Discussion metabox (commentstatusdiv) hidden via Limited Editing Elements
BugFix : Custom Post Excerpt cleared when a post was edited with Post Excerpt metabox hidden via Limited Editing Elements setting
Change : If a specified Limited Editing Element is not a metabox, hide it via CSS
Change : "Limited Editing Elements" includes customdiv, pagecustomdiv, revisionsdiv by default
Edit Posts / Pages Listing:
Feature : Custom Role / Restriction indicator columns in Edit Posts and Edit Pages listing can be selectively disabled
Feature : Custom columns are suppressed if logged user does not satisfy RS Option requirement for "Roles and Restrictions can be set by"
BugFix : Custom Roles / Restriction indicator columns were sometimes displayed even if none of the listed posts used them
BugFix : Edit Posts column indicated some false positives for Category Restrictions
BugFix : Edit Posts listing included Term Roles column even if none of the listed posts had Term Roles
Page / Category Listing (Front End):
Feature : When remapping a page to visible ancestor, Option for whether remap can bypass an explictly excluded ancestor
Feature : When remapping a term to visible ancestor, Option for whether remap can bypass an explictly excluded ancestor
Feature : Support remap_parents, enforce_actual_depth, remap_thru_excluded_parent args to override defaults in a get_pages() / get_terms() call
Compat : Never remap pages if get_pages called without hierarchical arg (unnecessary, caused conflict with Flexi Pages plugin)
Compat : Never remap terms if get_terms called without hierarchical arg
Change : RS Option "Remap Hiden Pages to Visible Ancestor" disabled by default, to avoid conflict with template code that relies on exclude+depth arguments being treated as exclude_tree
Change : RS Option "Remap Hiden Terms to Visible Ancestor" disabled by default, to avoid conflict with template code that relies on exclude+depth arguments being treated as exclude_tree
XML-RPC:
BugFix : XML-RPC post submissions created without category selection for users without less than blog-wide Editor role
BugFix : With some XML-RPC clients, non-administrators can publish new posts but cannot edit them following publish
BugFix : XML-RPC retrieval of recent posts only returned one post
Custom Taxonomies:
Feature : Support Restrictions on custom taxonomies
BugFix : When custom taxonomies are enabled for use with RS, "Category Restrictions and Roles for Posts" checkbox caption was not modified accordingly
BugFix : Invalid edit URL from bulk role administration form for Post Tags, Custom Taxonomies
Workaround : WP core forces display of published posts only in Edit Posts listing when filtering by a custom taxonomy term
Front-End Misc:
BugFix : get_comments() function did not include comments on attachments to private posts
BugFix : In some installations with a language defined and "suppress private caption" option enabled, fatal error from translate call in template-interceptor
BugFix : template function is_restricted_rs() indicated some false positives for category restrictions
BugFix : Tags filter defaulted to limiting number of displayed tags to 45
BugFix : tag__not_in argument was not supported for manual calls to WP_Query
Admin Misc:
Feature : Add pending posts and pages total to Dashboard Right Now list
BugFix : Cannot approve / unapprove comments when capability is granted via Category Role or Page/Post Role
BugFix : Roles, Restrictions menu icons were not displayed if custom WP_CONTENT_DIR set
BugFix : PHP Warning on installation / version update due to DB key name conflicting with an existing WP key name
BugFix : In User Profile, link to edit individual Object Role yielded "insufficient permissions" message
BugFix : RS roles were hidden from User Profile for users who cannot assign roles due to blogwide role requirement set in RS Options
Change : Prevent activation (with helpful error message) if another copy of RS is already active
Change : If RS_DEBUG is defined and the script is plugins.php or edit-plugins.php, don't initialize the plugin (prevents hung server on bad edits via Plugin Editor)
Change : On RS Options form, rearranged and recaptioned "Realm" options for clarity
Change : Popup confirmation box before reverting RS Options to defaults
Change : Update button in all RS forms styled the same as WordPress Update buttons
Misc:
BugFix : Warning messages on servers with open_basedir restriction
BugFix : RS Internal Cache did not work if custom WP_CONTENT_DIR set
API:
API : ScoperAdminLib::create_group($name, $desript), returns group_id
API : ScoperAdminLib::get_group_by_name($name), returns group object
API : ScoperAdminLib::get_group($group_id), returns group object
Plugin Compatibility:
Compat : Formatting of table header in Role / Restriction bulk admin forms was thrown off by BuddyPress
Compat : Pages listing was broken when Theme My Login active with option to exclude login page from listing
Compat : Automatically switch Roles, Restrictions tabs to default(bottom) positioning if some other plugin has moved the Users tab
Compat : Support nonstandard usage of wp_dropdown_pages filter by Simple Section Nav plugin
Compat : PHP Warning after AMember creates a role with no capabilities
Compat : Apply RS restrictions and roles to Snazzy Archives plugin listing
Compat : PHP Warning "Missing argument 2" with WMPL plugin
Compat : Suppress RS filtering when another plugin has initiated a scheduled operation via WP Cron (conflict with WP Robot, Twitter News Feeds)
Compat : Tiny MCE Advanced (conflict was present in RS 1.1 beta versions)
Compat : Flutter (may require Flutter code patch, see Notes)
Compat : Use display names and plural display names defined by Custom Taxonomies plugin
Browser Compat (wp-admin):
BugFix : Background color not applied to RS Options form in some versions of IE
BugFix : IE8 tab, checkbox positioning in Post/Page Edit Form role metaboxes