* Implemented support for web hooks
* Added default_hook_action() method to Root
* Renamed webHookEnabled to webHookMode in Root prototype
* Moved currently obsolete module code, macros and skins to compatibility module
* Disabled notification of updates (probably forever)
* Reactivated request log as app.data.stories
* Removed many obsolete methods
* Fixed and added HTML tags for RSS feeds to page.skin
* Added Stories.flushRequests() method
* Renamed Story.incrementReadCounter() method to Story.logRequest()
* Moved many methods to compatibility module
* Removed obsolete navigation skins
* Moved page navigation skins into Global.skin
* Removed remaining obsolete RSS skin
* Moved admin navigation into subskin and added it via overwritten skin_macro in Admin prototype
* Removed obsolete sysmgrnavigation.skin from Root
* Renamed style.skin to stylesheet.skin (this could be hazardous regarding b/w compatibility...?)
* Modified order of featured collection in Stories prototype
* Re-added DB column and property for last visit date of a user (now simply called "visited")
Switched to Rome for RSS generation:
* Added necessary JAR files (new subdirectory "lib")
* Removed obsolete skin files
* Added basic skins for XSL transformation
* rss.xml of Root prototype is now equal to the one of Site; site updates have been moved to updates.xml
* Fixed _children.filter in Archive
* Added missing permission checks
* Modified global defineConstants() method to return the getter function instead of automatically defining it with given argument
* Added HopObject.macro_macro() method to display userland macro code
* Removed colorpicker (will be replaced by third-party library)
* Removed obsolete global constants and functions
* Overhauled and tested global userland macros like story_macro(), image_macro() etc.
* Implemented global list_macro() to replace any special listFoobar_macro() methods
* Moved global autoLogin() method into User prototype
* Overhauled global randomize_macro()
* Renamed global evalURL() method to validateUrl() as well as evalEmail() to validateEmail()
* Re-added accidentally removed subskins to Members.skin
* Fixed some skin names which were changed recently
* Remove delete_action() from Membership
* Fixed foreign key of images collection in Membership
* Removed global username_macro() and replaced it with appropriate membership macros
* Moved contents of systemscripts.skin into javascript.skin in Root prototype
* Removed main_css_action(), main_js_action() and sitecounter_macro() methods from Root
* Added accessname to sites collection in Root
* Upgraded jQuery to version 1.2.1
* Replaced call for global history_macro() with corresponding list_macro() call
* Renamed "public" collection of Stories prototype to "featured"
* Moved a lot of styles from Root's style.skin to the one in Site
* Added comments collection to Site
* Moved embed.skin as subskin #embed into Site.skin
* Fixed some minor issues in Story.js (removed check for creator before setting the story's mode)
* Defined cookie names as constants of User which can be overriden via app.properties userCookie and hashCookie
* Moved a lot of code into compatibility module
* Changed order of filters in collection handlers (member items go first, all items last)
* Fixed global file_macro and image_macro methods
* Reactivated Images.Default
* Added Layout.value_macro to allow per request definitions of variables for the CSS stylesheet (still experimental)
* Finally removed PropertyMgr (replaced by Metadata)
* Renamed a bunch of collections, mountpoints and variables
* Reduced commentsMode options to "enabled" and "disabled" in Site prototype
* Renamed "shared" mode to "restricted" in Site prototype
* Moved a lot of stuff into the compatibility module
* Re-enabled calendar by switching to jala.Date.Calendar
* Removed obsolete calendar skins
* Re-enabled story archive by replacing Day prototype with new Archive prototype
* Moved story collections from Site to Stories prototype
* Enabled second option by default in HopObject.checkbox_macro
* Removed debugging code from Members/login.skin and User.js
* Replaced remaining occurrences of res.handlers.context with res.handlers.site
* Moved sites back from Root.sites to Root._children collection
* Moved Site.loginstatus_macro to Membership.status_macro
* Delegated rendering of story list in main.skin to archive
* Replaced Site.renderStorylist with Site.stories_macro
* Removed redundant Site.getMembership (see User.getMembership)
* Removed (currently) obsolete indexing methods
* Fixed some minor issues lately introduced
* Added first story formatting filters
* Fixed global breadcrumbs_macro
* Improved distinction check for layout images
* Re-added accidentally removed replace action for layout images
* Moved mostread_action from Site to Stories.top_action
* Replaced links to topics with those to tags
* Re-enabled referrers
* Switched default permission poplicy from allow to deny in some prototypes
* Added redirect from main_action of a skin to its edit_action (that's where all editing is taking place now)
* Merged default and custom skin editor (still needs tweakin' of potential moving / renaming issues)
* Renamed getNavigationName() methods to getTitle()
* Implemented first basic version of skin management using subskins
* Added remove() method to HopObject and most object prototypes which are automatically called after confirmation in HopObject.delete_action()
* Enhanced support for various form elements via HopObject macros
* Added HopObject.removeChildren() method
* Removed color and font settings in layouts (maybe just temporarily)
* Implemented generic framework for layouts and skins
* Renamed LayoutMgr to Layouts and SkinMgr to Skins
* Renamed "properties" property to "metadata" (finally)
* Added conversion and compatibility code for the changes
* Merged SysLog and AccessLog into new LogEntry prototype
* Established new global logAction()
* Moved admin-related skins as subskins into Admin.skin files
* Added handleMetadata method to define getters and setters for metadata properties
* Reduced and renamed value() method to map()
* Renamed most of the sys_* properties
* Converted most site properties to metadata
* Implemented generic framework into Site prototype
* Added basic form support to generic framework
* Added support for positionl parameters in some macros (e.g. link_macro, skin_macro, created_macro)
* Added link_filter to Global and HopObject
* Added check for "Cancel" in HopObject's onRequest()
* Had to disable display of disk usage in SysMgr due to an issue that has to be resolved, yet
* Added support for various new site preferences (at least in the form :)
* Removed some code related to Lucene search until it's clear how search will work in the future
* Added quite a lot code for backwards compatibility
* Updated database patches
* Fixed issue caused by setting a Metadata property to a Java value, e.g. java.net.URL instance becomes string without quotes. (Could this be a Rhino bug?)
* Finalized conversion of AV_USER table to simple naming scheme ("user")
* Added global getTitle() method which returns either site.title or root.sys_title
* Implemented universal HopObject.value() method
* Rededicated User.update() method since its previous functionality is now taken over by User.value()
* Restructured login and register functionalities in User and MemberMgr
* Replaced first occurrences of Exception with Error
* Introduced i18n via gettext in User and MemberMgr
* Removed getMessage() and Message in User and MemberMgr
* Added first possible implementation of global getPermission() method
* Modified code of global evalEmail() and evalURL() methods to work with Helma modules
* Simplified global sendMail() method by not throwing any MailException anymore and returning the status code only
* sendMail() now is using helma.Mail (so we can debug message output)
* Passwords are not stored as clear text in the database any longer
* Passwords are sent MD5 encoded across the network
* Modified code structure to serve as template for all other prototypes (new value/update methods, database table/column naming etc.)
* Included jQuery JavaScript library from within page.skin