
This file shows the changes in recent releases of MODX. The most current release is usually the
development release, and is only shown to give an idea of what's currently in the pipeline.

MODX Revolution 2.7.3-pl (February 27, 2020)
====================================
- Remove "allowBlank: false" for symlink/weblink in quick update [#14981]
- Add missing AddToGroup events in modSecurityGroupUserCreateProcessor [#15021]
- Use single-quotes in MySQL queries for modTransportPackage for ANSI_QUOTES compatibility [#15011]
- Add context key to reload URL when switching templates [#14998]
- Fix display of #modx-site-info depending on width [#14779]
- Limit deprecated modAction message to current package during install/uninstall [#14303]
- Apply `MODx.util.safeHtml` to feed dashboards [#14946]
- Make MODX Browser work on mobile screens [#14774]
- Fix deprecation warnings on curly brace string offset access syntax for PHP 7.4 compatibility [#14863]
- Set autocomplete to off on username in user edit form [#14838]
- Fix the position of the right caret when `Show Descriptions in Top Menu` is set to `No` [#14778]
- Update node-sass to a version that supports macOS Catalina [#14789]
- Fix an console error when loading the Load Access Control List Panel [#14809]
- Fix an issue where the amount of items in context settings would not match the amount of displayed items [#14801]

MODX Revolution 2.7.2-pl (September 26, 2019)
====================================
- Allow safe html in system setting description [#14453]
- Fix incorrect password behavior and message [#14085]
- Resolve 0 integer values marked as undefined when required [#14658]
- Fix transparency in .png for Template Variables [#14664]
- Prevent users without edit_locked permission from editing locked elements [#14739]
- Lock setup after it is successfully executed [#14692]
- Allow an empty caption when duplicating a Template Variable [#14386]
- Escape instances of new MySQL reserved word rank [#14701]
- Check if modx-content is defined before calling doLayout [#14593]
- Add additional .sub class in menu for nested li [#14671]
- Update PHPMailer to 5.2.27 to address potential vulnerability [#14653]
- Check for default URL scheme value as string [#14643]
- Fix notices regarding IMG_WEBP constants not being defined for PHP version where support for WEBP isn't advertised [#14494]
- Fix an issue where an resource would not be published when the pub_date is equal to "now" [#14609]
- Added default styles for scroll in webkit based browsers [#14553]
- The menu entry "Manager Actions" has been renamed to "Manager log" [#14495]
- Updated phpThumb to a version that fixes images getting a black background color when converting an image with transparency to a format without alpha support. [#14477]
- Check extracted files for allowed extensions by option [#14433]
- Improved security in contexts in the manager [#14357]
- Fix using wrong option for upload_images [#14460]
- Fix for thumbnails not rendering for media sources with spaces in URL's [#14301]
- The default RSS feed URLs `feed_modx_security` and `feed_modx_news` now use HTTPS [#14392]
- The value for the preview tooltip in the trash manager is now properly encoded [#14401]
- Change icon to proper one for descending sort order [#14413]
- Don't execute the upgrade script for the last installed version again [#14396]
- Fix friendly_alias_realtime system setting not working as expected [#14438]
- Fix deprecated create_function() calls in modProcessor and modConnectorResponse [#14399]
- Fix deprecated each() in the lang.js.php connector [#14397]
- Restore PHP 5.3 compatibility [#14461]

MODX Revolution 2.7.1-pl (February 14, 2019)
====================================
- Fix ctl/cmd+click behavior to open URL in new window/tab [#14348]
- Show all resources to purge in the trash manager and change tree options for deleted resources [#14350]
- Handle deprecated warnings for sendRedirect in modX class instead of modResponse [#14359]
- Updated phpThumb to version 1.7.15-201902101903 which has basic support for WebP [#14366]
- Fixed CVE-2018-17556 [#14336]
- Fixes bunch of various XSS issues in the manager [#14335]
- Fix issue with resource list preventing parents from working correctly [#14329]
- Fixed issues with tab width and very long strings in the vertical tabs [#14317]
- Refactored tag input renderer to fix rendering with empty options list [#14319]
- Fix duplicating static templates, snippets etc. with an empty category [#14203]
- Don't include the resource ID in real time aliases [#14210]
- Move resource_uri and resource_uri_overide to page-settings-right-box-left region [#14297]
- Fix position slide-in/slide-out button of Resource tree [#14298]
- Fix context menu position on user page "Access Permissions" tab [#14295]
- Fixed bug with unexpected incremented TV ranks in Form Customization [#14281]
- Improve description of the system setting user_settings_desc to clarify meaning [#14249]
- Improved display of information about (missing) dependencies when you install a package/extra [#14255]
- Fix an issue where old static files where removed even if the automate static files system setting was turned off for that element type [#14208]
- Nested categories display their name instead of their id [#14205]
- Fixed case when empty date TVs can be saved even if "allow blank" is set to false [#14290]
- Fix empty Constraint column in Form Customization if constraint value is zero [#14287]
- Don't remove the trailing slash when redirecting to the manager after logging in [#14278]
- Added explanatory text with MODX tag to the description of the System Settings, Context Settings and Lexicon Management sections [#14265]
- Bugfix for transport resolution, if the package is not found on the current provider [#14260]
- When deleting an element in the tree, the confirmation window will show the translated element type name [#14272]
- Fix edit empty files from tree [#14284]
- Enhanced the error message of a wrong MODX_CORE_PATH [#14276]
- Fix checkDownloadedDependencies query to make package dependencies work properly [#14261]
- Don't remove static files if automated static files are turned off [#14228]
- Image template variable values escape/encode JavaScript tags only [#14263]
- Switch to the tab where the validation error occurs when saving an element [#14235]
- Make working Preview menu option in the recent edited resources widget [#14234]
- Apply Form Customization rules for TV's when a wildcard action is used [#14224]
- Add a Unit Test for testing the build process [#14213]
- Don't force the manager date time format for the date of birth field [#14214]
- Prevent symlinks and weblink to target itself [#14211]
- Checkbox Use current alias in alias path in the Form Customization sets [#14209]
- Use the right table name when fetching the MODX package providers [#14222]
- Fixed position of context menu in the media browser [#14199]
- Fix "undefined" text in Trash manager button tooltip. [#14191]
- Fix a broken top-menu [#14186]
- Fix the missing description for the system setting "Automatic Template Assignment" [#14173]
- Update config.js.php processor to be class based [#14161]
- Make the flat file processor deprecated message more useful [#14160]
- Fix missing styles on resource data heading [#14142]
- Remove unnecessary h2 on resource update heading [#14230]
- Use proper element icons in elements tree [#14001]
- Fix incorrect margin on the uberbar submit button [#14142]
- Fix error message overflowing on TVs [#14142]

MODX Revolution 2.7.0-pl (November 27, 2018)
====================================
- Add recursive method to replace reserved characters [#14156]
- Update phpThumb to 1.7.15-201810050741 [#14155]
- Fixed error log line wrapping problem [#13966]
- Fixed call to a member function deprecated() of null [#14139]
- Deprecate 0.9.x parser migration utilities for removal in 3.0 [#14131]
- Add some deprecated logging [#14136]
- Validate the ID target for symlinks and weblinks [#14041]
- Add native PHP password hashing [#13926]
- Enable automatic static elements workflow [#14135]
- Fix and normalize combo-boolean tv option values [#14129]
- Allow a middle mouse click to open links in a new tab/window [#14061]
- Fixing getlist processors for combos that have a page size [#14116]
- Improved messages on plugin editor page [#14128]
- Add "OnBeforeRegisterClientScripts" event [#14123]
- Trash manager [#14058]
- Implemented quick create buttons on tree nodes for documents [#13774]
- Copy file/folder path to clipboard [#14078]
- Add method for logging deprecated method usage [#14217]
- Fixing user combo with preselected user ids [#14113]
- Restore the setup options window title, if two packages are installed with setup options [#14120]
- On PHP 5.4+, clone the modSystemEvent object so values can be transmitted between plugins [#13116]
- Make path for custom MODX error handler class configurable [#14119]
- Resolve issue with package update window when clicked multiple times [#13985]
- Update Smarty to 3.1.33 [#14126]
- Fixed the name of system setting about allowing or not eval in TV [#14124]
- Hide Input Option Values for TV types where irrelevant [#14040]
- Improve display of double-height dashboard widget [#14117]
- Fix for the password length error message during setup [#14112]
- Apply containerOptions correctly when creating database during installation [#14069]
- Use max_input_nesting_level for max depth argument in modX::sanitize [#14098]
- Pass missing signature to lexicon when package uninstall fails [#14066]
- Prevent double-click resulting in blank page from media browser [#14076]
- Clear system/phpthumb connector properties to prevent unnecessary warnings [#14096]
- Constrain MODx.Window to browser's viewable area by default [#14090]
- Delete files in media browser with '&' in the file name [#14054]
- Prevent invalid relative media source path from revealing root path contents [#14038]
- Prevent an infinite loop in sendErrorPage() [#14108]
- Got rid of bower from theme build process [#14091]
- Set the min-height of a x-combo-list-item when it is empty (no text) [#14092]
- Fixed manager header height on resize [#14083]
- Improved performance and requests timing by changing the counting of children via subqueries [#14065]
- Improved the isBinary checks in modFileHandler class [#14027]
- Fixing images escaping their container in media browser [#14052]
- New RewriteRule to hide dot directories from the public access. [#13930]
- New system setting with default media source type value [#14012]
- Fixed handling $depth variable during recursive calls in getTree method [#14002]
- Prevent header overriding in included template of error unavailable [#13986]
- Add ability to see all elements under tree nodes for Categories [#13997]
- Correct display of policy permissions in access control grids [#13994]
- Make the resource class a little closer to SOLID principles [#13877]
- Smart detecting of used plugins for expanding rows in grids [#13992]
- Login forgotten password improvements [#13987]
- Enhancement for dashboard jumping around on page load [#14032]
- Set the caption for node elements inside categories [#14029]
- Make policies in grid sortable by enabled/disabled mark [#14004]
- Remove non-functional cache_disabled system setting [#14022]
- Reduce log level to WARN when calling non-cacheable tags inside cacheable ones [#14017]
- Remove cache_system_settings from system settings [#13832]
- Prevent directory traversal and limit files deleted when clearing modFileRegister [#13980]
- Filtering user parameters before passing them into phpthumb class #13979
- Update phpThumb to 1.7.15-201806071234 #13938
- Require minimal PHP version (in composer.json) #13939
- Prefer ampersand replacement of the the translit class [#13931]
- Add iconv_ascii transliteration [#13932]
- Add set_sudo permission [#13807]
- Log setlocale errors [#13878]
- Various improvements regarding password generation and validation [#13923]
- Make error.log location customizable [#13768]
- Add system setting for partial resource cache clearing feature [#13588]
- Prevent line-wrap in error log [#13843]
- Add template icon for resources in search results in the uberbar [#13882]
- Remove duplicate code of password generator and fix an issue with the empty value of password_generated_length setting [#13909]
- Add ID number to manager pages (resources and elements) [#13914]
- Add option to supply waitMsg on submit in MODX windows [#13915]
- Show validation errors when setting a new user password [#13585]
- Add CLI install script for use with composer create-project [#13790]
- Allow extension packages to have an empty table_prefix [#13716]
- Add wildcard support to form customization actions [#13775]
- Make HTTPS server check accept any non-empty value [#13794]
- Add ability to search by id on all objects in manager search [#13804]
- Add automatic_template_assignment feature [#13700]
- Media Browser optimizations [#13805]
- Add "Purge Old Versions" button to the package version listing to clean up old versions [#12818]
- New resource option "Use current alias in alias path" to allow hiding resources from the URI [#11153]
- Make $modx->setDebug support E_LEVEL constants (e.g. E_NOTICE/E_ERROR) and fix setting debug to 1 not working [#12579]
- Use stricter check for string type in resource tree to avoid uncaught error in edge cases [#13262]
- Allow plugins OnDocFormRender to set templates with $resource->set('template', 3) [#13049]
- Add "filterPathSegment" output filter to turn a string into url-safe string [#13699]
- Make sure requests to containers without the container suffix are redirected to the right url with container suffix [#13142]
- Ignore spaces in allowedExtensions properties and relevant system settings to ensure the right file types show up [#13702]
- Add list of recent manager log entries to the Resource Overview page [#13734]
- Prevent notices for undefined Smarty placeholders [#13748]
- Remove some unused images [#13788]
- Fix incorrect hex colors in TV input options description [#13776]
- Change modResource.description column to text [#13802]
- Fix modDbRegister->clear and use fully qualified name [#12965]

MODX Revolution 2.6.4-pl (June 7, 2018)
====================================
- Fix sorting by access column in Template Access tab of Template Variable edit view [#13893]
- Make sure category is not null before checking add_children permission when creating chunks [#13906]
- Address various minor XSS issues in the manager [#13887]
- Update xPDO to 2.7.0 to solve bug with getIterator and MODX Resource Group ACLs [#13889]
- Update phpmailer from 5.2.21 to 5.2.26 to fix various security issues [#13886]

MODX Revolution 2.6.3-pl (April, 19, 2018)
====================================
- Fix installation of transport packages with setup options [#13861]

MODX Revolution 2.6.2-pl (March 30, 2018)
====================================
- Display context name and key in Context dropdown [#13839]
- Only save properties modified from the default for an element in Property Sets [#13799]
- Replace usages of each() to avoid deprecated warnings in PHP 7.2 [#13829]
- Prevent adding ./ to filepath when in root of a mediasource [#13778]
- Fix error with getonline processor on systems with only_full_group_by sql_mode [#13835]
- Prevent logging errors for comments or empty tags [#13771]
- Fix typo preventing verbose CURL option from being set in modRest [#13798]
- Prevent http headers from being overwritten in modRest [#13797]
- Fix sending messages to wrong recipients in message/create processor [#13796]
- Stop sending too much data on package install request [#13813]
- Add events permission to Administrator policy on new installs [#13830]
- Remove max width from the tree sidebar [#13637]
- Select the correct media source when editing a static element [#13750]
- Fix the setup language being reset to English in the last step [#13611]
- Fix incorrect view url after changing the resource url [#13768]
- Fix silent fail on login without manager access [#12706]
- Fix incorrect media source being used on image TVs when creating new resource in different context [#13609]

MODX Revolution 2.6.1-pl (December 15, 2017)
====================================
- Increase efficiency of cache refresh on autopublish events [#13572]
- Remove concatenated key from name field in Contexts grid [#13372]
- Prevent infinite loop when a modSymLink refers to itself [#13710]
- Get only unique template paths for manager controllers [#13717]
- Ensure dashboard widget exists before calling methods on it [#13604]
- Fix phpthumb issue in files tree and media browser [#13704]
- Show correct Resource type icon in search results [#13705]
- Allow callback if nothing is selected in MODx.browser [#13684]
- Fix Flush Your Permissions top menu item [#13690]
- Improve changelog display in package browser [#13677]
- Revert behavior of image_width and image_height for media source images [#13672]
- Fix CLI installation to properly detect MySQL server version [#13680]
- Fix title format in various manager views [#13668]
- Fix javascript issue on resources containing quotes [#13669]
- Fix console error when editing resources with tv tab [#13683]
- Fix invokeEvent call for new OnResourceCacheUpdate event [#13676]

MODX Revolution 2.6.0-pl (November 1, 2017)
====================================
- Add top padding to .modx-alert and .modx-confirm classes [#13652]
- Improve setUserGroups/addUsers methods [#13653]
- Enable sorting by 'assigned' column in template variable grid [#13598]
- Return better error message if group name already exists [#13600]
- Hide empty template variable tabs in the resource panel [#13649]
- Add .less, .scss, .sass and .css.map as default allowed upload file types [#13592]
- Enable context setting overrides in modResource->cleanAlias() [#13622]
- Add OPTIONS request method to modRestController [#13636]
- Fix redirect when deleting elements [#13644]
- Fix format of chunk title [#13643]
- Prevent connector errors from invalid ctx parameter [#13627]
- Fix processing of noncacheable elements inside cached [#13530]
- Fix site_status issue when a session is not available [#13635]
- Fix endless loop when error log is too big [#13632]
- Fetch Lexicon lang and topic lists from database [#13599]
- Add CSS class to TV containers [#13602]
- Add OnResourceCacheUpdate event [#13590]
- Add new Who's Online dashboard widget [#13545]
- Additional SVG preview improvements [#13629]
- Enable rendering of SVG previews in Media Browser [#13517]
- Add stream upload support for binary files to modRestService [#13164]
- Remove null-byte character check [#13581]
- Add search/filtering to plugin event list [#13552]
- Search improvements for user management [#13551]
- Improve description of TemplateVariable Input Option Values [#13550]
- Replace all hardcoded http versions by $_SERVER['SERVER_PROTOCOL'] [#13518]
- Make searchbar accessible via assistive tech landmarks [#13437]
- Make ContextResource optional in query for rebuilding contexts [#13360]
- Reduce varchar and text index prefixes for utf8mb4 support in mysql [#13559]
- Change new installs to create tables with InnoDB engine on mysql [#13462]
- Fix set height of error log [#13566]
- Reset user session token if it is set but value is empty [#13577]
- Fix chmod feature on directories [#13580]
- Fix resource tree ignoring hide_children_in_tree value [#13578]
- Skip date format check when using resource quick update [#13534]
- Fix ability to drag files more than once [#13533]
- Fix permission check for updating user group settings [#13544]
- Fix collapsing secondary buttons [#13558]
- Add unique index for modTemplateVarResource values [#13535]
- Fix media browser active state in tree [#13496]
- Fix media browser tree refresh after creating a directory [#13501]
- Prevent "New User Group" button being covered with long translations [#13555]
- Add modx_media_sources_elements when a context is duplicated [#13529]
- Remove resource template values when context is removed (cherry-pick) [#13525]
- Fixed issue with incorrect signature during installing two packages with setup options (cherry-pick) [#13557]
- Added loading error log only via ajax to avoiding blank page in case bad characters in log file [#13560]
- Added DKIM attributes to PHPMailer [#13303]
- Hide user group tree panel splitbar if center panel is hidden (cherry-pick) [#13520]
- Added missing setting for primary user group during creating a new user [#13528]
- Remove exposing of full path from error message when controller not found in the Manager [#13430]
- Remove hardcoded modUser references in user processors [#13532]
- Secondary button height fixes [#13543]
- Add newNameField to modObjectDuplicateProcessor to correct error messages [#13521]
- Added ability to duplicate a context from the contexts grid & while editing a context [#13540]
- Honor the failed_login_attempts setting [#13516]
- Added option to allow double encoding to htmlentities output modifier [#13325]
- System events are now listed with their attached plugins [#13324]
- Added ability to return custom error message via plugin when a user authenticates [#13204]
- Create a new "please wait" windows on any package download instead of hide/show [#13506]
- News & security feeds in the manager welcome page are now loaded using AJAX [#13507]
- Added resource pagetitle & ID when deleting a resource [#13497]
- Remove unused path_search and url_search processors in setup [#13433]
- Fix logging an empty value in modUser->joinGroup() [#13445]
- Fix featured flag in package listing not interpreting the string value [#13470]
- Re-style the templated package provider thumbnail grid [#13274]
- No addition on a JS string! [#13401]
- Sessions are marked as staled after creating/updating/removing a user group/policy [#13311]
- Clearing cache from the manager is now logged in manager actions [#13350]
- Context sorting in trees is now enabled by default [#13356]
- Add events for package install, uninstall, and remove [#12936]
- Add setting to log when snippets are called that don't exist [#12984]
- Added option to disable EVAL binding in TVs [#13224]
- Allowing using keyboard modifiers to open some links in new tabs [#13103]
- Pass properties to the OnRichTextBrowserInit event [#13110]
- Add tag [^m^] to show used memory [#12981]
- Add Delete button to chunk/snippet/plugins-window [#13245]
- Add after(append) and before(prepend) output filters [#13021]
- Add class_key and item filter to the Manager Log [#13005]
- Change view_ permissions to edit_ permissions for elements in uberbar search [#13095]
- Allow manually editing rank of contexts [#13097]
- Pass the namespace to OnManagerPageInit event [#13104]
- Add new line and spaces regex to input filter [#13115]
- Add "UserProfile events" [#13153]
- List empty as default template in system settings [#12975]
- Add .x-form-display-field style [#12955]
- Add the ability to generate custom manager "top menus" [#12554]
- Replace dirname(dirname(__FILE__)) with dirname(__DIR__) [#13147]
- Add User Group description to UserGroups grid (with row toggle) [#13130]
- Add ExtJS Manager headers and descriptions components [#13118]
- Made modX::addEventListener & modX::removeEventListener actually work
- Correct email subscription form on help page [#13463]
- Add ability to see changelog of extras before downloading the update [#13410]
- Fix session_start error "Session callback expects true/false" on PHP 7 [#13041, #13073]
- Prevent "Call to member function get() on array" error, caused by TinyMCE [#13085]
- Prevent drag/dropping contexts when context_tree_sort is disabled [#13363]
- Improve user messaging with an outbox and improved message listing [#13390]
- Prevent dashboard breaking if a widget is missing a file [#13367]
- Fix positioning of TVs on the first resource tab [#13318]
- Prevent error on PHP 7 when using invalid output conditions [#13167]
- Allow use of date/strftime output filter on date strings without strtotime output filter [#8161]
- Make the save button available immediately when removing locks from the resource update page [#12028]
- Add option to skip duplicating resources when duplicating a context [#13277]
- Expand relative base paths in the file media source [#13295]
- Added pagetitle of the resource that has been duplicating into the title of duplication window [#13475]
- Fix incorrect pending changes warning when a resource was set to the empty template [#13483]
- Add optional $byName attribute to modResource->joinGroup to force joining a numeric group [#4014]
- Allow default TV values to use @BINDINGs [#3454]
- Make sure log_target being empty defaults to FILE instead of ECHO [#7659]
- Allow javascript handlers to be executed in the user-nav [#13094]
- Make sure the scripts cache uses the right file permissions [#12677]
- Add support for new_folder_permissions_cache and new_file_permissions_cache settings to change permissions on cache folders [#12677]
- Add new modDirectory->getFiles() method to list files/folders in a directory [#13096]
- Some modRest refactoring to clean up code style and doctypes [#13133]
- Fix output filter handling of non-existent TV tags to be consistent with placeholders [#13203]
- Automatically change to the resource tab that holds an error when encountering a validation error saving a resource [#13202]
- Move OnFileManagerBeforeUpload event so it can also be used to prevent uploads or change file info [#13067]
- Lower memory usage of duplicating contexts with lots of children [#13217]

MODX Revolution 2.5.8-pl (TBD)
====================================
- Use pageSize from system settings for system settings grid [#13493]
- Fix date format for created field of package in the package provider [#13509]
- Add a mouseout listener to the 'Clear Filter' buttons across the manager [#13510]
- Add view_template:true for the "Content Editor" access policy [#13508]
- Refresh the parent (resource) node when creating the first children [#13499]
- Refresh element in tree after changing name in element's panel [#13502]
- Remove unused path_search and url_search processors
- Fix logging an empty value
- Update xPDO to fix issue with validation rules

MODX Revolution 2.5.7-pl (April 20, 2017)
====================================
- Try all available methods when attempting to download transport packages [#13419]
- Prevent stored XSS in UserGroup names and various other fields [#13418]
- Prevent user/email enumeration in forgot password feature [#13408]
- Prevent XSS cache poisoning via Host header [#13426]
- Proper use of json_encode and error handling for outputArray() in processors [#13389]
- Prevent reflected XSS in setup [#13424]
- Fix local file inclusion vulnerability in setup action parameter [#13422]
- Fix various local file inclusion preventions to also protect on windows [#13428]
- Remove htaccess from allowed file types on new installations [#13423]
- Prevent stored XSS in resource pagetitle [#13415]
- Make search bar work as expected on Chrome & Firefox [#13405]

MODX Revolution 2.5.6-pl (March 28, 2017)
====================================
- Enable Resource Group access column to be sorted [#12426]
- Prevent warning from array_key_exists when aliasMap not available [#13297]
- Fix broken images in File tree when media source above doc root [#13292]
- Encode HTML in the template description to prevent potential XSS [#13290]
- Use (but limit) setting for results per page in package management grid [#12518]
- Added validation for min and max length of text TV configuration [#9039]
- Allow value '0' for multi select TV items [#9492]
- Fix "undefined" on package management breadcrumb when updating [#12567]
- Reduce log level to INFO for links not found by modContext->makeUrl() [#13268]
- Fix error in Firefox preventing using enter in the uberbar [#12714]
- Fix error when deleting a file from a TV [#12417]
- On new installs set base_help_url setting to the new docs subdomain [#13309]
- Refresh resource tree and context grid on create and delete [#12495]
- Only call generateContext once when saving a resource [#13347]
- In get/setTVValue, consider numeric strings as ID instead of name [#12542]
- Validate chmod input [#13352]
- Prevent drag/drop of directories messing up directory structures [#13165]
- Get rid of duplicate scrollbars in the help window [#12914]
- Show proper error page when viewing an inaccessible symlink [#12380]
- Avoid duplication of modLexiconEntry objects when updating context settings [#12823]
- Fix system info's database tables tab on sqlsrv [#9854]
- Add comment to config.core.php files that its contents are overwritten on update [#10299]
- Fix double dots in the filename of downloaded static resources [#10267]
- Fix duplicating resource children which are hidden from the tree [#13298]
- Show proper error message when trying to rename a file/folder that already exists [#13256]
- Fix missing caption when duplicating a TV via the Edit TV page [#13317]
- Fix empty error popup when adding a usergroup to a media source without a policy [#12701]
- Fix close button on resource overview page [#12822]
- Hide database username, password and database name from advanced setup [#13090]
- Fix "Cannot read property 'style' of undefined" error when resizing viewport after closing a modal [#13294]
- Fix "o.field is undefined" error when checking a resource group [#13296]
- Fix phpdoc for modAccessibleObject->checkPolicy [#13301]

MODX Revolution 2.5.5-pl (February 8, 2017)
====================================
- Respect new_file_permissions setting when create/upload files in manager [#13246]
- Escape regular expression special characters in last query string of a superboxselect [#13236]
- Improve logging of bad links [#13268]
- Fix a few Smarty variables not being defined [#13117]
- Only load manager layout when the controller is not "browser" [#13135]
- Add autoHeight in the Create/UpdateSetting window [#13220]
- Address various potential security issues in setup [#13261]
- Validate file extension when renaming/creating files in file browser [#13240]
- Examples to rewrite all domains of one installation with/without www [#13249]
- Update MODX Transport Provider to use SSL URL [#13260]
- Add site name to the login title [#13254]
- Fix File Unzip feature [#13223]
- Fix truncating filename at space by downloading via filemanager [#13171]

MODX Revolution 2.5.4-pl (January 3, 2017)
====================================
- Update xPDO to 2.5.3 release to avoid xPDOQuery class not found error

MODX Revolution 2.5.3-pl (January 3, 2017)
====================================
- Fix listing packages on systems with non-utf8 locales [#13182]
- Update PHPMailer to 5.2.21 for CVE-2016-10045 patch [#13229]
- Access chunk array instead of chunk object instance [#13210]
- Update PhpMailer to 5.2.19 to protect against RCE vulnerability [#13227]
- Add various missing permission checks to processors [#13174]
- Update xPDO to 2.5.2 release
- Improve phpThumb InitializeTempDirSetting [#13151]
- Validate Resources when dropped onto weblinks and symlinks [#13212]
- Fix Resources not loading in the tree in sqlsrv [#12845]
- More specific removal of critical settings in MODX.config [#13180]
- Fix broken list of previously installed package versions [#13179]
- Fix incorrect media source name on Files tab [#12596]
- Update Font Awesome to 4.7.0
- Remove placeholders from login screen to fix accessibility bug/confusing screenreading [#13186]

MODX Revolution 2.5.2-pl (November 14, 2016)
====================================
- [SECURITY] Hide critical settings in MODx.config [#13170]
- [SECURITY] Prevent local file inclusion/traversal/manipulation [#13177]
- [SECURITY] Prevent path traversal in $modx->runProcessor [#13176]
- [SECURITY] Prevent unauthenticated access to processors [#13175]
- [SECURITY] Prevent path traversal in modConnectorResponse action param [#13173]
- [SECURITY] Update xPDO to 2.5.1 release
- Add security/login support for action based connector [#13158]
- Make one single connector file possible [#13157]
- Don't create a DirectoryIterator on non existing folders [#13127]
- Fixing tvLabel output filter empty needle warning [#13138]
- Fix session extension call using action based connector [#13146]
- Select modTemplateVarTemplate.rank for MySQL 5.7 ONLY_FULL_GROUP_BY SQL Mode [#13098]
- Fix new category option duplicating view of elements [#13137]
- Consistency in error messages, based on error type [#13126]
- Make sure things do not break when no valid json/empty string is returned OnMediaSourceGetProperties event [#13119]
- Removed superfluous code in the manager "gateway" [#13120]
- Set temporary directory for files processing in phpThumb [#13128]
- Upgraded phpThumb to 1.7.14-201608101311 [#13125]
- Force display errors during setup [#13107]
- Added duplicating caption field for TVs [#13100]
- Fix PHP warning if the response message is empty [#13111]
- Removed duplicate element ID [#13105]

MODX Revolution 2.5.1-pl (July 21, 2016)
====================================
- Preserve original behavior for 3PC RTE TVs [#13071]
- Fix with of install button after text change [#13078]
- Fix server port check in setup start script [#13037]
- Update phpThumb to version 1.7.14 [#13039]
- Show image preview in file tree for S3 media source [#13059]
- Fix problem with S3 bucket names containing dots [#13031]
- Add missing properties in modX class [#13035]
- Fix pagination in the "New event create" dialog [#13062]
- Fixing padding-top issue in MODx.Window [#13038]
- Use sans-serif font for TV textareas [#13045]
- Prevent reflected XSS in connector's JSONP support [#13051]
- Fix a SQL injection [#13052]
- Fix uberbar user search return invalid User ID [#13056]
- Fix width of the install button [#13057]
- Extended grunt build tasks [#13026]
- Remove deprecated curl option [#13032]
- Show resources marked as container with a folder icon in the tree, even if it has no children. [#13027]
- Restore missing Duplicate buttons on weblinks and symlinks [#12910]
- Fix changing labels via manager customisations on checkboxes [#12890]
- Fix extracting the title if it contains newlines when importing HTML [#12937]
- Fix code smell issues in modPhpThumb [#13022]
- Prevent using double quotes in extended user fields and containers to prevent breaking the context menu [#13012]
- Fix saving a resource if the pagetitle of the parent contains tags [#13017]
- Fix JavaScript error when editing an extended user field that contains markup [#12841]
- Increase the delay for opening top  nav menu items to 0.5s to prevent misclicks [#12931]
- Allow email addresses validated by the extjs email vtype to have longer TLDs [#12940]
- Fix updating user settings [#12988]
- Fixed permissions for new files [#13000]
- Fix for 500 error after install using STRICT_TRANS_TABLES mode in mySQL [#13001]
- Fixed typo in scss [#12993]
- Remove all traces of manager HTML5 cache manifest [#12985]
- Fix rare database connection setup error (new installs/advanced upgrades) [#12997]
- Remove :first-of-type, reduce padding on container [#12973]
- Fix problem with multiple placeholders in a system setting [#12692]
- Set correct title to edit fc set [#12974]
- Corrected $_lang array index and $_lang string typo [#12979]
- Error 500 + installer fails when MYSQL Strict SQL Mode is ON [#12838]
- Use rawurlencode in modparser [#12675]
- Reference to values passed by reference got lost [#12951]
- Add uri to mysql/modcontext.class.php [#12971]
- Add missing viewport meta tag needed to enable the responsive manager [#12977]
- Avoid empty manager theme [#12989]
- Fix: expression is always true [#12956]
- Make sure uberbar resource search respects ACLs [#12960]

MODX Revolution 2.5.0-pl (April 21, 2016)
====================================
- Fix issue where site_start and default_template settings get the wrong ID on certain environments [#12959]
- Replace hard-coded charset in Default template with MODX setting [#12916]

MODX Revolution 2.5.0-rc2 (April 6, 2016)
====================================
- Set the leaf property to true instead of 1 [#12734]
- Increase the space between the content and the logo areas in the base template [#12898]
- Add missing preserve_menuindex setting [#12905]
- Fix displaying categories in Package Manager
- Update FileAPI to 2.0.20
- Fixing partial import of content with UTF-8 chars inside [#12896]
- Fix Media Browser when compress_js is enabled [#12899]
- Restore backwards compatibility in updated Smarty [#12897]

MODX Revolution 2.5.0-rc1 (February 3, 2016)
====================================
- Implement X-Powered-By header to send "MODX Revolution" on all requests [#12885]
- Add cleanup script to remove legacy files during upgrades
- Fix installed package list in package detail page when the package's name has spaces [#12870]
- Add filter and search to the templates grind in TV panel [#12873]
- Add typeahead for templates in resource panel [#12872]
- Fix session warning on HHVM [#12868]
- Add new stripmodxtags output filter [#12860]
- Add new base template and resource content [#12855]
- Fix re-definition of function mkdirs
- Add `createdon` date field to modUser [#12581]
- Ensure $restarted in templates/language.tpl always exists [#12847]
- Update LinkedIn link description on Help page [#12851]
- Fix undefined index in modOutputFilter->filter [#12856]
- Add new output filter 'htmlspecial' [#12861]
- compress_js no longer dynamically minifies javascript, instead it uses a prebuilt min.js for better performance [#12611]
- Autoload third party packages when viewing manager actions [#11866]
- Fix example core/ht.access file to properly lock down access to the core when used [#12503]
- Fix selecting values on the tag TV input type [#12627]
- Fix the insert element by drag & drop feature remembering properties it shouldn't [#12729]
- Potential improved speed on certain pages thanks to processElementTags optimisation [#12717]
- Fix checking for duplicate URIs when resources are unpublished [#12844]
- Add border for grids
- Change modResource Children to Composite relation [#12279]
- Allow searching by Resource ID in Uberbar [#12783]
- Add modParsedManagerController which can be used for developing CMPs with snippets and chunks [#12555]
- Allow custom redirect method for each action button in action bar
- Fire emptyTrash event after emptying recycle bin [#12673]
- Add anonymous_sessions to allow session-less access for anonymous users [#12616]
- Make the manager a lot more mobile friendly [#12776]
- Fix .icon-coffee class to show a coffee cup, use .icon-coffeescript for the code icon [#12784]
- Update Font Awesome to 4.5 (includes `icon-modx`!) [#12774]
- Make use of the maximum available height when viewing the error log [#12746]
- Improve usability of the tree by limiting click target for editing containers to the name [#12773]
- Add published_resources and unpublished_resources to result of OnResourceAutoPublish event [#12747]
- Improve keyboard navigation and screen reader support on the login screen [#12784]
- Update PHPMailer to 5.2.14: https://github.com/PHPMailer/PHPMailer/releases/tag/v5.2.14 [#12808]
- Update Smarty to 3.1.27: https://github.com/smarty-php/smarty/blob/v3.1.27/change_log.txt [#12807]
- Allow uberbar labels and icons to be set server-side in extended search processors [#12749]
- Add ability to unpack zip files in the file tree / media manager [#12775]
- Ensure setup can continue if date.timezone is not set [#12738]
- Make modPhpThumb class compatible with PHP7 [#12809]

MODX Revolution 2.4.4-pl  (April 5, 2016)
====================================
- Make sure only recipient can mark user messages read/unread [#12944]
- Do not attempt to clean cache_db_handler if cache_db not enabled [#12942]
- Fix broken output filters on undefined placeholders introduced by #12835 [#12906]

MODX Revolution 2.4.3-pl  (February 11, 2016)
====================================
- Various config_check improvements [#12628]
- Fix error embedding images in modPhpMailer [#12645]
- Prevent uncacheable elements from being cached in cacheable elements [#12835]
- Fix the DocBlock comment for leaveGroup() [#12877]
- Fix modX->getUser to force load settings when parameter is passed [#12840]
- Fix issue with parent name not showing when creating a new resource under a parent [#12849]
- Fix system settings pagination issue if default_per_page is > 30 [#12862]
- Remove the 'Installed on' part of the language string.
- Fix getOption call in modUser->getProfilePhoto
- Sets correct responseType in the rest service for multiple packages via a single request [#12669]
- Fix loading rich text editors on non-document resource types [#12632]
- Fix dashboard and dashboard widget save button [#12711]
- Fix failure message in Export processor [#12709]
- Fix tree style for deactivated plugin [#12712]
- Fix fatal error if user not found [#12772]
- Fix warning generated by configcheck dashboard widget if safe_mode or open_basedir is enabled [#12745]
- Include a random hash for core assets being loaded to refresh browser caches [#12700]
- Fix fatal errors in the manager on PHP7 [#12741]
- Fix "Remember Me" on the manager login [#12802]
- Show message after triggering a URI refresh [#12800]

MODX Revolution 2.4.2-pl   (October 6, 2015)
====================================
- Fix emptying property sets on element save [#12580]
- Different tree styles for unpublished + hidemenu [#12699]
- Add patch for ExtJS Drag & Drop issue [#12617]
- Fix initialization of modUserGroupSettingUpdateProcessor processor [#12678]
- Add resource title in Manager Log for edited resources [#12589]
- Update Font-Awesome to 4.4 [#12598]
- Update setup to check the minimum supported PHP version [#12637]
- Add hover effect to tree expand/collapse icon [#12664]
- Fix not rendering output properties of custom TVs [#12635]
- Fix image width and add transparency pattern [#12670]
- Disable trash icon and set proper tooltip after removing resources [#12672]
- Pass 0 as id of default property set instead of "Default" [#12674]

MODX Revolution 2.4.1-pl  (September 23, 2015)
====================================
- Update PHPMailer to v5.2.13
- Make user grid in ACL view consistent with user group view
- Update xPDO to 2.4.1-pl
- Fix dropping elements in template [#12572]
- On policy template update sync policies with policy template [#12654]
- Restore backwards compatibility for addons interacting with modTransportProvider [#12633]

MODX Revolution 2.4.0-pl  (August 18, 2015)
====================================
- Preselect core namespace if it is available in namespace combo box [#12562]
- Fix namespace and policy filter in namespace access grid [#12560]
- Escape Site name in header
- Fix double nocompress option in advanced install

MODX Revolution 2.4.0-rc1  (August 12, 2015)
====================================
- Fix installing package dependencies when there are setup options [#12556]
- Fix potential E_RECOVERABLE (and other) errors in package download [#12543]
- Add missing return statement in the package download processor [#12539]
- Allow comma-separated list of constraints in Form Customization [#11239]
- Prevent firing OnDoc*Form* Events on the Resource Overview page [#11865]
- Automatically select the setup language based on Accept Language headers [#12011]
- Change the modUserProfile.country field to use ISO codes rather than localised country names [#12534]
- Add ability to prefill certain resource values in OnDocFormRender [#12535]
- Allow setup options in packages to execute javascript [#12298]
- Allow pressing enter in text areas [#12524]
- Make sure registered CSS/JS are loaded on deprecated manager controllers [#12529]
- New setting manager_use_fullname will show the fullname of the logged in user, instead of the username [#12527]
- Parse the forgot_login_email message using the parser, to allow lexicons or other tags in the email [#12266]
- Show error message when grid autosave fails
- Disable setup options button when dependencies are not met [#12531]
- Add config check to make sure the core folder is not web accessible [#12504]
- Add ability to search for resources by template in resource/search processor [#12268]
- Add download() method to modFileHandler [#11371]
- Remove unnecessary caching headers from the manager request [#12254]
- Fix logout from manager in case of broken javascript [#12344]
- Fix limited width of TV descriptions [#12494]
- Convert usergroup tree to usergroup tree & grid in ACL page
- Prevent dashboard widgets with no output to be displayed
- Add a reference of executed modPlugin object in modSystemEvent
- Add JSONP support to the modConnectorResponse
- Travis-CI automated test suite
- Enhance config check style & add check for min PHP version
- Log login action
- Log empty trash action
- Prevent displaying packages without a name from package provider
- Fix adding anonymous use group to ACL groups
- Clean "onAjaxException" to remove full HTML document tag to avoid breaking manager
- Target user menu wrapper to change "sub menu direction" instead of targeted IDs
- Implement new use_frozen_parent_uris option to respect frozen parent URIs in generating child URIs
- System Events Manager page
- Anonymous username as System Setting
- Prevent JS error when Media Source is not in the first combo store page
- Add regexp validation into text TV
- Various MySQL performance optimizations via new database indexes
- Fix TV's output properties column name in get properties processor
- Auto suggest setting key in contexts and users settings
- Add namespace permissions
- Added Property Set file and color input field
- Added option to not submit the emptyText of a form field
- Links in description for extras opens in new tabs
- Added ability send to provider information about language
- Fixing cancel button not actually closing the popup window
- a11y enhancements
- Added qtip for tree root nodes & media sources to display their description
- Updated setting groupingConfig options to grid
- Media browser improvements
- Fixed import HTML unicode error
- Added tvLabel output modified
- Added user photo profile field to user panel
- Added system settings to enable customization of the top bar navigation
- Added modMenu.description as tooltip in menu tree
- Added ability to customize media source icons
- Added ability to edit a media source from the files tree
- Added ability to customize context icons
- Added rank parameter to modUser->joinGroup method
- Added rank to categories
- Fixed package browser tree
- Added package dependencies
- Added contentType=string option to modRestCurlClient service [#11279]
- Added realtime resource alias generation [#11799]
- Added saveObject and removeObject methods to create and update processors [#12345]
- Improved error message styling in the manager [#12349]
- Added new option to date TV to hide the time from the users [#12348]

MODX Revolution 2.3.6-dev
====================================
- Unset modx.user.userGroups in leaveGroup [#12410]
- Fix fatal error when the database password contains a quote [#12528]
- Fix several "language string not found" errors [#12546, #12545]
- Add ability to disable on the fly compression to traditional installs [#12486]
- Fix output of [^p^] tag on certain locales [#12514]
- Fix counting rank of dashboard widgets [#12437]
- Prevent XSS in file create/update processors [#12513]
- Fix checking modMenu permissions with the same action value [#12361, #12255]
- Fix missing pagination on category dropdowns [#12469]
- Setup Options window is now bigger and grows as needed [#12297]
- Set request-specific cultureKey option dynamically [#12227]
- Make sure object processors pass a generic $object alongside the $objectType-based variable [#12243]
- Fix issue editing users when extended fields contain multibyte characters [#12484]
- Limit the size of images in Image TVs to 400px [#12498]
- Show MODX version and flavor as tooltip on the MODX logo [#12496]
- Normalize thumbnail size for image TV
- Set default background color for thumbs to WHITE instead of BLACK
- Updated default uploadable file types, including SVG and TIFF [#12526]

MODX Revolution 2.3.5-pl  (June 25, 2015)
====================================
- Fix Account dropdown hover on small screens
- Compile Sass with libsass
- Update npm packages
- Update and Relax bower packages
- Fix D&D resource sort when auto_isfolder setting is enabled

MODX Revolution 2.3.4-pl  (June 23, 2015)
====================================
- Allow access via id or alias when request_method_strict is false
- Fix resource caching in multiple contexts
- Bypass aliasMap for preview urls in manager
- Fix custom theme CSS
- Add Element/Resource name to the Quick update window's title
- Improve drag & drop resource sorting
- Fix row edit in site schedule grid
- Fix float value of input options
- Correct permission for Contexts menu item to "view_context"
- Show the template icons at the template tree section
- Fix saving binary field when creating content type
- Fix edit action for S3 media source
- Prevent using Ext.getCmp() when not needed in resource tree
- Improvement to news and security widget DNS check
- Better modMenu management
- Set media source config in RTE media browser
- Don't count Resources hidden from tree as children
- Hide the "Forgot your login?" link if allow_manager_login_forgot_password is set to false
- Update logo on setup page
- Remove unnecessary DIV from file TV tpl
- Remove unnecessary DIV from image TV tpl
- Remove resource locks correctly based on current user
- Fix tooltip full viewport width
- Update Font Awesome to version 4.3.0
- Update bower to build css correctly

MODX Revolution 2.3.3-pl  (January 29, 2015)
====================================
- Add OnCacheUpdate event to refresh() method
- Check for valid google.com DNS before trying to load feeds
- Fix case of table_prefix and service_class in modX->_loadExtensionPackages()
- Fixed showing RTE in all resource types
- Fixed sorting in MODX browser
- Fixed updating resources from recent resources in user's profile
- Fixed duplicating user
- Unset modx.user.userGroups in joinGroup()
- Use window.location.search to populate MODx.request
- Added option to delete property from Property Set using the UI
- Fixed preserving locked attribute in elements after quick update
- Allow copy&paste system information page
- Fixed urlAbsolute path in media sources
- Fixed column width grid head/content
- Fixed connector's URL when getting media source list
- Make syncsite checkbox a system setting
- Added system setting for automatic/manual switching container property in resources
- Fixed showing lock tree icon for locked resources
- Fixed @INHERIT binding in TVs
- Make FC profiles sortable by template
- Removed limit to getnodes for menu items
- Fixed error message and missed lexicon for create chunk
- Fix timezone problem
- Fix javascript error while revert to default new property
- Hide Duplicate buttons from Resource panel when user don't have permissions
- Fix Password tab visible in edit profile to users without permission
- Remove C:\fakepath\ from filename when importing property sets
- Fix unnecessary scrollbars in windows
- Fix wrong error message for creating new namespace
- Remove limit from modx-combo-category combobox
- Improved generateContext method to be quicker
- Fixed loading theme based styles on login screen
- Fixed selecting the same file to upload again
- Fixed removing plugin from an event via the Update plugin event window
- Fixed autoredirect after creating user
- Fix context settings remove and update from window
- Fixed showing minLength and maxLength value in error msg for text TVs
- Prevent $this->resourceArray['resource_groups'] from being undefined
- Fixed disabling caching of a chunk's output
- Fixed Duplicate resource button visibility
- Updated memberof output filter to return integer
- Fixed setting resource as it's own parent
- Trim setting's key before saving
- Sort plugin events by enabled
- Restore permission for menu help
- Fixed processor path in user panel
- Move refreshURIs() call from clear cache to new menu item Refresh URIs
- Fix uploading packages on Windows

MODX Revolution 2.3.2-pl (October 21, 2014)
====================================
- Fixed issue with S3 buckets containing dots
- Fixes issue with Form Customizations containing multiple constraints on TVs
- Single-Select TVs now retain custom values in the dropdown select options
- Fixed birthdate on 1970/01/01 resulting in false
- Restores horizontal scrolling to the Resource tree [#11949]
- Language simplification for context menu items
- Fixed property set creation which allowed empty 'name'
- Fix for arrow that pointed wrong way in collapse areas
- Fixed rendering TVs to modx-resource-content by Manager customizations
- Fix default category name when creating a new element instead of showing 0
- Fix store load if init combobox value is 0
- Display context name in combo box
- Fixed elements search results icons
- Removed listeners/actions on Media browser data view double click
- Added visual indication in elements trees when an element is edited (active class)
- Removed unused code in Resource Tree Panel
- Enable path style on AWS driver if the bucket's name contains a dot
- More use of 'manager_date_format' in the manager
- Use FontAwesome checkbox icons instead of sprite images
- Made MODx.combo.Browser Media Source defaulting to the defined default Media source instead of hard coded id "1"
- Replace security/forms/set/export processor with a class based one and fix
- Fixed issue where batch removing access policies was only allowed for "core" policies (instead of preventing deletion for core policies)
- Updated alias length to 255 in ExtJS
- Fix superbox selects in toolbars
- Prevent combobox lists being taller than the screen, mainly from windows
- Fix MODx.Ajax.request ot handle multiple concurrent requests
- Fix loading default manager controller without changing the manager theme when the manager theme does not include the requested controller
- Fix encoded htmlspecialchars in resource overview > cache output tab
- Fix creation of folders in S3 media source root
- Disable keyboard shortcut to focus the search bar
- Updated "far" parameter to "C" (to provide correct thumbnails aspect ratio) in modfilemediasource
- When using resource_tree_node_tooltip system setting, make sure the given field is not empty before displaying the quick tip
- Updated welcome url for 2.3
- User / User Group Settings update and delete fix
- Fixed modx_user_group_settings table on SQLServer
- Make sure modContext config is "prepared" before using makeUrl()
- Have [[++server_port]] report the port number
- Consider dev version lower than alpha
- Handles "site preview" when default_context is not "web" context or when manager is on its own (sub)domain
- Fixes missing Permissions tabs for anonymous User Group
- Updated modPHPMailer to use getService instead of creating new instance of modError
- Refresh context's name in tree after changing it
- Use modx_browser_default_sort setting for sorting in RTE browser
- Fix front-end user group comparison bug when assigning new user groups [#11399]
- Prevent XSS via GET param for manager controller action [#11966]
- Fix CRC icons in tree
- Refresh/expand appropriate tree node when creating a resource using "quick create"
- Limit property set name/description length
- Added ability to update a namespace within a window
- Use lexicon strings instead of hard coded ones in manager login form
- Display an error when updating a user from grid with duplicate email address
- Create new instance of console on every action with package manager
- Reset addresses list on failure send
- Fixed superboxselect close button in Safari
- Fixed typo forcing empty calls to modError::addError() for all sent emails
- Fixed issue with tree node "jump" on expand/collapse
- Added some client side validation when creating a new user group
- Fixed mimetype issue on s3 Media Source
- Do not display setting modification date if no modification has been done [#11762]
- Moved user groups access tabs within a single permissions tab [#11769]
- Make use of FontAwesome for files icons [#11851]
- Fixed issue where required field was not highlighted [#11826]
- Updated NodeJS dependencies [#11827]
- Removed limit on Media Sources in the tree panel [#11834]
- File and directory sorting improvements, more natural and consistent [#10286]
- Accessibility improvements for new checkbox / radios [#11772]

MODX Revolution 2.3.1-pl (July 22, 2014)
====================================
- Make Gravatar optional (enabled by default)
- Update logos, login and help view
- Update base_help_url to be protocol relative
- Fix login after a session expired [#11763]
- Fix manager menus for sqlsrv driver [#11677]
- Refactor validation of a connector being included [#11738]
- Updated RSS security feed to be Revo specific [#9440]
- Do not output modScript include result w/o explicit string return [#11705]
- Move OnInitCulture event to parser service [#10366]
- Fix password reset feature [#11725]
- Adjust appearance of saving window for new design
- Fix labels / TVs in custom FC tabs [#11758]
- Fix hover-preview thumbnail border width in Files tree
- Fix long category name overflow in vertical tabs [#11728]
- Enable usernav menus for mobile devices
- Update phpthumb release to v1.7.13 [#11742]
- Fix pagination in Topic combobox [#11713]
- Simplify Gravatar profile image fallback [#11716]
- Correct duplicate method declarations in phpthumb class [#11700]

MODX Revolution 2.3.0-pl (July 15, 2014)
====================================
- Respect automatic_alias regardless of friendly_urls
- Prevent use of GET vars in login controller/processor
- Restrict returnUrl in login processor to url of login context
- Added drag/drop reordering of template variables on the templates TV grid [#11560]
- Added ability to use conditional custom output modifiers [#11610]
- Updated MagpieRSS Snoopy to 2.0.0
- Add strftime as alias for date output filter [#11550]
- Validate and sanitize _ctx placeholder used by ResourceManagerController
- Fixed incorrect sorting by rank in TV grid on template create/update screen
- Remove references to deprecated modX::getMicroTime()
- Fix parent ResourceGroup inheritance on create
- Preserve order of selected values in multiselect
- Updated PHPMailer to v5.2.8
- Updated phpThumb to 1.7.12-pre (current GitHub status)
- Added resource_tree_node_name_fallback system setting
- [#11297] Allow passing options to modRestCurlClient
- Ease reuse of media sources panel
- [#9245] Fix context menu position on custom resources that define a certain menu
- Added OnResourceAutoPublish system event
- Fix incorrect sorting by rank in TV grid on template create/update screen
- Fixed Categories with a sub-category would always be shown in an Element's tree even if it didn't contain any elements of that type
- Fix media source directive in TV when accessed from another context
- List only user related resources in recently edited resources widget
- Fixed colors/states not changing on subsequent database connection attempts in installer
- Make ddGroups unique for resource, element and file tree
- Fixed collapsing tree after quick creating an element
- Add back Legacy modX.getFullTableName() method
- Make OnFileManagerBeforeUpload event selectable
- Added ability to define a default package provider via default_provider setting
- Return nothing when toPlaceholder output filter is used
- Added replace closing php tag for inline php dashboard widget
- Fix to tv,chunk,snippet name validator per scottboryses observation
- New manager theme
- Move fax field near other telephone related fields
- Option to disable CSS/JS compression during setup
- Changed extension of JSON content type from .js to .json
- Added modResource.isMember and modResource.getResourceGroupNames methods
- Replaced uploaddialog with more modern multiuploaddialog
- Added Other gender
- Fixed events called in modResourceGroupCreateProcessor
- Added dedicated page with media manager
- Add icon/markup to modMenu items, allow new entries for topmenu and usermenu
- An instance of modError added to modMail
- Make sure connector responses return application/json content type
- Removed hard coded "index.php" in manager assets
- Preselect media source in static elements browser
- Added ability to refresh a media source (tree)
- Prevent duplication in context root if new_document_in_root != true
- Sanitize filename when editing a file
- Adds validateOldPassword flag to optionally skip passwordMatches() call
- Make preview possible if session_enabled = 0
- Improved widget of active users
- Calling modUser->joinGroup sets rank to count(UserGroupMembers) instead of to 0
- Call getNodesFormatted with parent property in modResourceSortProcessor
- Hide back button during installation
- Fixed regex for element names
- Added system settings to change default action
- Check for "theme_path/js/layout.js" before trying to load it
- Clean modx->user on context init
- Added shift modifier to tree click, that will open resource in a new window
- Removing duplicate windows
- Updated context setting's update window to appear as a create window
- Load setting topic to allow 3PC components to use it for system setting translations
- Allow filtering of namespace by request on lexicon page
- Add proper validation for modSession id
- Updated phpmailer class to 5.2.7
- Fallback http_host to prevent cache issues under HTTP/1.0
- Added ctx option to isloggedin/isnotloggedin output filters
- Ensure opcache.revalidate_freq is set to 0 during setup
- Clear menus cache on actions with menu
- [#11123] Added "success":true to modProcessor response
- [#11182] Fix issue where grid stores loaded only 20 records by default when pagination were disabled
- [#828] handlePreview is called only if the deleted value changed
- Update xPDO for additional SQL injection protection
- [#11186][#11176][#9880][#2896][#5850] Disabled dirty check on save button in Resource's panel
- Validate context key provided to modX::initialize()
- [#11170] Added pdf to content type
- [#675] Add upload functionality directly to package manager grid
- [#703] Added OnElementNotFound system event
- [#11149] Make sure hitting the close button does not trigger double prevent navigation warnings
- Add refreshURIs call as part of clearing the site cache
- Update parent field in Resource panel after drag and drop current resource
- Check if template exissts before using it's icon in getNodes processor
- Prevent content duplication when using [css|js|html]To[Head|Bottom]
- [#11099] Removed C:\fakepath\ from filename during uploads
- Fix path issue with phpthumb after 1.7.11-beta update
- Prevent redirect of base_url when query string exists
- Enable Template-based icons in Resource tree
- Increase message_limit for ExtJS HttpStateProvider
- Fix lexicon getList processor
- Improve Confirm Navigation feature and make configurable
- Confirm navigation when unsaved changes exist in resource panel
- Fix deprecated returnValue to prevent confirm navigation alert
- Fix xPDO->parseBindings bug triggering modDbRegisterMessage errors
- Prevent processor property overwriting in modX::runProcessor()
- Add open in new window action to middle mouse button click in trees
- Preserve value types in modSystemEvent::output()
- Prevent removal of user groups after validation fails
- Remove extra dot in filename for Content Disposition attachment
- Fix unescaped backslash in file and image TV
- Remove cache clearing logic from system setting model
- Update phpthumb to 1.7.11-beta to close security vulnerability
- Add options and context filtering to modX::getTree()
- Auto-resize modal window height to fit browser height
- Add modSoftRemoveProcessor for marking records deleted
- Ensure property not set when creating new property in Property Set
- Implement auto-save on Content Types grid
- Support PHP use statements in Snippets and Plugins
- Add in/inarray conditional output filter
- Add preg_quote to friendly_alias_word_delimiters characters
- Do not prepend base_url when baseUrlRelative in modFileMediaSource
- Add filterPathSegment() methods to modX and modResource
- Remove check for children on Categories in Elements Tree
- Allow Categories to have same name with different parents
- Add case-insensitive contains/containsnot conditional output filters
- Add modResource::clearCache() to clear cache for single Resource
- Remove all dependency on mysql extension (deprecated in PHP >= 5.5)
- Add extended field support and more to userinfo filter
- [#9484] Add UserGroup Settings
- [#10135] Fix output from multiple plugins OnSiteSettingsRender
- Make path param optional in modFileMediaSource::getBases()
- Clear register before calling clear cache
- Add clear flag to modRequest::registerLogging()
- Add modRegister::clear() method
- Show custom xPDO class names in Manager Log
- Fix context setting overrides in modX::_initContext()
- Fix MODx.Console.onComplete when provider not set
- Fix notice when resource not set in modX::sendForward()
- [#9841] Add access to resource OnLoadWebPageCache
- [#9072] Set upload_maxsize to php upload_max_filesize value on install
- [#10146] Add embedded image support to modMail
- [#9133] Fix various issues with Number TV
- Fix visibility of Quick Edit independent of allowChildrenResources
- [#8453] Add several File Management system events
- [#7866] Add columns option to Checkbox TV
- Add OnMODXInit event in modX::initialize()
- Add name field to Contexts
- Add preserve menuindex/alias options to Duplicate Context
- Allow Namespace-based loading of custom TV files
- Deprecate usage of modAction objects in favor of modNamespace base controller path

MODX Revolution 2.2.10-pl (October 7, 2013)
====================================
- Increase modTransportPackage version columns range to smallint
- [#10211] Fix parser state bug triggered by media sources
- Fix loading modResource derivatives in class_key dropdown
- [#9973] Prevent extended user classes being set to modUser
- Upgrade xPDO to 2.2.9-pl
- [#10182] Improve sanitization of processor_err_nf response

MODX Revolution 2.2.9-pl (August 28, 2013)
====================================
- Avoid critical error when resource tree not initialized
- Avoid suppressed warnings with ob_get_level()
- Upgrade xPDO to 2.2.8-pl
- [#10043] Fix class-loading LFI in registerLogging
- [#6937] Fix Persistent/Reflected XSS in User Messaging
- Set default error_handler_types to error_reporting()
- Upgrade to ExtJS 3.4.1.1 and add ExtJS debug support
- [#9976] Fix cross-context symlink caching
- [#10093] Add create/update methods to S3 Media Sources
- [#9902] Added error window when package download fails
- [#10070] fix potential SQL injection vulnerability in modImport
- [#9843] Added lang_topics field to create and update action window
- [#10094] Defaults overwriting properties in ResourceCreateProcessor
- [#10007] Fix parser logic when processing elements via API
- [#10087] Avoid stat warnings with missing static sources
- [#9809] Remove empty ULs in topmenu
- [#7569] Add bottom border to collapsed panels
- [#146] Also fire field change event on change event
- Fix contextsAffected in resource/sort processor
- [#9815] Improved manager redraw on browser resize
- Fix clearcache timing issue with MODx.Console
- Prevent accumulation of MODx.Console onMessage callbacks
- Prevent session write errors from phpthumb cache
- [#9964] Fix Import HTML to use context of parent
- [#9916] Add TABLE to TRUNCATE command in flushSessions (SQLSRV)
- [#9527] Fix password reset by user email
- Fix login processor to use absolute url redirects for mgr
- [#9826] Fix errant creation of Policy Templates

MODX Revolution 2.2.8-pl (June 4, 2013)
====================================
- Prevent empty HTTP_MODAUTH from succeeding
- [#9450] Prevent non-existent Context initialization
- [#9896] Improve performance of modTemplateVar::getRenderDirectories()
- [#9859] Prevent conditional output filter recursion
- [#6138] Handle offline errors in RSS feeds
- Refresh file tree after removing file
- [#9946] Do not cache modResource::$_isForward
- Force browser to root on Media Source change
- Refresh file tree after root upload
- Fix remove file from root if no folder selected
- [#8877] Fix inline grid datefield icon
- [#6945] Fix datefield icon in grid toolbars
- [#9825] Revert width increase of file and image TVs
- [#9901] Fix empty resourceMap in sqlsrv
- [#9912] Fix length of modResource.uri index
- [#9846] Fix incorrect parameter order passed to findResource
- [#9814] Fix empty cross-context links using link tags

MODX Revolution 2.2.7-pl (April 9, 2013)
====================================
- [#9634] Fix notices in system/settings/update processor
- [#9768] Fix array merge in xPDOObject::getMany()
- [#9773] Fix classKey errors viewing manager actions
- [#9774] Prevent resource/unpublish on site_start
- [#8312] Allow sorting users by blocked status
- [#1] Allow Element duplication when editing
- [#9237] Return object from ContextSetting create/update
- [#8327] Don't close context menu on click
- [#8980] Fix lexicon when updating user password
- [#9258] List languages and topics alphabetically
- [#9152] Use default_context for New Resource toolbar actions
- [#8138] Fix Combo Settings not saving from update dialog
- [#9571] Fix template/update always refreshing cache
- [#9093] Make collapsed tree panel tab more visible
- [#8859] Add button to refresh error log
- [#9772] Fix deprecated value for CURLOPT_SSL_VERIFYHOST
- [#9728] Fix empty create Dashboard Widget tab
- [#9734] Fix save button state on Content Types grid
- Fix resizing of error log textarea
- [#9287] Enable save button when switching templates
- [#9132] Refresh cache when enabling/disabling plugin
- [#9690] Fix various issues with server_offset_time
- [#9738] Prevent working context overriding user settings
- Fix error getting MediaSource table classes on cached Resources
- [#9368][#9437] Fix modProcessorResponse->isError()
- [#9681] Allow country/getlist processor to work more than once
- Fix Auto-Tag TV value sorting
- Make caching the aliasMap optional to reduce memory usage
- [#9672] Fix invalid ini_get call in modDbRegister
- [#8489] Add compound index to modTemplateVarResource
- [#9592] Iterate all inherited parent FC rules
- Replace location redirects with MODx.loadPage proxy
- Add MODx.beforeLoadPage event to modExt components
- [#9143] Fix destructors in modExt components
- Allow loading of modExt files asynchronously
- [#9359] Report errors about unpublishing site_start to user
- [#9197] Load RTE for SymLinks in manager
- [#9364] Allow Unicode chars via modX::sanitizeString()
- [#9631] Fix image preview with special chars in filename
- [#9608] Remove connections data from MODx.config
- Fix invalid ini boolean evaluation in config_check processor
- Allow modX::getParser() to get an extended modParser instance
- [#9524] Fix invalid context assignment in modX::switchContext()
- [#9517] modPackageGetAttributeProcessor returning wrong PACKAGE_ACTION
- [#9451] Add modx-combo-source as settings type
- [#5515] MODx.Browser UX improvements
- Increase width of file and image TVs
- [#9282] Fix Minify errors when manager on different subdomain
- Various Manager UI Fixes
- [#6150] Fix issues with auto_publish when encountering invalid data
- [#8936] Fix modTemplateVarRender::_loadLexiconTopics()
- [#9257] Fix workspace/lexicon/getlist strict notice in PHP 5.4+
- [#9339] Use Resource context_key in update processor when not specified
- [#9212] Fix SQL syntax error in modTemplateVar->findPolicy()
- [#9239] Make sure class_key is passed when switching templates
- [#8101] Add support for httpOnly session cookies in PHP 5.2+
- [#8420] Provide multi-node support to flock-independent file locking
- [#8420] Remove LOCK_EX from flock-independent file locking method

MODX Revolution 2.2.6-pl (December 3, 2012)
====================================
- [#9178] Use PHP time for valid check in modDbRegisterMessage::getValidMessages()
- [#9165] Fix modError::hasError false positives when loaded via getService
- [#9029] Remove modRequest->loadErrorHandler dependency in runProcessor
- [#9156] Fix reload data for rendering multi-value TV types properly
- [#7916] Fix Area functionality in Element Properties and Property Sets
- [#9097] Fix leftbar tree toolbar resizing issues
- Image optimization applied across distribution
- [#9006] Fix ImageMagick which convert issue (PHP 5.3.2+)
- [#9069] Remove math output filter
- [#9080] Fix modX::stripTags() bug allowing script execution vulnerability
- [#9007] Prevent MODx.Browser closing window when manager loaded in a new tab
- [#8928] Error saving Resource with access-restricted TemplateVars
- [#8978] Fix issue where change template was not fired due to onsave check overriding listener
- [#9026] Prevent new Content Types from having binary checked

MODX Revolution 2.2.5-pl (October 2, 2012)
====================================
- [#8753] Fix variable name in security/user/removemultiple processor
- [#7654] Fix Update processor for ResourceGroup-restricted TVs
- [#8196] Enable save button when combo selections are made
- [#8186] Apply FC rules to Resources when changing Template
- [#8790] Add ability to hide changed password in Update Profile
- [#7551] Ensure static element path is not existing directory
- [#7631] Fix duplicate beforeSave() in modObjectCreateProcessor::process()
- [#8754] Change elementType to objectType in various processors
- [#4430] Return 404 error if static resource target is invalid
- [#8767] Fix MODx.panel.Resource to inherit config.url
- [#8545] Add ability to localize ExtJS pre-loading message
- [#8089] Fix ability to disable drag/drop in Resource tree
- [#7661] Prevent changing template from unsetting Empty Cache
- [#8620] Enable type-ahead on User and Country combos
- [#8529] Prevent empty multi-value TVs from saving as '||'
- [#8018] Fix file creation/editing on non-default Media Source
- [#8556] Ensure regClient functions inject only once
- CSS Style fixes for IE 9 (8, 7)
- [#8560] Fix Context Admin ACL automation and use Context Policy
- [#8432] Package Browser tree not reloading on Provider change
- [#8482] RTE Output Option for TVs does not render on frontend
- Add Quick Create/Update File feature in Files tab
- [#6522] Retain page in Package Manager after install/upgrade
- [#7630] Save modUserGroupMember rank upon creation
- [#8420] Provide flock-independent file locking to avoid cache corruption
- [#7498] Fix Media Source error reporting for file uploads
- [#8299] Clear action_map (and menus) in system/action create/update processors
- [#8168] Fix JS error when compress_js=Off and compress_js_groups=On
- [#8341] Allow Resource data pages to be extended by CRCs
- [#6695] Close sessions before min scripts terminate
- [#6918] Fix importing access policy items always being checked
- [#8329] Fix syncsite checkbox being unchecked by default on resource/create
- [#8296] Fix function passed by reference in ellipsis output filter
- Allow numeric value in modWebLink to redirect to Resource by id
- [#7763] Fix additional Media Source path issues with static elements
- [#8208] Fix modDbRegister->read() with include_keys option
- Fix PropertySet switching from Element create/update controllers
- [#7392] Get correct modMediaSource derivative in modParser->getElement()

MODX Revolution 2.2.4-pl (June 14, 2012)
====================================
- [#8105], [#8051] Fix modFileHandler::sanitizePath() infinite recursion

MODX Revolution 2.2.3-pl (June 13, 2012)
====================================
- Add setting to be able to set default context for new Resources
- Pass http_host in provider requests
- [#7933] Add friendly_urls_strict to optionally enable non-canonical redirects
- [#6428] Fix help tooltip for new namespace window
- [#8054] Fix transport provider verify processor consistency
- [#8051] Added extra sanitization for modFileHandler.sanitizePath
- [#7925] Fix error editing Resources in multi-context sites
- [#8052] Fix empty()/isset() on hydrated fields/related objects
- [#7798] Avoid E_NOTICE in PHP 5.4 from array_diff_assoc in xPDO::loadClass()
- [#7796] Fix issue with phpthumb calling non-static methods statically
- [#7764] Compress and default to open Resource Group access wizard in window
- [#7762] Fix issue with add/decr output filter not adding 0 if 0 is passed
- [#7793] Fix issue with saving a new media source access on user group edit screen
- [#7712] Fix Resource quick update showing 2 checkboxes

MODX Revolution 2.2.2-pl (May 2, 2012)
====================================
- Preserve GET parameters for container_suffix redirects
- Allow custom FURLs via URL rewriting again
- [#7427] Fix request_method_strict with FURLs off
- Add ability to extend manager session by relogging in without leaving manager screen
- Add better handling for AJAX exceptions, displaying AJAX errors
- [#7649] Prevent E_NOTICE when using ago filter within <1sec difference
- [#7568] Add JSON to default content types
- [#7549] Open new window for phpinfo in system info page
- [#7531] Add manager setting for first day of week in datepicker
- Flip page title on manager pages for easier readability in browser tabs
- [#7543] Add extra sanity checks for ellipsis output filter
- CLI upgrades not loading MODX config data
- [#7652] Sessionless contexts allowing anonymous access to unpublished resources
- [#7610] User.sudo field invalid for sqlsrv
- [#7619] Fix issue with TV FC rules and template constraints
- [#7613] Add ability to duplicate user
- [#7590] Fix lazy loading errors in xPDO layer
- [#7608] Prevent ttl=0 set on modDbRegister from expiring immediately
- Add wizard for User Group creation to speed up ACL workflow
- Add Context policy for proper managing of access to non-mgr Contexts
- Add wizard for Resource Group creation to speed up ACL workflow

MODX Revolution 2.2.1-pl (April 3, 2012)
====================================
- Override modAccess->getOne for Principal aggregate
- Add GroupPrincpal/UserPrincipal aggregates to modAccess
- [#7387] Add New Category button to Element tree toolbar
- [#7518] Fix issue that prevented absolute URLs in media-source bound TVs
- [#7521] Allow filtering of usergroup by request on users page
- Add assets_path field to modNamespace
- [#7447] Change default root node name of Files tab to "Media" to prevent confusion when a non-default source is selected
- Drop no-longer used, deprecated modAction.parent field
- [#7503] Change Duplicate Values text to Duplicate Resource Values to clear up intended behavior
- [#7499] Fix DOM ID issues with Quick Update when multiple windows are loaded
- [#7500] Make consistent positioning of published checkbox in quick update and normal edit page
- [#7491] Prevent Media Source dropdown from showing in MODx.Browser when loaded from a TV
- [#6894] Move Import button on Access Policy and Access Policy Template grids to top toolbar
- [#7391] Fix UI error causing resource group checkboxes on TV edit page to not render correctly
- [#7481] Fix issue with reloading resource when changing templates and the context alias cache
- Add "sudo" user attribute, which bypasses access permissions for said user; upgrade to 2.2.1 makes Super Users in Administrator group sudo users
- [#7445] Fix issues with TVs not respecting Resource Groups limiting access
- [#7446] Added extra checks to protect against parse errors with :then and :else output filters
- [#7455] Fallback to TV name if caption not found when displaying TV inputs
- [#7456] Fix for minify not modified status in fastcgi environments
- [#6931] Workaround for template changing issue on servers that have misconfigured date_timzeone setting
- [#6687] Fix duplicated OK buttons in MODx.Console in certain situations
- [#6501] Fix SuperBoxSelect selections spanning multiple rows
- [#6496] Fix quick edit modal windows for elements on smaller screens.
- [#6864] Fix rare issue where primary group is not set for user, and custom dashboard for their group does not propagate
- [#7011] Prevent infinite recursion error in modElement::isStaticSourceMutable
- [#7333] Prevent error when id is undefined in resource edit controller
- [#7364] Add setting to set default sort field of MODx.Browser view
- [#7363] Check for this.stateful in MODx.tree.Tree::_saveState
- Add missing index to modSession.access
- [#7357] Prevent viewing of Profile if user does not have change_profile permission
- [#7322] Fix issue where certain regions were not able to be hid via FC; clarified FC set labels
- [#7362] Fix issue with conflicting FC Sets when User belongs to more than one User Group with a Set
- Update to xPDO 2.2.3-pl
- Prevent fatal error if invalid class_key is passed to Resource edit/create page
- [#7052] Prevent username/host/dbname from being set as a system setting placeholder
- [#3860] Fix session issue with modUser joinGroup/leaveGroup methods
- [#7315] Standardize default sorting for User Group access grids
- Fixed ellipsis filter to not cut off html tags in property
- [#7326] Fix inability to unset a TV's Input Option Values field
- [#7306] Sanity check for reload data for resource groups when changing template of new resource
- [#7279] Handle edge case where processor classes might already be loaded with CRCs causing issues with runProcessor
- Add dashboard name to dashboard title
- [#3818] Add UI/processing to set response code for weblinks
- [#7061] Prevent Static Element access to the core/config/ directory
- [#7088] Tweak column widths for settings grids
- [#7102] Improve memory_limit checks to properly check for values that are not formatted to PHP standards
- [#7191] Fix invalid api doc link in link_tag_scheme description
- [#7194] Fix issue where save button did not enable when reordering groups on user edit screen
- [#3818] Change modWebLink default responseCode to 301
- [#6611] Fix issue where MODx.Browser did not sort files by name by default
- [#7070] Do not overwrite user changes in default media sources during upgrade process
- [#7066] Allow search locally in Package Management if cURL is not installed
- [#7063] Fix issue with retreiving Element Media Source cache data
- [#7036] Fix issue with multiple grid store loading when searching
- Allow for non-PHP Dashboard File Widgets that are just HTML files
- [#6711] Fix issue with using MODx.Browser with file nodes and clicking loading edit page
- [#6936] Add sanity check for database tables getlist processor if user did not grant SHOW TABLES permissions for sql
- [#6942] Add missing resource duplicate ACL permission description lexicon string
- [#6970] Reload error log page after clearing too large error log file
- [#6956] Fix wrong groupname for OnMediaSourceDuplicate plugin event
- [#7013] Fix issue where modUser->getUserGroupNames was buggy with non-self users
- [#6960] Fix rendering issue when tree_root_id is set
- [#7031] Ensure setting from addr in modMail sets return-path as well
- [#7010] Add in rootId config option for MODx.Browser mgr widget
- [#6874] Fix issue where duplicating a TV did not copy Media Source relationships correctly
- [#6582] Fix clear cache checkbox persistence in Resource page when reloading via Template change
- Add modX::getInstance() factory method
- Allow for MODX tags within Media Source properties
- [#5410] Add lock_ttl to System Settings for controlling ttl for resource locks
- [#6575] Ensure that downloads of packages work behind proxies if allow_url_fopen is on
- [#4879] Add language selector to login page
- [#6826] Add activate/deactivate to context menu for Plugins in tree
- [#6509] Fix minify issue in windows environments due to doc root pathing
- Fix CSS for active tabs in mgr in IE
- Prevent ENTER key from firing save in textareas in various modals
- [#6712] Fix issue with Resource Group tree being limited to 10 groups
- Bypass modSystemSetting->clearCache() when OPT_SETUP is true
- Allow display of custom messages from form processors
- Fix issue with extra slashes in URIs
- Add ability to reload permissions for all authenticated users
- [#6651] Add properties field and API methods for modResource
- [#6613] Ensure page redirects if removing Element via tree that is currently being edited
- [#6608] Fix search text in package management when doing empty search
- [#6633] Ensure change password fieldset checkbox toggles dirty status for user form
- [#6567] Fix Suhosin check to disable compress_js setting
- [#6587] Fix issue with combobox rendering in editable grids by providing combocolumn xtype for proper data rendering
- [#6583] Fix duplicate upload_files values
- Prevent editing and deleting of core standard Roles

MODX Revolution 2.2.0-pl2 (January 4, 2012)
====================================
- [#6564] Fix issue where save button on New Resource does not work due to JS DOM error
- [#6470] Fix issue where Media Sources could not be protected on new installs only

MODX Revolution 2.2.0-pl (January 4, 2012)
====================================
- [#6559] Fix issue with save btn on resources not enabling after template change
- Better handling of dynamic lexicon topic adding and deprecated manager controllers
- [#5905] Refactor new package versions to run ACTION_UPGRADE
- [#6120] Improve static element behavior with immutable sources
- [#6551] Fix issue where ID instead of name of Template showed on resource combo
- [#6509] Fix minify issue when DOCUMENT_ROOT is a symlink
- [#6546] Reposition setting grid filter dropdowns to clarify behavior
- [#4146] Fix issue where Content Types were always binary when created
- [#6470] Fix issue where Media Sources could not be protected due to missing reference in principal_targets setting
- [#6520] Fix issue with Quick Create Resource and default settings
- [#6510] Fix minify issue with virtual dirs inside the document root
- [#5229] Fix issue where changing parent did not reload Resource edit page
- [#6513] Better handling for large error.log files in mgr
- [#6519] Ensure JS config gets working context config
- [#6507] Add missing Media Source plugin events
- [#6505] Remove htmlentities on date output filter
- Allow PDO driver options to be defined in MODX config
- [#6383] Add index.php to minify paths in mgr templates

MODX Revolution 2.2.0-rc-3 (December 22, 2011)
====================================
- [#6247] Fix additional minify issues with CMP controllers in MODX_ASSETS_PATH
- [#6428] Fix improperly designated tooltip and UI for create namespace window
- Fix various regression issues with rename/delete files/directories in the Files tree
- Ensure hideFiles property works for the files tree
- [#6383] Add index.php to minify paths
- Prevent TVs tab from showing in Resources if the only TVs are of type "hidden"
- [#6413] Fix missing date_timezone setting description
- [#6297] Prevent invalid characters in property set names
- [#5997] Fix issue where components dirs were being created in assets with non-standard assets directory paths
- Fix issue where resource ID was not being passed to FC rule checks
- [#6417] Fix issue with modResource class_key being incorrectly set
- Adjust modResponse contentType loading to allow overriding in custom resource classes
- Fix critical timezone issue introduced for [#6077]

MODX Revolution 2.2.0-rc-2 (December 16, 2011)
====================================
- [#3033] Add method to reload Context data in same request
- [#6372] Add explicit resource_duplicate permission for duplicating a resource
- [#6364] Fix incorrect lexicon reference in package versions grid
- [#6365] Add manager_login_url_alternate setting which allows for setting a custom manager login URL
- [#6077] Override PHP default timezone via System/Context Settings
- [#5709] Fix issue where drag/drop in left trees did not work when package management was open
- [#6153] Prevent enter key from sending Message when typing in messages page
- [#6349] Properties can now belong to areas, and are grouped in grid by area
- [#6344] Fix various pathing issues when drag/dropping files into content
- [#5941] Add anonymous Load Only ACL when creating contexts
- [#6247] Fix minify issues outside of $_SERVER['DOCUMENT_ROOT']
- Improve skipFiles attribute for file media sources to allow MODX tags and hiding directories
- [#6336] Fix error when updating property via window in media source properties grid
- Fix various issues with permissions and ACLs on Media Sources
- [#6306] Fix issue with close button always prompting changes made when changes may not have been made
- [#6317] Fix issue with combo editor rendering in grids
- [#6307] Save button now properly resets to disabled after save
- [#6313] Fix issue with renaming content field label on derivative resource types
- [#6084] Fix upgrade from 2.0.x releases
- Add OnManagerPageBeforeRender and OnManagerPageAfterRender events
- [#6207] Prevent overwriting static element file content when changing a static source
- [#6255] Escape html tags in readme, license and changelog files for downloaded Packages
- [#6096] Fix more issues with Resource reloading after changing a template by making the Resource Access grid local
- [#5418] Add ability to export/import Access Policies
- Add ability to import/export Policy Templates, as well as a base export/import processor class
- [#6242] Actions on regular Resources break with Custom Resource Class extended fields
- [#6096] Fix issue where reload token in Resource create would not allow save after validation
- [#6238] Fix rendering issue when opening multiple quick create resource windows at once
- Fix various issues with TV input and output renders by properly objectifying them into base abstract classes
- [#5763] Allow for 3rd-level deep category nesting
- [#6215] Fix issues with derivative resources and non-standard manager themes
- [#6237] Add ability to sort users by active status in mgr grid
- [#6197] Refresh old and new context caches when moving Resource
- Update to xPDO 2.2.1-pl
- [#6080] Fix revert to default properties on Source Properties grid
- [#6204] Fix issue where multiple languages could not be loaded per page in the lexicon
- [#6196] Ensure that MODx.Browser view updates when changing a media source from dropdown in tree
- [#6198] Fix issue with saving user groups on a new user that caused duplicate role saving
- [#6159] Implement OnBeforeUserActivate, OnUserActivate, OnBeforeUserDeactivate, and OnUserDeactivate events
- [#6063] Add extra settings and checks to allow for better handling of manager CSS/JS minification on servers that do not allow DOCUMENT_ROOT access
- [#6147] Fix element processors not firing proper events and passing wrong variables to plugins.
- [#6060] Fix issue where resources were getting class_key of modResource rather than modDocument
- [#6030] Fix issue where alt attribute was duplicated on image output renders
- [#6122] Clarify text for removing a dashboard widget from a dashboard
- [#6124] Fix issue where element associations of various elements were not saved in respective create processors
- [#6145] Allow sorting of plugin events by enabled flag
- [#6065] Fix issue with missing paths in certain environments for new installs in setup
- Fix provider select window width in Chrome/Windows
- [#6081] Fix issue in modFileMediaSource that prevented source properties from being read in certain processors
- [#5141] Remove dependency for navbar.tpl in manager templates
- [#5760] Fix memberof filter if user is not logged in
- [#6090] Fix issue with removing Content Types in 2.2-rc1
- [#6088] Fix issue with :date output filter and umlauts
- [#6093] Make for easier translations of Element context menu items
- [#6099] Fix incorrect index name for modWorkspace

MODX Revolution 2.2.0-rc-1 (November 17, 2011)
====================================
- [#6019] Configure log_level, log_target, and debug via Settings
- [#4798] Resource create/edit: Template can be switched without saving
- Update to xPDO 2.2.0-pl
- [#6039] Fix issue where Resources could be improperly dropped into the right tree in the Resource Groups screen
- [#5715] Fix issue with resetting of header in Element panels
- [#6025] Fix issue with renaming checkbox fields via Form Customization
- [#5697] Fix issue with allow_multiple_emails in user creation
- [#121] Add option for Elements to pre-process default property/property set values
- [#6017],[#2774] Add more Permissions to Administrator policy for managing security functions
- [#5064] Fix issue where access_permissions Permission was required for creating new users
- Improve Package Management UI
- Add modManagerController::addLexiconTopic for easier adding of lexicon topics dynamically within mgr controllers and dashboard widgets
- [#6009] Add ability to hide left-hand trees when rendering a Dashboard
- [#6007] Stop upgrade from overwriting session_cookie_path system setting
- [#5998] Add "Create File" option for stream-based media sources
- [#4794] Add custom Permissions for restricting creation of core derivative Resource Types
- [#4958] Add Resource ID to node of Resource in Resource Groups tree
- [#5434] Change manager page title to use site_name as prefix instead of MODX
- [#4875] Add ability to download file from Files tree
- [#5997] Fix issue where in advanced installs with moved web path, assets directory is improperly created
- [#5990] Fix issue where content types were not listable in Resource dropdowns
- [#232] Enable option to render target URL for WebLinks
- [#5963] Fix issue with Static Elements and their Source being None
- [#5936] Fix issue where Quick Update Resource was too high on smaller screens
- Fix issue with phpThumb and zoom crop
- [#5983] Fix adding/updating a provider window duplicating "username" field.[#5948] Ensure that menu item for Change Profile is added on build
- [#5985] Fix updating a provider not showing username
- [#5978] [ReUp] [#5978] Fix missing fields/tabs in actions XML causing issues with form customization on resource/create
- [#5938] Optimize modResource->getTVValue() using parser source cache when available
- [#5973] Prevent empty user groups being loaded for anonymous users
- [#5962] Fix phptype in modContextResource.resource field definition
- [#5050], [#5366], [#5781] Various xPDO Database Caching Fixes (xPDO 2.2.0-rc2)
- [#4830] Prevent removal of Content Types that are in use
- [#5293] Prevent drag/drop from Resource Group tree to Resource tree in Resource Group page
- [#4433] Validate paths in setup for trailing slash
- [#564], [#4506] Make Workspace path portable by allowing path setting replacements
- [#5086] Fix issues with Package Management when open_basedir is in effect
- [#4947] Adjust ensuring of admin access to context to only needed policies
- [#5078] Have default resource field context settings, such as default_template, respected in Quick create
- [#5909] Allow blank extensions in Add Content Type window
- [#5931] Fix code that prevents easy renaming of assets directory with package management
- [#5841] Properly color active state for tabs in mgr ui
- [#3287] Fix issue with dob User field in editing panel in mgr
- [#5060], [#5043] Fix issue with openTo and TVs for MODx.Browser
- [#3396] Allow MODX_API_MODE in mgr context
- [#4230] Add ODF and OOXML to default uploadable file types setting
- [#5315] Use automatic_alias behavior when updating site_start regardless of setting
- [#3535] Fix issue with tree_default_sort not being respected on the resource tree
- [#5892] Add for default_media_source setting for specifying the default media source for a site
- [#5896] Make console window always closable
- [#5757] Allow text in grids to be selectable
- [#5471] Add publishing options to Duplicate Resource window
- [#5879] Ensure html tags are stripped on titles in the Resource edit view
- [#5855] Ensure if no parents are specified, resourcelist input option works as expected
- [#5852] Fix issue where input options are wiped on quick update TV
- Add showNone option to source/getlist processor
- [#5619] Enable modElements to store content in external files
- [#5856] Implement ability for derivative Resource types to have their own translatable name
- [#4726] Implement server-side state provider for modExt to fix size problems with cookies
- [#5860] Fix FC SQL error when user is in no groups
- [#5843] Add required asterisk to required Element fields
- [#5723] Add Media Source tab to User Group Access screen
- Change "Cancel" references to "Close" for clarity
- [#4566] Fix online users manager dashboard widget grid
- [#5809] Change "Remove" to "Delete" where appropriate to clarify language
- Refactor processors to be class-based
- [#90] 301 Redirect id method requests when request_method_strict is not enabled
- [#90], [#5676] Improvements to strict routing with friendly_urls
- [#5323] Add system events for moving Resources in and out of Resource Groups
- [#4610] Add locale system setting for setting locale in MODX
- Add HTML5 local caching as a toggleable option for manager ui
- [#5788] Fix content not output to browser until after shutdown function
- [#5777] Fix validation of TV names against Resource field names
- Add ability to install and upgrade MODX from command line
- [#5745] Ensure all core passwords are not transmitted through MODx.config JS array
- [#4304] Add default_content_type Setting for setting the default Content Type for Resources
- [#2735] Ensure menu permissions are checked for mgr action if action has menu associated
- [#4606] Clarify connectors language in setup
- [#5561] Add search toolbar to packages grid
- [#5587] Fix issue with dashboard widgets and caching
- [#5453] Add ability to disable forgot password on manager login screen
- Add batch remove to Namespaces grid
- [#5671] Add :toPlaceholder, :cssToHead, :htmlToHead, :htmlToBottom, :jsToHead, :jsToBottom output filters
- Add delete user button to user editing page toolbar
- [#5542] Add ability to drag/drop files and folders in the Files tab
- [#5665] Remove console.log debug references in JS
- Add Media Sources, which allow abstraction of file management in MODX
- [#2737] Centralize logic for changing Context of modResource Children
- [#5068] Move token check for new resources below error validation in processor to prevent bogus duplicate resource issue
- [#4945] Remove weblink content maxlength restriction
- [#5270] Enable container drag 'n drop in Extended Fields tree
- [#4790] Add support for comment tag token, e.g. [[- comments here]]
- [#5539] Add back in compress_css/js for allowing toggling of js/css compression in manager
- [#5556] Enable connection pooling with master/slave support
- [#5499] Ensure modFile create returns boolean
- [#5501] Add sanity checks on FC rules renameTab and hideField
- [#5505] Fix issue with dropdowns in Fx5
- Enable modTag elements to accept property sets
- Enable modElement->getPropertySet() to merge @propertyset in name with property set specified in setName parameter
- Allow modParser->getElement() method to accept @propertySet in name parameter
- Prevent modParser->parsePropertyString() from trimming all backticks at beginning and end of string
- Improve parser efficiency by returning results of nested tags if elementOutput is null|false
- [#5392] Fix bug where policy template descriptions were not translated
- [#5377] Fix modParser->isProcessingTag() bug preventing filtering on placeholder tags
- Pass content by reference to OnParseDocument event
- Add message_key and json message_format option to system/registry/register/send processor
- Allow raw messages to be returned from system/registry/register/read processor
- Add include_keys option to modRegister implementations
- [#5336] Prefix non-core actions in the MODx.action JS object with their namespace
- Avoid setting description to null in element/propertyset/create processor
- Improve modX->logManagerAction to avoid attempts to insert NULL values
- Accept null options in modHashing->__construct()
- [#4607], [#3463] Add rank field for contexts to allow custom sorting in tree, fix issues with context/resource dragging and dropping and ensure context name validation rules are consistent
- Improve UI of User's groups to allow for assigning ranks to User Groups for a User
- Add Custom Dashboards and Dashboard Widgets
- [#4871] Fix Access Permissions not being copied when duplicating a context
- [#4382] Forgot Manager Password now lookups using username to prevent issues when the 'allow_multiple_emails' system setting is enabled
- Fix rendering of combo boxes in element properties
- Add ability to select Primary User Group for User
- [#4637] Fix RTE checkbox not saving correctly when using Quick Create Resource
- [#5268] Add search toolbar for Resource tree
- [#4080] Add Content Type and Content Disposition to Quick Create/Update Resource
- [#5250] Add check for cURL in Package Management
- [#5204] Add search by parent to mgr search page
- Added much better handling for custom resource classes; deprecated custom_resource_classes setting
- [#4601] Ensure children of protected Resources inherit by default their parent's Resource Groups in create UI
- [#4016] Update description text in grid when adding/updating element properties without need for page reload
- [#2860] Fix 'Sent On' date when viewing an expanded message
- [#4984] Ensure tree highlighting of currently edited resource/element/file works consistently
- [#2638] When updating an element's category, ensure old treenode is removed
- [#5139] Fix issues with MODx.Browser and file/image TVs in other contexts
- [#4958] Add IDs to Resource Groups in RG tree
- Add ability to rename Resource Groups
- [#5185] Improve core package already extracted validation for upgrades
- Update xPDO and regenerate schema to get new maps of derivative classes
- [#5195] Change TV value fields from TEXT to MEDIUMTEXT (mysql)
- [#5141] Add ability to override specific controllers/templates in a custom manager theme w/ fallback to default
- Add modResource::getControllerPath method for better abstraction of derivative resource types
- Add show_in_tree and hide_children_in_tree fields to modResource for better support with custom Resource types
- Abstract all manager controllers to classes to improve usability, testing and creation of controllers

MODX Revolution 2.1.3-pl (July 21, 2011)
====================================
- [#5295] Fix parents input option for Resource List TV when 0 is specified
- [#5190] Fix includeParent input option in Resource List TV
- [#5222] Fix nested cacheable tags being skipped in non-cacheable tags
- Fix delegateView recursion in Resource controllers on Windows
- [#3966] Fix double slash issue in file paths when dragging into resource content from the Files tree
- [#4565] Fix issue with Resource tree sorting
- [#5026] Make directory tree in MODx.Browser instance launched from Files tab consistent with other instances of MODx.Browser
- [#4960] Prevent method declaration error for modPHPMailer::reset()
- [#3716] Ensure consistent handling of combo-boolean property values in the database
- [#4586] Improve number detection for Radio and Checkbox TV values
- [#5196] Unset uri_override when duplicating creates a duplicate uri

MODX Revolution 2.1.2-pl (July 6, 2011)
====================================
- Fix issue with modUser::getSettings pulling a deprecated alias
- Update to xPDO v2.1.5-pl
- Implement DocBlox for documentation generation
- [#5168] Fix element and tv permission queries for SQL Server
- [#5146] Fix issue with Firefox and button widths
- [#5164] Fix possible issue if a TV is stranded to a non-existent category
- Update ExtJS to 3.4.0
- Set a default session_gc_maxlifetime to avoid frequent logout issues
- Refresh modExt trees when drag operations fail
- [#4918] Limit save permission check to modified nodes in resource/sort processor
- [#5065] Fix 404 error with cross-context symlinks when cacheable
- [#5152] Fix nested non-cacheable tags from being cached in modResource->_content
- [#5145] Update config check on dashboard to show correct core path if core is moved
- [#5112] Add Settings for adjusting behavior of Context sorting in Resources tree
- [#4341] Properly clarify text and function on Resource Tree context menu options for view/preview
- [#5046] Fix issue where parent could not be changed for new resources via Form Customization
- [#5112] Sort contexts by name ascending in the Resources tree
- [#5102] Fix error removing older transport package versions
- [#4940] Fix issue where CMPs that did not use ExtJS could not scroll
- [#5097] Ensure browser toolbar button does not show when MODx.Browser is already open
- [#4953] Improve modx.console.js to avoid message loss
- [#4836] Make sure modFileRegister sorts messages before reading
- [#5087] Fix issue where class_key was not respected when using Add Another in UI
- [#260] Implement on-the-fly compression for css/js in manager
- [#3464] Set xPDOTransport::ACTION_UPGRADE for already installed packages
- [#4955] Package management actions refresh packages cache partition
- [#5071] (SqlSrv) fix/refactor Plugin Events getList processor
- [#2870] Change internalKey default value to NULL
- [#5072] Add missing primary key index to modEvent
- [#5005] Fix incorrect label on introtext field in weblink panel
- Remove session_cookie_lifetime variable when logging out of context
- Remove legacy SESSION variables and dependencies
- [#4703] Remove user settings when logging out of a Context
- [#2566] Improve tv output render url to take resource pagetitle when using resourcelist TV type
- [#5020] Improve per page field on grids to handle ENTER key
- [#5021] Improve modUser::joinGroup to check to see if user is already in group
- [#5025] Fix issue where duplicate resource window did not show duplicate children option
- [#5007] Only create Lexicon Entries for Settings if they are specified
- [#5006] Fix issue with updating a policy template with no permissions
- [#5001] Fix issue with modauth, wctx and RTE browser

MODX Revolution 2.1.1-pl (June 1, 2011)
====================================
- Make modauth calculation independent of session_id
- Ensure login/logout processors do not add Contexts with empty keys
- [#3145] Ensure mail_smtp_pass and proxy_password System Settings use password xtype
- [#4360] Show current context name on MODx.Browser window for reference
- [#4881] Fix issue where modx-combo-language was missing from system setting editing screen
- [#4896] Fix issue where New Category window is not cleared on each load
- [#4934] Fix missing lexicon load call in package download processor
- [#4927] Gray out disabled plugins in elements tree, italicize locked elements
- [#4921] Ensure Category names are not ever capitalized when displayed as tabs
- [#4865] Fix PDO error caused by missing charset for new MySQL installs on PHP 5.3.6+
- Improve modSessionHandler and add Settings for advanced configuration
- [#4750] Fix various issues with duplicating Resources, such as new name not prefixed and incorrect menuindex
- [#4910] Fix bug where ResourceList TV type could not be marked as required
- [#4915] Fix UI glitch when creating both an Access Policy and its Template on same page load
- [#4916] Fix issue where cache clear checkbox was always being cleared on template save
- [#4884] Remove PHP4 constructor on modRegister
- Harden connector CSRF security by tying user session modauth to prevent hijacking of session if modauth is known
- [#4863] Fix issue where template changing causes unintended alias
- [#4854] Fix bug that caused update/rename file to be missing in Files tree context menu
- [#4851] Improve safe_mode check in setup to check for non-boolean values
- [#4856] Fix issue with MODx.Panel instances that have no textfields, causing scrollbar issues
- Fix issue where MODX version was not being sent to provider during package update
- [#4850] Fix issue with MODx.Window instances that have no textfields

MODX Revolution 2.1.0-pl (May 24, 2011)
====================================
- [#4818] Fix SqlSrv query errors related to TVs
- Add modX->$sourceCache data to cached Resources
- Fix loading of cached Resource content and processed flag
- Fix caching of empty policies for Resources
- Fix modSessionHandler->write() cache flag if cache_db_session is not enabled
- Update xPDO to v2.1.4-pl for cache_db bug fixes and improvements
- [#4832] Fix issue with moving resource parent to root
- [#4827] Make sure editing a file sends the working context along
- Fix erroneous call to OnDocUnpublished event that should be OnDocUnPublished
- [#4796] fix New Resource page heading during typing of page title
- Add Usergroup filter to users grid
- [#4785] Fix preview of files in left tree in non-standard contexts with absolute filemanager_ settings
- [#4473] Add other common file types to upload_files system setting
- [#4539] Fix issue with stretching of quick update chunk and small screen resolutions
- Automatically focus cursor to first textfield on windows in mgr
- [#4738] Fix issue with inconsistent results in resourcelist TV
- [#4441] Fix FC issue when parent is constraint and trying to change default template
- [#4764] Fix issue with timestamp display on manager log page
- [#4680] Fix javascript error when typing Template name
- [#4681] Fix path issue which was causing 404 errors in the manager, IE 7-9
- [#4439] Add parentheses to list of disallowed password characters in installer
- [#4669] Fix button target size to make it more responsive to most clicks
- [#4625] Fix sizes of buttons and submit inputs in installer - IE 8 and 9
- [#4617] Fix custom values not being shown on Context Installation page during Advanced Upgrade
- [#4605] modX->switchContext() now checks load permission via Context ACLs
- [#4595] Fix display of modified/accessed times on Edit File page
- [#4594] Fix last login time displayed in Info block of Manager welcome page
- [#4470] Fix frozen URI not displayed when editing resource
- [#4572] Fix installer error log filenames (characters not allowed in Windows filenames)
- [#4585] Fix database connection processors in advanced upgrade
- Update xPDO to v2.1.3-pl
- [#4567] Remove calls to xPDO->log() in xPDOCacheManager->writeFile()
- [#4557] Minor fixes on Installer Options screen for Traditional package
- [#4556] Fix js error on Welcome screen of Traditional package's installer
- [#4076] Fix Edit/Quick Update context menu items in protected categories
- Fix Context Access query broken in RC4 changes for #4502

MODX Revolution 2.1.0-rc-4 (April 29, 2011)
====================================
- [#4543] Fix preview URLs when FURLs are turned Off
- [#4537] Trigger refreshURIs when related settings are modified
- Have modAccess*::loadAttributes() check access_*_enabled settings
- [#4502] Enable custom targets in modUser->loadAttributes()
- [#3692] Add policy checks for new_document_in_root and add_children to resource/sort processor
- [#4526] Additional fixes for output filters on placeholders
- [#4504] Ensure UserGroup ACLs are deleted along with UserGroups
- [#4507] Fix usergroup description not being set when created
- Change modResource->isDuplicateAlias() to return id of duplicate Resource
- [#4495] Add duplicate URI check to resource/publish action
- [#3857] Fix placeholder processing when output filters applied
- [#4362] Fix path issues with Static Resources and base_urls of /
- [#4074] Require list permission on Context for Resource searches
- [#4439] Do not allow invalid characters in username / password
- [#4485] Fix issue with scrolling on drag/drop Element Properties window in small resolutions
- [#4352] Fix failedlogincount / user blocking logic in login processor
- [#4373] Fix issue with htmltag TV output render and empty values
- [#4374] Fix issue with updating files in the edit file page
- [#4024] Fix issue with LocalProperty grids not rendering list type properties display values correctly
- [#4400] Trim whitespace from Namespace paths when adding/updating them
- [#4434] Fix issue with edit panel on contexts
- [#4372] Fix View button not getting URI change after Save Resource (all Resource types)
- [#4369] Ensure Save button is active after Template change on Weblink, Symlink, Static Resource
- [#4471] Set Resource alias properly on update
- [#4469] Guard against inadvertent creation of duplicate New Resources
- Add options to configure cache file writing attempts when exclusive locks fail
- [#4464] Prevent unnecessary TV queries on uncached Resources
- [#4422] Fix problems updating Boolean settings (System, Context, User)
- [#4453] Fix File Browser when paths contain "n_"
- [#4447] Fix ACL grid in Edit Context view
- [#4438] Fix error logging to custom log targets defined by array
- [#4399] Fix IE8 javascript error on Resource and Element update pages

MODX Revolution 2.1.0-rc-3 (April 11, 2011)
====================================
- Fix invalid merge retained in master branch from 2.1.0-rc-1
- Fix modResource::save() to refresh uri if isfolder field is dirty.

MODX Revolution 2.1.0-rc-2 (April 11, 2011)
====================================
- Refresh resource tree if resource's parent has changed
- [#4327] Fix bug with auto-publishing
- Fix positioning of right panel in mgr UI to make tree/nav static and isolated from scrolling of right panel
- Make alias required field in resource/create processor when friendly_urls is on but automatic_alias is off
- [#4280] Fix issue where transport package could not be removed if transport files were removed
- [#4281] Utilize modX::sourceCache in modParser::processElement()
- Fix issues with Namespace grid related to context menus and search
- [#4257] Fix issue where context menus did not show in Contexts grid
- [#4288] Fix issue with resource preview context menu
- [#4279] Fix undefined collResources notice with empty Contexts
- [#3119] Fix modResource->getAliasPath() to use id if set
- Upgrade MagpieRSS to 0.72 to fix issues with atom feeds
- [#3623] Fix TemplateVarTemplate foreign key definition in modTemplate
- Replace specific references to MySQL with more general language
- [#4185] Change modx logo in mgr to new logo
- [#4217] Add rank field to modUserGroupMember table
- [#4271] Highlight currently editing Resource on tree
- Fix issue with image/file TV and uploading in MODx.Browser when using a custom basePath TV
- [#4270] Fix issue where images could not be removed when using a custom basePath TV
- Add User Group related events
- [#4260] Change title tag in mgr UI to reflect current page
- [#4256] Add caption field to Quick Create/Update TV
- [#4261] Change keyboard save shortcut to CTRL+S
- [#4262] Ensure that FC rules htmlencode their tab/field labels
- [#4243] Ensure that files that are read-only do not show save button; fix file tree opening
- [#4244] Add backwards compatibility for Element properties of list type with older indexes
- [#4236] Fix bug in Template combo that hid category name
- Improve compression of images in mgr to reduce load times and core transport zip size
- [#4232] Fix Output Options being ignored in TVs in 2.1.0-rc1
- Add options to allow ACL queries to be disabled for Contexts, Categories, and Resource Groups
- [#3941] Fix issue where Resource TV values were not copied when duplicating a Context
- [#4202] Fix issues with file/image TVs urls/paths when using modx path placeholders
- Fix sorting/display bugs on UserGroup ACL grids, add grouping for better visibility
- [#4175] Add modRequest->getClientIp() for better IP handling
- [#4217] Add rank field to modUserGroup
- Update version to 2.1.0-rc-2
- [#4173] Fix issues with math-related output filters and floats
- [#4205] Ensure old modxcms.com provider is removed after change to modx.com provider
- [#4220] Fix modX::makeUrl() when friendly_urls not enabled
- [#4207] Fix issues with checkboxes and Form Customization rules
- [#4013] Fix modX::_log() to pass target to parent::_log() properly

MODX Revolution 2.1.0-rc-1 (March 28, 2011)
====================================

- Fix issue with properties and i18n in Element properties and in drag/drop box
- [#4146] Fix issue where new Content Types were always created as Binary
- [#291] Add principal_targets setting to allow custom ACLs to be loaded by MODX Principals/Users
- [#99] Allow SymLinks/modX->sendForward() to forward to Resources in external Contexts
- [#4147] Changing ContentType extension in grid not refreshing URIs
- [#3967] Fix issue with running user create/update processors more than once in a session
- [#3542] Hide Template Variables tab on Resource create/update pages if no TVs are present
- [#788] FC Rules for TVs now display distinctly for create or update
- [#1118] Add more help for User fields in manager editing page
- [#2578] Fix issues with manager log view page where sorting was off and grid was not sortable
- Fix issue where user-created FC tabs were not removable from a Set
- [#4096] Fix Package Management archive issue when using mapped Windows drives
- [#3785] Add category filter and search box to TV grid on Template panel
- [#65] Make locked Resources be read-only rather than unviewable
- Improve Package Management to show changelog, more supports information in package browser
- [#4120] Fix issue where TV sort order is reset on Quick Update
- [#4115] Fix issue with modPhpThumb and filenames with + signs
- [#2719] Fix reset behavior on autotag/tag TV inputs
- [#3586] Adjust improper text on Content Types page
- [#2652] Fix issue where Element could be drag/dropped onto another Element in tree
- Add ability to select a blank value for ResourceList TV input type
- [#54] Fix issues with phpThumb and DOCUMENT_ROOT by adding a custom phpthumb_document_root System Setting
- [#4122] Fix order of execution of validation and plugin events for Element processors
- [#4105] Add Spanish translation
- Refactor duplicate alias checks into duplicate URI checks
- Cleanup deprecated code in Resource templates
- [#3765] Ensure entries editedon values are set when editing a Lexicon Entry
- Update ExtJS to 3.3.1
- [#4073] Add session_name, session_cookie_path, session_cookie_domain as System Settings with blank default values
- [#4077] Add resource_quick_create and resource_quick_update Permissions to restrict access to Quick actions on Resource tree
- [#4050] Add tree_show_resource_ids and tree_show_element_ids Permissions to show/hide IDs of Resources/Elements in tree panels
- Add username field to modTransportProvider, and send it and UUID to providers during transmissions
- [#3641] Add base URL for Help links in manager for easier management and customization of URLs
- [#3552] Fix issue causing list-xtype properties to be swapped when using drag/drop into field functionality
- [#4069] Ensure that you cannot delete the last User in the Administrator user group
- Add fix for ie9 to get tree nodes to work properly
- Prevent Category ACL queries on Elements if no entries for current context
- [#2601] Improve text and drag/drop for weblink/symlink content fields
- [#3636] Fix issue with empty values on options in list/dropdown/checkbox/radio TVs
- [#4024] Fix issue with display value not always showing for list properties in element property grid
- [#4056], [#4041] Add xtype password, template, user, usergroup, etc to available xtypes for System Settings
- [#3350] Improvements to bugfix for PHP bug 53632
- [#4054] Improve select binding to be able to use Resource fields via placeholders
- [#142] Add modResource.setTVValue API method
- [#4021] Add system setting to allow setting of a custom favicon for the manager
- [#3589] Fix issue with Static Resource paths when using custom filemanager_path
- [#4040] Fix issue where Users were always created as active in mgr UI
- [#4043] Enable drag/drop of users and groups in User Group tree
- [#4052] Fix issues with element property import and invalid characters causing freezing in UI
- [#4042] Fix issue in phpThumb base class preventing far property from working
- [#4049] Add resource_tree_node_tooltip for controlling field in Resource Tree tooltip
- [#3511], [#2964], [#3601] Fix issues regarding form customization and Templates by removing ajax loading of TVs in Resource panels
- Consolidate JS for derivative Resource panels to allow to inherit from main Resource panel
- Add context param to modx.getParentIds
- [#3754] Ensure Resources can not have their parent set as one of their descendants
- Add context param to modX.getChildIds
- [#3612] Improve CDATA filter to not add spaces at beginning or end
- [#3764] Add delete to actionbar on Resource edit panel
- [#3585] Add description field to modUserGroup
- [#3020] Improve trees to expand node on click if no href target is set for tree node
- [#4006] Show children count rather than IDs on categories in element tree to lessen id ambiguity
- Fix issue where Quick Create was not respecting unchecked setting checkboxes
- [#3673] Add "Save and Close" button to quick update windows
- [#3970] Ensure extension is lowercased before checking for allowed status when uploading files
- [#3920] Ensure modPHPMailer resets replyTo and custom header fields
- Add UI for managing Resource uri and uri_override fields
- Remove all deprecated methods and variables scheduled for removal in next minor release
- Change modxcms.com references to modx.com
- [#3898] Prevent any non-integer being set in ?a= in mgr interface
- [#3926] Ensure security/user/create processor can take in a class_key parameter to set class_key for SSO
- Improve user processors event handling to allow for better SSO integration that can stop save/remove/update
- Refactor password reset not to send password hash as activation key
- [#325] Allow configurable user password hashing with PBKDF2 default implementation
- [#3111] Fix bug causing unnecessary writes to Resource cache files
- Update xPDO to v2.1.1-pl2
- Add modResource.uri_override to allow a uri to be manually set and locked per Resource
- [#3111] Add modResource.uri field to allow context maps to be regenerated in a single query
- [#3859] Remove redundant check for php bug
- [#3858] Fix javascript errors from FC hideField rule
- [#2812] Add link_tag_scheme to define default scheme for makeUrl() call in modLinkTag
- [#3111] Remove resourceListing, documentListing, and documentMap from context cache
- [#3111] Cache refactoring with proper file locking, partitioning, and multiple format support
- [#3111] Update xPDO to release 2.1.0-pl for cache improvements
- [#3740] Add proxy support to modTransportPackage.class.php
- [#3693] Fix reversed content-disposition logic on static resources
- [#3427] Fix issue where User Settings were not respected with filemanager_path/url
- [#3702] Ensure file/image TVs can have files drag/dropped onto them
- [#3465] Add sanity check for non-object to log call in modAccessibleObject::_loadInstance
- [#3615] Fix issue with modx->user->getResourceGroups, set resource groups in "modx.user.{$id}.resourceGroups" session key
- [#3568] Fix double error->failure reference in resource/create processor
- [#3425] MODx.Browser now loads directory of TV's current value on load
- [#3481], [#3571], [#3304], [#3569] Fix issue with filemanager_path in non-web contexts
- [#3009] Add ability to assign TVs to specific directories and base paths, limit file extensions shown
- [#2679] Add Input Options to TVs, allowing TV inputs to be customized and tweaked

MODX Revolution 2.0.7-pl (January 14, 2011)
====================================
- [#3472] Fix issue due to tree impr that prevented element saving success response
- Improve loading of mgr pages by preventing trees from rendering until activated
- [#3205] FC fixes: Ensure Resource Content field can have values set/renamed, that rules on create respect template, and that default values on create are set
- [#3165] Fix issue where resource/updatefromgrid processor was missing published value if user does not have publish permission
- [#2] Fix issue in user extended fields where subkeys in 2 separate containers DOM IDs conflict and prevent editing
- [#3422], [#3374], [#3197] Fix issue with filemanager_url and Image/File TVs and their relative end result URLs
- [#3201], [#177] Add modResource.leaveGroup, modTemplate.hasTemplateVar, modTemplateVar.hasTemplate
- [#3350] Fix for PHP bug: http://www.exploringbinary.com/php-hangs-on-numeric-value-2-2250738585072011e-308/
- [#3326] Fix issue where TV radio/cb options with value of 0 couldnt be selected
- [#3329] Fix edit and cancel buttons on view resource page
- [#3329] Clarify Preview link on Resource action toolbar to be more correct "View"
- [#3347] Fix issue where renaming a file broke the browsing of directory tree
- Fix issue where FC tvDefault rules, regardless of active state, are always run
- Introduce pdo_sqlsrv support
- Add database_dsn to config
- Update xPDO to release 2.1.0-pl

MODX Revolution 2.0.6-pl2 (January 6, 2011)
====================================
- [#3350] Fix for PHP bug: http://bugs.php.net/bug.php?id=53632
- [#3347] Fix issue where renaming a file broke the browsing of directory tree
- Fix issue where FC tvDefault rules, regardless of active state, are always run

MODX Revolution 2.0.6-pl (December 20, 2010)
====================================
- [#3143] Fix lexicon grid search to respond to enter key
- [#3144] Fix issue with reset password and @ being stripped
- [#3142] Ensure whitespace is stripped from tags in tag/autotag TV types
- [#3118] Ensure defaults are set in resource/create processor if values are not sent
- [#3105] Improve memory_limit check in setup to accept integer values from PHP instances
- [#3106] Add sanity check to resource create/update processors to disallow invalid Resource Group ID references
- [#3038] Fix problems with filemanager_path settings and absolute URLs in image TV values
- [#3039] Add symlink_merge_fields setting to disable modSymLink merge behavior
- [#3103] Alter modSession data field to store more than 64Kb
- [#3091] Add missing specific dom ID to profile change password panel
- [#3096] Fix issue with exporting default properties not in a set from an element
- [#3099] Fix FC rules to respect class_key constraints
- [#3097] Fix extension_packages to support modx path placeholders, as well as new serviceClass and serviceName parameters
- [#3085] Ensure Files tree only refreshes active node when creating/updating a file/dir
- Improve the Permission dropdown and add window in AP Template page
- [#3083] Fix Form Customization issue when Resource has a blank Template
- [#3082] Fix Form Customization issue where cacheable and ID fields not able to be hidden/altered
- [#3034] Fix error creating Resources in Contexts other than web
- Fix issue with incorrect active permission total in Access Policy grid
- [#3023] Fix issue where topmenu did not respect manager_language
- [#3080] Fix missing placeholder in error message when attempting to create a duplicate Element
- Add new header image to match new site
- [#3078] Fix issue with htmltag TV widget properties when using = in its value
- [#3079] Ensure GPC vars are not sent into $scriptProperties array in $modx->runProcessor
- [#2983] Add sanity check to prevent plugins from firing if disabled (redundancy)
- [#3057] Fix issue where parent change causes fail to save in UI
- [#3076] Fix bug where manager returnUrl was not working due to [#2918] fix
- [#3059] Ensure createdby is set on resource creation
- [#3041] Fix missing lexicon entry in resource processors
- [#3043] Fix invalid 200 response header on sendError()

MODX Revolution 2.0.5-pl (December 8th, 2010)
====================================
- Change remove() to removePackage() in modTransportPackage
- Fix issue with package setup-options attribute not loading forms
- [#2932] Fix redirect issue after setup and on manager login page caused by [#2918]
- [#2931] Fix issue where FC rules weren't applying if no UserGroup was set in a Profile
- Ensure non-Resource FC rules are removed on upgrade
- [#2918] Address XSS vuln in manager login that allows JS injection
- Fix issue where // is stripped from filemanager_url http address
- [#2902] Fix issue where Administrator policy ACLs in non-Administrator groups couldnt be edited
- [#2915] Ensure UserGroups restriction is enforced in FC Profiles
- Fix bug when editing FC profiles from a grid, issue where UserGroup wasn't respected
- Ensure radio TV values still can select if default value is 0
- [#2869] Fix issue with parent display text in Resource panel
- [#2892] Fix problem creating folders on filesystem from file manager and browser
- [#22] Allow SymLinks metadata to override target Resource metadata
- Cache Resource ACL Policies with the Resource
- [#2888] Fix problem with elementCache in modX::sendForward()
- [#2610] Allow Elements to be created under a Category when a Category Policy is in effect
- [#2869] Standardize initial parent combo value text on Resource edit page
- [#2736] Colon character ":" added to default FURL Alias Character Restriction Pattern
- [#2889] Ensure that a new Resource gets an alias generated if auto_alias is On
- [#2837] Ensure element properties import escapes <> and provide better error checking
- [#2886] Ensure SimpleXML and XMLWriter extensions are installed when using FC Set import/export
- [#2882] Add hidemenu_default setting for setting default hide from menus on Resources
- Fix issue with derivative Resource types and FC rules
- [#2858] Extra sanity checks to ensure md5 pw is never sent across get/getlist processors for Users, even if user has access level
- [#6] Fix issue with RTL text in nodes in Resource tree
- [#2873] Fix relativity of image urls in drag/drop and TVs when using various filemanager_path/url settings
- [#2878] Ensure resource panel is marked dirty when drag/dropping into TV
- [#2828] Fix issue with incorrect content field name for FC rules
- [#2863] Fix order of execution issues with FC rules and default values
- [#2874] Enhance User blockedafter/blockeduntil fields to accept time as well as date values
- [#2529] Fix automatic publish/unpublish
- Adjust FC rule ranks to properly account for prior FC rules that may affect FC constraints
- Update xPDO to 2.0.0-pl release
- [#2661] Fix Template getList processor to respect authority
- [#313] Fix header error with binary modStaticResource downloads
- [#206] Fix session bug with opcode caching systems like APC, WinCache, eAccelerator
- [#2846] Add tag syntax to description hover text for resource fields
- [#2849] Add ability to drag/drop onto TV fields
- [#2848] Fix issue with file edit and base paths
- [#2802] Ensure Category tab is hidden when all TVs are hidden in that Category
- [#2779] Added Content Editor policy to default list of policies
- [#2819] Fix bug in FC rules where parent constraint was not traversing up tree to inherit parents
- [#2744] Fix bug with empty template and TV values
- [#2841] Fix bug with File Edit page and modFileHandler reference
- [#2839] Fix bug with failed login count not being updated
- Add ability to view permissions inherited when viewing an ACL row in a grid
- [#2834] Fix issue where constraint class was not set on new FC rules
- [#2819] Fix issue with FC rules and execution order due to setting default templates, constraints
- [#2830] Permit ability to change FC Set Template when editing a FC Set
- [#2827] Fix issues related to FC upgrade with Rules with comma-separated names, differing constraints, and template setting
- Fix issue related to #2625 with deferred tabpanel rendering that caused unpublishing when using Quick Update/Create
- [#2825] Append idx to each item DOM id when using HTML tag tv output widget
- [#2823] Add missing lexicon entry for TV output type
- [#2817] Reorder System top menu for easier navigation
- [#2820] Add DOM id to Profile page tabs
- [#2814] Add longtitle, description, template to Quick Update/Create
- [#2789] Add check to make sure safe_mode is off in setup
- [#2565] Improve Quick Create/Update Resource to move settings into tab rather than fieldset
- [#2807] Add tree_default_sort System Setting for configuring the default sort setting for the Resource tree
- [#2803] Fix css issue with portal blocks on manager dashboard in Fx
- Add new Form Customization UI, including Form Customization Profiles and Sets; much easier editing of FC rules
- Fix issue with modInstallSmarty constructor due to Smarty upgrade
- [#2799] Remove ext3 debug files to save space
- [#2801] Fix bug with checkbox tvs without specified value options
- Upgrade Smarty to 3.0.4
- [#2782] Add changelog to Package View page
- [#2782] Add ability to view changelog when installing a package via the "changelog" package attribute (similar to readme)
- [#2770] Ensure email TV input type validates email
- [#2776] Fix issue where context settings grid was not filterable
- [#2790] Ensure "number" TV types restrict input to numbers only
- [#2730] Fix rendering issue with policy template/group grids
- [#2794] Allow TV URL output render to handle values that are straight Resource IDs
- [#2741] Fix bug where Resource Group associations were not copied when duplicating a Resource
- [#2746] Fix bug where email was sent in registration email rather than username
- [#2733] Fix bug where Template Var associations were not copied when duplicating a Template
- [#2742] Fix deprecated evtid reference in plugin duplicate processor
- Fix various bugs with context settings and wctx param
- Fix bug where modX::getDocumentChildrenTVars ignores docsort parameter
- [#2743] Connectors using wrong permissions with processors
- [#2758] Add modProcessorResponse class to better handle processor responses and error messages
- [#2758] Add $modx->runProcessor($action,$scriptProperties,$options) to better handle processor execution; deprecated $modx->executeProcessor
- [#84] Make distribution name available in manager
- [#2666] Prevent sendRedirect() from preserving request parameters unless specified
- [#2721] Fixed issue with per page items in MODx.grid.Grid that was incorrectly handling int value
- [#2691] Fixed issue with duplicate aliases when duplicating a Resource
- [#2506] Flag properties as dirty when importing from a file on properties grid
- [#2592] Prevent cache files from being allowed in upload_files setting
- Improved areas dropdown filter to include number of settings that have that area
- [#2694] Fixed positioning and scrollbar issue in Fx with success status message on save
- Added setting clear_cache_refresh_trees that allows you to toggle whether the trees refresh on site cache clear; defaults to false
- [#2709] Fixed bug where Object-Template policies were unavailable to certain grids
- [#2597] Fixed bug where Context Setting xtype and area are reset on grid save
- Upgraded extension_packages setting to JSON for more options with packages and easier editing in Extras scripts
- Fixed bugs relating to using filemanager_path in a separate context, as well as other bugs with context-specific settings in mgr
- [#2496] Fixed bug that prevented icon from resetting when dragging Resources into a new parent
- [#713] Prevent children resources from being prefixed with "Duplicate of" when duplicating a resource unless explicitly told to do so
- [#2581] Fixed bug with resourcelist TV input type to handle resources from multiple contexts
- [#2518] Added delay to allow FC rules to load before RTEs load to allow RTE TVs to be moved
- [#2611] Added workaround for ExtJS bug with checkboxes/radios and an inputValue of string 0 that would prevent toggling
- [#2512] Have remove setup/ dir checked by default if not using Git version of MODx
- [#2699] Fixed loading issues with help panel on slow connections
- [#2701] Fixed issue where description did not show until refresh when adding a new Permission to an Access Policy Template
- [#2695] Postfixed Template to names of Access Policy Templates for clarity
- [#2700] Fixed bug with Access Policy Template editor that reset values on save
- [#2690] Renamed Administrator Access Policy Template Group to Admin
- [#2563] Fixed chmod action on directories from File Tree
- [#2693] Properly sort country indicies to properly display in dropdowns
- [#2562] Added confirm dialog and success response for emptying recycle bin
- [#2634] Ensured context key is changed when changing parent of a Resource via Edit Resource page if context is different for new parent
- [#2631] Fixed issue when drag/dropping categories onto other categories in Element tree
- [#2659] Fixed issue where action buttons were overlapping tabs on edit pages
- [#2668] Fixed issue with FC rules and labels on checkbox/radio fields
- [#2582] Fixed bug with orm tree preventing attributes on the root node
- Fix bug in phpthumb allowing remote src parameters regardless of settings
- [#2555] Expose additional phpthumb options in System Settings
- [#2503] "Preview" inaccurately described viewing current page/site. Changed to "View".
- Fixed help message strings to correct URLs
- Fixed missing options array call in modRestClient, isArray call in modRestCurlClient
- [#2545] Added setting resource_tree_node_name to allow users to specify the field used for the node text on the Resource Tree
- [#2639] Prevent user from specifying a FC rule with Action of none
- [#2641] Fixed issue where template was reset incorrectly when canceled on template change
- Fixed issue where Permissions were being duplicated on setup due to relational db issue
- [#2646] Prevent removal/editing of default Administrator policy ACLs to prevent users from accidentally removing access to web context
- Added modAccessPolicyTemplate and modAccessPolicyTemplateGroup for easier managing and editing of Access Policies, including a UI for managing Access Policy Templates
- [#2483] Auto-generate alias when duplicating a Resource
- [#2645] Set Resources unpublished when duplicating
- Update to xPDO v2.0.0-rc3
- [#2501] Fixed menu not being loaded on immediately-added policies without page refresh, added bulk actions to policy grid
- [#2505] Save Property Set now shows feedback and success message
- [#2507] Export properties now prefixes filename with property set name
- [#2624] Improved Users grid to allow batch editing from right-click context menu
- [#2609] Remove filter commands and modifiers from scriptProperties passed to modElement/modTag instances
- [#2500] Improved CSS on welcome page for Fx users
- [#2532] Improved Resource tree icons to better shown when a Resource has children as opposed to when it is marked as a container
- [#2602] Improved language on Users access permissions grid to clarify action
- [#2614] Expand comment field on modUserProfile to handle more than 255 characters
- [#2613] Ensured User Groups in mgr are sorted alphanumerically
- [#2599] Fixed issue where Add Element to Property Set window form values were not cleared on second loading
- [#2596] Fixed issue where User Groups could not be removed
- [#2542] Fixed hardcoded language lexicon load reference in policy/get processor
- [#2573] Fixed issue with backslash in TV output render property values
- [#2594] Fixed issue where special characters were being stripped from phone numbers in user profile
- Fixed issue with file tree that prevented image thumbnails from showing
- [#2525] Fixed filemanager_path issues by added filemanager_path_relative setting, and then calculating from that
- [#2589] Fixed issue with port 80 feeds in magpie RSS feed parser
- [#2544] Fixed issue with updatefromgrid processor with User Settings
- [#2560] Fixed issue with resourcelist TV not persisting set value
- [#2586] Add rank field to FC rules allowing organizing of order of execution
- Update core schemas and regenerate maps for new xPDO index elements
- [#69] Allow Transport Vehicles to abort installation when validation fails
- Update xPDO version to 2.0.0-rc2 (official release)
- [#2552] Fix scope issues when passing nested arrays in Chunk properties

MODX Revolution 2.0.4-pl2 (October 15, 2010)
====================================
- [#2502] Fix fatal error with Resources protected by Resource Groups
- Fixed issue with resourcelist TV

MODX Revolution 2.0.4-pl (October 14, 2010)
====================================
- Fixed issue where redirect was not working after creating new derivative resource
- [#2485] Fixed issue where placeholder was in duplicated Access Policy
- [#2492] Fixed reference in menu to bugs.modx.com
- [#2486] Removed hardcoded language reference in lexicon load in access permissions getList processor
- [#126] Ensured clearing of cache when deleting a Template Variable
- Fixed issue where cancel button did not work on Resources after save
- Fixed issue with URL TV Output Render and empty input values
- Fixed issues with checkboxes/radios in TVs and widths when hidden
- Fixed various issues with thumbnails in MODx.Browser and return paths in separate contexts
- Added toggle setting for drag/drop in Resource and Element trees
- [#MODX-2346] Allow login/logout processors to handle multiple contexts
- [#MODX-2405] Fixed issue with border on portal panels in mgr home screen
- Fixed issue with TV output render that stripped whitespace in delimiter
- Fixed hanging save issue that occurred when HTML was in pagetitle/longtitle in a Resource
- Fixed issue where TV values were being erased when a TV was hidden via Form Customization
- Updated reference to help in Form Customization page
- Fixed trivial issues with widths in richtext tvs
- [#MODX-2415] Added fix to prevent adding of orm tree attributes with the same key on the same level
- Added resourcelist TV input type for easier listing of resources in a tv input
- Updated ExtJS to 3.3.0
- [#MODX-2378] Fixed issue where action toolbar was on left in IE7
- [#MODX-2408] Fixed issue where sorting was not available for description field on search page
- Fixed issue where modx->resource was not available to TV input option values or default values in mgr
- [#MODX-2410] Fixed issue with urlencoded context key on context edit page
- [#MODX-2407] Fixed issue where user settings were not respected in connectors in mgr
- [#MODX-2279] Fix bad AJAX response if database does not exist or can't be created during setup
- [#MODX-2404] Fixed issue with auto_menuindex and multiple contexts
- [#MODX-2354] Fixed issue with image TV loading incorrect URL in thumbnail preview on initial load
- [#MODX-2357] Properly addressed issue where FC hideTab rule was causing hidden tabs to show if they were active at load
- Refactor modAccessibleObject to centralize load policy check in _loadInstance()
- Update xPDO for several critical bug fixes
- [#MODX-2402] In Package Browser, Most Popular/Recently Added package names are now links to auto-search in grid
- [#MODX-2397] Added filtering and search to FC rule grid
- [#MODX-2401] Adjusted JS version postfix code to not adjust .php (or non-js) files used as script src targets
- Improved context menus on FC rule grid to allow for batch actions on selected items
- Added `for_parent` field to FC rules, to allow for more fine-grained control of rule applications
- [#MODX-2385] Fixed issue when Context ACL is using no policy that prevented grid loading
- [#MODX-2380] Fixed issue with upgrades and rb_base_dir, rb_base_url and filemanager_path
- [#MODX-2246] Added topmenu_show_descriptions system setting to be able to toggle the top menus description text
- [#MODX-2375] Improved class key field in Resource panel to a dropdown, added modClassMap for easier querying of resource/element types
- [#MODX-2391] Fixed issues with FC rules not being respected on resource/create with default values for new Resource
- [#MODX-2382] Fixed dynamic width of fields in windows across ui
- [#MODX-2383] Fix inability to update rank of TV's in template editor
- [#MODX-2379] Fixed issue where permission checks were swapped in Resource context menu with regards to delete/undelete
- [#MODX-2384] Fixed issue where treepanel still showed if all trees were hidden via permissions
- [#MODX-2389] Fixed issue where setup options, license and readme displays were not cleared after installation of package
- Fixed issue where loading mask shows up and never disappears on extended Resource types
- [#MODX-2388] Fixed issue with save button and user settings
- [#MODX-2387] Fixed issue with user settings not able to be added via mgr ui
- Fixed bug that would reset provider for updated packages
- Fixed issue with paging toolbar pageSize being interpreted as string rather than int
- Fixed issue where parent id constraint was ignored for default template on new Resources
- Added sanitization to REQUEST_URI for login controller
- Updated version to 2.0.4-pl

MODX Revolution 2.0.3-pl (September 30, 2010)
====================================
- Fixed error in modResource::cleanAlias when context var is not available
- [#MODX-2376] Fixed issues with updating settings on the context page
- Fixed security issue with login screen and resource TV controller that allowed html injection
- Fixed issue where clear cache checkbox isn't checked on Element pages
- [#MODX-2370] Fixed various bugs with plugin event association on plugin page
- [#MODX-1823] Improved the System Info panel by extracting data from phpinfo()
- [#MODX-2362] Added missing OnResourceTVFormPrerender event
- [#MODX-2374] Fixed issue where children nodes were not being moved with parent into new context
- [#MODX-2373] Fixed imageTV issue where thumbnail was not cleared on data clearing
- [#MODX-364] Fixed regClient* methods in cacheable Snippets on cacheable Resources
- [#MODX-2370] Fixed issue with saving property sets on plugin events
- [#MODX-2369] Fixed issue with modLinkTag and output filters where the filter commands were included in the URL
- [#MODX-2350] Ensure that new Contexts always have Admin and Resource policy for Admin user group assigned to them
- [#MODX-2352] Ensure that Context Settings appropriately override System Settings in core-level parsing where a Context is existent (example: site_unavailable_page)
- [#MODX-2356] Ensure that OnResourceDelete and OnResourceUndelete events in update processors fire at correct times, after save()
- [#MODX-2361] Ensure that a user in the Administrator group *always* has access to a Context when it is restricted in another user group
- [#MODX-2357] Fixed bug that occurs when hiding a tab with FC rule that is the default active tab
- [#MODX-2358] Fixed rare bug occurring with treestate in Chrome due to undefined variables in path
- Fixed various issues with package management and the add new package button
- Fixed bug where ?v=203pl is being added to content with .js in it, due to earlier commit to prevent js caching
- Fixed issues with ellipsis/limit filters and special chars
- [#MODX-2353] Fixed bugs with checkbox/radio TVs and complex values with HTML/quotes in them
- Fixed some bugs with deleting a file in MODx.Browser in the actual view pane
- [#MODX-2354] Fixed issue with imageTV and incorrect preview url reference
- Fixed ellipsis output filter to use &#8230; instead of ...
- [#MODX-2327] Fixed bugs with Form Customization not being respected
- [#MODX-2349] Fixed bug with Form Customization and fieldDefault rule with template field
- Added code to prevent caching of JS after upgrades by postfixing version to JS URLs
- [#MODX-2342] Fixed issue where xhtml_urls setting wasnt included in build
- [#MODX-2345] Fixed issue with templates and categories in mgr not persisting
- [#MODX-2341] Fixed issue with redirect statement on login page in certain environments
- [#MODX-2343] File upload now respects upload_* extension restrictions
- [#MODX-2344] Respect context-specific filemanager_path in upload/remove actions on directory tree in mgr

MODX Revolution 2.0.2-pl (September 17, 2010)
====================================
- Fixed issue where Add New Package would not work when selecting a provider manually
- [#MODX-2339] Fixed issue with caching menus in mgr and multiple languages
- [#MODX-2340] Fixed issue with initial resource values reverting after a save
- [#XPDO-72] Fix invalid call to $this->manager->getPhpType()

MODX Revolution 2.0.1-pl (September 16, 2010)
====================================
- [#MODX-2317] Add responseCode parameter to modX::sendRedirect() method
- Fixed issue with @DIRECTORY binding not postfixing base path with / before value
- Many styling enhancements, fixes for [#MODX-2264], [#MODX-2193], [#MODX-1885], [#MODX-1847]
- Fixed issue with lexicon translations for permissions dropdown in mgr
- Enhanced system settings grid to autosave without refresh, which allows for tabbing between settings via keyboard to set values
- [#MODX-2325] Updated placeholders in setup lexicons for french/german languages
- Added an editable dropdown for Permissions tab when editing an Access Policy for easier addition of Permissions
- Fixed issue where default template was overriding empty template resources
- [#MODX-2325] Updated Czech translation
- [#MODX-2329] Login page now auto-focuses on username textfield
- Add missing modCategoryClosure to create_tables script in setup
- [#MODX-2280] Fixed bugs with IE and package management
- Prevent issue where a User Group can select itself as a parent
- Allow typeahead on user field when adding a User to a User Group
- Optimized Resource Group tree in mgr UI
- Fixed issue where > 20 records were not showing in ACL lists in User Group edit panel
- [#MODX-2206] Prevent issue where renaming a menu's lexicon key orphans child menus
- Fixed rendering bugs in file edit panel, as well as optimized its loading and streamlined RTE integration on the panel
- [#MODX-2202] Removed deprecated modAction objects to prevent confusion
- [#MODX-2325] Updated Swedish translation
- Prevent bug that causes modal to overlap welcome screen
- Allow non-empty responses to OnBeforeTVFormSave to prevent save
- [#MODX-2201] Ensure MODX_PROCESSORS_PATH is upgraded correctly on upgrades where the core is moved
- [#MODX-2323] Allow non-empty responses to OnBeforeDocFormSave to prevent save
- [#MODX-2309] Ensure upload files button always uses the active node as the path, or if it is a file, its parent directory
- [#MODX-2295] Ensure menuindex can be overridden in resource creation if auto_menuindex is set to true
- Fixes to resource panels to adjust widths, loading of values properly
- [#MODX-2318] Fixes to TVs in Resource pages to make order sorting work correctly
- Abstracted setup database methods to driver-specific structures to accomodate for various future db drivers
- [#MODX-2241] Added archive_with setting so users with improper ZipArchive compiles can switch back to PCLZip
- Updated xPDO to include sqlite drivers
- [#MODX-2308] Added UUID to all modx installs for usage in extras, custom providers, stats tracking, etc
- [#MODX-2303] Fixed issue where resource editing pages were not respecting context settings
- [#MODX-2302] Fixed issue with loading of input option values in TV related to optimizations in 2.0.1
- [#MODX-2297] Fixed output filters limit/ellipsis when dealing with special character cases
- [#MODX-2290] Added image preview when hovering over images in file tree
- Added extra sanity checks in Package Management in case transport zips are not extracted
- Make package grid update available Yes clickable to update
- Cleaned up and better abstracted modRestClient and modRestCurlClient code
- Fixed bug in setup during upgrade-advanced where DB information was not being checked correctly
- Lots of improvements to handling and caching of thumbnails in manager
- Fixed bug where reset filter on settings grid was not resetting to core namespace
- [#MODX-2178] Added missing settings and lexicon values for those settings to build/lexicons
- [#MODX-2179] Lexicons in Setup now use placeholders rather than sprintf for better i18n support
- Added phpthumb_imagemagick_path for users that need to change the imagemagick path for different environments
- [#MODX-2288] Dont duplicate TV Resource values when duplicating a TV unless explicitly told to
- [#MODX-2217] Persist sort order of Resource tree
- [#MODX-2291] Prevent editing of binary files to prevent zeroing out of file when saving
- [#MODX-2185] Resource tree expand all toolbar button now expands all levels deep
- [#MODX-2260] Added ability to rename ORM container nodes on extended fields
- [#MODX-2285] Added ability to dynamically set number of results for any grid in manager, as well as a default number via default_per_page system setting
- [#MODX-2284] Fixed bug in modX::getChildIds
- Adjusted the way resources/elements load data in mgr edit/create pages to vastly speed up load times
- [#MODX-2282] Fixed deprecated help menu URLs
- Trees now properly handle state, allowing multiple state paths to be set
- [#MODX-2163] Give area combobox in System Settings a bit more breathing room
- [#MODX-2259] Fixed issue with empty value fields in extended/remote fields via ORM widget
- [#MODX-2249] Fixed issue with misleading comment in modTemplateVar::getValue
- [#MODX-2270] Added option to sort by pulishedon in the resource tree
- [#MODX-2278] Removed non-used files and added space to empty files
- [#MODX-2250] Fixed bug where Checkbox TVs with default value dont allow all checkboxes unchecked
- [#MODX-2274] Introduced filemanager_url setting to handle URLs when filemanager_path is outside the webroot
- [#MODX-2251] Fixed issue where @bindings in TVs were running during input, preventing setting values
- Fixed bug with modContext::getOption and default values
- [#MODX-2184] Fixed issues with MODx.rte.Browser and context-specifics
- Fixed issue with filemanager_path in Windows
- Fixed a possible issue in base file perms in modFileHandler
- Fixed some random typos in system settings data and lexicon translations
- Fixed bug where userinfo filter was outputting wrong content when user was empty
- [#MODX-2263] Fixed IE issue with dropdowns as TVs
- [#MODX-2183] Autotag values are now alphabetically sorted
- [#MODX-2240] Site - Preview now dynamically previews current editing context
- Fixed invalid login issue that prevented OnUserNotFound from firing on mgr login screen
- [#MODX-2238] Fixed bugs regarding parent constraint and default template
- [#MODX-2234] Fixed issue when drag/dropping a Resource into the parent field
- [#MODX-2226] Fixed bugs with date output filter not behaving as expected
- [#MODX-2184] Fixed issue where context was not respected in MODx.Browser instances, fixed bugs when specifying paths outside MODX_BASE_PATH
- [#MODX-2236] Added sanity check to modTemplateVar::getRenderDirectories with custom dirs
- Added modResource::joinGroup
- Added helper JS function MODx.hideTV to modext
- [#MODX-2233] Fixed issue where qtip was not showing on Elements in a Category
- [#MODX-2203] Fixed issue where root of file tree was not accessible after navigating away
- [#MODX-2192], [#MODX-2232] Fixed issues with settings and their translations, names in the Settings grids
- Adjustments and optimizations to menus/actions processors and js
- [#MODX-2231] Fixed issue where saving translated properties would overwrite key with translation
- [#MODX-2220] Fixed bug where save_user was needed to change profile
- [#MODX-2213] Always include english lexicon when loading a lexicon to act as a backup translation
- [#MODX-2210] Added strip for xss in manager a variable
- [#MODX-2205] Fixed issue with saving resources with resource fields having html and unescaped content
- [#MODX-2198] Fixed directory checks on context web path for advanced distribution
- [#MODX-2194] Fixed issue with modLexicon::fetch not working if a prefix is set
- Removed SVN commit log from top header now that we're in Git
- Adjusted version to 2.0.1-rc1

MODX Revolution 2.0.0-pl  (LastChangedRevision: 7216, LastChangedDate: 2010-07-21 09:10:12 -0500 (Thu, 21 Jul 2010))
====================================
- [#MODX-2159] Fixed bug where richtext_default was being ignored in Quick Create
- [#MODX-2174] Fixed bug where manager_language was being ignored in Connectors, check for ctx init
- [#MODX-1715] Added reference to setting keymap_save to allow for overriding of save shortcut key
- [#MODX-2008] Updated Russian and Japanese translations
- [#MODX-2008] Added in Thai translation
- Fixed typo in filters english lexicon
- [#MODX-2008] Added in French translation, updated German translation
- [#MODX-2173] Fixed issue with IE and package installation wizard
- Fixed setup directory checks for advanced builds
- Fixed incorrect welcome URL in build
- [#MODX-2008] Added in Czech translation
- Configured phpdoc.ini file for SDK build
- Fixed bug in file tree where URL was absolute rather than relative when being drag/dropped
- Added OnFileEditFormPrerender event to allow plugins to fire on file editing form
- [#MODX-2172] Fixed bug where tooltips for stay buttons were behind window
- Sanity checks to tv render directories
- Removed deprecated CSS icon reference
- [#MODX-2169] Fixed bug with TV default values, inheriting and non-linear TV inputs
- [#MODX-2170] Fixed error where element names cannot have less than 3 characters
- [#MODX-2169] Properly handled @INHERIT binding in TV inputs
- [#MODX-2165] Changed 'Remove Package Version' context menu item behavior to allow to show on non-installed versions to allow rollbacks from downloaded but not installed updates
- [#MODX-2164] Fixed issue that might cause random, non-affecting error during package updates
- [#MODX-2008] Added in Japanese translation
- [#MODX-2163] Default settings grid to show only core namespace settings to reduce confusion
- Added autotag TV input widget that grabs tags from a list of the tags so far for all content values for that TV
- [#MODX-2161] Added sanity check for incorrect or invalid filemanager_path values in file tree
- Added missing deleted checkbox on resource panels
- [#MODX-2167] Fixed issue where duplicate button was creating incorrect duplicate name
- [#MODX-2162] Fixed issues with set to default in TV values, reliance on processedValue
- [#MODX-2168] Fixed new user panel issue with missing JS reference
- [#MODX-2160] Fixed bug where config check was running checkPolicy on resources that caused inadvertent missing unavail/error page message
- Some query optimizations in processors
- [#MODX-2159] Ensure richtext_default setting is respected
- Fixed bug where context settings create modal wasnt resetting values
- Added missing tabpanel IDs for various tabpanels across mgr ui
- Fixed bug that was strtolower'ing any strings in tabNew FC rule
- Added grid renderer to FC grid
- Tweaks to general UX, other slight cosmetic fixes
- [#MODX-2156] Fixed unitialized variable in modTemplateVar::renderOutput/renderInput
- [#MODX-2152] Fixed issue where local package dialog wasnt showing after clicking modxcms.com package browser
- [#MODX-2154] Fixed issue where publish_document access permission was being ignored in resource processors
- [#MODX-2149] Fixed issue where Package Management's modal would only once if hidden
- Fixed issues with stay button on resources
- [#MODX-2008] Added Swedish translation
- [#MODX-2148] Fixed image TV thumbnail sizing
- [#MODX-2145] Fixed 'New' context menu text to be easier to translate
- Slight tweaks to CSS for MODx.Browser file thumbs
- [#MODX-2147] Added phpThumb settings for controlling thumbnail output in manager, defaulted zoomcrop to off and force aspect ratio to on, center
- Fixed erroneous change template message
- [#MODX-2143] Fixed filemanager_path implementation so that thumbnails and relative URLs in browsing work with absolute and relative paths as setting
- Removed powered-by text in request headers in AJAX calls
- [#MODX-2143] Fixed issue where if filemanager_path was set differently that URL insertion on TVs or drag/drop was incorrect
- Added urlencode/urldecode to filters
- [#MODX-2132] Remove friendly_url_prefix reference that was causing PHP warnings without breaking makeUrl()
- [#MODX-2142] Fixed issue where translations in settings, properties and permissions were not being translated or falling back to english
- [#MODX-2132] Reverting commit in r7125 due to side issue caused by fix in it
- Hardened security on some file download actions in mgr such as console output, phpinfo, properties export
- Adjusted setup expiry to 15 minutes
- [#MODX-2139] Added message to display if setup has to restart due to timeout
- [#MODX-2140] Fixed welcome page to point to static page rather than atlassian stack
- Update Help URLs to new base url for docs
- Some UI tweaks to lexicon grid, added reset() JS method to MODx.Window for shorter code
- Added in create entry to lexicon management
- Ensure $modx is available in custom TV renders
- [#MODX-2137] Fixed bug in image TV output render
- [#MODX-2138] Fixed textarea bug in system settings
- Allow MODx tags in TV descriptions in input renders, but prevent HTML tags
- Fixed bug where output render type was being ignored
- Ensure tv data isnt sent back in resource update processor, to prevent escaping problems with richtext tvs
- [#MODX-2109] Fixed setup to have upgrade mode not go to editing database/contexts, only advanced upgrade goes there
- Fix object caching bug in modAccessibleObject::_loadCollectionInstance()
- Update xPDO 2.0 to revision 429
- Ensure extended fields can be added to users with none pre-existing
- [#MODX-2131] Fixed other issues with TV values and rendering
- Added ctrl+alt+p key shortcut when updating a Resource to preview it
- Prevent illegal drops of actions to menus, menus to actions, in trees on Actions page
- Slight fixes, tweaks to plugin events grid
- [#MODX-2130] Fixed typos and missing references in mb-based output filters
- [#MODX-2131] Fixed various issues with TV rendering, values, and in multiple contexts
- [#MODX-1404] Make MySQL client version check a warning only for older versions
- [#MODX-1404] Remove MySQL client version check for 5.0.51
- [#MODX-2024] Fix use of %s strftime modifier in modSessionHandler::write()
- [#MODX-2132] Remove friendly_url_prefix reference that was causing PHP warnings
- [#MODX-2107] Fix errors with friendly alias slug generation with certain multi-byte characters
- [#MODX-2114] Fix Error Caching Resource log message when site unavailable or other transient Resources are constructed
- [#MODX-2129] Added missing Resource events
- Fixes to Messages page/grid
- Added optimize database button on database tables grid
- Fixed reference bug in resource/update processor
- Improvements to Users grid to dim inactive users
- Fixed a few bugs with MODx.Browser and file tree
- [#MODX-2127] Added message to Package Management if cURL or Sockets is not installed that prompts user to do so
- Added ability to send warning/error messages to all MODx.* grids/trees
- [#MODX-2128] Fixed MODx.Browser in RTE mode
- Added modManagerRequest::addLangTopic,setLangTopics,getLangTopics assistance methods
- [#MODX-2125] Various fixes for manager log page
- [#MODX-2023] Added sanity checks for settings caches in setup, ensure settings caches are removed post-setup
- [#MODX-2064] Ensure Action combos in System Actions page are reloaded when an action is updated/created/removed
- Fixed invalid validation rule on element classes
- [#MODX-2091] Ensure duplicate maintains published status
- [#MODX-2123] Added workaround for IE with Quick Update Resource window
- Modified validation on modChunk, modPlugin, modSnippet, and modTemplateVar to allow spaces within a name
- [#MODX-2052] Fixed bug with loading multiple MODx.Browser instances in non-file management circumstances
- Updated duplicate processors to check validation, return more informative messages, sanity checks
- Removed duplicate days keys in lexicon
- Fixed issues when TV render directories are overridden
- [#MODX-2115] Fixed issue with phpthumb reference and capitalization, and when base_url is /
- [#MODX-2113] Fixed CTRL+SHIFT+H shortcut for hiding left nav
- Fixed bug in ORM tree relating to adding root nodes when subnode was selected
- Added ability to add/remove attributes and containers to UI ORM trees, specifically in User extended and remote data
- Added UI for editing extended User Profile data
- [#MODX-2116] Fixed bug in depth search in modX::sanitize
- [#MODX-1150] Changing class_key for a Resource now reloads the page to change editing area
- [#MODX-2077] Config check screen in welcome panel now is same width as other panels
- [#MODX-1648] Lexicon Management now loads by default the current manager_language
- [#MODX-1743] Package update now shows status alert when package is already up to date, rather than an error
- [#MODX-2119] Fixed bug in IE where onunload was firing regardless, preventing moving off page seamlessly
- [#MODX-2112] Fixed bug where admin password reset was not working
- [#MODX-2111] Fixed bug where language settings were not set after running setup in another language
- [#MODX-2110] Fixed bug where resource fields were not being updated on update, causing publishedon errors
- Adjusted version for pl development

MODX Revolution 2.0.0-rc-3 (LastChangedRevision: 7083, LastChangedDate: 2010-07-07 12:20:55 -0500 (Wed, 07 Jul 2010))
====================================
- Updated German translation
- Fixed bug with new installs and base template name
- Fixed UI issue with Namespace path being unwantingly translated
- Upped timeout on setup settings cache to 10 minutes; was far too short
- [#MODX-2040] Fixed bug with setProperties and merge argument
- Slight tweaks to phpthumb default config
- Added sanity check when using multiple TV render directories
- [#MODX-2100] Fixed content type creation for binary type bug, bug in build with regards to content types
- Added flag to setup to fix proceeding error after install
- Fixed setup to return setup process to very beginning when settings timeout, avoiding various errors about classes not being found
- Added modx-tv-checkbox class to resource TV checkboxes for easier DOM manip
- Added showCheckbox setting for resource TVs display to allow for extensibility and TV targeting
- Added phpThumb specific settings
- Added OnResourceTVFormRender event for affecting TV displays on resources
- [#MODX-2104] Auto-detect correct value and set use_multibyte on new installs
- [#MODX-2104] Added 'use_multibyte' setting that allows for use of mb_* functions for multibyte characters; fixes bug with MB chars in output filters
- [#MODX-2019] Added default Element policy
- Fixed issue with Ext.form.BasicForm and prior commit, adjust else/if condition
- Added headers check to all Ajax requests to connectors to require unique site ID header to harden security
- Added modx-content-above and modx-content-below divs for RTE usage
- [#MODX-2008] Updated Russian translation
- Enabled RTEs to be used on TV default value field
- Added which_element_editor setting, which allows for usage of multiple RTEs for Elements vs Resources
- Fixed bug with custom_resource_classes setting implementation on blank values
- [#MODX-2094] Enabled Packages to be able to have their Provider changed
- [#MODX-1809] Added manager_time_format to allow changing of time formats in mgr widgets
- Added extra var to pass revo version in transport provider requests; helps with download metrics and version checking
- Optimized package grid by moving menus to JS
- Fixed issue where manager_language setting was being ignored in mgr connectors
- Enhance security on language string loader
- [#MODX-1834] Adjusted color on Yes/No on packages grid to more reflect intent
- Readjust JS firing timing for Elements to prevent RTE timing errors in faster browsers
- [#MODX-2090] Added auto_check_pkg_updates_cache_expire setting, which caches package update checks in Package Management to speed up grid load times
- Ensure Resource pages using RTEs always have save btn enabled
- Fixes to RTE loading in Element panes, other issues regarding timing of plugin firing
- Fixed bug with area listings in combo in system settings
- [#MODX-1961] Fixed bug with octal perms when creating directories in the admin
- [#MODX-1527] Fixed bugs in admin confirm password field on install
- Fixed Package Management in IE8
- Styling improvements
- Fixed IE issue on navbar, few other tweaks to package management for IE
- [#MODX-2032] Fixed topic varchar length issue with UTF-8 installs
- [#MODX-1612] Added Create Menu context menu on root node for menus tree
- [#MODX-2020] Ensure error when creating duplicate context ACLs shows
- Tweaks to Package Management browser JS to allow for more consistent rendering
- [#MODX-2051] Stripped tags from TV description field on input rendering
- Added 'custom_resource_classes' setting, which allows you to specify custom resource types for the resource tree
- Tweaked FC tvMove rule to be more consistent with values of other TV FC rules
- Allow blank names (not keys) in Settings create/update windows; tweaks to query in package management grid
- [#MODX-1737] Container resources can now have names specified on duplicate
- [#MODX-2074] Fixed bug where property descriptions were not i18n-able
- [#MODX-2062] Date TV type now can store time; updated datetime ExtJS xtype to latest version
- [#MODX-2046] Added 'collapse' toggle to left trees, shortened username on top right to allow for small resolutions
- [#MODX-2067] Fixed bug with cleanAlias and a non-existent lexicon string
- [#MODX-2086] Fixed a few bugs in package management styling
- Tweaks to context menu styling
- [#MODX-2078] Context menus now show under cursor
- [#MODX-2083] Fixed bug where setting editedon was returning invalid date
- [#MODX-2061] Fixed erroneous lexicon entry for cache_handler setting description
- [#MODX-2085] Fixed issue with namespace path not being translated on get
- Added ability to activate/deactivate FC rules from context menu
- fieldVisible, fieldLabel, tvVisible, tvMove Form Customization rules now support multiple fields via comma-sep list
- Added functionality to Form Customization to add new Tabs and move TVs to other tabs
- Applied CSS gradient styling to grids, tabs
- [#MODX-2056] Fixed CSS for topmenu, restyled to add contrast and enhanced
- Cleaned up TV display panel, removed TV reload button, extended fields all the way across
- [#MODX-1832] moved "Set to Default" to a fade-in icon
- Prepared code for oncoming feature to move TVs into other tabs
- Removed credits from about pane, consolidated tabs
- Fixed permissions checks on resource tree context menu when policies are limited
- Added prefix filtering to modLexicon::fetch
- Added modTemplateVar::getDisplayParams for easier fetching of display_params for a TV
- Fixed bug with custom TV render paths
- Added phpThumb to core, added connector for secure access, integrated into MODx.Browser
- Ensure categories in TV panel are sorted alphanumerically
- Added stripString, cdata, replace, fuzzydate and ago output filters
- [#MODX-2045] Added ExtJS, Smarty, PHPMailer, MagpieRSS version into System info
- [#MODX-2057] Fixed bugs with action/menu trees
- Fixed bug with is_writable check in setup; was checking core/config rather than just core/config/config.inc.php
- [#MODX-2042] Fixed extra beginning slash for image/file TVs
- Add validation to processors for Chunks, Plugins, Snippets, and Template Variables
- [#MODX-1998] Disallow reserved Template Variable names (i.e. Resource field names)
- [#MODX-2033] Fix bug with unchecking Template Variable access when editing a Template
- Have modX::switchContext() update placeholders from config on successful switch
- [#MODX-1774] Remove redundant setting of placeholders from modX::$config in modRequest::handleRequest()
- [#MODX-2031] Fix modX::stripTags() and modX::sanitize() to properly strip nested element tags
- [#MODX-2027] Added icon to file tree to show MODx Browser, for a different view on file management
- [#MODX-1924] Made more precise the cursor pointer change on buttons in mgr
- [#MODX-1904] Fixed bug with phx placeholders in modTranslate095 class
- [#MODX-1535] Fixed bug with transparent background for grid-based comboboxes
- [#MODX-1904] Fixed bug with phx placeholders in modParser095 class
- [#MODX-1936] Lexicons now fallback to English if no translation is found for specified language
- [#MODX-1781] Fixed z-index issue with top nav and window masks
- [#MODX-217] Added create element type icons for Element tree
- [#MODX-217] Added directory create icon to file tree toolbar, changed upload files button to icon
- [#MODX-2022] Fixed bug regarding php file permissions and writable checks
- Fixed bugs related to loading of RTEs for TVs in derivative resource classes
- Enhanced image TV to show preview of image, adjusted to display below
- [#MODX-2015] Added sanity check to prevent users from dragging Resources to a non-existent context
- [#MODX-2013] Fixed bug where hiding fields with Form Customization would disable them from being sent
- Fixed bugs with System Settings grid due to erroneous merge in UI styling
- [#MODX-2012] Made Form Customization grid sortable
- [#MODX-2011] Fixed MODx.grid.Grid::getSelectedAsList to work in Fx,IE
- Added more sophisticated check for writable directories in setup to ensure compatibility across environments
- Fixed bug where manager_language setting was ignored
- [#MODX-2007] Redirect to requested mgr page when logging in
- Adjusted version for RC-3 development

MODX Revolution 2.0.0-rc-2 (LastChangedRevision: 6924, LastChangedDate: 2010-05-27 15:56:51 -0500 (Thu, 27 May 2010))
====================================
- Fixed copy-prepared-css command in build.xml to prepare for rc-2 release
- Adjusted welcome screen URL to go to a non-release specific confluence page
- [#MODX-2000] Fixed FC rule to apply to template fields by overriding in controller
- [#MODX-2000] Add ability to specify a template in REQUEST or alter via plugin in resource/create controller
- [#MODX-2004] Allow settings to be duplicated when duplicating a context
- Added missing OnUserBeforeRemove event
- [#MODX-1797] Fix bug with publishedby field getting updated unintentionally
- [#MODX-1919], [#XPDO-52] Update xPDO to revision 425 for fix to xPDOManager::createObjectContainer()
- [#MODX-1918], [#MODX-1919] Improve error reporting in database setup steps
- Made default click behavior for Files in file tree be to edit
- [#MODX-1995] Fixed issues regarding sending password via email with new users
- [#MODX-1549] Preserve file tree state
- [#MODX-1810] Gender now saves correctly in user panel
- [#MODX-1635] Redirect to Users grid after creating a new user
- Fixed bug with import properties
- [#MODX-1971] Allow ./- in Context key names, but not as first character
- [#MODX-1997] Added ability to duplicate and set inactive/active Form Customization Rules, batch actions to Rule grid
- Cleaned up profile editing page
- Cleaned up style for headers on welcome page
- Reworked System Info page, cleaned up styling, display, info
- Added batch actions to Users grid
- Fixed bugs with removing directories in file tree
- [#MODX-1996] Fixed missing create/update settings windows
- Allow for separate paths on derivative resource types based on a [classkey]_delegate_path setting that points to their controllers, added checks to prevent path mapping
- Prevent deferred render on left nav trees, to prevent loading errors for js hooks
- Fixed bugs with MODx.grid.encodeModified/encode, plugin event saving
- Added loadCreateMenus JS event to modx-resource-tree modext widget
- Refactored js lang loading to allow for dynamic modification of strings
- [#MODX-1993] Moved config.inc.tpl to core/docs to prevent confusion
- Added description below TV rows in Resource edit
- [#MODX-1853] Fixed issue where reload button was above MODx.Browser in TV pane
- Switched Quick Create/Update Resource description field to more-used introtext field
- [#MODX-1992] Fixed error in modSnippet preventing multiple executions per request
- [#MODX-1983] Clarified package uninstall option message
- [#MODX-1982] Fixed broken cancel button on Package View page
- [#MODX-1989] Fixed incorrect var reference in getfiles processor
- Added extra pagination to dropdowns in mgr that might have large #s of records to add usability for large sites
- Fixed all Elements including Template Variables to properly respect modAccessCategory ACLs.
- Allow base-level Element Category ACL assignments
- Fixed some issues with Settings grid and lexicons, key not being displayed, etc
- [#MODX-1940] Resized lexicon grid toolbar to fit better in smaller resolutions;
- [#MODX-1950] Adjusted permissions to allow proper listing of Elements; checks 'list' policy on Element now rather than view_[element]
- [#MODX-1975] Added warning messages for PHP 5.2.0 and 5.1.6 versions in setup asking that users upgrade to 5.3.0+; will still allow installs, however, if the user has those versions
- [#MODX-1967] Added warning to setup for people who are using PHP 5.3.0+ and dont have date.timezone set
- Added proper permission checks to Elements/Categories across processors/controllers
- Added UX for managing Element Category access for User Groups
- Add modAccessCategory to allow context-specific security policies on modCategory as well as any modElement via the related modCategory; includes policy inheritance to sub-categories
- Add modCategoryClosure table class to allow for easy recursive queries on modCategory
- Fixed bug caused by JS/CSS optimizations that would break left nav when too many resources were loaded
- Fixed bug where access contexts for admin user were being duplicated on upgrades
- Added extra options to attaching with modPhpMailer; fixed bug in phpmailer that caused E_DEPRECATED errors
- [#MODX-1912] Added manager logging to file/directory actions
- [#MODX-1912] Added file/directory specific permissions to allow more fine-grained security on using the file manager
- [#MODX-1972] Added OnTVInputRenderList, OnTVOutputRenderList, and OnTVOutputRenderPropertiesList System Events to allow you to return a path to specify where to look for custom TV files
- Allow separate caching directories for smarty when using different manager themes
- [#MODX-1951] Ensure smarty cache is cleared on site cache clearing and settings
- Ensure admin ACLs are set on new installs
- Added check to modResource::stripAlias to make sure modX object is a modX instance
- Added basic template and default home resource to new installs
- Added load-only and load,list and view policies to build, adjusted setup to handle admin/resource policies with different IDs
- Moved setup's global new/upgrade install scripts to separate files
- MODExt adjustments; main layout now in central viewport so can handle browser resizing, refactored settings grid editing code, IE/FF/Chrome fixes
- [#MODX-1970] Add scheme property to Link Tags to allow canonical, https, or any URL generation scheme from modX::makeUrl()
- Fixed bug where core namespace was not in build
- Update xPDO to revision 424 for fixes related to PDOException reporting
- Ensure packages are unpacked after downloading
- Fixed bug with removing a plugin
- Added System Setting, 'cache_noncore_lexicon_topics', which can be used to disable caching on noncore lexicon topics, which is useful for 3PC development.
- Deprecated modPackageBuilder::buildLexicon
- Completely refactored the Lexicon system to now do file-based Lexicon Entries only. DB entries are only for overrides. This allows for proper overriding of
core lexicon entries, caches faster, and allows for much easier 3PC development.
- [#MODX-1783] Fixed unnecessary scrollbar bug by removing unnecessary margin on body/html tags
- Slight spacing tweaks to main layout to make layout feel more open
- [#MODX-1806] Improvements to messages section
- [#MODX-1913] Fixed incorrect wording on setup complete page
- Tweaked launching of layout panel to add consistency across browsers
- [#MODX-1835] Fixed error on Windows platforms when an extension_packages path contains a colon (:)
- Added ORM editing formpanel object for editing v/p editing pairs, used now on modUser remote data form
- Added panel for viewing remote data on a user
- Added 'lexicon' field to modAccessPolicy to enable translations of descriptions of Permissions
- Added extended field to modUserProfile to handle a majority of basic extended user profile storage/retrieval needs
- Added 'lexicon' field to Element properties to enable automatic translating of property descriptions and option names
- Fixed parent/context_key reference issue when creating resource from context tree node
- Tweaks to index.css for default mgr theme to correct styling issues in webkit browsers due to ExtJS upgrade
- Fixed deprecated references to removed images in default mgr template css that was causing 404s
- [#MODX-1911] Allow for drag/drop reorganizing of categories in the Element tree
- [#MODX-1892] Various fixes to TV-Template relationship grids
- [#MODX-1895] Added sanity check for windows systems with file names in file browser
- [#MODX-1908] Corrected logic flaw in modManagerResponse that prevented smarty templatePath from being set for CMPs
- Optimized loading for System Settings grid
- Updated ExtJS to 3.2.1
- Add remote_key and remote_data to modUser
- [#MODX-1898] Fix static calls to modX::fromJSON() and modX::toJSON() instance methods (xPDO updated to revision 421)
- Pushed File tree nodes' context menus to JS layer, added Upload Files button to tree toolbar
- Pushed Element tree nodes' context menus to JS layer, similar to Resource Tree optimizations
- [#MODX-1897] Fix Date TemplateVar web output render error in PHP 5.3 due to use of ereg()
- Fixed bug with Quick Update caused by new resource tree js changes
- [#MODX-1848] Allowed parent selector to select contexts as the parent in Resource page
- Pushed Resource tree nodes' context menus to the JS layer, massively decreasing the size of the JSON tree sent in the getNodes processor, vast speeding up tree functionality
- Made publish/unpublish/delete/undelete actions on the tree only change the class of the node, rather than refreshing the node, speeding up workflow
- Pushed modX::getService to xPDO layer
- [#MODX-1873] Ensure setup redirects use full URL in header
- [#MODX-1887] Adjust default widths for main layout to render panels more consistently
- Optimized modX::getChunk() and modX::runSnippet() by caching instances within a request to modX::$sourceCache
- Modified modX::setDebug(true) to set error_reporting(-1)
- Optimized modLexicon::loadCache
- [#MODX-1824] Fixed bug where duplicate wasnt fully duping resources
- Moved Resource's duplicate method into the model, via modResource::duplicate
- [#MODX-1868] tree_root_id now accepts a comma-delimited list of Resource IDs to restrict by. Works across contexts as well.
- [#MODX-1871] Fixed bug with delimiter TV output render
- Dropped unnecessary ID field on modEvent table and made `name` column PK
- Refactored modX::invokeEvent and modX::getEventMap to take advantage of new plugin event changes
- Adjusted the modPluginEvent model to reference the event name rather than id
- Added new model-based System Events to work more effectively in any context
- Removed deprecated system events
- Added tree_root_id setting that allows you to specify the start parent ID of the left Resource tree
- Fixed bug where User Settings could not be removed
- Enabled ability to set absolute path and placeholders for filemanager_path and rb_base_dir
- [#MODX-1791] modPackageBuilder::createPackage now forces lowercase package name to be more compatible across environments
- Sanity checks to prevent user from accidentally removing admin/resource access policies
- [#MODX-1860] Fixed bug where new password was being hidden too fast when changing user password
- Added proxy support to modRestCurlClient for Package Management
- Added a couple refactorings to modRestSockClient to prevent possible errors
- Consolidated user group create system events into one event, OnUserGroupCreate
- Fixed some various plugin event calls
- Fixed Plugin Event code to restrict groupname to a UI filter only, not in event caching; adjusted UI grid to support groupname in display
- Refactored file handling processors to use modFileHandler class with modFile and modDirectory derivative classes to abstract file system processing to abstract for multiple environments
- [#MODX-1789] Added extra checks in Package Management to make sure that the correct directories are created before using it. Will now prevent usage of PM if those directories do not exist or are not writable.
- [#MODX-1789] Added code to attempt to create core/components and assets/components after install. If fails, displays a notice to user to manually create them themselves to allow Package Management to work properly.
- [#MODX-1839] Fixed grammatical error in forgot login link on login page
- [#MODX-1846] Fixed invalid markup for username in top right
- [#MODX-1854] Fixed invalid references to cultureKey that broke cultureKey setting effectiveness
- [#MODX-1785] Fixed invalid password variable reference in invoke notfound event in login processor
- [#MODX-1784] Fixed invalid event call on user update, as well as added event invoking into updatefromgrid processor
- [#MODX-1836] Set default context_key in modResource objects to 'web'
- Fixed bug with system info page and active users that would cause error in error log
- [#MODX-1788] File tree now respects filemanager_path setting. Also cleaned up file browsing processors.
- Upgraded ExtJS to version 3.2
- Updated version to 2.0.0-rc-2 for svn development and issue tracking
- [#MODX-1778] Fixed error that shows up if E_NOTICE set to true in setup/ index due to servers not posting a HTTPS server global

MODX Revolution 2.0.0-rc-1 (LastChangedRevision: 6614, LastChangedDate: 2010-03-22 16:41:04 -0500 (Mon, 22 Mar 2010))
====================================
- Prepared for rc1 release
- Fixed CSS compression copying in build.xml
- Fixed regClient*() functions to work again on cacheable scripts
- Move element source and include cache files outside of context cache directories since they should be cleared only when elements are updated
- Remove eval() from modScript and re-enable remote debugging of modScript instances by caching function as include in addition to source cache
- [#MODX-1759] Ensure manager log fires on top menu deletion
- [#MODX-1772] Ensure array of IDs is passed to OnBeforeEmptyTrash and OnEmptyTrash plugin events
- Added a welcome screen to show on first login to manager
- [#MODX-1738] Fixed issue with default value on radio TVs
- [#MODX-1741] Fixing inconsistent widths for radio options by making them list vertically rather than horizontally
- [#MODX-1769] Lexicon grid search now searches name and value
- [#MODX-877] Updated confusing text on TV access permissions tab
- [#MODX-1766] Fixed PHP_SAPI issue to properly work by setting a default value on setup to provide a default http_host value to  properly populate the site_url
- Fixed bug in setup that didn't catch processors_path in prior configs
- [#MODX-1759] Fixed bugs with manager log not storing correct PK values, or displaying missing keys in grid
- [#MODX-1766] Fixed config.inc.tpl to work with non-httpd SAPI's
- Added title/info for the Reports->System Info->Database page. This is return fixed the CSS styling issue as well.
- Fixed CSS Styling on Recent Documents. 5px padding was removed.
- Fixed bugs with modMail class and default attributes that prevented attributes from persisting after a reset()
- Removing deprecated RTE handler code
- [#MODX-1762] Increased file uploader window size for translations
- Dont render unnecessary tabs in Resource TV panel if no TVs assigned to Template for that Resource
- Sort Template Variables on the Template editing page by name
- Ensure Element Properties that have HTML in them show markup instead of rendering the html in editing mode in mgr ui
- [#MODX-1669] Redid File Uploader in Directory tree to be more cross-browser compatible
- Cleaned up and enhanced login CSS
- Standardizing and adding class constants to modRest* classes
- Updated copyright data in lexicon entries
- Fixes to build.xml, css compression command
- Updated copyright dates
- [#MODX-1750] Lots of procedural and reference fixes to Lexicon grid UI
- Cleaned up presentation of modAction records in mgr
- Added a fix to tree refreshParentNode; enhanced modUserGroup::getUsersIn()
- Added saving mask to Element Property grid to fire when saving the property set
- Removed deprecated file reference in login template
- Added System Settings to toggle news/security feeds in welcome panel
- Added System Setting to toggle on automatic checking of package updates in Package Management
- [#MODX-1751] Fixed erroneous reference in friendly alias setting description
- [#MODX-1752] Fixed bug where topmenu items without children didnt show even if they had an action
- Some css tweaks to login page
- Updated to xPDO 2.0.0 r419 to fix xPDOVehicle bug
- Fixed bug with Download Output button in MODx.Console
- Ensure forgot login activation email is HTML
- Added Forgot Login link and form to manager, sends an activation email to specified email if user forgot login/password
- Fixed SQL sorting algorithm for package versions, added helper methods for comparing package versions
- Added $resource to properties passed to OnDocFormDelete in resource/delete processor
- Updated to xPDO 2.0.0 r417 ([#XPDO-40] Fixed getCount to work when passing a criteria with a class alias set)
- Enhanced striptags output filter to take a parameter of allowed tags
- Make sure $paths and $options are passed to OnCacheUpdate
- Added compression/concat references to login and browser tpls
- Fixed build.local.xml and build.xml scripts
- Added compress_css system setting for compressed CSS for releases, moved over modx-theme.css to templates css/ dir. Don't use compress_css without first running _build/build.local.xml Ant task.
- Cleaned up leftover PHP4 function definitions, unescaped SQL code, added proper accessor methods for private vars, other old code
- Fixed bug with modLexiconLanguage::clearCache
- [#MODX-1738] Fixed issue with FC TV rules not working as expected on Resource Update
- Fixed bug where plugin event properties were getting merged if more than one plugin was associated with the event
- Added loading mask to editing panels to prevent accidental editing before data is loaded
- Added sanity check for OnRichTextBrowserInit event processing
- Added fix for RTE loading in Resource panel, should fix most RTE saving bugs
- Added collapsibility to Document panel
- Added 'concat_js' system setting that will concat all the common JS files into one single file
- Adjusted lang.js.php to properly use ETag header to cache lang js
- Added css rule to prevent hidden iframes from being shown
- Fixed bug where Resource Groups were not editable on Create Resource
- Added sanity check for packages with missing provider
- Added "Updates Available" column to packages grid, auto-checks provider for updates
- [#MODX-1732] Added duplicate language ability to language grid
- [#MODX-1741] Fixed possible bug with radio/cb tv labels
- [#MODX-1593] Fixed bug where User could not be added with no role in User Groups tree
- [#MODX-1735] Properly URL encode link tags while still preserving = and &amp; in query string
- [#MODX-1736] Fixed bug with assigning TVs to Resource Groups
- [#MODX-1740] Added workaround for SQL code to properly hide TVs with FC rules
- [#MODX-1738] Fixed bug with radiogroups and set TV default FC rule
- Fixed some header issues, _FILES content type handling
- [#MODX-1733] Fixed bug that was stripping tags from connector processing
- Ensured that Static Resource filename change fires dirty status
- Made sure Set to Default fires dirty status for Resource panel
- Fixed possible width stretching bug in TV panel in Resource edit view
- [#MODX-1543] Added "Rename Category" to category nodes in element subnodes in Element Tree
- [#MODX-933] Can now drag/drop Elements into Categories in the Element Tree to assign them to Categories
- [#MODX-1729] Fixed incorrect filter name to be more appropriate to function
- [#MODX-1727] Added missing Empty Cache checkbox to derivative resource panels
- [#MODX-1724] Fixed bug with output renders in TV panel not triggering panel dirty status
- [#MODX-1730] Fixed bug with $scriptProperties and login processor
- Some cleanups to MODExt flow and ID referencing
- Changed all GPC references in processors to $scriptProperties, which is loaded at entrance points to processors with GPC vars, pushing input handling to the connector
- [#MODX-1711] Fixed bug with strip output filter
- Added ellipsis output filter
- Fixed various event callings across JS implementation to properly modularize modext components
- Added events to user's groups grid to ensure dirty firing
- Added MODx.FormPanel::markDirty
- Added in CSS tweaks to accommodate Opera 10.5
- Fixed bug with users grid if access permissions tab is removed
- Fixed deprecated method definitions in modConnector classes
- Fixed text in language settings to more accurately reflect function
- Added area filter to Settings grid
- [#MODX-1721] Disabled unnecessary paging on System Events table
- [#MODX-1726] Added sanity check to ensure TV input type is properly set
- Fixed bug with action buttons and continue stay method
- Added UI for managing website field in modUserProfile
- Added website field to modUserProfile
- Removed unnecessary and problematic editor dropdown in chunk editing screen
- Sped up drag/drop of reordering in tree by now only framing moved nodes instead of refreshing
- Added modRequest::getParameters() method for retrieving various GPC variables or arrays of variables; automatically strips MODx GET parameters as necessary
- modRequest::__construct() now creates references to all GPC variables in modRequest::$parameters
- Modified modX::makeUrl()/modContext::makeUrl() to accept query string parameters as an array or string
- Added modX::toQueryString() static method to turn associative array into a valid query string
- [#MODX-1709] Fixed issue with encoding of action button parameter
- [#MODX-1554] Prevented uploading of files to files themselves in directory tree
- [#MODX-1700] Fixed issue with text referencing setting in lexicon entry
- Ensure tags in a Static Resource content are parsed before trying to load the source path
- Fixed static/weblink update js
- Removed unnecessary and redundant table prefix check later on in setup
- Fixed css/js properties in TV tab to let RTEs auto-determine the height of their TD fields
- Fixed missing permissions reference on resource controllers
- Added OnHandleRequest to modManagerRequest::handleRequest
- Properly hides UI elements for Resource buttons/pages if user doesnt have permissions
- Refactored modResource::cleanAlias() to allow various options, including built-in and custom transliteration capabilities
- [#MODX-717] Foreign characters (UTF8 data) needlessly removed from alias
- Hide top menu items if there are no submenus and if the topmenu is not clickable
- [#MODX-1690] Fixed text for confirmation dialog when removing an Element to include name and type of Element
- [#MODX-1707] Added mail_charset and mail_encoding system settings to control charset and encoding in emails
- [#MODX-1706] Ensure that text and qtip fields in Resource/Element trees have any tags stripped
- [#MODX-1699] Fixed bug in Quick Edit TV where it would erase the caption and replace it with the name
- [#MODX-1704] Fixed erroneous if statement in clear button hiding in error log panel
- [#MODX-1675] Added fix for windows paths on Edit File panel
- [#MODX-1681] Added checks for issue with importing lexicon in Webkit-based browsers
- Cleanups to TV input widths
- Removing core RTE; too much work, may take back up in a later version
- [#MODX-1697] Added ability to edit images and links in RTE
- Added more robust MODx.rte.Selection API
- Added missing changes to modActions needed to load lexicon entries for RTE
- [#MODX-1662] Fixed mismatch in menus widget field label
- [#MODX-1687] Fixed bugs in template package browser due to changes in modx.view.js
- Made resource panel be a fileUpload-able panel for plugins
- [#MODX-1357] Added richtext_default system setting
- [#MODX-1685] Added MODxEditor, a core Ext-based RTE to be the default RTE for Revolution
- [#MODX-1674] Stabilized MODx.Browser to work with core RTE
- - Added missing registry.db.modDbRegister* classes to setup
- [#MODX-1642] Logging out doesn't unlock resources: added modUser::removeLocks() and modified modUser::endSession() to call this method
- Added OnInitCulture event to core transport data.
- [#MODX-1672] Refactor collation/connection processors in setup to be more stable
- Updated xPDO to r414 for improvements in xPDOManager
- modInstall::writeConfig() uses new_file_permissions if specified or umask() settings by default
- Removed superfluous calls to xPDO/modX::setDebug() and xPDO/modX::setLogLevel() in modInstall
- modInstall::getConnection() now uses utf8_general_ci for charset/collation by default
- [#MODX-1691] Set Quick Create/Update windows to use anchor property rather than width to adjust for resizing
- Added 'cultureKey' setting to enable easier language translation in contexts/fe/components
- Fixes to styling for MODx.Browser window
- Added 'relativeUrl' parameter to MODx.Browser file data
- [#MODX-1674] Fixes and stabilization to MODx.Browser, specifically when used by RTEs
- Changing default editor from TinyMCE to blank value
- Fixed bug in setup where inplace setting was being forced to 1
- Cleaned up most processors, fixed wrong permission references, standardized code
- Fixed welcome panel to only show panels with permission to see
- Fixed error log view page to restrict viewing and clearing by permission
- Added descriptive information to Roles grid
- Lots of permissions fixes, other bugfixes and sanity checks to Element processors/controllers
- Added propertyset permissions
- Cleanups to Resource controllers, processors, optimizing of security permission checks
- Fixed various bugs with search page
- Fixed bug with adding policies that prevented partial regexp matches in name
- Fixed bugs when adding new policies or permissions that showed prior added perm/policy in form
- Properly secured and refactored recently edited resources grid
- [#MODX-1670] Adjusted permissions to allow restricted user to edit profile
- [#MODX-1667] Removed unnecessary opacity CSS rule in menus
- Fixed bug where page wasnt reloading on login in certain situations
- Make rightlogin div longer to support longer translations
- [#MODX-1653] Fixed issues with related objects, removal of aggregates, and other packaging bugs. Introduced xPDOTransport::UNINSTALL_OBJECT, which defaults to true. When off, it will prevent an object from being uninstalled.
- Updated xPDO to r413
- [#MODX-761] Fixed language issue in setup, now sets it correctly and loads proper lexicon for login screen
- Ensure console window appears above other windows
- [#MODX-1663] Added MODx.msg.status, which shows a fading status message on a successful save. This also solves the issue of user feedback.
- Removed unnecessary field from recently-edited-resource grid on welcome screen
- [#MODX-1660], [#MODX-1037] Revamped login screen to HTML/CSS, basic form processing to allow browsers to save password in their password management systems
- Revamped UI in new setup options, cleared up text, simplified presented options
- [#MODX-18] Allow editing of MODX_CONFIG_KEY in setup welcome view
- [#MODX-18] Prompt user for MODX_CORE_PATH if not found at beginning of setup
- [#MODX-760], [#MODX-1080], [#MODX-1528] Added setup option to set new_file_permissions and new_folder_permissions in welcome view
- [#MODX-760], [#MODX-1528] Removed new_file_permissions and new_folder_permissions system settings from setup
- [#MODX-760], [#MODX-1528] Updated xPDO 2.0 to revision 407: new file and folder permissions determined from umask()
- [#MODX-878] Stay buttons now action-specific, done through Ext state rather than PHP
- Redo logic order of modPackageBuilder::buildLexicon to ensure languages are packaged in before topics
- [#MODX-1647] Added width specification to force width of screen to prevent scrolling off of RTE TVs
- Cleaned up tvTitle Form Customization rule by moving code from JS to PHP
- Fixed z-index issue for windows due to IE fix
- [#MODX-732] Added z-index force to topmenu for IE, fixed rightlogin div on topbar for IE
- [#MODX-1641] Optimized and cleaned code dealing with Form Customization TV visibility and default values
- [#MODX-1658] Fixed bug where placing a menu item in a submenu would place it in top level
- [#MODX-1624] Enabled changing of text field in menu items
- [#MODX-1656], [#MODX-1654] Fixed CSS gap in install summary in setup
- [#MODX-1655] Fixed hardcoded lexicon strings in setup
- [#MODX-1621] Remove unnecessary context menu items from items in Resource Group Resources tree
- [#MODX-1627] Fixed incorrect menu in resource group tree resources when newly dragged
- [#MODX-1599] Added manager_date_format system setting for customizing date formats for the manager
- [#MODX-1651] Increasing width of setup navbar buttons to accommodate translations
- [#MODX-1649] Fixed bug where Quick Create didn't respect default_template setting
- [#MODX-1650] Fixed bug with language specification in setup to properly set cookie for Windows machines, and set initial language properly
- [#MODX-1626] Fixed bug where top menus could not have actions
- [#MODX-1494] Fixed issue where some settings dont have descriptions, and cleaned up deprecated settings
- [#MODX-1645] Fixed incorrect lexicon key for setting_site_start_err
- [#MODX-1646] Fixed issue where download buttons were staying grayed out if there was an error message
- [#MODX-1644] Added SMTP mail settings to default system settings to allow global SMTP usage for all modMail functions
- [#MODX-1606] Fixed bug in modRestCurlClient class due to encoded ampersand
- [#MODX-197] Refactored Action Buttons JS, added 'actionNew', 'actionContinue', and 'actionClose' events to MODx.FormPanel objects, ensured parent/context_key is persisted through add another resources
- Added a couple sanity checks to modRestCurlClient
- Added JS to disable install button when clicked in setup to prevent double-clicks
- controllers/resources/create: Refactored template inheritance to occur before any delegate controller is called.
- processors/resources/create: Moved OnBeforeDocFormSave event invocation until after POST vars are applied to $resource object.
- processors/resources/create: Refactored common code to be executed before any delegate processor is called.
- processors/resources/create: Refactored to respect add_children and new_document_in_root permissions.
- Added various access_denied lexicons to the resource topic.
- Added new_document_in_root permission to control access to creating Resources at the root level.
- Updated to xPDO 2.0 revision 406.
- [#MODX-1606] Added sanity checks and ID standardization to DOM nodes for Package Browser
- Fixed possible bug with ta-toggle div in resource panel
- [#MODX-1628] Fixed FC tvDefault rule by doing setting php-side
- [#MODX-1636] Added ability to assign Role to User when adding them to a User Group from the User Groups tree
- [#MODX-1634] Fixed bug with resource/resourcegroup/getlist processor that prevented showing of resource groups in new resource panels
- [#MODX-1639] Fixed bug where resource panel JS didnt check for existence of possibly hidden access permissions grid
- Fixed modUser::removeSessionContext() to call modUser::endSession() if no contexts are left
- Fixed modUser::endSession() to destroy all SESSION data and the session cookie
- Fixed bug in Plugin -> System Events tab caused by invalid function call in getlist processor
- Fixed problems with various deprecated functions to increase compatibility with Evo and avoid performance issues:
    * modX::getDocuments() and modX::getDocument()
    * modX::getAllChildren()
    * modX::getActiveChildren()
    * modX::getDocumentChildren()
    * modX::getDocumentChildrenTVars()
    * modX::getParent()
    * modX::getPageInfo()
    * modX::getUserInfo()
- Fixed modX::__construct() declaration to indicate it properly as a public method; added phpdoc comments.
- Fixed modX::sanitize() declaration to indicate it properly as a static method.
- Updated to xPDO 2.0 revision 405
- [#MODX-1614] Fixed issue with cached pages going to unauthorized_page instead of error_page when user does not have load permission
- [#MODX-411] Set system setting: emailsender to the admin email address during install
- [#MODX-1556] Show class and id for deleted resources or elements in Manager Action Log
- [#MODX-1552] Create New element Here shows for root elements but not those in categories
- [#MODX-1625] Fixed bugs with menu tree preventing creating child nodes of new items, restyled menu and action icons
- Added preventative to make sure packages are only downloaded once when in Package Browser
- [#MODX-1623] Fixed package installation error: attempting to preserve files fails with error message
- Updated to xPDO 2.0 revision 404
- Setup upgrades no longer preserve existing data/files on install
- Fixed issue with setup trying to write connector files regardless if files are already in place
- Updated to xPDO 2.0 revision 403
- Fixed bug where plugin properties were not being injected into the plugin event call
- [#MODX-1617] Fixed bug with tvDefaultValue Form Customization Rule
- [#MODX-1619] Added sanity check for modActionDom constraint check
- [#MODX-1620] Fixed missing or incorrect lexicon entries across ui
- [#MODX-1612] Fixed bug where Create Menu button was not working
- [#MODX-1616] Renamed "field" to "name" in Form Customization rule windows
- Removed any non-essential JS from the top menu items
- Added additional check and error logging for processor_path option in modX::executeProcessor().
- Added missing view_sysinfo permission to default Administrator policy
- [#MODX-1595] Fixed bug regarding hiding top menu items with permissions
- [#MODX-1596] Fixed bug related to creating a new top menu item
- Fixed issues related to usergroup panels and anonymous usergroup editing
- Fixed bug in template viewer for package browser that wasnt paginating right
- Added modRestServer for generic REST request handling
- Enable remote sorting and sorting by ID on Users grid
- Fixed and enhanced search field on Users grid
- Fixed bug with duplicating a context where only the first level would duplicate
- Updated to xPDO 2.0 revision 396
- Fixed bug where package version info wasnt being computed on download/scanlocal
- Added check for locked status on resources, now shows locked status in tree, as well as who is editing
- [#MODX-1592] Fixed bug with usergroup create by moving it to a window
- [#MODX-1590] Fixed missing processors for ACL grids
- [#MODX-1526] Added permissions resource_tree, element_tree, file_tree that restrict rendering/viewing of the left-side trees. Must be applied to access policies.
- [#MODX-625] Adjusted text in config.inc.php writable warning message
- [#MODX-1586] Fixed toolbar rendering bug in user settings due to hidden div, now using hideMode: offsets
- Added search for user box in usergroup users grid
- Changed User Group users grid to a non-local grid, now supports pagination and proper validation
- Enhanced UI for editing User Group Context/ResourceGroup ACLs
- [#MODX-1525] Added permissions field to modMenu to define policy permissions required to see Top Menu items
- Fixed bug in Packages grid to properly show provider name
- Added modRestResponse class, improved error handling for REST-based package management
- Added verification for Providers, now check to make sure they can connect before being added or updated
- Added Package View page to Package Management, allowing you to view more info about a package, view prior installed versions, and remove older package versions
- Fixed typo in setup script for PM changes
- Added version_major, version_minor, version_patch, release, and release_index fields to modTransportPackage tables to assist sorting and organization
- Fixed bug in transport schema
- [#MODX-1571] Fixed xtype in automatic_alias setting
- [#MODX-1572] Fixed deprecated error in PHPMailer service
- [#MODX-1512] Fixed bug with MODx.tree.Tree::refreshNode that caused a strange duplicate node error
- Updated xPDO to revision 392 to get new nested condition features
- [#MODX-1515] Fixed date picker CSS
- [#MODX-923] Added file path to config.inc.php configcheck message on welcome page
- [#MODX-1579] Added code to prevent invalid characters from being used in admin username/password in setup
- [#MODX-1575] Fixed bug with Resource Group getList processor
- Updated to xPDO 2.0 revision 389
- Added validation to modContext.key field; must be a valid PHP identifier without underscore characters
- Modified modError::checkValidation() to call modError::addField() for each validation message
- [#MODX-1562] Cleaned up Site Schedule grid to properly load baseParams during refresh and adjust pagination
- Cleaned up processor code, plugin invoking, access permission checks in processors
- [#MODX-1562] Fixed bug in Site Schedule data
- Fixed OnDocUnpublished and OnDocPublished calls in processors to pass modResource reference
- [#MODX-1564] Fixed bug causing combo values to get overridden if they were set before the combo store loaded
- Move element and resource prerender plugin events to after js registering to allow for proper event execution order
- [#MODX-986] Added "Duplicate Context" to Resource tree, as well as "Remove Context"
- Fixed bug with default provider on package management UI
- [#MODX-1540] Fixed last login display in Welcome page
- [#MODX-1567] Enabled sorting in Reports -> System Info -> Recently Edited Documents
- [#MODX-1522] Restricted user editing to just the save_user permission
- Added a "reload" button to the error log
- Fixed Active Resources on Reports - System Info
- Fixed database version query in Reports - System Info
- [#MODX-1560] Added a button to truncate manager log
- Added new browsing view for Templates in Package Management; thumbnail-based browsing.
- [#MODX-1534] Revamped file edit page to match other page structures
- [#MODX-1542] Added missing undelete permission to basic Resource policy
- [#MODX-1539] Added view_user permission to solve dropdown combo users bug that needed "edit_user"; view is more applicable there
- [#MODX-1553] Show current permissions in chmod window
- [#MODX-1539] Fixed a few bugs with the manager log page
- [#MODX-1530] Fixed permission reference in resource create/data
- [#MODX-1532] Fixed bug in permissions reference when trying to remove element from property set
- Fixed bug with login page and new controllers location
- Enhanced provider home page to allow links for newest/most downloaded packages
- Added sorting to Access Policy grid, cleaned up getList processors across site
- Fixed Manager Log page to properly display content, log the right class key, and now display the name of the object edited
- Enhanced Property Sets page to now allow you to edit specific implementations of Property Sets per element, as well as the default set
- Added "disabled" checkbox to Quick Update Plugin
- Fixed bug in modManagerResponse dealing with CMPs and templating paths
- Moved controllers/* files to controllers/default/ to allow for custom manager templating
- Fixed bugs with Property Sets not showing correctly in dropdowns
- Updated xPDO to revision 385 to fix cache_db functionality broken by PHP 5 only changes
- [#MODX-1514] Added css for pointer cursor to top menus
- [#MODX-1513] Added check for SimpleXML to installer
- Add sanity check to make sure languages arent erased on package uninstall
- Removed confirm dialog for remove action on Access Permissions grid
- Fixed panel layout for Access Policies, User Group editing
- Fixed E_STRICT warning on modX::getCacheManager() [method signature did not match xPDO::getCacheManager()]

MODX Revolution 2.0.0-beta-5 (LastChangedRevision: 6224, LastChangedDate: 2009-12-15 10:03:36 -0700 (Tue, 15 Dec 2009))
====================================
- Fixed bug where Set to Default on Resource TV panel was hidden unless you clicked Reload
- Fixed some bugs with Property Sets editing
- Fixed bug where download wasnt working for package management due to missing provider
- Fixed bug where quick create Static Resource wasnt loading MODx.Browser
- [#MODX-1496] Fixed issue with scrolling context menus not working on local grids
- Fixed styling in welcome panel
- Shrinking top menu a bit to fit in smaller window resolutions
- Fixed invalid method reference in modInstallTest derivative classes
- Fixed styling and JS in TV pane
- Fixed error with charset reference in setup/
- Clear Search in Package Browser when clicking on a Tag
- Added Search bar to Package Browser, now can search entire repository
- Fixed height of Package Browser to not go too far down screen
- Fixed modRestSockClient to properly strip HTTP headers and return only XML
- Added modStaticResource methods: getSourceFile() and getSourceFileSize()
- Fixed bug in setup/ script with new transport package fields
- Fixed modCacheManager to not cache reg* calls that will cause breakage on similar calls to reg* method
- Added 'package_name' and 'metadata' fields to modTransportPackage for future development
- Fixed styling commits; also fixed bug on Package Management when not selecting default provider
- Added help buttons to Resource pages
- Moved TV categories in Resource edit page to tabpanel, also cleaned up button styling
- Fixed table styling. This is temporary until all tables are ported to ext grids. This affects welcome pane, system info, and online users.
- Fixed bug where package browser would close on ESC key
- [#MODX-1489] Allow spaces in Category names
- [#MODX-1497] Fixed username not being sent in new user email
- Fixed NOT NULL error in modManagerLog
- Revamped Package Management UI, changed Provider hooks to REST-based, massively improved downloading UI
- Fixed styling on the search page.
- Fixed styling on the actions page.
- Fixed styling on the manager logs page.
- Fixed triggerfields in windows in Safari
- Changed the text-size and and top margin of the Main Navbar Submenu span for more readability.
- [#MODX-1426] Added connect check to assist with mysql_get_server_info in setup
- Few style changes: Changed Button style text color to black - Previously it appeared that buttons were disabled. Changed Text color inside of combo boxes to black - As before it looked like the element was disabled.
- Modified the date fields to show a drop-down box rather than the date image. Changed the text-size and spacing of the Main Navbar to 12px.
- Fixed styling of the welcome panels.
- Fixed some issues with OnDocFormSave, plus standardized how to render fields/html to update forms
- Fixed bug with default values, @ bindings and other things on checkbox/radio TVs
- Prevent tree from expanding too much on quick create, cleaned up js
- Assigned user id/username to [[+modx.user.id]] and [[+modx.user.username]] for easier access
- Cleaned up last PHP4 remnants to PHP5-only
- [#MODX-1483] Fixed bug with TV saving in resource create processors
- Recompiled MODx.Console to use Ext.Direct, now should be a bit more stable. To end a MODx.Console session, pass 'COMPLETED' to the registry.
- Resizing the left tree now properly resizes content in the right panel and is stateful
- Added resizability to leftbar tree
- Removed no-longer-necessary js file references in resource controllers
- Consolidated filetree css/js into main css/js files
- Fixed logic error that caused removing setup directory to fail
- Combined some common JS files, cleaned up login page css, other optimizations
- Consolidated filetree extension CSS, removed unnecessary filetree files
- Consolidated CSS files in templates/default/css to one single file to reduce load times from @imports
- Added rowactions to package grid
- Improved code in @DIRECTORY binding to be more efficient and take advantage of DirectoryIterator
- [#MODX-1478] Fixed @SELECT binding
- [#MODX-1474] Fixed bug with multiple list-boxes
- [#MODX-1476] Fixed bug with TV default values with non-inherit tvs, also bug with radios/checkboxes and set to default
- [#MODX-1479] Fixed bug with duplicate DOM ids in User Group tree
- [#MODX-1480] Fixed bug with wrong permission reference in property set remove processor
- Added emptyText to local and property grids
- [#MODX-1477] Added emptyText config param with default 'No data to display' message to empty MODx grids
- documentObject was not getting set from cached Resources.
- Added inline help that loads official MODx documentation in a window
- [#MODX-900] Fixed erroneous text on site_status setting description
- Added (Inherited Value) flag to TVs that are inheriting their value
- Added category titles to TV editing panel
- [#MODX-1354], [#MODX-1475] Fixed @INHERIT and other bindings in TV inputs
- Fixed bugs with dirty status not firing for certain TV input types
- Fixed CSS for login page
- Fixed issue where default connection charset was not persisting in setup for upgrades
- CSS tweak to get windows working properly
- Major styling updates (thanks lossendae!)
- [#MODX-1473] Fixed bug with modUser and modUserProfile PK's getting mixed, causing errors if PKs for each object were different
- Added city field to user UI
- Optimizations to Resource panel
- [#MODX-1466] Made "back" from Access Policy edit redirect to Access Controls page, made Access Controls tabs stateful
- [#MODX-1471] Added scrollOffset: 0 to grids to hide empty space on right side
- [#MODX-1469] Fixed dir handling in setup
- [#MODX-1388] Updated documentation for modX.getTree and modX.getChildIds
- [#MODX-1318] Prevent ordering of elements in dragdrop since order defaults to alphanumeric
- Made charset in setup/ a dropdown of available charsets
- Fixed collation grabbing for setup/
- [#MODX-1090] Added 'Rename File' window to directory tree
- Vast improvements to setup, including removing of mootools, using ExtCore now, simplified UI workflow to remove unnecessary AJAX calls, added in database creation checking, collation specification, etc
- Fixed bug with modPackageBuilder that would ignore the specified path for a Namespace
- [#MODX-1207] Changed modSession.id column to varchar(40) to support session.hash_function=1 with session.hash_bytes_per_char=4.
- Simplified and optimized session handling, removing older PHP workarounds and adjusting preset system settings.
- Make sure non-static Resources with binary content types get processed and output.
- [#MODX-1450] Added paging to Template combobox to allow for large numbers of templates
- [#MODX-1443] Tree sorting now works for modMenus
- Removed deprecated system settings from build
- [#MODX-1448] Fixed issue with container checkbox not persisting
- [#MODX-1426] Fixed issue with MySQL checks on non-standard
- [#MODX-1437] Fixed duplicate policy
- Fixed some issues with Form Customization
- Added 'address' field to modUserProfile
- Added ability to edit the (anonymous) user group from the user group editing panels
- Fixed typo in usergroup get processor
- [#MODX-1018] Fixed bug with having to click the Clear Filter button in a settings grid twice
- [#MODX-1380] Fixed bug with expanding node when quick creating a resource in it
- [#MODX-1326] Fixed the access denied logout form, added styling
- [#MODX-1423] Fixed error with duplicating a template
- [#MODX-1409], [#MODX-919] Fixed issue where tag symbols were being stripped in Elements and breaking filtering and nested tag functionality
- [#MODX-1347] Fixed user validation for username missing error
- Extrapolated RTE logic to make it generic
- Added OnRichTextBrowserInit to allow for 3rd Party RTEs to hook into MODx.Browser
- Added system setting "allow_multiple_users_per_email" to allow users to have a single email shared across users. Defaults to true.
- [#MODX-972] Fixed bug when property description was changed, grid wasnt updating
- [#MODX-1390] Fixed docs for $modx->sendUnauthorizedPage();
- [#MODX-895] Fixed possible rendering issue with error log scroll bar
- Optimized setup pre-install checks, now checks both mysql client and server versions
- [#MODX-1404] Fixed mysql version checks to only show a warning if the client/server is incorrectly setup to where PHP cannot determine the versions.
- Package Management now restricts downloading/updating Extras to their supported MODx versions (ie, you can't download packages that support only beta-3 if you have beta-4 or beta-2)
- [#MODX-1310] Fixed expand/collapse toolbar items in trees
- [#MODX-1361] Make sure cache (including Smarty files) is cleared after install
- [#MODX-1372],[#MODX-1376] Marked deprecated functions as so in phpdoc comments
- [#MODX-1378] Fixed bug with adding a None role to a user group in the User -> Access Permissions tab
- [#MODX-1375] Fixed documentation for modX.getRequest
- [#MODX-1374] Fixed documentation for modX.getRegisteredClientScripts
- [#MODX-1370] Fixed quick create to set modResource type to modDocument properly
- [#MODX-1373] getLoginUserName and getLoginUserId now return boolean false if no user is logged in
- [#MODX-1369] Fixed validation errors and possible loophole in error processing for user processor flow
- Fixed column alignment with radio/checkbox TV inputs
- [#MODX-1350] Fixed issue where reset to default wasnt working with radio TV inputs
- [#MODX-1360] Fixed issue where publishedon was being reset in quick update
- Sanity fixes to misc processors
- Added access modifiers to methods in modElement
- Moved name character sanity checks for Elements to element class.
- Cleaned up element processors, added missing permission checks, filled out plugin event calls
- [#MODX-1355] Fixed erroneous label for quick create resource on Contexts
- [#MODX-1352] Remove stay-buttons from user update screen
- [#MODX-1349] onDirty now fires on triggerfield-based TVs
- Cleanups to getList processors, bugfixes for grids
- [#MODX-1317] Fixed erroneous label for quick create resource; should be Document
- [#MODX-1316] Added menu title to quick create/update resource
- Fixed issues with User grid
- [#MODX-1325] Fixed console's download to file functionality
- [#MODX-1327], [#MODX-1340] Fixed issue with generation of new password
- Fixed locking
- Lots of PHP5-only optimizations

MODX Revolution 2.0.0-beta-4 (LastChangedRevision: 5880, LastChangedDate: 2009-10-19 09:04:47 -0500 (Mon, 19 Oct 2009))
====================================
- If memory limit is lower than 24M, force to 128M if possible
- Fixing setup text for memory limit checks.
- [#MODX-1080] Make sure traditional distribution doesnt need base directory writability
- Added modInstallTestSvn class for handling SVN-specific setup tests
- Fix to setup contexts controller to read existing paths on upgrade.
- setup/ memory_limit checks now only need to be 24M for setup/ to run.
- Updated to xPDO 1.0 revision 363 to fix "Error saving changes to parent object fk field action" messages being logged during install.
- Fixed issues with category remove dialog and lexicon topic grid
- [#MODX-1294] Fixed possible obscure problem when using Preview after changing the alias in a Resource
- [#MODX-1278] Fixed issues with checkbox TVs and default values, fixed the 'set to default' button for complex inputs
- [#MODX-1280] Fixed issues with the user create processor
- Added OnBeforeUserActivate, OnUserActivate events
- Added 'active' boolean field to modUser. Defaults to 1.
- Added OnCreateUser, OnDeleteUser, OnUpdateUser events
- [#MODX-1170] Fixed issues with Export Topic
- [#MODX-912] Fixed isinrole/ismember output filter
- [#MODX-677] Made capitalization consistent on Resource edit/create screen
- [#MODX-1251] Fixed issue with server offset displaying incorrectly
- [#MODX-896] Fixed issue with server_offset setting description
- [#MODX-928] Fixed issue where parent resource wasnt refreshing properly
- [#MODX-777] Made consistent the checkDirty behaviour of save buttons across manager
- [#MODX-938] Added check to build to check if core+core.transport.zip were removed before build starts.
- [#MODX-629] Added missing automatic_alias setting to build
- [#MODX-790] Fixed issue where couldnt browse back to root directory with MODx.Browser
- [#MODX-902] Fixed empty warning message for removing category
- Fixed bug with removing categories
- Fixed issue where couldn't drag a resource onto a resource with no children
- [#MODX-1130] Fixed issue with parent triggerfield; also redid how tree hrefs load so that clicking on a node in the tree to load url can be disabled
- [#MODX-1133] Fixed issues with hotkey behavior
- [#MODX-1230] Fixed issue where drag Resource to symlink/weblink content field would add tags as well
- [#MODX-1273] Added OnLoadWebPageCache event invocation to modRequest->getResource().
- [#MODX-1273] Fixed events in User update/create form
- Enabled compression of manager JS scripts by changing the Setting "compress_js" to true.
- Upgraded ExtJS to ExtJS 3.0.2
- [#MODX-1270] OnManagerCreateGroup and OnWebCreateGroup events now fire
- [#MODX-1237] Fixed warning in modParser with regards to uninitialized variable
- [#MODX-979] Added password_generated_length (the length of the auto-generated password) and password_min_length (the minimum length for a password)
- Cleaned up usergroup processors
- Added sanity checks to usergroup processors
- Prevent possible issue on usergroup update that would wipe related objects
- Prevent possible issue that would allow user to remove Administrator group
- Removed some legacy todo statements
- Moved Element category reset on modCategory object remove to modCategory class
- Cleaned up modResourceGroup, modTemplate helper methods
- Added modUser::joinGroup(group,(optional)role) and modUser::leaveGroup(group) for easier development
- Optimized getrecentlyeditedresources processor
- Make sure config.js.php outputs proper headers
- Commented out Content-Length headers on lang.js.php, for some reason was slowing down servers
- [#MODX-1256] Fixed issue with Resource tree not being visible in Resource Groups page
- Fixed issues with Import HTML/Resources pages; properly convert to MODExt
- [#MODX-1202] Fixed issue where Element name was missing in Duplicate window
- [#MODX-1233] Fixed bug where categories could only be renamed once before needing to reload page
- [#MODX-1248] Fix bug that could wipe TV values if tab wasnt loaded
- [#MODX-1241] Fixed Preview button on update panels
- Prettying up of TV fields
- Now display SVN revision number with version in top left of mgr header
- Fixed issues with TVs setting values incorrectly
- Added "Set to Default" button on TVs that will reset the TV's value to it's default value. TV Resource values can now be set to blank as a valid value.
- [#MODX-924] Fixed errors in various system setting descriptions
- [#MODX-935] Tooltips in Resource tree now do not show if no description or longtitle is set
- [#MODX-1120] Now shows TV names in tag form below the caption in the TV editing panel in Resource editing
- Fixes to plugin event calls in controllers
- Fixes to filetree to enable in Ext3
- [#MODX-1112] Fixed issue where checkboxes in grids werent firing dirty statuses
- [#MODX-1229] Fixed issue where default hidemenu setting in Create Static Resource was setting incorrectly to true
- Added some extra variables for RTE firing; also made sure MODx.loadRTE fires on new resource creation. Fixes [#TINYMCE-9], [#TINYMCE-8]
- [#MODX-523] Fixed copy issue in console by providing "Download to File" link
- [#MODX-649] Fixed issue where comboboxes were not loading proper displayValue when first rendered
- Added category combobox to quick update/create windows
- [#MODX-1019] Added missing site_unavailable_page System Setting.
- [#MODX-1226] Removed modResource->checkChildren() method; isfolder should not be set based on presence/absence of children.
- [#MODX-1213] Fixed issues with WebLink creation and loading
- [#MODX-1178] Fixed issue where checkbox TVs were unable to be set to false; properly rendered values into a hidden field
- [#MODX-1204] Implemented $matchAll for modUser::isMember, that allows exclusive and inclusive group membership checks
- [#MODX-1203] Now preserves state of open tabs in left bar
- Added "Form Customization" page, which emulates Evolution ManagerManager functionality and integrates it into the core
- Revamped modMenu DB structure to allow for more proper dynamic menus; 3PCs will need to now refer to the Components menu as 'components', as the "id" field has been dropped and "text" is now the PK
- Fixed DOM issue with Profile page
- Improved core transport build script, lowered build times
- Fixed issue where hiding the alias field would cause it to be erased
- [#MODX-1169] Fixed issue where unchecking Container on a Resource that had children would hide them from the tree
- [#MODX-1125] Fixed issue where Properties were being lost on new Elements
- Fixed some dirty field problems in Element/Resource forms
- [#MODX-1167] Improved isFolder checkbox tooltip
- [#MODX-929] Changed default click functionality in Tree menu to edit Resources, unless does not have permission to, will then go to View
- Fixed navbar structure on main menu to properly handle infinitely deep nested menus. Needs help from a CSS guru on the CSS end.
- [#MODX-1161] Fixed bug with height argument on modX::getParentIds
- Documentation updates to modResource class
- [#MODX-1189] Fixed issue with TV values not setting properly with modTemplateVar->setValue
- Added modResource->getTVValue, which gets the value of a specified TV for the Resource
- [#MODX-1177] Adjusted Lexicon Management text to properly represent functionality
- Added more metadata to Lexicon Topic exports
- [#MODX-1191] Fixed issue where Namespace combo was conflicting with other DOM IDs in Lexicon Management
- Changed Accordion to Tabs in left menu
- In all Resource panels, Moved Page Settings back to right side, moved Template to top, moved Published to top right
- [#MODX-1173] Added modResource->hasChildren() function. Returns # of children for the Resource.
- [#MODX-689] Fixed error when using @SELECT binding with Template Variable Input Option values.
- Fixed issues with modMenu creation/editing
- [#MODX-1132] Various fixes to the user editing page
- [#MODX-1123] Fixed bug where properties were not saving on new elements
- [#MODX-683] Changed title for 1st tab on Resource edit screen
- [#MODX-1118] Tweaked MODx.combo.ComboBox and other store references to possibly fix local store bug
- Fixed issue with Sort By dropdown in the Resource Tree
- Fixed issues with User Group update page
- Added modAccessPermission class to properly handle access policy permissions
- Adjusted UI to handle model change
- Added logic in setup install to clear sessions table after install to prevent access permission changing problems (and is a good general practice anyway); users will have to re-login after setup/ is run.
- Cleaned up access policy grid
- Default sort roles by authority
- Removed no-longer needed Security pages; now done in Access Control and User Group edit screens
- Started cleanup of Security system; changed 'Authority' listing on User Group page to a more correct "Minimum Role".
- Added some IDs to resource edit page
- [#MODX-1124] Took Templates off the list of attachable elements in Tools | Property Sets

MODX Revolution 2.0.0-beta-3 (LastChangedRevision: 5593, LastChangedDate: 2009-07-30 11:14:17 -0500 (Thu, 30 Jul 2009))
====================================
- Fixed issue with scrollbars and height in tree context menus
- [#MODX-963] Fixed issue with scrollbars and height in grid context menus
- Fixed possible error in lang.js.php
- [#MODX-982] Added param stringLiterals to directory/getList processor
- [#MODX-978] Updated PHPMailer to 2.0.4
- [#MODX-960] Fixed DOM issue with User Group creation/editing screen
- Added ability to drag/drop files in file tree into fields
- Fixed issue with file tree hiding files
- [#MODX-960] Fixed erroneous header in Manage User Groups and Roles
- [#MODX-965] Removed Disabled field from Package grid since it currently is unapplicable
- [#MODX-964] Fixed issue with toolbar buttons in package download tree by removing unneeded buttons, fixing refresh button
- [#MODX-966] Changed Package Management grid to be easier to read, removed unnecessary information
- [#MODX-962] Fixed issues with User panel screen
- Replace deprecated split() call in magpierss class with explode().

MODX Revolution 2.0.0-beta-2 (LastChangedRevision: 5416, LastChangedDate: 2009-07-16 13:15:41 -0600 (Thu, 16 Jul 2009))
====================================
- [#MODX-1029] Fixed incorrect URL references in browser controller template
- Updated version info for beta2 release
- [#MODX-942] Made sure all get-based processors use REQUEST, not POST
- [#MODX-937] Added 'Download Extras' button to package grid which loads modxcms.com provider
- login processor does not return site_url in response by default.
- modResponse->outputContent() allows programmatic options to configure max_parser_iterations.
- Updated xPDO to revision 341: package uninstall preserves and restores file resolver data
- Changed key shortcuts to always require ctrl+shift to prevent browser collisions
- Added in field for description key in modMenu windows
- [#MODX-931] Added isequal, isequalto, and notequalto as modifier aliases to default Output Filter
- Fixed issues with pagination on settings grids
- Fixed ENTER key issues on quick create/update windows
- Added &language option to lexicon tags.
- Added ability to load lexicon topics via tag: [[%key? &namespace=`mynamespace` &topic=`mytopic`]]
- [#MODX-910] Fixed issues with gte/lte/gt/lt output filters
- [#MODX-921] Added "isempty" as an alias of "ifempty" in output filters
- [#MODX-920] Fixed wordwrap output filter
- [#MODX-914] Added isnotempty and hide output filters
- [#MODX-913] Added isloggedin and isnotloggedin to output filters
- Upgraded ExtJS from 2.2 to 3.0
- [#MODX-925] Fixed issue where name couldnt be changed on duplicate resource window with resources with children
- [#MODX-911] Fixed dragability issue when assigning resources to resource groups
- [#MODX-901] System Settings grid search now searches descriptions
- Added 'afterLayout', 'loadKeyMap', and 'loadAccordion' events to MODx.Layout
- Fixed bugs with File TV input renders
- [#MODX-887] Properly standardized POST/REQUEST access methods for element processors
- Fixed issues with user emails being sent in plaintext with no linebreaks; now HTML-based for the time being
- Package Download tree now disables already downloaded packages.
- [#MODX-885] Fixed missing break statement in cat output filter
- [#MODX-844] Fixed ucfirst output filter, added ucwords output filter
- [#MODX-869] Added missing descriptions for certain menu items
- [#MODX-868] Fixed bug on settings grid where filter box was not firing on enter key
- Fixed bug where hidemenu was not persisting in Quick Update Resource
- Fixed bug with tree mask rendering before panel is rendered
- [#MODX-747] Fixed issues with access grids update windows
- [#MODX-803] Fixed DOM issues with TV mgr input property renders
- [#MODX-805] Fixed attribute issues with TV web output renders
- [#MODX-859] Changed login page loader box to say 'Loading...' instead of 'Saving...'
- [#MODX-860] Fixed z-index issues across manager
- Added a custom loadMask to MODx.tree.Tree objects to display when they're loading but not affect page focus
- Added a custom loadMask to the Package Management download tree to display while loading the remote provider payload
- Added in icon for package files
- Added fsockopen as a fallback for transport package if allow_url_fopen or cURL is not enabled
- [#MODX-856] Added cURL method of grabbing transport packages when allow_url_fopen is set to false
- Fixed bug in property update where list grid was not hiding if list xtype was previously selected but not now
- Fixed import properties where it was not properly handling descriptions
- Fixed bug where ExtJS couldnt handle text/json header responses with fileUpload set to true in form panels
- Fixed some DOM issues with Package Management
- [#MODX-833] Temporary fix for modManagerLog message showing up in console
- [#MODX-853] Changed source caption of view resource data
- [#MODX-809] Adjusted formatting of View Resource data fields
- Fixed bugs with Resource data page not loading fully, glitching tree
- [#MODX-772] Fixed bug where plugin events were not showing enabled if filtered by name
- Fixed user system event calls to pass proper arguments
- Fixed bug where you could only load 1 Quick window at a time
- Fixed bug with duplicate resource
- [#MODX-845] If no setup options are specified, package installation will automatically proceed
- Added parameter to the getNodes processor for resources/elements called 'stringLiterals' which, when true, does not encode the JS literals
- Layout can now be toggled between tabs (default) and portal panels via the setting 'manager_use_tabs'
- Nuked the Loading Box in MODExt
- Changed clearCache key shortcut to CTRL+U (CTRL+SHIFT+U for PC users)
- Fixed issue where folder resources couldnt be drag/dropped
- Added some key-events: CTRL+H for hiding accordion, CTRL+U for clearing cache, CTRL+N for Quick Create Resource (PC users will need to add SHIFT to all those calls)
- Fixed portal issues with Safari
- Added a few events to MODx. JS object, cleaned up code
- Added sanity checks to context/category create/update processors
- [#MODX-766] Added check to prevent settings starting with numbers
- Added ability to update plugin events and dynamically manage plugins associated with them by right-clicking on them in the Plugin Event grid
- Added 'beforeSubmit' listener to MODx.Window
- Adjusted TreeDrop code to allow for RTEs to utilize drag/drop features
- [#MODX-827] Fixed typo in resource container help string
- Added prevention fix to prevent dragging of non-elements/resources into content panes
- [#MODX-770] Fixed bug with creating Symlink
- Fixed issues with creating and editing a static resource
- Fixed bug with treedrop that set boolean values to string representations; changed to 1/0
- Fixed missing context menu item to remove new properties in a property set
- Added functionality for Element Tag Builder to use descriptions of properties
- [#MODX-817] Redid Clear Cache window to use MODx.Console
- Lexiconized missing "Copy to Clipboard" string
- Slight tweaks to MODx.Console to get messages to display final ending messages properly
- Changed invokeEvent missing event warning to debug msg to prevent it from logging in every console output
- [#MODX-818] Fixed issues with Quick Create where it didnt work in FF, missing lexicon strings
- Added Visual Element tag builder when you drag/drop an element into a field
- Resources/Elements can now be dragged from tree straight to Resource Content pane.
- Removed Spotlight effect on dialogs; was unnecessary.
- Fixed bug in Namespace creation window that was preventing namespace from creating
- Added refreshes to comboboxes in Lexicon Management to refresh combos on Namespace/Topic creation to keep panels up-to-date
- Fixed Safari issue with Element tree displaying funky on certain pages
- Fixed issue in Safari where combobox trigger was on left side
- Only set lexicon entries for context/user settings if they dont exist as system settings
- Fixed issue with Actions panel causing accordion DOM to bug
- Fixed issue with Quick Update not persisting class_key
- Fixed some issues with persistent settings for Quick Update Resource
- Fixed issue with Quick Update Resource content field being too long
- Fixed invalid lexicon entry reference for quick create resource
- Added Quick Create/Update Resource
- Preview context menu option now is "smart" and builds FURLs and separate context references
- Fixed invalid topic reference issue with modLexiconEntry::clearCache()
- Fixed headers for connector responses
- Added Quick Create/Update for all Element types
- Fixed bugs with category setting in Element processors
- Added Clear Cache checkbox option to all Element type forms
- Fixed bug with Category dropdown
- Fixed tv input properties forms from double-rendering
- [#MODX-804] TV fields now fire resource change event
- Fixed bug in Safari with TV fields being uneditable if panel is dragged
- [#MODX-745] Added 'cancel' button to go back to policy page when updating a policy
- [#MODX-573] Removed no-longer-applicable 'role' column from users grid, fixed capitalization issues in processors
- [#MODX-762] Added in missing lexicon entries to hardcoded strings
- Added modx.localization.js for i18n translations
- Added indexes on modLexiconEntry table
- Properly formatted lexicon strings still using sprintf
- Fixed bug where created was not set on transport package creation
- Made sure package grid paginates correctly if number of packages installed exceeds 20
- Fixed Last Modified On on Lexicon grid
- Optimized action, menu, language, content-type, lexicon, namespace processors
- [#MODX-765] Added fix to prevent creation of blank system settings
- Fixed bug in Safari with TV widget properties rendering
- Consolidated resource getNodes processor, added access policy checks
- Added sanity check to toJSON function in modConnectorResponse
- Properly refactor element tree to point to correct processor
- Added delegate processors for different modes in element tree
- Updated Context policy attributes for missing attributes
- Fixed invalid category reference on chunk update processor
- Added log error messages if save()/remove() fails on modElement derivatives
- [#MODX-771] Fixed invalid lexicon string reference in element tree
- Added WARN log message when executing a system event that doesn't exist
- Filled out missing access policy checks in element processors
- Fixed incorrect and missing permission check in snippet get/getList processors
- Fixed invalid lexicon reference in template processors
- Optimized templateTV getList processor to use only one query
- Optimized plugin event getList processor to use only one query
- [#MODX-194] Added sanity checks to element names
- [#MODX-792] Added check to prevent user from creating blank context, other sanity checks
- [#MODX-475] Prevented adding contexts with _ in name; will auto-strip
- [#MODX-796] Fixed check for valid passwords in setup
- Fixed problematic reference to $_lang
- Fixed improper log message reference in lexicon's reloadFromBase processor
- Additional access control defects and warning messages resolved for anonymous users.
- Fixed access control defect which prevented multiple policies from being respected per principal.
- Fixed issue with Policy Attributes not adding b/c id was not passed in
- Added 'save' event fire to Element/Resource formpanels
- Properly setup on*FormRender events for Element classes
- Added MODx.onSaveEditor check, which will fire on form save, that allows 3rd Party Components to execute JS code on Element/Resource saves
- Major refactoring to modx.actionbuttons, to render faster, as well as properly register events and button configs
- Allowed OnRichTextEditorRegister to return a string as well as an array
- Added MODx.releaseLock(id), which releases the lock on a Resource for a given ID
- Added MODx.sleep(ms), which sleeps the UI for a given number of milliseconds (useful in async calls)

MODX Revolution 2.0.0-beta-1 (LastChangedRevision: 5070 , LastChangedDate: 2009-05-28 16:20:08 -0500 (Thu, 28 May 2009))
====================================
- Fixed issue with cacheable toggle on derivative Resource pages
- Fix error message when reading expired messages in modDBRegister.
- Fixed issue with login page JS
- Fixed issue with derivative Resource classes JS not loading Page Settings data into submit
- Fixed issue with utilities JS not loading at right time
- Updated build.xml to produce beta releases.
- Quick fix to prevent blank attribute referencing
- Fixed issue with package attributes and skipping blank options
- [#MODX-723] Fixed issue where preview pane was picking up CSS from preview
- Updated xPDO to revision 333.
- Fix issues with Page settings defaulting to 1 on resource creation
- Adjusted order of JS utils loading to make for easier min-concat loading
- Cleanups to JS to prepare for beta-1
- Lexicon updates
- Updating outdated copyright notices in source code headers.
- Fixed hardcoded version number in setup.
- Added request_controller system setting to indicate the front-controller file (default=index.php).
- Fixed array_merge warnings in modLexicon.
- Added back support for anonymous user access control.
- Added support for returnUrl parameter to be sent to login processor to allow unauthorized responses to return to the original requested page directly (NOTE: this overrides manager_login_startup and login_startup parameters, but does not work with POST requests: these will simply return to the URL with only GET parameters).
- Export lexicon now prompts for download of exported file
- Enhanced User Group update/create screen to now have grids that allow you to assign Resource Group / Context permissions to that user group. This will help clear up confusion with the access relationships.
- Fixed scope issue in accordion.css that was causing odd behaviours with panels in the main content
- Adjusted setup procedures to allow for more lexicon support for pre-load checks
- Adjusted setup lexicon to allow for multiple topics; conformed upgrade scripts and other references to match
- Consolidated similar code in setup, esp. with regards to fatal errors
- Added smarter checks for xPDO failures in connectors
- [#MODX-744] Fixed issue with invalid display of num cleared on cache claering
- Fixed bugs with updating packages from a remote provider
- Made sure package attr returns '' if false
- Fixed manager log to show username, not user ID
- Standardized derivative resource form panels to move page settings to left
- Tweaked tree menu headers
- Minor IE overrides for top navigation and accordion panel.
- Added support for modLinkTag properties as url parameters, with context reserved to indicate a context to send to makeUrl().
- Fixed error in modLinkTag when passed invalid data.
- Added '@RESOURCE' binding alias so as to deprecate @DOCUMENT binding
- Fixed default language setting for modLexicon
- Fixed a couple issues with the page settings checkboxes for resources
- Removed deprecated _tx_.gif
- Removed home icon and replaced with tab
- Adjusted CSS to align main content page vertically
- Trees now have fun new icons representing their types (this includes the resource, element and file trees)
- Cleaned up the default.inc.php lexicon topic to remove any no-longer-used entries
- Fixing typo in subtract output modifier
- Fixed improper reference in TV property renders for mgr context
- Updated xPDO to revision 329.
- Improvements to sendError() behavior.
- Added lock stealing processor and updated remove_locks processor.
- Added steal_lock:true policy attribute to default Resource policy to allow lock stealing permissions by ResourceGroup.
- modTemplateVar: Fix getValue() on `value` field by storing and verifying the value requested is cached by the same resource.
- modResource: Add resourceId value to getMany() on modTemplateVar to identify the resource caching a value on the modTemplateVar instance.
- modX: Set logTarget based on XPDO_CLI_MODE; ECHO for CLI and HTML for non-CLI requests.
- modX: Add sendError() function to provide customizable, named error pages on FATAL or other critical error situations.
- modX: Refactored sendForward(), sendErrorPage(), sendUnauthorizedPage() functions to allow an array of options and better handle FATAL errors.
- modCacheManager now Caches related modContentType data to prevent unnecessary database connection/query on fully cached pages.
- Fixed problem with modStaticResource truncating the content to the size of the static file by setting the content length header on non-binary content types.
- Fixed problem with modStaticResource non-binary content types rendering the path to the static file rather than the actual content of the file.
- Calling modX->log(MODX_LOG_LEVEL_FATAL) or modX->messageQuit() now logs the error to file and then renders {MODX_CORE_PATH}errors/fatal.include.php.
- Updated to r325 in xPDO: xPDO method changes to getOption() and _log().
- Update 'setup-options' ability in transport packages to allow for script-based setup options that will properly handle upgrades to setup options default values
- Updated to r323 in xPDO: Revise xPDOTransport::writeManifest to make 'setup-options' be able to be an executable script to allow for dynamic form ability
- Updated snoopy class to version 1.2.4 (used by magpierss).
- [#MODX-535] Removed automatic setting of isfolder based on presence or absence of children.
- [#MODX-499] Site start Resources now return base_url from modContext->makeUrl() if no scheme is specified (i.e. when expecting relative links).
- Improved error reporting on modX->makeUrl() to show original $id value being passed in on failures.
- modLinkTag no longer returns empty values on first pass of parser, allowing delays until the value returns a valid value.
- Implemented modResource editor locking (added modResource methods: getLock(), addLock($user), removeLock($user)).
- Implemented modResource locking features in all appropriate processors.
- modResource->checkChildren() now uses modX->getCount() to determine if children exist.
- Added steal_locks attribute to Context access policy.
- [#MODX-728] Made sure config check dialog is hidden if no warnings are present
- Package Installations will now skip license agreements / readme panels if none are specified
- Made sure More Info in download panel can scroll
- Fixed issue with spacing in setup options panel of package install
- modCacheManager->generateScript(): Fixed PHP notice in log message on error.
- modInstall: Modify _modx() function to call setDebug with E_ALL & ~E_NOTICE instead of E_ALL & ~E_STRICT.
- Optimized queries in element tree to eliminate subqueries or queries in loop, reducing to O(n) instead of O(n^2n)
- Made clear cache results a bit smaller
- Refresh trees after clear cache
- [#MODX-609] Clear cache menu item now loads results in an alert dialog. No longer loads a separate page.
- Fixed to template getlist processor
- [#MODX-671] Fixed bug with resource group access permissions being checked when not assigned
- [#MODX-699] Fixed to allow usage of login processor without lexicons
- Added Import/Export to element properties grids, which allows for file-based transporting of properties.
- Fixed issues with comboboxes dropping down a blue screen
- [#XPDO-28] Fixed problem with multiple file resolvers on vehicles with similar basenames cause directory contents to merge unexpectedly.
- fixed PHP notice for missing elementType variable
- fixed subcategory elements missing from display (was counting elements in parent category rather then subcategory to determine if the subcategory should be displayed)
- Fixed issue with default properties in TVs being locked
- Fixed no onTVFormPrerender
- Made sure clearDirty is fired on TV panels
- Tweaked the css and updated copyright year.
- Refactored all index.php gateways to support constructor options set as $options in the various config.core.php files.
- modCacheManager/modCache: Introduced cache partitioning allowing various cache provider implementations to target specific MODx cache partitions and provide custom (system/context/user) settings for configuration options to each: cache_system_settings, cache_context_settings, cache_resource, cache_scripts, cache_lexicon_topics, cache_action_map
- modAccessibleObject: Refactored object and collection loader logic to improve cache hit rates.
- modRequest: Fixed warning for undefined variable $fromCache.
- modSessionHandler: Refactored write() method to only update access time when the session data has changed or at specified intervals before the data is made available for GC.
- modSessionHandler: Added support for cache_db_session, a new configuration setting to allow session data to be cached when cache_db is enabled.
- modTemplateVar: Allow getValue() to use a `value` field for data if already populated for a specific resource.
- Commented out missing image in welcome.tpl (temporary)
- Added couple of bugfixes to modDBRegister to prevent duplicate payloads and update existing messages.
- Fixed bug where QuickUpdateChunk was persisting values
- Added fix to prevent DOM id problems
- Added clearCache checkbox to chunk editing to allow toggleable cache clearing
- Optimized chunk processors
- Added 'Quick Update Chunk' and 'Quick Create Chunk' options to Elements tree, which allows you to quickly edit or create chunks via a window straight from the Element tree on any page
- [#MODX-718] Fixed bug where elements without a category wouldn't show
- [#MODX-697] Fixed problem with deprecated role topic still in action build scripts
- [#MODX-705] Removed random numbers causing Radio TVs to render improperly
- Fixed bug that caused policy data to be erased when creating/saving/removing policy data
- [#MODX-711] Fixed Update Context screen to properly pass correct PK
- modDbRegister: fixed bug with expired messages not being removed if remove_read => false
- modDbRegister: allowed messages to be updated/overwritten
- Fixed modCacheManager::prepare() - was returning false on already-prepared contexts
- Added support for nested categories for elements; categories can now have subcategories
- Fixed to treestate to properly set treestate ID so restore can work properly
- Fixed call to onDocFormRender to make sure ID is passed on Resource update
- Fixed to getFiles processor for MODx.Browser to properly store URL parameter with the base_url prefixed
- [#MODX-712] Fixed errors creating context settings
- modX: Fixed potential error when invokeEvent() is called and executes a plugin with property sets and pluginCache does not contain the object
- modCacheManager: Fixed error when building the pluginCache with property sets
- modCacheManager: Fixed typo in parentSql that was breaking use alias paths option.
- modCacheManager->generateContext(): Added support for Resources to be generated in multiple contexts via modContextResource.
- modParser: Removed errant log() statement in parseProperties().
- modParser: Fixed problem in parsePropertyString() when passing `escaped` property values containing semi-colons (;).
- Added in necessary reloading functions to ColumnTree
- Fixed issue with column tree's context menu overriding the ID
- modManagerResponse: Detect if controller responses are error arrays and render using error.tpl appropriately.
- [#MODX-693] redirect bug - modResponse logic error
- Moved core/config/version.inc.php to core/docs/version.inc.php
- layout/tree/resource/getnodes.php: Additional optimization to reduce memory usage and improve performance when opening Resources containing a large number of children.
- modConnectorResponse->toJSON() optimized to greatly reduce memory usage and improve performance with large result sets.
- [#MODX-691] allow User Settings to be saved from prop. grid
- Fixed bug with documentMap
- Fixed issue with default tv render panel for resource page
- [#MODX-690] Fixed a few events names registered in the system_eventsnames table during build/install
- Added id's to element and category nodes for informational purposes (missed one spot).
- Added id's to element and category nodes for informational purposes.
- Updated drag and drop behavior to update context_key of all child Resources when dropping a container on a different context node.
- Modified modTransportPackage.manifest field from MEDIUMTEXT to TEXT in order to handle large manifests.
- Fixed aliasMap broken in recent cacheManager refactoring.
- Added helper functions to MODx.tree.ColumnTree
- Added DD events to ColumnTree
- Added missing column tree CSS
- Added UI for adding property sets to PluginEvents
- Added cacheManager object checks to verify for PHP4 installs
- modCacheManager->generateResource(): added validation of the modResource primary key before attempting to cache a record.
- modUser: modified storage of session data to use the modUser primary key value to isolate values associated with a specific user; this will allow users to login as multiple users on the back-end and/or front-end without affecting the session data associated with a specific user.
- modX->_initSession(): Enable session_gc_lifetime configuration setting to set session.gc_liftime ini setting regardless of what session handler is configured.
- modPluginEvent: Added the ability of plugins to utilize Property Sets by allowing a plugin registered to a particular event to attach a Property Set and make it available during processing.
- Fixed warning with loading of RTEs in resource page
- [#MODX-674] Fixed content-dispo combobox bug
- Removed allowBlank: false check on menuindex to allow for dynamic creation
- Added in missing lexicon entries for prior menuindex commit
- [#MODX-678] Added back in 'menuindex' field to resource panels
- Added missing modX::__construct() options parameter.
- Allow for extending of MODx.panel.ResourceTV by making reference to modx-resource-template field dynamic
- Fixes for RTE loading
- Fixed issue where smarty template path was not being reset if 3PC set path to something else
- modX constructor now accepts a second parameter containing an array of options to be set in the config
- Major refactoring of modCacheManager to provide more granular caching options
- modCacheManager now accepts options, based on changes to xPDOCacheManager, and provides access via getOption()
- generate*() methods now all return data as well as cache it to a specified cache_handler unless otherwise configured
- modX->getCacheManager() no longer supports MODX_CACHE_DISABLED or config['cache_disabled']; the cacheManager is required, though you will still be able to effectively turn off all caching in the future via this setting (this will be worked back in)
- manager/controllers/system/refresh_site.php changes to better target things to remove from the cache
- Introducing modDbRegister and the modx.registry.db package, providing a database modRegister implementation.
- Added new system settings for individual cache areas, i.e. cache_system_settings, cache_context_settings, cache_lexicon_topics, cache_scripts, etc.
- modCacheManager: Various fixes and adjustments to latest refactoring, including clearCache improvements.
- manager/controllers/system/refresh_site.php: Improvements to default clearCache call.
- modCacheManager: converted generateActionMap() to support configurable cache implementations
- Updated modAction->rebuildCache() and modManagerRequest->loadActionMap()
- Additional tweaks to manager/controllers/system/refresh_site.php
- Updated xPDO externals to revision 308
- Removed unnecessary comments from the reg* functions
- Moved all manager pages JS/CSS to inside HEAD tag using the reg* functions; this improves speed and validation of the manager
- Fixed the way 3PCs handle their controller files. NOTE!!! This means that you no longer need a "core/controllers" file in your 3PC; just set the namespace path correctly, then set the controller in your modAction.
- Added an ability for mgr pages to utilize regClientStartupScript and other reg* functions to make pages load faster and move JS/CSS to HEAD tag
- modX->getEventMap() - Made sure prepare() creates a valid statement before calling execute()
- Updated modStaticResource to set headers in getFileContent() for now, though this needs to be refactored for flexibility.
- Fixed issue with saving TVs from create resource processor
- [#MODX-637] Fixed issue with TVs not reloading on changing template in new resources
- [#MODX-663] Fixed various issues with modAction creation
- Fixed issue with MODx.Browser uploads not refreshing the main view
- Fixed publishedon default date setting
- Fixed date TV default value
- Fixed default setting for symlinks
- Fixed issue with Symlink/WebLink class_key storing
- Fixed issue with textfield editing in Safari on Property Set grid
- [#MODX-662] Fixed duplicate issue with elements
- Fixed issue with property sets page and property lock
- Fixed name issue on duplicating elements
- Fixed symlink page setTimeout issue
- Fixed missing file inclusions
- Fixed element tree where categorized templates weren't showing
- Added editing ability to resource's publishedon date
- Fixes to package downloader panel due to ID conflicts
- Adjusted modTransportPackage::transferPackage to rename incoming file to [signature].transport.zip rather than basename($source)
- Fixed xml/json response classes to properly work
- Added permission "unlock_element_properties", which gives ability to unlock editing of default element properties.
- Added implementation of above permission into element properties grid
- Fixed some logic issues with the lockMask
- [#MODX-561] Added "Locked" ability to default properties for elements
- [#MODX-633] Fixed issue with add another not respecting parent
- Fixed TV access panel not working on new TVs
- Fixed state management with tree nodes
- [#MODX-661] Fixed URL TV input, where it was not setting prefix value
- [#MODX-659] Fixed bug where root-level docs couldnt be updated b/c of parent issue
- Fixed bug with parent being assigned to 0 always in derivative Resource classes
- Made sure bad resources (where parent = id) are ignored when building the context cache files.
- Fixed parent bug in controllers
- Fixed transport.data.php with 'namespace' key on modActions
- [#MODX-622] Updated top menu structure to be more consistent.
- Fixed error if properties are null
- [#MODX-651] Fixed bug when deleting a propset, would not empty grid
- Fixed to resource page combos not setting display value correctly
- [#MODX-658] Fixed issue where in TV -> Create, templates were not showing
- Fixed template nodes to properly sort by templatename
- Adjusted resource menus and such to refer to a 'Resource' without a specific class_key as 'Document' when applicable, with the exception of talking about Resources in the generic sense
- Added Duplicate option to Property Sets
- Fixed bug where template inheritance for resources wasn't happening
- Fixed symlink page
- [#MODX-632] Updating xmlrpc to 2.2.1
- Corrected logic in setup to allow forced PDO emulation mode (XPDO_MODE == 2).
- Added `category` field to modPropertySets; they can now be categorized
- Enhanced UI to support new modPropertySet category ability
- Modified MODx.Window so that the ENTER key submits the form
- Added more IDs to element forms
- Added ability to "remove" overridden properties, but only ones that are not in the default propset (ones that are should "revert")
- Fixed OnWebPagePrerender event not firing as expected.
- modOutputFilter: Refactored date modifier to return '' if the timestamp encountered == 0 or -1.
- modOutputFilter: Added strtotime modifier.- Refactored connectors to execute in the context from which they are called, rather than their own context.
- Updated xPDO to revision 304 for new xPDOFileVehicle feature to respect XPDO_TRANSPORT_RESOLVE_FILES options.
- [#MODX-562], [#XPDO-24], [#XPDO-25], and [#XPDO-26] Updated xPDO to revision 302 to resolve various issues regarding transport packages and model generation.
- [#XPDO-23] and [#MODX-604] Updated xPDO to revision 298 to resolve nesting error when logging messages during installation with improper cache directory permissions.
- Added modPropertySet->getElements() method as shortcut to get all proper modElement instances available to the set.
- Added overridden modElementPropertySet->getOne() to get related Element using the proper element_class value.
- [#XPDO-21] Updated xPDO to revision 290 for updates to xPDOObject::addOne() and addMany().
- [#MODX-553] Unpublished and deleted Resources now ignored properly in modRequest::getResource().
- [#MODX-553] Core setup now automatically adds an ACL to the web context for members of the Administrator group.
- Core setup now updates the Administrator group ACLs for accessing the mgr and connector contexts with an Authority of 0 (highest authority).
- Modified OnUserNotFound event handling not to rely on references which no longer work properly with recent changes to property handling.
- Added overridden modElement->get() to handle converting legacy property strings stored in the database.
- Added modPropertySet class to represent persistent sets of properties that can be applied to modElement instances.
- Added support for modElements to relate modPropertySet objects via modElementPropertySet (many-to-many).

MODX Revolution 2.0.0-alpha-6 (LastChangedRevision: 4485 , LastChangedDate: 2008-11-25 11:58:49 -0600 (Tue, 25 Nov 2008))
====================================
- [#MODX-395] i18n'ed the modMail classes, added lexicon topic 'mail' for handling mail strings
- Added check to make sure user cannot browse to subdirs with ../ in connector processor fetching
- [#MODX-482] Implemented code to remove setup/ directory when box is checked.
- [#MODX-408] Fix atrocious grammar in mail reception message
- Fixed labels for static resource page
- [#MODX-518] Make sure clearing cache clears registry output from package
- Fixed in_array() checks against $_currentTimestamps in xPDOObject::save() that prevented timestamp/datetime fields from saving 0 values.
- [#MODX-512] Fixing check in setup to make sure core/packages is writable
- Fixed bug with RTE loading and saving
- Changed 'Provisioner' references to 'Provider' in UI for nomenclature consistency purposes
- Added lexicon load to resource processors
- Fix error on resource view when template is empty.
- Added namespace filter to settings grid
- Fixed import trees
- Hide the resource ID field if a new resource
- [#MODX-514] Fixed issue with pub_date/unpub_date not being reset properly
- [#MODX-484] Added missing ht.access sample to web context files in included in transport package.
- Modified modWorkspace vehicle attributes to XPDO_TRANSPORT_UPDATE_OBJECT => false
- Updated xPDO to revision 284 for new xPDO package-aware vehicle features when loading classes.
- Slight styling improvement to grid to make alt-rows more apparent
- Added clearCache() functions to modLexiconTopic, modLexiconLanguage
- Added 'collapsible' options to the options tabs of resources. Can now collapse them to show only the content editor.
- Prevent blank property value names
- Adding css classes to modext components for easier styling
- Fixed some issues related to installation of packages, namely dealing with the setup-options attribute and resolver handling
- Added _build/build.local.xml to prepare an svn development copy for execution; builds core transport, minifies and concats the javascript and puts it in place, etc.
- Slight fix to login box and css styles to get checkbox checked css to render properly
- Updated xPDO to revision 281 to get fix to xPDOObject::save() when updating fields with NULL values.
- Styling updates; make form fields bigger, tabs bigger, menus bigger...basically pretty up the UI
- Fix to typo in createTable in modInstallVersion
- Implemented version-specific upgrades to setup/
- Updated xPDO to revision 275 (xPDOObject datetime/timestamp handling improvements, xPDOTransport pre-existing object restoration features, and more).
- Changed System Events action to Error Log Viewer, which now allows you to view (and clear) the error log from the manager
- [#MODX-509] Fixed issue with refreshing of incorrect node in dragdrops on trees
- Fixes to CSS in setup, moved error box to fixed bottom right, i18n'ed more stuff, cleaned up HTML and simplified outputs
- Fixed issue where the path for processors could not be overridden by changing the parameters for handleRequest in modConnectorRequest to an array of options
- [#MODX-501] Fixed issue where trees didn't refresh when package was installed. All trees now refresh.
- Fixed bug with duplicating resources
- [#MODX-505] Fixed issue with creating weblink redirecting improperly
- Fixed issue with emptying recycle bin and root-level resources
- [#MODX-508] Weblinks are now not hidden by default
- Fix missing published checkboxes in resource derivative classes
- Applied patch to fix issue with label click of checkboxes not changing value
- [#MODX-507] Fixed bug where Published checkbox wasnt showing in resource panel
- Fixed bug in filetree that would scroll up topmenu
- [#MODX-507] Adding in textbox for parent ID for now, will come up with better solution later
- [#MODX-506] Fixed bug where cache wasn't cleared on drag/drop in tree
- Fixed bug in modPackageBuilder that was preventing deletion of existing package directories and files.
- Added constants MODX_INSTALL_MODE_NEW, MODX_INSTALL_MODE_UPGRADE_EVO, MODX_INSTALL_MODE_UPGRADE_REVO
- Extracted install->test() to a separate class, then i18n'ed the test strings
- LOTS of phpdoc additions to all processors, including parameter lists for each processor
- Removed any last trace of modules from Revolution
- Added phpdoc information to processors
- Properly clear cache on install/uninstall/remove of packages
- Removed "require_once MODX_PROCESSORS_PATH.'index.php';" from all processors
- Only show 'Update Package' if the package comes from a provider
- Fixes to get browser working with TinyMCE
- Fixed issue with forced removing of packages not properly removing the resolvers
- Standardized modRequest/modResponse methods across all derivatives (i.e. modRequest::handleRequest() always calls modRequest::prepareResponse(), which calls modResponse::outputContent()).
- [#MODX-478] Fixed typo in lexicon import/export that prevented window hiding
- Fixed issues with Symlinks
- Fix to TV output/input renders when loading in a context other than web/mgr
- Fix to invokeEvent to prevent unwanted caching of event name if plugin executes more than one event per runtime
- [#MODX-424] Added readme viewing to package grid
- Added ability to delete multiple element properties at once via a multiple row handler
- [#MODX-488] Removing double click from properties grid for 'name' field to prevent unwanted breaking
- Added back in setDirectory to modConnectorRequest
- [#MODX-292] Properly format system settings editedon value
- [#MODX-293] Properly format editedon for lexicon entries
- [#MODX-481] Fixed rendering issues in element property grid columns
- [#MODX-479] Fixed issue where first snippet property edited didn't show value
- [#MODX-480] Fixed issue with lexicon entry update/create not loading proper topic
- [#MODX-474] Removing package builder menu item from build script
- [#MODX-456] Fixed issues with element property grids
- Fixed MODx.grid.LocalGrid store bugs when dealing with grouped data
- added pageSize and pageStart config items to MODx.grid.Grid
- Fix to MODx.grid.Grid in case listeners are provided, dont ignore context menu
- [#MODX-466] Fixes to dropdowns for element categories, field issues
- [#MODX-115] Some fixes to rendering issues with comboboxes/datefields on Safari
- Updated xPDO to rev 265 for improvements in xPDOValidator allowing multiple rules to be evaluated per column.
- Refactored modError completely, removing all derivative classes and introducing modManagerResponse and modConnectorResponse to handle formatting modError responses appropriately.
- Added modRequest::registerLogging() and relocated logic for detecting and taking action on register logging parameters out of loadErrorHandler().
- Refactored modArrayError to remove Smarty dependencies, moving them to a new derivative, modSmartyError which the manager UI can utilize explicitly.
- Added element property panel to all Element panels for managing default properties (except Modules).
- Added modElement->setPlaceholders() to set placeholders and return any global placeholders that might need to be restored after an element is processed.
- modChunk and modTemplateVar now restore any placeholders from the global scope after processing any local properties with the same name.
- Added properties as local placeholders when processing modTemplateVar instances to match behavior of modChunk/modTemplate.
- Updates to snippet property editor.
- Added properties to modTemplateVar to make them consistent with all other elements.
- Modify modX::getChunk() and runSnippet() to process those elements as non-cacheable instances.
- Added modResource::getContent() and setContent() functions for extensible control of accessing raw source content.
- Modify modElement::setProperties() and modTag::setProperties() to handle various property data formats.
- Updated modParser::parsePropertyString() to handle local property xtypes from UI and convert legacy types.
- Added isCacheable() and setCacheable() to modElement and modTag classes for direct, extensible control of caching.
- Modified behavior of modTemplate/modChunk not to prefix properties turned into placeholders with the name of the element.
- Added getContent(), setContent(), getProperties(), and setProperties() to modTag and derivatives.
- Added modParser::parsePropertyString() to parse element properties from string or array representations.
- Updated modElement::process() behavior to check cache sooner and avoid unnecessary source content access and other processing.
- Additional foreign key and sorting indexes added to modElement classes.
- Added properties to all modElement classes except modTemplateVar.
- Added setProperties() to modElement for setting a set of default properties that will be used by the element.
- Added getProperties() to modElement for getting the properties to be used when processing the element.
- Added getContent() and setContent() function to modElement and provided overrides in the appropriate subclasses.
- Removed modTransportPackage::loadTransport(); the manifest should always be loaded from the file.
- Updated xPDO to rev 262 for improvements in the xPDOTransport manifest format.
- Updated xPDO to rev 258 for bug fix in new xPDOObject::_setRaw() function with array and json phptype fields.
- Updated xPDO to rev 256 for bug fix in xPDO::getSelectColumns() and new xPDOObject::_setRaw() implementation to resolve issues with native php types when using fromArray().
- Added modPackageBuilder->setPackageAttributes() function for easily adding transport-level attributes to a package.
- Updated xPDO to rev 252 to get new features allowing transport packages to carry transport attributes.
- Added numerous foreign key and sorting indexes to site_content table (modResource) to improve performance of common queries.
- Changed modX::changePassword() implementation to call modUser::changePassword().
- Added getResourceGroups() and getUserGroups() to modUser class to retrieve those things and cache in session.
- Renamed and moved modX::_checkPublishStatus() to modRequest::checkPublishStatus() and renabled this functionality.
- Deprecated and moved modX::checkPreview() implementation to modResponse.
- Added view_offline attribute to default Context access policy.
- Removed deprecated and invalid modX::makeFriendlyURL().
- Removed deprecated modX::webAlert() function.
- [#MODX-364] Results of regClient*() functions are now cached into the Resource cache files to solve error on cached pages with cached snippets.
- Removed deprecated modX::mergeDocumentMETATags() and moved feature to modResource::mergeMetatags() and modResource::mergeKeywords().
- Removed deprecated modX::makeList() function.

MODX Revolution 2.0.0-alpha-5 (LastChangedRevision: 4273 , LastChangedDate: 2008-10-09 12:42:42 -0500 (Thu, 09 Oct 2008))
====================================
- [#MODX-88] Move version checking to setup script and add notifications.
- [#MODX-66] Change the way properties work within the scope of a chunk; placeholders set by the chunks properties are now removed after the chunk is processed.
- Added modX::unsetPlaceholder() and modX::unsetPlaceholders() functions.
- [#MODX-329] Fixed error with browser "remembering" user even when "remember me" is not checked.  Was always using the system setting regardless of rememberme.
- [#MODX-380] Created modSymLink resource class which forwards requests to other resources without changing the URL (as opposed to modWebLink which redirects).

MODX Revolution 2.0.0-alpha-4 (LastChangedRevision: 4213 ,LastChangedDate: 2008-10-01 12:18:41 -0500 (Wed, 01 Oct 2008))
====================================
- Updated xPDO to rev 248
- More log messages for modPackageBuilder
- Fixed some bugs with MODx.Browser
- Enabled specific path setting for MODx.Browser
- Fix to remove redirect to system settings if version info differs.
- Added MODX_SETUP_KEY to setup to identify the distribution type and allow setup logic to be conditional based on this information.
- Introduced additional default policy attributes and policy checks throughout the controllers and processors for more robust access control.
- [#MODX-349] Added processor and menu item to reload your own access policies without logging out and logging back in.
- [#MODX-349] Added processor and menu item to flush all user sessions from the database.
- [#MODX-349] Modified user policies to cache policies by Context; previously policies cached for one context were being applied to other contexts when switching or accessing both from the same browser session.
- Updated xPDO to revision 246 to fix problem with modLexiconEntry rows being duplicated in upgrades after deleting modLexiconFocus records.
- Modified Ant build to automatically compress and concatenate js files (SVN users cannot use compress_js option without performing the complete-wc task in build.xml).
- Updating xPDO to revision 234.
- Added support for logging to registers through any modError instance when loaded by modRequest::loadErrorHandler().
- Removed modRegisterHandler and added logging helper functions to modRegistry.
- Updating xPDO to revision 233.
- Updated modAccessibleObject::loadCollection() based on xPDO::loadCollection() changes.
- Updating xPDO to revision 231.
- Various model updates to reduce memory usage [convert foreach with fetchAll() calls to while with fetch()].
- [#MODX-137] Locked Elements now editable by users with the Admin policy attribute edit_locked (not locked as in being edited by another user, but locked explicitly in the Element attributes).
- Moved makeUrl logic to modContext class and modX now determines which context to use when building the URL.
- Introduced modX->getContext() to retrieve, prepare and store context configurations in modX->contexts array for reuse during the single request
- Added _config, _systemConfig and _userConfig to hold on to various parts of the configuration settings before they are merged for use, allowing other functions to remerge the settings as needed.
- Fixed modX->switchContext() to clear all contextual/user setting overrides and reload the bootstrap _config, _systemConfig, and make use of the modX->contexts array.
- Implemented UI ability to choose vehicle-specific attributes when adding vehicles to packages
- Added dynamic value replacement of {setting_key} in user settings in modX->getUser().
- Added function to grab the request parameters to MODx.request
- Added missing permission check on empty_cache attribute on refresh_site controller/processor.
- Updated xPDO to revision 218.
- [#MODX-282] Fixed bug where grid would show non-existent page in lexicon/settings grids
- Removed permission check on logout action; doesn't make much sense.
- Proper formatting of editedon time in system settings grid
- Added System Settings "Update Setting" window for more detailed editin
- Rebuilt core data files for the transport.core.php script and made correction to core namespace path to the value {core_path} which is calculated at run-time.
- [#MODX-263] Access policy update grid moved to separate page
- Created panel for editing access policies
- [#MODX-277] Changed 'setting' to 'name' at top of System Settings grid
- [#MODX-283] Fixed combo-boolean combobox to prevent overwriting of form variables. this was a bizarre bug.
- Allowed modPackageBuilder to now use dynamic, on-the-fly namespaces. Separated out registerNamespace() from create()
- Added support for loading extension_packages via configuration settings before the session is initialized.
- Fixed dynamic value replacement of {setting_key} in system and context setting generators.
- Updated xPDO to revision 216.
- Added class_key field to modUser class/table to support modUser derivatives.
- Fix to new modLexiconEntry table structure (was not installing due to NOT NULL and no default value).
- Removed modResource::hasAccess() function to make sure and avoid confusion with security.
- Add default admin user to the Administrator modUserGroup with a modUserGroupRole of 2 (SuperUser) on new installs and upgrades.

MODX Revolution 2.0.0-alpha-3 (LastChangedRevision: 3867, LastChangedDate: 2008-07-22 08:44:38 -0500 (Tue, 22 Jul 2008))
====================================
- [#MODX-210] Changed no-longer-valid help text for resource panel
- [#MODX-216] Fixed bug with pub_date/unpub_date for the Resource panel
- [#MODX-213] manually entered passwords not being displayed after saving
- Added editability to packages grid
- [#MODX-205] Fixed category saving
- [#MODX-196] Fixed snippet category error in IE7
- Created modInstallError for base processing methods
- Added object support to modInstallJsonError
- [#MODX-201] Fixed bug with Category combo that prevented adding in a custom category
- [#MODX-200] Added colored Not Installed text to not installed packages
- [#MODX-70] Removed top buttons, as they are unnecessary and cause more problems than they are worth.
- [#MODX-174] Language setting in setup is not loaded.
- Note: renamed the language file to en.php to match the adopted IANA standard codes (see #MODX-187)
- [#MODX-26] Manager User creation problems
- Corrections to new user account email
- Added MODX_URL_SCHEME define and url_scheme configuration setting
- Added MODX_HTTP_HOST define and http_host configuration setting
- Changed "Modules" top menu to "Components" top menu. Component developers are encouraged to put their 3rd party menus in there.
- [#MODX-83] Radio Options not working in TV
- [#MODX-103] Fixed blank template change warning message.
- [#MODX-173] Language setting in manager pages is not loaded.
- Removed ucwords on getlist processor for lexicons.
- Fixed feed_modx_security/news keys in the build file.
- [#MODX-184] Fixed show in menu checkbox, should have been labeled "Hide Menu" since the opposite is true in the database. Changed to match DB column properties.
- [#MODX-190] Fixed bug with missing duplicate snippet error message
- Added check for existing name in snippet duplicate processor
- Updated build.src.url to branches/revolution
- Fixed import html/resources
- Fixed action pointer if version is incorrect

MODX Revolution 2.0.0-alpha-2 (LastChangedRevision: 3841, LastChangedDate: 2008-07-15 09:18:24 -0500 (Tue, 15 Jul 2008))
====================================
- Adopting new product name, MODX Revolution, and changed version to 2.0.0
- Fixed bug with content type grid
- Replaced 'gender' with Role column in Users grid
- [#MODX-182] Fixed invalid reference in tv/create.js
- Fixed TV input type dropdown, added proper processor/connector
- changed xPDOCriteria calls to more abstract newQuery ability
- Added attachment capabilities to modMail/modPHPMailer classes
- Added setHTML method to modPHPMailer
- Updated documentation for modValidator class
- Added explicit header call to set text/json; charset=UTF-8 on responses from modJSONError
- Remote package installation now works.
- Fixed invalid schema relationships with transport providers/packages
- Included check for xPDO transport service config to prevent warning
- [#MODX-108] Added more database info to the site info page - contrib by sottwell
- Finished UI for modStaticResource
- Added some inline documentation to widgets for help
- Set a more appropriate default resolver target
- Removed unnecessary package parameter from modPackageBuilder::buildSchema
- Removed unnecessary package setting
- Added buildSchema function to modPackageBuilder
- Added tooltips to elements and contexts in the resource/element trees
- Fixed bug in Module update page
- Added a qtip to document tree nodes so they display resource longtitle/description in a tooltip
- Moved styles to gray theme to prepare for css work
- Weblinks now functional
- Fixed slight bug with FF3 and panel collapsibility
- Fixed plugin properties
- [#MODX-162] Fixes problem where vehicle grid is not refreshed on 2nd build, as well as resets the form
- Added 'success' event to MODx.FormPanel
- [#MODX-172] Fix to option values for setup in IE 6. Fix by kmd.
- [#MODX-166] - Fixed config cache issue - fix provided by kmd
- [#MODX-165] could not save Template element - fix provided by SA
- Fixed and cleaned up the actions/menus JS and combos
- Removed unnecessary tertiary expression (check is already handled by the function)
- [#MODX-131] Fixed Apache crash and enabled Tools -> Action
- Added fix to _() JS function to allow for parameter passing:
    String: 'Testing: [[+hello]]';
    JS call: _('testkey',{'hello': 'Success!'});
    Result: 'Testing: Success!';
- [#MODX-148] Added support for [[+placeholder]] tags in lexicon strings. i.e., with a lexicon string with key 'test' and value: 'Test me: [[+hello]]'
    Programmatically:
    $modx->lexicon('test',array('hello' => 'Success!');

    Tag:
    [[%test?hello=`Success!`]]
- Fixed to typo on system info JS
- Added namespacing ability to the addDirectory() and load() methods of modLexicon. Used like so:
    $modx->lexicon->addDirectory('pathhere/','testNS');
    $modx->lexicon->load('testNS:fociname');
- [#MODX-102] fixed missing lexicon entries in php4
- Added OnHandleRequest event, invoked before anything occurs in modRequest::handleRequest().
- Set the modLexicon::_lexicon to an empty array even if nothing was loaded.
- Added modX::switchContext(string $contextKey) function to make it easy to switch contexts using a plugin and the new OnHandleRequest event.
- Fix to properly submit the content field for resources (should also handle multiple RTEs now)
- Fixed typo in lexicon reference in event getlist
- Fix to MODx.load to return multiple objects if they exist
- General JS doc updates
- Added MODx JS class, which allows for xtype loading via MODx.load()
- Some JS doc updates
- Fixed modErrorHandler to ignore suppressed errors like a proper error handler is expected to.
- [#MODX-109] Fix bug with profile page loading of date.
- Reconfigured context update window to separate into tabs for easier viewing and rendering
- Changed TV resource group panel to a grid, instated proper remove/update code
- [#MODX-126] Implemented 2 new modSystemSettings: feed_modx_news and feed_modx_security for dynamic setting of the RSS feeds in the welcome pane of the manager
- [#MODX-137] Removed locked check until a resolution is made on locked elements.
- [#MODX-119] Corrected issue with file editor stripping out SCRIPT tags.  Was using $_REQUEST instead of $_POST so the values were sanitized by the request handler.
- Updated Template management to a MODx.FormPanel
- Altered the way modLexicon loads multiple foci for PHP4 compatibility
- Added modLexicon::addDirectory, which adds a directory when loading lexicon foci
- Properly load TV widgets and i18n their strings
- Fixed bug with modLexicon and $modx reference
- [#MODX-133] Prevent elements from being dragged into different types
- [#MODX-125] Fixed saving pub/unpub date on resources
- [#MODX-106] Removed assets/images check.
- Configured Object field in Package Builder to be a combobox that loads a dropdown of the selected class_key
- Added ability to remove vehicles from not yet built package
- Added MODx.grid.LocalGrid as abstract class of local-data-based grids
- Added MODx.panel.Wizard as abstract class of wizard panels
- [#MODX-121] Fixed top menu loading incorrectly when clicking on icons
- Fixed TV management page, specifically with TV->Template access
- [#MODX-118] Fixed bug with creating/removing/updating directories from Directory tree
- Added MODx.combo.ContentDisposition
- Added ability for MODx.toolbar.Actionbuttons to support formpanel as an alternative for form config parameter
- Added $modx->config properties to MODx.config JS array sent
- Fixed update resource TV loading
- [#MODX-113] Fixed bug in Safari with scrolling in grids, apparently Safari doesn't like Ext's autoHeight
- Removed legacy tpl's in settings/ dir
- [#MODX-107] Fixed tree refreshes when resource is saved, both in create and update. Update will now refresh only the parent node of the resource being saved, which speeds up save time
- Fixed issues with TV Panel loading improperly on new resource
- [#MODX-114] Prevented JS error from occurring when using page settings checkboxes
- [#MODX-116] Fixed text for removing a category
- Fixed Resource pages to allow for Resource Groups to be assigned access prior to Resource creation, as well as making grid not save until 'Save' is clicked
- Fixed Template pages to allow for TVs to be assigned access prior to Template creation, as well as making grid not save until 'Save' is clicked
- Fixed TV pages to allow for templates to be assigned access prior to TV creation, as well as making grid not save until 'Save' is clicked
- Fixed module update, removing legacy code
- Fixed plugin event grid: now can be used via create or update, also properly handles events, does not save until "Save" button is clicked on action bar

MODx 0.9.7-alpha-1 (LastChangedRevision: 3664, LastChangedDate: 2008-04-28 12:43:15 -0500 (Mon, 28 Apr 2008))
- Updated ExtJS from version 2.0 to 2.0.1
- [Trac#20] When creating new document, make the 'Log Visits' checkbox respect the main configuration setting.
- [Trac#9] Converted Database Tables tab in System Information to use Ext Grid.
- [Trac#40] Default role settings are now set correctly when saving roles to the database.
- [Trac#4] Converted Modules section to use Ext interface.
- Added new resource import routine for creating resources from static content on the file system, as any valid modResource derivative.
- Introducing context support to the manager resource trees.
- [Trac#32] Display correct message counts for the Inbox section on the Welcome page.
- [Trac#31] System Configuration page always showing 'New Install' message. Refactored code to use $modx->version.
- [Trac#25] Several bugfixes and refactorings to make the Messages section function correctly.
- [Trac#6] Remove Locks not working from the top menubar.
- Removed custom_contenttype from system_settings and manager interface.
- Converted and refactored Import HTML tool for the new APIs.
- [Trac#29] Resource checkboxes on settings tab not showing accurate values when editing.
- [Trac#28] Cache not cleared when resources are saved and the clear cache checkbox is checked.
- [Trac#27] Cached modResources were not loading or rendering since getResource() moved to modRequest from modX.  Cache files generated with new reference to the modX object ($this->modx vs $this).
- Remove logic in modResource::addOne() that was disallowing binary content types.
- Add conditional to check for $GLOBALS['https_port'] before attempting to use it.
- Several fixes to modResource processors involving saving of boolean fields via checkboxes; make sure POST is filled with unchecked fields having a value of zero.
- Upgrades now work for previous 0.9.7 installations
- Add-on installation has been removed from setup in preparation for adding it to the manager itself.
- Removed modManager095 and all related legacy support for ManagerAPI extender, moving this functionality to modManagerRequest.
- Added/updated delegate controllers, templates, and processors for modWebLink and modStaticResource.
- Added new static resource option to document tree context menus.
- Fixed bug with chunk update processor deleting the chunk content.
- [Trac#19] Bugs with password on user creation/update; was saving plain password (not encoded).
- Introduction of new setup using transport packages (new installs only for now).
- Modified modRequest::sanitize() to no longer strip old-style tags.
- Moved MODx classes and maps out of core/xpdo/om/modx095 and into core/model/modx.
- [xPDO] Add support for package specific include paths for models.
- Refactored INCLUDE_ORDERING_ERROR to manager/includes/accesscheck.inc.php
- Begin adding input and output filtering to all MODx elements and tags (modElement and modTag derivatives), including default filter implementations based on phX (not yet working).
- Begin refactoring modx095 package to utilize xPDOQuery (modResource::getOne()).
- [xPDO] Fixed error in xPDOObject::remove() that was trying to call the toCache function on xPDOObject rather than xPDO.
- Added checkForLocks func to modx.class.php
- Added checkIfIn to modmanager095.class.php, to do the annoying check if in manager in all the pages
- Added splitter class for tables to get the line effect found in user management
- Added ul.no_list to get list effect without bullets
- Added formhandler.js - handles validation in forms by sending form through AJAX call. If response != true, then outputs response to a div with id 'errormsg'. Also evaluates JS scripts in the response.
- Updated MODx model for modUserSettings and modWebUserSettings with appropriate primary key indexes and field types.
- Updated installer SQL to remove the previous indexes and add the primary key index.
- Fix to modX :: insideManager() to make sure there is a context object initialized before trying to get the context key.
- [xPDO] Introduction of xPDOQuery for building SQL queries using only objects and the API.
- [xPDO] Fix to timestamp phptype handling when stored as integer dbtype in database.
- Modified modResource constructor to set createdon and createdby fields appropriately.
- Fix for mcpuk GetUploadProgress script (see http://modxcms.com/forums/index.php/topic,11712.msg79581.html#msg79581)
- Separated styles into their function, for easier manipulation and management
- Ongoing Conversion of manager pages to xPDO, cleaning up XHTML
- Emulated PDO can now be forced in PHP 5.1+ when PDO class is already available, but the required drivers are not available.
- Added $modx->getTree() function for easily getting a tree structure of MODx resource ids in the current context.
- Modified $modx->resourceMap to a simpler structure and optimized getParentIds() and getChildIds() functions.  $modx->documentMap still holds the old structure but is deprecated.
- Refactored entire caching layer, based on changes to xPDO.  Files are now spread amongst logical directories, and automatic temp directory detection was also added.
- Translated all core files and data in the core distribution/installation to the new native tag format.
- Optimized modParser, removing run-time translation with modParser095 from normal execution and added modTranslate095 utility class, which can translate tags in database and file content, writing a log of the translation and/or making the changes to the database and files.  modParser095 is experimental, and not recommended, as there are too many issues with mixed tags being parsed incorrectly.
- Fix to make sure modX::parseChunk removes replacement placeholders for empty values.
- Updates to MakeForm class.
- Added modXMLRPCResource, modXMLRPCResponse classes and supporting code, including modified XML-RPC for PHP code (from version 2.1).  You can now create resources that represent XMLRPC servers and clients.
- Altered session cookie expiration that was getting set automatically on all sessions based on the default session cookie lifetime.  Lifetime is now only applied if a session value is set for each context.
- Added check to verify keys passed to modX::getPlaceholder() are valid strings to avoid PHP errors.
- Various additional changes to prevent errors from revealing critical database credentials and connection information.
- Fixed bug with system settings getting overwritten on mutate_settings manager page.
- Merged from trunk (0.9.5.1-RC1) at revision 2251.
- Latest updates and bug fixes from xPDO project.
- Add ability to locate and use original manager/config/config.inc.php to upgrade directly on legacy installations.
- Applied fixes to modResponse::outputContent(); was not assigning regClient script replacements to the output.
- Changed parseChunk to parse new style tags to avoid any accidental matches on mixed tag situations.
- Changed modChunk and modTemplate logic to create placeholders from any properties of the elements prefixed by the name of the element + '.' (added the .).
- Fixed alias path generation, was reversing the order of parent paths in the resourceListing.
- Fixed problems with recent changes to modRequest::sanitizeRequest() which was again truncating $_POST vars in the manager when encountering MODx tags.
- Fixed generation of context cache files; was generating an eventMap for the mgr context at all times.
- Fix to logic in modDocument::getMany('modTemplateVar').
- Merge with 0.9.5.1 trunk at revision 2205.
- Parsing adjustments to better deal with mixed old and new style tags.
- [xPDO] Significant xPDO core update to prepare for SQLite, PostgreSQL and other ports.
- Fix bug in install/upgrade SQL when resetting user and system settings for manager_theme.
- Added some new configuration options for session handling and various caching features; more to come.
- Minor changes to reduce number of unique db connections used during a request.
- Various PHP 4 warnings fixed when assigning values by reference directly from functions (only variables can be assigned by reference in PHP 4).
- Various improvements to MakeTable class based on usage in user_management and other manager interfaces.
- Begin replacing Datagrid usage in manager with MakeTable (user_management, web_user_management, manage_modules, docmanager module); lots more Datagrids to replace.
- Various changes to DataGrid and DatasetPager to try and support existing usage.
- Fix for @EVAL bindings with more than one line of code.
- Adjustments to modParser::collectElementTags() to better handle invalid tags (i.e. mispelled snippet names) with nested tags.
- Adjustments to modParser095::translate() to properly handle translation from old to new configuration tags [(email_sender)] to [[++email_sender]].
- DBAPI::escape() adjustment (again) to avoid certain issues when using native PDO along-side legacy manager code calling the mysql extension.
- Removed & from getMany call in modCacheManager to prevent PHP warnings in PHP 4.
- [xPDO] Added additional logic to xPDO::loadClass() which will return an error immediately if no class name is provided.
- Adjusted modDocument::getMany() signature; added $cacheFlag= false parameter.
- Remerged mutate_content.dynamic.php to fix several problems saving documents.
- Adjusted queries in refresh_site.dynamic.php.
- Added session table to install script due to failure of auto-table creation on some environments.
- Removed unnecessary if statement around session_set_save_handler() in modX::_initSession(); the actual problem was auto-table creation was failing.
- Fix DBAPI::escape() function; PDO::quote() adds single-quotes unlike the legacy mysql escape functions and this was causing content truncation.
- [xPDO] xPDOCacheHandler class updated to allow configuration properties to determine a class for handling xPDO object and result set caching.
- modX::_initSession() updated to better handle situations where session_set_save_handler() fails when trying to override default PHP session handling.
- [xPDO] Modified fromArray() so it is not responsible for determining the _new attribute of xPDOObject instances.  This is the responsibility of xPDO::getObject(), which uses xPDO::load(), and xPDO::getCollection().
- Fix datasetpager error with PDO changes so DocManager module can load.
- Fix WebUser login -- weblogin.processor.inc.php.
- Fix makeUrl() -- no longer needs to add base_url.
- Fix upgrade install script to insert new config settings properly.
- Few tweaks to modX::_initSession function (was setting session_name twice).
- Changed all line-endings to unix-style \n on all files.
- Removed assets/cache/* which is replaced by core/cache/*.
- Updated version data format to be compatible with PHP's version_compare() function.
- Resolved problems setting primary keys values and improperly identifying new objects when using xPDOObject::fromArray().
- Several adjustments to xPDO::load(), xPDO::getCollection() and several xPDOObject methods based on changes to xPDOObject::fromArray().
- Added stripslashes() to modRequest::_sanitize() when working with magic_quotes_gpc enabled.
- Fix to MakeTable::prepareOrderByLink() to handle FURLs properly.
- Reduce exposure of critical database credentials in xPDO::load() when errors are reported/logged.
- Fixed error in xPDOObject::save(); updates to objects with compound primary keys were failing.
- Added proper escapes to deprecated modX::getFullTableName() to fix issues when dashes (-) or other reserved (My)SQL characters appear in a database name.
- Merged with trunk (0.9.5 final) at revision 2106.
- Removed session_keepalive code.
- Merged with trunk (0.9.5) at revision 2066.
- Merged with trunk (0.9.5) at revision 2063.
- Schema updates based on column size changes in 0.9.5.
- Added missing modX::getSettings() method.
- Various bug fixes.
- Merged with trunk (0.9.5) at revision 1945.
- [bug fix] Fixed a modParser bug when CDATA wrappers were encountered.
- Add missing webAlert function to new modX class.
- Modify categories save process to get the insert id using $modx->lastInsertId().
- Fix to setup.sql; changed ENGINE= to TYPE= when creating new context table to avoid problems with MySQL versions before 4.1.
- Fixed invalid reference to mergeDocumentMETATags in modResponse class.
- [New feature] Allow custom error handler classes.
- [New feature] Fine-grained configuration options for caching pages, database results, or disabling the cache altogether (see system settings starting with `cache.`).  Turn the different caching options on/off or set a default time-to-live for those items being cached.
- [New feature] Database result-set and xPDO object caching, with support for memcache, native-JSON object caching for high-performance AJAX requests.
- [New feature] Configurable session management with default implementation configured for modSessionHandler, an xPDO-based implementation that stores sessions in a database, and allows a great deal of configurability, by site and/or context.
- [New feature] Contexts allows a site to be organized into sub-sites, subdomains, etc, and override any system settings by context.  The default contexts are 'web' and 'mgr' to support the legacy ideas of front-end and back-end session contexts.
- Introducing the new MODx core built on top of xPDO; this will incrementally replace the entire existing codebase, but can co-exist until 1.0 release and provides about 90 to 95% legacy compatibility for existing tags and add-ons.
