* Wrapped display of creation and modification dates in <% if %> macros in Comment#edit skin
* Slightly reduced code in global formatDate() method
* Modified HopObject.created_macro() to prevent creation dates of transient objects from being displayed or formatted incorrectly
* Modified HopObject.modified_macro() accordingly
* Added width attribute to CSS definition for fieldset elements
* Reduced macro code in Story#edit skin
* Replaced "story" handlers in a few Story skins with "this" as otherwise comments won't be correctly rendered in history or RSS output (which I think is due to the recent changes in Helma related to fixing bug #617)
* Fixed various b/w compatibility issues found in some sites
* Fixed pager action in Images
* Added confirmation dialog before resetting a layout
* Added collection containing updated sites in reverse chronological order
* Modified site listing (still work in progress)
* Save site name as title if no title is entered
* Removed some res.debug() calls
* Removed obsolete skin files (ie. content moved to the protected skin file)
* Moved contents of Messages.skins to their protected siblings
* Prefixed notification skins (used in e-mails) with "notify_"
* Fixed and simplified a whole bunch of issues in compatibility layer
* Fixe paging of tagged items
* Fixed permissions of Archive when archive mode is "closed"
* Fixed global breadcrumbs_macro for Root
* Fixed default value for pageSize in site preferences to reset to the stored value if available
* Reactivated Skins.safe_action
* Removed debugging code
* Added $Global.skin as first attempt to move certain skins in a namespace protected from customization
* Very much improved image editor interface
* Thoroughly fixed and tested image upload, fetching, thumbnail generation and replacement
* Added work-around for Helma bug #607 by calling persist() on creating a story or an image before setting the tags
* Fixed sequence of clipping/embodying and tag stripping in Story.getTitle()
* Commented out redundant rendering of layout values
* Added static Layout.VALUES array
* Commented out READONLY mode of comments for now
* Fixed custom content handling in Story (however, content_macro still needs to be fixed!)
* Fixed rendering of date header by correcting references to Story#date skin
* Added aspects for b/w compatible story editing
* Cleaned up aspects
* Fixed deprecated Story macros for b/w compatibility
* Added missing entries to translation table of updated app
* Added option to retrieve the redirect URL from the static remove() method of a prototype
* Added Layout.getMacroHandler() method to enable linking the Skins prototype from here
* Fixed the (in)correct spelling of req.data.referer in the LogEntry() constructor method
* Fixed referrer display by correcting the skin name for the referrer item and the variable name for the referrer count
* Fixed link to galleries (ie. image tags)
* Fixed output of RSS feed when there's no site tagline
* Disabled moderated comments for now
* Modified permission check for displaying tags to always refer to the site's permissions
* Added custom Layout.href() method to prevent the URL from being corrupted with the layout ID (which strangely happens from time to time)
* Uncommented $tags collection in Root.properties to prevent conflict with collection in Site having the same name
* Fixed output of tags list in Story.getFormValue() method
* Removed obsolete rescue methods
* Moved contents of many individual skin files as subskins in the corresponding prototype skin file
* Moved commentform_macro of Story prototype into compatibility module
* Added encoding="form" parameter to most of the macros using the request handler
* Renamed commentsMode to commentMode (comments_mode to comment_mode in DB)
* Reactivated notifications in a simplified manner
* Throw an error in global sendMail() method if arguments are not sufficient
* Added HopObject.notify() method
* Added HopObject.kind_macro() method (provides the constructor's name in lowercase)
* Added Messages.skin containing subskins suited for e-mail output
* Removed obsolete skin files
* Added reset_action() method for resetting a user's password to Members prototype
* Added require() method to Membership prototype; wrapped static require() method around it
* Added Membership.notify() method which does all the member-related notification stuff
* Send notification on membership removal
* Fixed contact form in Membership prototype
* Dropped e-mail property from Site prototype (users can be contacted via Membership.contact_action(), Root prototype has extra e-mail property)
* Added missing getPermission() method to User prototype, always requiring a privileged user
* 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
* Renamed PollMgr to Polls
* Removed graph.skin from Choice prototype
* Improved Choice skins by replacing param with choice handlers
* Unified output of Choice totals in choice.votes_macro
* Moved creation of new choices to client-side JavaScript
* Added labels for radiobuttons
* Added HopObject.radiobutton_macro
* Cache / reset status of story when rotating
* 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()