Changes for the Labyrinth Core
5.08 19/06/2011
- documentation updates.
- added url mapping for MetaCloud links.
- fixes for GetImageSize.
5.07 19/06/2011
- added GetImageSize & GetGravatar to Media.pm.
- added a cleanup of erroneous XHTML patterns in MLUtils.pm.
- store error message if opening mail pipe fails in Mailer.pm.
5.06 19/05/2011
- abstracted input CGI to Labyrinth::Query::CGI.
- abstracted output CGI to Labyrinth::Writer::Render::CGI.
- abstracted template parser to Labyrinth::Writer::Parser::TT.
- all above in order to allow PSGI packages and other template parsers
to be used.
- documentation updates.
- reworked CookieLib to use new Labyrinth::Query::CGI package.
5.05 11/04/2011
- fixes and code cleaning from CPAN Testers Blog site.
5.04 13/03/2011
- Abstracted GD and ImageMagick drivers into their own distributions.
5.03 05/01/2011
- removed unused reference to Text::Format.
5.02 03/01/2011
- added better handling of MIME Types from CPAN Testers sites.
5.01 01/01/2011
- moved MasterCheck from plugins to core
5.00 01/01/2011
- first official open source release.
- sessions can now be deleted by isolated script not part of logins.
4.19 13/09/2010
- fixed RSS body content.
- update Phrasebook.pm to use Data::Phrasebook.
4.18 20/08/2010
- merged Request.pm differences for DBI and .ini file configuration.
- plugins split away from core.
- documentation patches.
4.17 11/03/2010
- rewrote requests to use database rather than ini files.
- rewrote plugin framework to load on demand.
- removed file lookups.
- added parameter validation to RSS feeds.
- alternate data sources for RSS body text .
- RSS permanent links split for articles and site links.
- auto commit now an option to DBUtils.
- comments can be ignored or removed in MLUtils.
- '#' is valid in a URL.
- 'noscript' added to the list of valid tags.
- defaults applied to 'who' when saving IPs.
- added UserID lookup in Users.
4.16 06/03/2009
- fixed DTUtils.pm undefined error.
- simplified Metadata searches and combined photo/page searches into
a single table using nested selects
- updated MLUtils.pm with new XHTML compatibility fixes.
- removed unused Exporter references from several modules.
- removed excessive use of 'use vars' where it wasn't needed.
- reduced unncessary function calls
- reduced unncessary database calls
- added protection for bad image calls (IMDriver.pm/GDDriver.pm)
- moved Plugins management to Plugins.pm
- remove whitespace before </p> in MLUtils.pm
- added demoroniser code to MLUtils.pm
4.15 31/05/2008
- upgraded to latest TinyMCE - v3.0.8
- fixed session update functionality
- fixed names of db access parameters
4.14 14/05/2008
- aded further attribute (MLUtil.pm)
- MetaCloud now allows multiple lookups (Metadata.pm)
- added guest user lookup (Session.pm)
- added badcommand option (Writer.pm)
- constraints abstracted in CPAN module (Constraints.pm)
- new date format (DTUtils.pm)
- added links and perma fields (RSS.pm)
- remove any remaining actions on a reset request (Request.pm)
- added host settings (Globals.pm)
- added further log messages when mail not configured (Mailer.pm)
- added picture storing ability to Venues.pm
- added IPAddr.pm
- added GetUserGroup to Groups.pm
- added NAME to menu option fields to allow each option to have a
unique identifier to be used within CSS (Menus.pm)
- rework of trail creation from menus (Menus.pm)
- rework of hits listings (Hits.pm)
- rework of guestbook, adding IPAddr functionality (Guestbook.pm)
4.13 13/12/2007
- trim trailing whitespace from code
- incorporate session/menu changes from smart site
- map awkward quoting characters to sane ASCII versions
- include the ability to server binary (PDF) files (Writer.pm)
- include Order and Product plugin rewrites from smart site
- include Authenticated Downloads plugin
- fix Mailer hooks from Labyrinth.pm
- Allow for more caller information via Audit.pm
- bad login now throws BADUSER error (Session.pm)
- incorporate language code into session from OD360
- include RealmCheck and RealmID to realm support
4.12 03/12/2007
- complete review of code to ensure that database result sets are
being returned and used correctly.
- removed further unnecessary template variables (eg 'norecs') when no
results sets. TT logic can figure it out!
- changed RSS to use name/email from settings
- fixed BookReviews to use PUBLISHER for admin access
- fixed image processing for BookReviews.pm
- added ISBN drivers to prerequisites (also added Amazon back in)
- fixed additional links to be saved and update for O'Reilly
(BookReviews.pm)
4.11 26/09/2007
- added TagCloud support to Metadata.pm, Articles.pm and Diary.pm
- fix to MLUtils.pm to add further legal tags
- Change Labyrinth::Images to Labyrinth::Media
- add several media file support functionality, including archive
extraction
- removed all references to 'norecs', TT logic can figure it out!
4.10 09/08/2007
- performance improvements within Globals and Variables
- name change: Specific.pm => Support.pm
- added extra debug info for DBUtils.pm
- added more default legal HTML tags in MLUtils.pm
- fixed session management with guest user
- fixed articles listings
- major rework of News.pm (removal of snippet, added better support
for front page and archived news).
- added more functionality to Hits.pm, changing the way hits are
recorded and presented
4.09 07/06/2007
- added categories to links (Links.pm)
- 'users' template container used for data from Users.pm
- show/hide/ban/delete users functionality improved
- fixed closed_tag_dependent bug (MLUtils.pm)
- moves TechTalk.pm to Events/TechTalk.pm
- abstracted out social/technical specific code to Events/Meetings.pm
- changed the LoadSettings to use Config::IniFiles to read the settings
config file. This means that lists can now be used for settings.
- fixed new abbreviations - no longer supports regexs
- fixed VenueSelect blank reference
- fixed $where in Album::Page::Admin when undef
4.08 30/05/2007
- when logging in the next command sets 'home-'+realm as the next
command. The default assumes a normal 'public' user. (Session.pm)
- added Survey plugins
- added server date/time template variables (Content.pm)
4.07 28/05/2007
- more date/time formats (DTUtils.pm)
- more POD in core Images.pm
- urlregex moved to Variables.pm and stored in $settings{urlregex}
- emailregex added to Variables.pm and stored in $settings{emairegex}
- RSS.pm added to core
- Wiki.pm and WikiText.pm added to plugins
- better HTTP handling in Writer.pm, including returning 404 status
- fixed page/photo id checks in Hits.pm
- added <pre> as another tage where <p> doesn't to preceed it
- fixed bad URL capture
- fixed several areas when saving user data, no existing checks for a
new user and absolute default realm is 'public'
- added ipaddr to tvars
- added %closetag_is_dependent to allow for <a name="a" />
- improvement to menu option deleting
- added more entries to %safe_tags (MLUtils.pm)
4.06 10/05/2007
- better handling of plugins by abstracting out into Plugin.pm
- added url regex to Constraints.pm
- added ipaddr code
- added Media functionality to core Images.pm (name may change)
- added more entries to %safe_tags (MLUtils.pm)
- improved Metadata.pm interfaces
- removed last remaining forum references
4.05 08/03/2007
- lots of fixes!
4.04 21/02/2007
- created Variables.pm to stop cyclic dependency, simplifying Globals.pm
in the process.
- improved Writer.pm so valid XHTML is correctly parsed out.
- as a result of the above extended MLUtils.pm and fixed several
hidden content bugs in the templates.
- Croak moved to Writer.pm as it's a better fit in the chain.
- removed unnecessary references to Globals.pm, Session.pm & Specific.pm
from plugins that don't use them.
- SafeHTML => CleanTags in several plugins.
- undef body bugfix to images in paragraphs (Articles.pm)
- initialise event types (Events.pm)
4.03 04/02/2007
- Testing with Selenium has highlighted some areas of the core code
that needs a little more tightening, together with various areas of
plugin code.
- a fix to prevent anyone trying to access realm code directly
(Labyrinth.pm)
- removal of Carp dependancy and general code clean up (Audit.pm,
DBUtils.pm, DIUtils, Phrasebook.pm, Request.pm, GDDriver.pm,
IMDriver.pm, Specific.pm)
- Carp::croak replaced with Croak, which provides better error
messaging both to logs and to the user.
- PathMove and Croak added to Globals.pm
- GroupSelect updated and GroupSelectMulti added (Groups.pm)
- update of copyright/author/name documentation
- ddmmyy/printsafe/url/realname match functions updated with better
regexes and returns undef if no match (Constraints.pm)
- removed \n in select/option HTML strings (DTUtils.pm, Globals.pm,
Groups.pm, MLUtils.pm)
- better session logging (Session.pm)
- Mailer.pm improved to avoid cyclic dependancy
- added AccessLevel checks for admin functions (Plugin::Base.pm)
- added UserSelect (Users.pm)
- made UserName cache names correctly (User.pm)
- better error checking in public facing method, to prevent anyone
trying to access anything they shouldn't do. (various plugins)
- improved dropdown calls and deletion (Plugin::Groups.pm)
- RSS code made to reflect the configuration file (Plugin::News.pm)
4.02 26/01/2007
- dates => ddmmyy, email => emails (Constraints.pm)
- DB connection error fix - now displays a nice message to the user and
doesn't reveal any sensitive info (DBUtils.pm)
- StockType added to gather data from DB (Globals.pm)
- major rework around stock types, such that the default (DRAFT) is
always id=1
- in CGIFile force lower case extension for uploaded file (Globals.pm)
- try and keep dimensions up to date (Images.pm)
- tidy up of code (Phrasebook.pm, Request.pm, Session.pm)
- scalars are not references! (Base.pm)
- default alignment = none (Specific.pm)
- added redirection code (Writer.pm)
- added new date format string (DTUtils.pm)
- added Standard plugin set to the manifest
4.01 12/01/2007
- additional documentation
- better handling when a plugin fails (Labyrinth.pm)
- added ? to list of acceptable characters for simplewords
(Constraints.pm)
- settings now automatically passed to tvars for PROJECT, HTTP & CMS
sections (Globals.pm)
- fixed bugs in CleanTags (MLUtils.pm)
4.00 10/01/2007
- implemented proper plugin functionality for Scooter Do & Style Stop
websites
- general code cleaning and additional documentation
- added more date formats (DTUtils.pm)
- fixed undef range bug in YearSelect (DTUtils.pm)
- ported core functionality out of plugins (Images.pm, Metadata.pm,
Users.pm)
- fixed undef issues with protocol and cgiroot values (Globals.pm)
- DB errors now trip MESSAGE rather than ERROR (Globals.pm)
- new functions CleanLink & CleanWords to fight spam (MLUtils.pm)
- fixed an undef error case (Phrasebook.pm)
- Login/Logout require direct reference (Session.pm)
- FreshPassword moved to new Users.pm
- improved session handling, now even guests have a key (Session.pm)
- fixed undef key for session key bug (Session.pm)
- removal of specific realm changing code (Specific.pm)
- addition of FolderSelect to prepare for full website management
(Specific.pm)
- fixed AuthorCheck/AccessUser bug where permission is 0 (PUBLIC)
(Specific.pm)
- removed unused error codes (Writer.pm)
- Evaluates Perl for BADPAGE (Writer.pm)
3.00 03/11/2006
- More general improvements to the system from writing DanDan's website
- Added more caller info (Audit.pm)
- fixed AUTOLOAD bug (DBUtils.pm)
- simplified regex for script extraction from ENV variable (Globals.pm)
- removed strip from automatic CGI parameters parsing (Globals.pm)
- filters added to parserules file (Globals.pm)
- script & randpicwidth added to automatic tvars list (Globals.pm)
- formatted all HTML code to meet standards
- LinkSpam added to protect spam attacks (MLUtils.pm)
- broken url regex down to more understandable components (MLUtils.pm)
- added more realm handling code (Specific.pm)
- fixed AuthorCheck to cope with records without a userid field
(Specific.pm)
- fixed FieldCheck to cope with added items (zero or blank id fields)
(Specific.pm)
2.00 10/10/2006
- complete overhaul of code from implementing the Slim Pickins site
1.00 00/00/0000
- first version of Labyrinth, rebuilt basic core elements