Ariadne Changelog

New in version 9.0

July 29th, 2015
  • Upgrade notes
  • all loaders now use lib/bootstrap.php for global initialisation
  • if you have custom loaders look at the bin/skeleton.php for how to adapt your loaders
  • minimal php version is now 5.4
  • installing php5-mcrypt is recommended
  • after upgrading the code, you must run the upgrade script or some sites may have broken files/images
  • we removed the "persistent connections by default" for the mysqlstore, this can be reenabled by adding 'p:' in front of the database server name in lib/configs/ariadne.phtml
  • to reenable persistent connections for mysql add 'p:' infront of the database hostname
  • Features
  • new inline WYSIWYG editor by Vedor
  • added closure support in pinp templates, added numerous php functions to the whitelist that use callbacks, though we support only closures as a callback method
  • added ar/files api for interaction with the filestore
  • reworked the caching layer, this makes it possible to clear all cache images interacting with a template or object this also installs another store in the current database data storage
  • added ar\formats\markdown
  • added ar\formats\less, supercedes ar\beta\lessc which is now deprecated
  • the muze.js libraries now have support for dynamic loading of dependencies using muze.require()
  • parse errors in templates are correctly shown when using xdebug
  • Upgraded ace library for chrome >=38 support
  • added parsing and minimal function support for cache-control request headers,
  • added seperate client-side and server-side caching options in the cache dialog
  • ar('pinp') allows you to check if a library is loaded and/or if a template exists.
  • added scaffolds to quickly start new projects.
  • added the muze CMS libraries in /system/lib/muze/
  • added onbeforecall/oncall events
  • added target object and path to all events by default, as $event->target and $event->path
  • ARnls id now initialized in bootstrap.php, and is thus always an object
  • Changes
  • Introduced a new Ariadne logo
  • files are no longer stored in duplicate: the _file entry in the filestore is removed, just the _$defaultnls_file is left.
  • properties are now quoted by the store instead by the caller of save
  • added php-unit and a first set of unit-tests
  • session cookies now use json encoding. To prevent upgrade problems we also renamed the session cookie
  • added optional cookie encryption for, enabled by default for new installs running 'php www/install/conf/session.conf' will give you a config snippet with a random generated encryption key
  • the MySQL store now uses mysqli internally.
  • added a 'fixed' scenario and display for newspaper articles
  • added array_column and key_exists to allowed function calls in pinp
  • the default typetree.ini template now keeps any typetree information already set
  • tidy is renamed to ARtidy
  • removed the persistent connections by default for the mysqlstore
  • Bugfixes
  • fixed support for sub-method calling of xmlrpc methods ( method name is x.y or x.y.z )
  • synced function definitions between loaders
  • fixed typo in error reporting when running an ax import from the commandline
  • made mfu.save.html overrideable by pinp templates
  • fixed ar\html\menu menubar links to point to the correct parent
  • fixed formSecret handling
  • fixed saving user/groups where the group isn't a pgroup but implements it
  • set the responseheader in ar/http/Client even when the result of the request is empty
  • fixed loadtext(): now correctly supports 'current:template.nls' where multiple libraries provide the same template.nls
  • fixed a parse error in mod_pinp
  • fixed a usecase where psite would lose it's site url
  • typo fixes in im/export.wddx
  • fixed a timing issue in the backend with the fade-in / fade-out code
  • synced/corrected function definitions between loaders
  • Fixed buttons in dialog.browse.php
  • Automatic formsecrets in ar/html/form have been improved
  • improved handling of relative paths in dialog.browse.php
  • corrected check for implements user/group it now also support subtypes
  • added saving of an emailadres in mod_rcas
  • You don't need add rights to display the userinterface of the add dialog anymore
  • Private templates in libraries are now actually private, no longer accessiable through the browser.
  • fixed saving of properties in the workspace store
  • fixed incorrect cleaning of HTML in the YUI WYSIWYG editor which turned into
  • fixed error display for SVN updates, errors from previous files were displayed again for each next file
  • fixed event listeners which filter on specific subtypes
  • break template lookup's on psection subtypes
  • also reset pinpcache when calling resetconfig

New in version 8.2 (December 19th, 2013)

  • This version fixes two templates that used PHP short open tags - which aren't supported everywhere - and fixes the copy and rename dialogs.

New in version 8.1 (November 23rd, 2013)

  • This version adds native support for Edge Side Includes, Post Processing using output buffering (enabled by default), and some minor user interface improvements.
  • It also fixes a number of minor bugs.

New in version 2.7.9 (February 2nd, 2013)

  • This version is mostly about fixing a few bugs, but also adds a new muze dialog loader to create crossbrowser dialogs as a replacement of showmodeldialog.
  • It also adds support for cross-protocol domains to psite objects.

New in version 2.7.8 (December 28th, 2012)

  • This version adds many, fixes, and new features within the ar() structure.
  • Site rewrites allow you to automatically rewrite URLs and references within sites to make it easier to work with development versus live environments.
  • Remote authentication allows the use of frameworks like OAuth or even authentication against other CMSes.

New in version 2.7.7 (January 23rd, 2012)

  • This version fixes a number of small bugs and adds one major new feature: Automatic Cross Site Scripting (XSS) Detection.
  • This change may impact your own code, so read the explanation on the Web site carefully.
  • With this change, all your old code is immune to XSS attacks.

New in version 2.7.6 (September 8th, 2011)

  • New features:
  • Added new dynamic form functionality. See www/js/form.js.
  • Added the option to post the Ariadne session check key when cookies are not available (in flash applications).
  • Experimental template editor with syntax highlighting: ace. Configurable through preferences dialog.
  • New demo project (optional install).
  • Try/catch now supported in pinp templates.
  • Added support for debugging with firePHP.
  • Added mod_recaptcha module.
  • Changes to existing features:
  • Removed most of the ereg calls, replaced with preg.
  • Added NOFOLLOW meta tags for the default ariadne view.
  • Updated the portuguese, french and dutch translations.
  • Improved the installer, removed all warnings.
  • Made the mod_captcha module more robust.
  • Caching will be disabled when debuging is on.
  • Allow shortcuts to users/groups to be selected from the grants dialog.
  • Added 'delete_empty_containers' option to htmlcleaner which removes empty container tags.
  • More robust htmlcleaner (attributes).
  • Improved handling within the management view for large object sets.
  • count_find() has now its own store handling for better performance.
  • Improved the ariadne error handler. It will only display errors in the page when display_errors(php.ini) is set to on.
  • ar/xml and ar/html have been made more robust and consistent.
  • Numerous bugfixes in ar/connect/ftp.
  • ar/html/menu has been refactored to be more consistent and flexible.
  • Added ar/html/form::findField.
  • Improved ar/events performance, added the event name in the event object.
  • Added a large number of events to ariadne, see ar/events documentation.
  • Bugfixes:
  • ar/form: password fields no longer shows passwords value in the input.
  • Fixed upgrade from 2.4rc2 (ariadne base package was renamed).
  • Non-default templates are not saved within the unnamed library cache anymore.
  • Fixed ar\http\client get requests with form data. Parameters are now encoded in the url.
  • Chrome is no longer too eager in caching ariadne pages.
  • Fixed an allnls bug; templates will not be shown anymore when allnls is not set and the object doesn't have the requested language.
  • We now skip language check for config.ini.
  • Fixed named library lookup for non-existing libraries.
  • Fixed several browsing bugs within the ariadne backend.
  • Fixed the user-account disable option.
  • Fulltext properties will not get imported via ax files.

New in version 2.7.5 (April 15th, 2011)

  • New features:
  • Added get_content_type function to mod_mimemagic
  • Added upgrade script for newer myqsl database which adds defaults to table fields
  • Mod_htmlcleaner now has the option to remove empty tags
  • Added error reporting support for Fatal errors
  • Added ar/connect/multigate, a connector to Multigate to allow easy messaging from Ariadne. Only supports IRC for now but multigate will allow a broad choice in messaging protocols.
  • Users no longer require hardlinks in groups, but can be shortcut items now.
  • Changes to existing features:
  • rewrote the mysqlstore to do all query's with the internal store_run_query function, and replaced mysql_db_query because it is deprecated
  • Fixed iterator support for ARnls
  • Changed arSuperContext from a switch to an array which keeps score of seen templates. This resolves conflicts created by loading the same unnamed library on multiple paths.
  • Index.html now also allowed on ppage
  • Added default setting for ARBasedir in ariadne config to prevent problems with symlinks
  • Refactored the database init code;
  • Upgraded YUI to version 2.8.2
  • Fixes in the whole codebase to use $AR instead of $ariadne
  • sgBegin can be used in php-based scripts without a key to make it easier to get the correct grants.
  • Improved error reporting
  • Added wrappers for the store upgrade functions
  • Showing all types now uses the names in arTypeNames (all available types) instead of the ones used in the typetree
  • Compiled PINP templates no longer contain comments, resulting in a speedup.
  • Added specific dialog for customdata on shortcuts
  • ar/html/form: Added getNameValue and validate to fieldset class
  • call_super() will now also follow shortcut redirects
  • Bugfixes:
  • fixed NLS problem with file uploads
  • removed some unused code
  • FTP filenames now get the correct data for name info
  • Added missing case for Ariadne upgrade scripts
  • Fixes in mod_keepurl: make_real_path and get()
  • Removed magic marker that detected .pps and .xls files as msword
  • Fixed copy functions to check for illegal filenames
  • Fixed caching of library templates
  • Fixed endless loop when call_super()ing on an baseType::function.html call
  • ar/html/menu: fixed root() to return the correct value
  • ar/connect/soap: Fixed header instantiation and __soapCall methods
  • ar/xml: Fixed indenting when a nodelist contains another nodelist
  • Fixed config handling
  • Fixed saving grants on groups
  • Added correct use of htmlentities in user.notfound
  • Fixed owners on shortcuts
  • Saving grants on groups/users now works
  • Fixed sgEnd() to release the grants

New in version 2.7.4 (January 24th, 2011)

  • This version has a number of small improvements and fixes, as well as a greatly expanded and improved version of the new API.
  • It adds a new object type, pproject, that is intended to ease management of projects with their sites, users, and libraries.
  • The new Ariadne API has been extensively tested and expanded.
  • It is now complete enough to build entire projects with.
  • It has been checked for consistency, correctness, ease-of-use, and expandibility.
  • It adds easy XML and HTML parsing, XML data binding, an event system, OpenAuth, RSS, SOAP, and Twitter support.

New in version 2.7.3 (November 18th, 2010)

  • empty strings are nolonger tainted
  • Labels in forms are now optional, set the label to false to skip the label.
  • Return errors with the name of the fields as the key instead of the label, this makes it easier to show the correct error messages in multilingual forms.
  • Added getHTML() method, which returns the ar_html dom object, allowing you to manipulate the form output.
  • muze javascript libraries updated
  • added capabilities checking, with muze.env
  • muze.event no longer automatically attaches a cleanup routine onunload. It no longer needs it. The event library doesn't generate circular references. With this change browser fast history navigation feature works again.
  • muze.js base lib has been updated:
  • the namespace() method now has an optional function argument, the return value of this method will be stored as the namespace object.
  • the require() method also has an optional function argument. This method will only be called if the requirements are met.
  • include() and load() return a loader object, which allows you to set callback methods using loader.onload() and load.ontimeout(). You can clear these method using loader.clear().
  • pphoto
  • Added a new shadow() method.
  • Bugfixes:
  • Fixed a bug in the handling of pfile objects, you can now put() an ariadne pfile object.
  • pasv() now returns an error if switching to or from passive mode fails.
  • Fixed parsing of the url in ar_connect_ftpClient::__construct, now parses paths not ending on a '/' correctly.
  • Fixed form validation: empty strings are now also flagged as incorrect for required fields.
  • Fixed the html input type, was broken in previous release
  • Fixed autoloading sections that do not exist, they are now flagged as missing instead of trying to load them every time.
  • Fixed file downloads for internet explorer. Cache-control is now set to private, which fixes intermittent problems with downloading.
  • Fixed a bug which made it impossible to save a template through the ftp loader.
  • Fixed opacity in IE8 so the fades on the sidebar of the yui interface work.
  • Fix the installer to properly set the ariadne webroot
  • Fixed the old install script to set the admin password since the base.ax no longer has an admin password.
  • Fixed locking when starting the edit dialog
  • Fixed a problem in the sql compiler (used by find()) which broke multiline queries.
  • Fixed a javascript error in the template editor when restoring the cursor position.
  • Fixed the mogrify feature to set the correct vtype for subtypes (e.g. ppage.subtype now sets the vtype correctly to ppage).
  • Fixed the pinp interface for mod_page:compile - added a missing language option
  • Fixes in the authentication system. It now properly initializes Ariadne with the public user before trying to authenticate the given user account.
  • Logging into an active session with another user now works with custom user folders.
  • The loader now automatically redirects to a url with a sesssion id after a user logs in on a page
  • Fix the grants dialog textmode button to be clickable in internet explorer
  • Copying an object will now set the owner of the copied object to the user doing the copying
  • Fixed a problem with custom data fields in the edit object dialog when the custom data contains the tag.
  • Fixed workflows (user.workflow.pre.html and user.workflow.post.html) so they are now always executed even when the requested language is not set on that object.
  • Guard against errors reading captcha files that no longer exist.
  • Minor cosmetic changes to the yui interface

New in version 2.7.2 (August 21st, 2010)

  • The most important change is the speed; this release is between 2 and 6 times faster.
  • It queues image manipulation commands to prevent DoS attacks.
  • It has an FTP client API, improved gettext/loadtext methods, allows user groups to be created anywhere, and no longer allows creation of a config.ini that breaks the Ariadne backend.
  • Numerous bugs have been quashed.

New in version 2.7.1 (June 12th, 2010)

  • Faster, more polished and all reported bugs fixed.

New in version 2.7.0 (January 30th, 2010)

  • Major work (more about this below):
  • All new user interface
  • New installer
  • New naming scheme on disk
  • Templates can have SU-style abilities
  • Muze Javascript library
  • Changes in multi-language support
  • Improvements in:
  • SVN support
  • Library support
  • Third party authentication
  • PINP functionality
  • Bugfixes:
  • Native language support
  • TinyMCE editor handling
  • lots of others minor bugfixes!

New in version 2.6.1 (December 20th, 2008)

  • This is the first PHP 5 version.
  • It also has optional password expiry and SMB authentication.
  • There is a new HTML editor that works with IE7 and 8 under Vista.
  • Finally, there is a new style store interface (mod_ar).