From 8c010ef83636e730d90a5b19ff67dc7ed598b54d Mon Sep 17 00:00:00 2001 From: cdujeu Date: Thu, 22 Oct 2015 21:19:47 +0200 Subject: [PATCH] 6.1.0 Release Note --- core/src/conf/RELEASE_NOTE | 289 +++++++++++++++++++++++++++++++++++++ 1 file changed, 289 insertions(+) diff --git a/core/src/conf/RELEASE_NOTE b/core/src/conf/RELEASE_NOTE index 46be4dbe7d..ff730b7526 100644 --- a/core/src/conf/RELEASE_NOTE +++ b/core/src/conf/RELEASE_NOTE @@ -1,5 +1,294 @@ Pydio ##VERSION_NUMBER## Release Note +Development Version + +Massive refactoring of the JavaScript part: move away from PrototypeJS straight to ES6! Only the core is migrated now, rest of the UI components should follow. Ability to write React components for UI. Massive performance optimisations, especially on registry loading. Fix many bugs here and there. +Massive refactoring of AjaXplorer class into various subclasses (Registry & PydioUI). (details) +Reduce global scope pollution. Fix some destroy implementations missing the cache destruction. (details) +Massive JS refactoring: Core is now Prototype-independant, fully ECMASCRIPT6, transpiled by Babel. Many refactoring to decouple core Model from UI. Basic tests with WebComponents. (details) +New resources for ES6 support. (details) +Fix group listing for shared users when inside a group (details) +Enable API for load_shared_element_data (details) +Re-adapt CartManager to new API (details) +Track ajxpNode.getChildren() usage for new api (Map instead of Hash) (details) +Missing compat file (details) +server_message "require_registry_reload" (details) +More JS modules async loading to avoid loading scripts when they are not necessary (details) +IE 9 & 10 Tweaks. Not working on IE8 Add JS modules dependencies. (details) +Test file to be used with WebComponents (details) +IE8 Support: - TODO: For the moment, disable the protolegacy stuff (drop IE7 support)? - TODO: Add es5 shim & es5 sham. To be detected based on user agent? - Strict usage of window.console, not just console. (details) +Break is unreachable code. (details) +Move loadActionsFromRegistry() (details) +Set forceReload default value (details) +Remove unnecessary images. Fix global variables Remove global delete calls - Normalize prototype class constructions Remove with calls (details) +Avoid unnecessary resources on minisite (details) +UserDashboard: do not load images as iframe. (details) +Use flexbox instead of JS height computing when possible Buffer infopanel update to avoid blinking Optimize display. Avoid multiple $$ calls, avoid updating tree node label/icon if not necessary Defer AjxpDroppables initialization during tree rendering Remove resize listener on window for Scrollbar Still todo: recheck all editors (details) +Split scripts into boot, core and ui. Currently boot is compiled old fashioned way, core is compressed & mangled, ui is compressed only. (details) +Load repositories with a unique query instead of many small queries (details) +Performances: store loaded repositories in session (details) +Performance: user queriesCache for exposed properties list (details) +LangUtils : deepCopy/merge objects, forceJSON array to object. (details) +es6: fix Registry Loading (details) +es6: try using GET and pass a ws_id paramter to use http caching on repository (details) +es6: simple support for web components (details) +Connexion: switch all requests to post by default. Api: put support for file upload / download directly inside api, implement upload inside Connexion (details) +FilesList: use display flex instead of bloc if element has vertical_fit className (details) +Simple React component wrapper inside existing UI. (details) +Prefix all flexbox stuff (details) +Index.php : read tmp_repository_id variable from get or post. (details) +User Dashboard CSS: remove home_account_pane reference (details) +JS Core: es6 transpiled version (details) +Sql Log Driver: server many queries at once. (details) +New parameter frequency on analytics queries (details) +[ajxp_conf] Add some info in the various responses. Add limit & offset parameters on recursiveSearch New method filterFormElementsFromMeta to post data in a different format that standard form parameters. Delete action: grab parameter from window.actionArguments object (details) +PydioApi: handle discrete setting FetchedResultPane: update jsdoc (details) +Insert bundle.js in gui_debug.html (details) +Add new methods to LangUtils (details) +Admin: make main menu builder more modular (details) +Handle Alias in config menus (details) +ShareCenter: Fix authorization checking for various share types. Make sure to register the REQUIRES_INDEXATION flag on syncable shared workspaces to trigger indexation at first changes API call. (details) +UserMetaManager: check metadata is not empty. (details) +Add a MAIL_ENCODING parameter in the phpmailer plugin to eventually switch to 7bit for old Exchange+Outlook configs. (details) +Reload_registry message: make sure to trigger only if required. This can end up in a loop. LangUtils new method for arrayWithout() (details) +index.php test SDK: remove webcomponent reference (details) +Reload_registry message: make sure to trigger only if required. This can end up in a loop. (details) +React Implementation of UserDashboardHome (details) +Adapt share action to window.actionArguments passing (details) +New AjxpReactComponent in _ui list (details) +All necessary exports (details) +React Implementation of UserDashboardHome (details) +Update 6.0.8 release note (details) +Make sure to use (details) +Manifests: make sure to replace keywords not only on label. (details) +Detect Pydio native apps by user-agent. New function renderSimpleListAsNodes Fix updateDefaultRights (from master) (details) +New hook sec.access_ws (details) +Reset content_filter option when saving repository (details) +Avoid using class_exists() in relativeDate, it's too costly for perfs. (details) +Group fields differently (details) +Update client_unregister & client_consume channel actions (details) +Optional parameter on list repositories to get only a specific template children. Editing template: unchecking boxes is broken, make sure to remove not used options from existing repo. (details) +Use applyIncludeHook instead of applyHook otherwise it messed up registry loading. (details) +fseek: $whence parameter is not properly passed to underlying stream. S3 driver: override appendUploadedData() function as the streamWrapper does not support "a+" mode. (details) +Weird cases using ; instead of : (details) +Isolate WelcomeComponents scope (details) +We should get rid of sendSync() wherever possible. (details) +rename folder (details) +Remove modernizr & ajxp_utils from booter. Compile bundle into pydio.min.js (details) +Last compile (details) +Fix IE issues. (details) +Update package (details) +Use correct version of material-ui lib (details) +New interface SqlTableProvider and use it for first install Detect session handler via conf Rest.php: there should be no reason to start the session here (to recheck) (details) +Add info inside log table (details) +Check that class is properly created (could be ignored if php 5.3) (details) +Call session_write_close to speed up the queries processing (details) +Create a pool of callbacks if a file is loaded many times at the same instant, otherwise it may reload the file from cache. (details) +Fix remoteNodeProvider: empty response could end up in the node staying in _loading mode. (details) +Do not disable session for the moment inside rest. We should instead set up a $useSession flag on ConfService similarly to AuthService - TODO (details) +Add a $useSession parameter to ConfService and use in rest.php (details) +Notification: optimize queries for userExists() calls (details) +Repository: avoid error on parentTemplateObject type (details) +PluginsService & Plugin Optimizations: -> Optimize requires file -> Load class only if plugin is enabled -> Lazily unserialize XML manifest -> Cache some xpath query results (details) +New KeyValueCache, following Doctrine/cache interface, we should embed this lib. Currently only supporting APC. Cache plugins_registry always and full xml_registry for rest case only. (details) +Expand clear_plugins_cache action to empty KVCache and eventually opcache as well. (details) +Disable many unnecessary plugins by default, avoiding to load them if not really usefull. (details) +Use $this->getXPath() instead of direct access to $this->xPath as the manifestXML may have to be loaded lazily. (details) +Disable many unnecessary plugins by default, avoiding to load them if not really usefull. (details) +Reduce DB query number for loading repository Log driver: get repository ID from context, avoid to trigger another db call. (details) +Fix es6 (using Map instead of Hash) (details) +Refactor getFilteredXMLRegistry() function Refactor clearAllCaches() function (details) +Remove actions property from AJXP_Plugin, it's useless. (details) +Second call of initActivePlugins() in rest.php seems useless. Commented, to recheck. (details) +Properly invalidate KV cache when updating user / group / role / workspace (details) +Re-enable auth.serial & conf.serial for startup (details) +Remove @internal phpdoc key (details) +Enable updateAdminRights() for the moment. TODO: we should find a way to pass through that only when required. (details) +Add constant to ignore KVCache (details) +Add $admin parameter to the countUsersForRepository function. (details) +Add iconClass and description_template to drivers client_settings XML tag. (details) +Edit meta_sources as bulk data (details) +Optional option "iconClass" for userWidget (details) +Remove timer on router (details) +Pass driver label in workspaces list. (details) +Handle remote sorting when trying to guess the page position. (details) +Sync ldap group membership, filter groups from group DN (details) +Documentation authfront.cas (details) +Send PLUGINS_SCOPE to roles and users as well. Add new filters user / repository_id to the sql log queries. (details) +New function usersLastConnection on sqlLogger. New sub_action users_bulk_update_roles to avoid multiple query (details) +Use multiple selector external module New function LangUtils.objectValues() to replace Object.values() (details) +Typo in new code (details) +Fix diagram axis redraw by pointing to a specific git repo instead of official release. To be changed when PR is merged and released. (details) +Fix plugins values instance_name missing parameter. (details) +Reorganize ldap parameters (details) +Remove template workspace from the list (details) +Send query metadata (details) +PrototypeJS: do not override bind method if already native version. (details) +Parameters grouping and defaults (details) +Fix #955 - Clear selection on blur was breaking actions in user dashboard. (details) +Fix #958 - Reset Password is broken due to URL rewriting when guest user is enabled. (details) +Force string comparison for md5 checks (not used most of the cases) Exclude other tags from xss detection (details) +Fix issues in git-log when spaces in folder path. (details) +Update pdfjs to last version - Close #939 (details) +Remove all touch events management, simply disable scroller replacement when on mobile context. Should fix scrolling and button issues on mobile. (details) +Bug video reading issue with the http range Should fix #954 (details) +fix settings/leftpanel in vision theme (details) +Add react-dnd to resources (details) +Add indexes on log table (details) +Set the disclaimer validation in a group (details) +Replace ROOT_ROLE concept by AJXP_GRP_/ : applied to the root of the groups. Add support for groups reordering Fix an old bug where a role could be ordered before the group tree. (details) +Save the roles ordering (details) +Pass sticky info (details) +Update default_avatar image Use no_templates & templates_only attributes to identify the scope (details) +Replace ROOT_ROLE by AJXP_GRP_/ (details) +Massive refactoring introducing a MetaWrapper to avoid encapsulate all nodes url in the pydio:// form. Wrappers specifics (getRealFSReference, getLastRealSize, isRemote, etc...) have been encapsulated as well and should not be called directly anymore. The MetaWrapper can register many subwrappers, once they are all used it will then translate the url to ajxp.XX SchemeTranslatorWrapper is an extendable wrapper simply translating URL to the next available wrapper from the MetaWrapper. Maybe could be simplified. (details) +New unit tests (details) +Fix #952 better logging Fix issue creating a group with same id is not checked Fix #937 Check that file is readable otherwise we cannot compute md5 on it. (details) +Fix issue with .zip.zip extension #953 (details) +Fix slug issue - Close #938 (details) +Better way to detect mount status (details) +Fix 5.4 syntax Remove creation of .ajxp_mount as it's not need since previous commit. (details) +Keep up-to-date with develop (details) +Grab last changes from MetaStreamWrapper branch (details) +Fix Meta.user error after refactoring (details) +Add Test Unit on Permission Mask (details) +Change permission value (details) +Delete function mergetree2 (details) +Fix available permission restriction (details) +Add more assertions (details) +permission (details) +Implements JsonSerializable() : warning this is PHP5.4 ONLY! Fix setDeny() (details) +Fix overrideMethod Init from array with "read", "write", .. object. Implements JsonSerializable, php5.4 ONLY. (details) +Store masks in roles. (details) +Manage masks (details) +Updated ajaxplorer_boot (details) +Do not load a repository that has a parentId pointing to a non-existing repo. Log an error instead. Do not store reference to this->parentTemplateObject, it can end up storing a null reference in the $_SESSION array. (details) +Fix recursive listing broken by defaultOrderField mechanism. (details) +Fix SchemeTranslatorWrapper. Store url instead of path when reading dir. (details) +Fix PermissionMask & checks (details) +Invoke is_readable() at some places to dynamically compute permissions (details) +New method appendMetaWrapper (details) +rmdir was broken due to wrapper (details) +remove some tests (details) +Fix max overriding order issue Send repo security scope to UI. (details) +Fix typo in write2 function that was preventing correct Log In logging for WebUI. (details) +Allow editing permission mask for non-editable workspace Tweak how we display Root Group role When editing a group, compute a "Parent Role" based on the parent groups (details) +Use classnames module (details) +Revert ajxp_home to non-react implementation Declare build and load React bundle separately, to avoid any compatibility issues with older browsers. (details) +Root group role: do not show "ROLE_..." parameters, even if they have scope "Role". (details) +Wrong call to React library (details) +Fix AjxpTabulator layout when using Flexbox Add Roboto fontface. (details) +Fix vision & umbra theme to make them barely usable. Remove oxygen. (details) +Call isWriteable() on the root node as well, to send correct ajxp_readonly value. (details) +Missing reloadOnServerMessage on shares list (details) +Fix flex issues for minisites (details) +fix smb streamwrapper name conflict (details) +Never call the delete method of a Map directly, for backward IE compatibility. (details) +i18n update (details) +Fix splitter sizing, node insertion on descending sorting mode, remove unused variables Last booter compiler (details) +Fix startup.phtml : prototypejs moved. Booter: make set DB conf by default. (details) +Send also info about the workspaces shared with current user. Fix shares list issue - Ability for admin to list shares of a given user. (details) +Fix typo in JSON breaking the right info panel initial size. (details) +Implement Serializable on permission mask. (details) +Home Dashboard: listen to repository_list_refreshed event and reload the list. (details) +Remove the method call from the foreach() loop. (details) +Fix selectAll() action in GUI - was breaking the recycle bin empty action. (details) +Fix new Image() usage with prototype methods. (details) +Fix RepositorySelect (details) +Pass optional nodePathes on instant message to be later on filtered in channel. (details) +Add many is_readable() checks wherever we send data. Add the logged user id as target for reload_bookmarks and reload_shared_elements messages, otherwise they trigger reload on other users MsObserver: ignore refresh if no repoId change. NotificationLoader: fix comma typo (details) +Filter Changes, Feed and fork mask on shared folders. (details) +!!TODO: Update PG & SQLITE tables and drivers. Add last_updated flag on ROLES, allowing the detection to reload a user repositories list inside a running session. Use AuthService::$bufferedMessage to attach an instant message to be sent once the mq plugin is initialized. (details) +Commit bootstrap_context with KVCACHE_IGNORE by default. (details) +Ignore kv cache (details) +Auto-switch graph frequency to avoid super-heavy graphs. (details) +Create wizard breadcrumb. (details) +Add a "wizard mode" in FormManager for installer dialog. Rewrok the whole boot.conf installer with that. (details) +Add optional "depends" attribute on js ressource. (details) +Update prototypeJS to 1.7.3 - We should remove the legacy version. (details) +Boot.conf generates a simple server uuid that can be used for various identifier (kvcache should use it) (details) +Load JSON polyfill for IE7 (details) +New compression plugin to support TAR, TAR.GZ and TAR.BZ2 archive format (details) +Fix "Pixlr" plugin because they switch to "https" (details) +Revert the second call to initActivePlugins() in rest.php, as it can break some additional plugins loading after loading driver. (details) +Fix share action in rest mode : share worked but metadata was not correctly updated. (details) +Refactorize method(s) loadDriverRepository() (details) +Send back the updated role to make sure the update() was working. (details) +Update i18n messages in action.updater (details) +writeRepositoriesData: remove unnecessary code Definitely skip the admin rights check, just give the access to ajxp_conf (details) +Update restParameters and use UserSelection instead of 'file' variable in ShareCenter. (details) +Remove skip_admin_rights parameter (details) +Update grid-layout Update compression to new naming (pydio.Controller instead of pydio.actionBar) (details) +Fix soundManager load : do not check for registry. (details) +Imap wrapper: fix stat to make sure it responds correctly to the is_readable test. (details) +EmlViewer: remove unnecessary autoload (details) +Fix parseUrl() to detect pydio:// instead of ajxp.xx:// (details) +Do no use flexbox on dialog content (details) +Point to new MetaStreamWrapper Fix mobile flex issues (details) +Massive clean: remove IE7 specific resources plus unused classes or archived classes. (details) +Change check frequencies to 5s, replace "[]" to "array()" to avoid any problems later (details) +Fix is_readable() call to root. (details) +Fix long workspace names (details) +Fix double share button. (details) +Fix super long workspace names: limit to 3 letters for badge, fix CSS to adjust display. (details) +Update gitignore (details) +Adding Grunt task to compile core UI in gui.ajax (details) +Replace the ["extension"] to "PATHINFO_EXTENSION" and change the progress number to whole number (details) +Remove compiled resources. Update move dependencies at top level of gui.ajax. (details) +Ignore specific resources (details) +Updating Gruntfile.js (details) +Add a check if he user try to compress an empty folder to avoid some problems... (details) +Updating Gruntfile.js (details) +Update package.json (details) +Updating Gruntfile.js (details) +Move grunt to devDependencies (details) +Remove compiled files (details) +Ignore core (details) +AJXP_KEY_VALUE_CACHE (details) +Mega-merge from deprototype branch (details) +Double declaration (details) +Fix lucene indexation when copying files accross workspaces. (details) +Fix tag block removal (details) +Add meta watcher by default in access fs (details) +Fix various details on Share Center: display "view parameters" instead of "change parameters" if panel is in readonly mode. Disable some actions if in ajxp_* workspace. (details) +Disable kvcaching by default. (details) +Fix some flexbox issues in IE (details) +Fix IE horizontal scroller in FetchedResultPane (details) +Fix wrong shares list for workspace with id 0 : do not use empty(). (details) +Update Italian translation for plugin 'access.ajxp_conf' (details) +Update Italian translation for plugin 'access.ajxp_home' (details) +Update Italian translation for plugin 'access.ajxp_shared' (details) +Update Italian translation for plugin 'access.ajxp_user' (details) +Italian translation for plugin 'action.antivirus' (details) +Update Italian translation for plugin 'action.cart' (details) +Italian translation for plugin 'action.compression' (details) +Fix smbclient error if filename contents '#' (details) +Translate "Root Group" (details) +Fix tests syntax: use __construct(), remove strange semi-colomn after class creation. (details) +Use __construct instead of AbstractTest constructor (details) +Use __construct instead of AbstractTest constructor (details) +Light revamping of diagnostic tool. (details) +Add dirname and filename in log table to be able to filter on these. Pass a "files" array to the log method when possible. (details) +Fork materialUI and create our own branch as we are using Less framework. Update grunt file to build materialUI before bundling. (details) +Publish permission mask as json. (details) +Inform that a workspace does have a permission mask. (details) +Code Inspection (details) +Update README.md (details) +Error when removing user from share if the workspace does not have meta.watch. (details) +Narrow-down textarea selector for submitting comment, otherwise it takes the wrong one (typically if file/folder is shared). (details) +Fix some notifications issues with shared users. (details) +Fix login dialog positioning. (details) +Pass isHidden to createUser function and send to the hook as well. (details) +Add a small opacity animation on info panel async blocs to avoid heavy blinking. (details) +PhpDocs (details) +Revert specificy parameter type as it creates false negative documentation bug. (details) +Replace run build by babel to avoid dependency to jsx (details) +Add JS compilation step to the build (details) + + + +------------------- + Pydio 6.0.8 - Security Update & Bug Fixes [06.26.2015] Pydio 6.0.8 is another security update fixing XSS vulnerabilities discovered by Lane Thames and William Sörderberg.