Collabtive Changelog

What's new in Collabtive 3.1

Sep 19, 2017
  • Fix a bug where the generic female avatar wasnt shown in the user-admin area
  • Update PHPMailer to its latest stable release 5.2.2 to mitigate potential issues with PHP7
  • PHPMailer dependency now managed by composer
  • PCLZip dependency now managed by composer
  • Fix CSP header frame-ancestors
  • Submit timetracker entries asyncronously
  • Display total hours in timetracker report (again)
  • Make forms reset by default after they have been submitted.
  • Allow users to be assigned to milestones
  • When moving the due date of a milestone, the due dates of associated tasks are also moved
  • Allow multiple tasklists to be created when creating a milestone
  • Display tree view of tasklist assigned to a milestone in milestone details
  • Display messages in milestone details treeview
  • Make opening an accordion slide a lot faster in accordions with many items
  • Replace pixel graphics in the tree view with SVG vector graphics
  • Fix the accordion in "late" milestone when creating a new milestone that is late
  • Draw milestones associated to messages, with their tasklists, tasks in a tree view
  • Draw files associated to messages in a tree view in the message details.

New in Collabtive 3.0.2 (Aug 17, 2017)

  • Fix character encoding issue with some special characters in titles of projects, tasks, etc
  • Refactor lots of vue.js 1.0 syntax to be compatible with 2.0
  • Change default number of projects displayed on the desktop to 15
  • Fix font encoding issue in PDF generation
  • Change truncation of project titles to 35
  • Fix the accordeon in project->milestones
  • add an additionalFields field to the model of the viewManager. It facilitates passing arbitrary global data from an endpoint to a vue template
  • Improve pagination with many pages: the pagination control now display only the first, second as well as the current +-1, and the 2 last pages
  • Actually load minified JS assets in some places
  • Set CSP frame-ancestors to 'self'. this prevents clickjacking attacks, where collabtive is embedded into other website contexts.

New in Collabtive 2.1 (Mar 13, 2015)

  • Removed accordion-related JS legacy code from desktop
  • Added default charset to all create table statements
  • Removed creation of unnecessary table
  • Added collation info to install-readme files
  • Fixed bug in start date vs. end date comparison when adding or editing a task
  • Fixed bug to return correct customer for a project
  • Made customer selection available in admin area
  • Localized customer-related labels and labels for the installation procedure
  • More SQL queries use prepared statements now
  • Remove file upload for IE versions 9 and older
  • Removed several calls to htmlspecialchars(). they are obsoleted by the html purifier lib and caused issues
  • Removed several calls to stripslashes(). they are obsoleted by html purifier
  • Fixed a problem with ambiguous field names
  • Fixed a missing GROUP BY clause
  • Implemented SQLite support. It can be chosen in the installer.
  • Removed the tags class for good
  • Add folder /files/standard/ics/ to the installation package
  • Removed call to file_exists in getArrayVal() - it worked around an edge case in the installer. This safes a lot of calls to file_exists()
  • Fixed a bug that prevented files from being attached to messages
  • Fix the link in the file-uploaded email notification
  • Made mylog object global. This safes a lot of object instantiations and improves performance. (srichter)
  • Reuse $myOpenProjects from init.php in index.php , improving performance (srichter)
  • Improved SSL recognition (srichter)
  • Improved the timetracker widget on the project dashboard to alternatively take working hours directly as input
  • Re-added closed projects on the desktop
  • Fix deleting of task assignments when deleting a project
  • Enable deleting and editing of customers
  • Make the password field in add user obfuscated
  • Fix replying to messages on the desktop
  • Fix cancel buttons in desktop->add task and desktop->edit project
  • Fix inserting uploaded images from the tinyMCE image list
  • Make the datepicker fade out faster

New in Collabtive 2.0 (Aug 14, 2014)

  • Fixed notice on desktop that resulted from missing network connection during update check
  • Fixed deactivation of error reporting during update
  • Merge existing members and new members when adding project
  • Error reporting globally set to E_WARNING
  • Changed redirection after project creation from desktop or project administration to project dashboard
  • Improved translations: German, Polish, Farsi, Norwegian (Bokmal & Nynorsk), Simplified Chinese
  • Improved project tree's handling for special characters
  • Removed file upload from the add reply form. Now only previously uploaded files can be attached to replies
  • Lots of code beautification in templates files
  • Make filemanager behave more like explorer (i.e. no pagination - show all files in each folder at once)
  • Revert to gridview as the default file view (this was changed in 1.2 b/c of issues)
  • Added edge case for SSL detection
  • Removed .htaccess file as it was causing trouble with some servers
  • Added start date functionality for tasks
  • Fixed several typos in style_form.css
  • Fixed typo in paginate-first function
  • Fixed cancel button for deleting folders in list view
  • Corrected label for edit button in project members view ("edit file" -> "edit user")
  • Changed permission for adding users to an existing project from "administration" to "project edit"
  • Implemented HTML Purifier filter for all user input. This will give us STRONG protection against all kinds of XSS attacks, while preserving rich formating options. It will also enhance well formedness
  • Implemented some Content-Security-Protection header options. No framing,only load css from same origin, only load .js files from same origin, only load images from same origin
  • Remove force-compile option from template engine. This disabled caching and caused performance problems for some users
  • Add compileAllConfig() to force a recompile of the config files in certain cases
  • Fixed possible sql vulnerability in manageajax.php
  • Dont expose plain filesystem links to uploaded files. Downloads are routed through download.php
  • Added AES encryption of uploaded files
  • Added CSS theme functionality. Now the CSS and image files for each template set reside in a /themes/ subfolder. This way, there can be CSS only variations of templates created more easily
  • Change color of tab info string, making it more readable
  • Set cache directory for HTML purifier definitions to /files/standard/ics/
  • Messages can now be edited asyncronously
  • Messages can now be replied to asyncronously
  • Implemented a new structure for the desktop. It is now an accordeon where clicking each section slides it open and closes all others
  • Implemented a new structure for the project dashboard. It is now an accordeon where clicking each section slides it open and closes all others
  • Customer profiles can be added in admin->customer
  • A customer can be assigned to projects
  • Remove user pictures from the onlinelist
  • Added translation of install-readme: Simplified Chinese
  • Removed unfunctional links from the day numbers in the desktop calendar
  • Fixed white page when editing of task failed
  • Fixed conversion of umlauts when uploading files
  • Fixed accordeon in tasklist view
  • Fixed a bug where the list view in project->files could not be selected if the user's role had file:add deactivated
  • Files in subfolders can now also be attached to messages
  • Fixed filetype detection in message::getAttachedFiles - needs more refactoring to use file::getFile
  • Fixed a problem with file uploads and visibility string
  • Fixed cancel button submitting the form in task->edit
  • Localized project tree labels
  • Localized label for name in list view for files
  • Added a new CSS theme: spring
  • Fixed various display bugs

New in Collabtive 1.2 (Jan 14, 2014)

  • Added translations: Vietnamese
  • Improved translations: Spanish
  • Added collapsible tree showing the structure of a project (milestones, tasklists, tasks, messages)
  • Removed Basecamp importer
  • Milestones can now have a start date set when created. Start date can also be edited.
  • Removed links to the my-projects/tasks/messages blocks in block titles on the desktop
  • Milestones can now be deleted asynchronously
  • Milestones can now be closed asynchronously
  • Milestones are now grouped into "current" , "late" and "upcoming" milestones in project->milestones
  • Closed tasklists now receive their own white bg block in projects->tasklists. Better sets the block apart from active tl's
  • Removed tags from the add message form. Tags will be removed from Collabtive in order to simplify things.
  • Removed file upload from the add message form. Now only previously uploaded files can be attached to messages.
  • Implemented tree view for projects
  • Fixed display problem with Smarty where pages weren't listed as before
  • Improved notification emails. They are now much more informative / better localized
  • Implemented iCal auth
  • Fixed bug where certain dates (like 1.9.2013) could not be selected in date picker
  • Added htaccess file to deny folder listing in the file folder
  • Switched from a background-color gradient to a solid color
  • Fixed a bug where the timetracker report would return a server error
  • Start date for a timetracker entry can now be set manually
  • Fixed a mssing (int) typecast in managetimetracker.php.
  • Timetracker start date can now be manually set

New in Collabtive 1.1 (Aug 23, 2013)

  • This is a release with security enhancements and bugfixes.

New in Collabtive 1.0 (Apr 6, 2013)

  • Added translations: Hebrew, Norwegian (Nynorsk), Taiwanese
  • Improved translations: Albanian, Arabic, Bulgarian, Danish, Farsi, French, German, Greek, Hungarian, Italian, Norwegian (BokmÃ¥l), Polish, Portuguese (Brazilian), Slovak, Serbian, Turkish
  • Added translations of install-readme: Hungarian
  • Improved translations of install-readme: Arabic
  • Changed name of autoload function to cl_autoload and added it with spl_autoload_register() to autoload list, to not interfere other autoloaders
  • Implemented automatic update notification.
  • Completely re-written the PDF export. It now uses a custom subclass of TCPDF to directly draw the tables for the reports from arrays instead of using an HTML intermediate.
  • This greatly speeds up PDF generation (esp when many lines are exported) and generates much smaller PDFs.
  • Fixed problem with missing "webcolor" variable in TCPDF
  • Improved the project log PDF report by merging fields, improving shading and adding automatic font stretching.
  • Added new PDF report to the "my tasks" block on the desktop. Now a user can export all his tasks to PDF.
  • Re-enabled permissions checking when deleting a timetracker entry. This got disabled for testing purposes and was commited to trunk. Disabling it posed a possible security risk.
  • Added permissions checking to timetracker:add and timetracker:edit . Permissions set in the useraccount where not properly enforced for the timetracker before.
  • Rewrote the settings functionality to work with a key/value table as the datastore. This makes extensibility easier.
  • Ported all database access from mysql_ to PDO. This became necessary because mysql_ will be deprecated in future versions of PHP.
  • It uses stored procedures for all UPDATE and INSERT queries which brings improved security and performance (caching) advantages.
  • Also, PDO supports a plethora of databases which should make supporting other databases than mysql much easier than before. (Contributed by Mwirtz)
  • Started porting SELECT queries to use stored procedures as well. This brings security and performance (caching) advantages.
  • Ported install.php and update.php to also use PDO
  • Replaced the Excel Export by a more robust CSV export. The excel export was based on an outdated library and not fully compatible with newer versions of Excel and OpenOffice.
  • With CSV Collabtive can now export to a widely used serialisation format that can easily be read into Excel, OpenOffice, and many more.
  • Switched to using a precompiled static CSS file in production instead of dynamically compiling it at runtime. This saves many call to the php interpreter.
  • Removed the tabs "my tasks", "my projects", "my messages" from the tabs bar on the desktop.
  • Those tabs were redundant for quite some time now. All their information is, in condensed form, also available on the desktop. they can be reinstated by editing tabsmenue-deskt.tpl
  • Fixed a bug preventing people from uploading avatar images
  • Changed the truncation of project titles and task titles on the desktop slightly to prevent http://collabtive.o-dyn.de/forum/viewtopic.php?f=11&t=8750#p17251
  • Made timetracker show closed tasks in addition to open tasks when editing a task ( http://collabtive.o-dyn.de/forum/viewtopic.php?f=11&t=8749 )
  • When clicking on a folder, set the folder in the select menu for "add file" and "add folder" to the clicked folder.
  • This way you can upload into a folder you just clicked straight away.
  • Removed the "visibility" functionality for folders ...finally
  • Removed IE7 compatibility
  • Files: Made listview/gridview switch respect the currently selected folder when switching views
  • Made the uploader respect the currently selected folder when refreshing. Now after an upload is complete the view will refresh the subfolder to which a file has been uploaded and not always the main folder.
  • When editing tasks or projects in tables (i.e. on the desktop) the edit form is now displayed in the top block where the add project/task form is also displayed. This eliminates the need for a dedicated "edit" page.
  • Enabled multi-byte safe truncation for strings (makes PHP extension "mbstring" required)
  • Properly enforce user permissions for uploading files, moving files (file_edit), deleting folders (file_del), adding folders (file_add) on the controller/script level. Not only on the template/view level.
  • Added RTL enabled version of the default theme. Contributed by mrawi.
  • Implemented "view" permission. It enables you to define roles that can only view certain parts of a project. For example a role that can view milestones, tasks and messages, but not files and the timetracker in a project.
  • Added "Add task" slider to the "my tasks" block on the desktop. This way a user can add tasks to himself straight from the desktop.
  • Fix shading of the content table. When clicking "add task" or "add project" on the desktop the table with existing tasks / projects is now correctly shaded.
  • Made the page update.php translatable
  • Improved the design of the installer/updater
  • Fixed a notice in system administration / user profile when a language string was not translated
  • Fixed a bug that asked for the "add" permission instead of the "reply" permission before posting a reply
  • Fixed a bug where the datepicker would not keep the dateformat set in the systemsettings and would revert to d.m.Y when changing months.
  • Fixed a notice when displaying messages
  • Fixed link in the email notifications for message-replies to point to the replied to message instead of the reply
  • Send email notifications to all assigned users when creating a project, not just when adding users afterwards.
  • Bulleted lists now displayed correctly... finally.
  • Added mimetype icon for PNG images uploaded with IE which is image/x-png and not image/png
  • Fixed a notice when searching
  • Fixed a bug where clicking cancel in admin->projects->assign user would add an empty user (removed the cancel button).
  • Fixed minor glitch in the form for adding a timetracker entry
  • Substituted deprecated PHP function split() used in e-mail handling by PHP function explode()
  • Made sure to only offer the password reset function (via e-mail) when e-mail notifications are activated
  • Made the asynchronous refresh after file upload is complete a bit quicker. the uploader used to wait 1s before refreshing - this is now reduced to 500ms.

New in Collabtive 0.7.6 (Jul 4, 2012)

  • Added Estonian translation
  • Fixed timetracker filtering
  • Fixed a problem in countLanguageStrings() that would throw warnings on the system admin page when there was an empty folder in the /language/ folder
  • Files can now be moved up in the folder hierarchy by dragging them onto the "folder up" icon / titlebar
  • Display the complete path of the folder in the add folder ("Parent folder") and add file ("folder") forms, instead of just the foldernames
  • Display the complete path in the titlebar of the file manager, instead of just the current folder
  • Filemanager can now be switched between Gridview (default) and listview (new)
  • Set sensible defaults for time formating in admin->system
  • Implemented asynchronous file upload, with real progress indicator (for browsers that can support it)
  • Removed open ID login option. it was based on a terribly outdated library that only supports openID 1.0, which possibly poses a security problem.
  • Improved file type checking for avatar uploads to prevent non-image files from being uploaded to the avatar directory. This improves security.
  • Removed some dead code paths from manageproject.php

New in Collabtive 0.7.5 (Apr 3, 2012)

  • Added:
  • Improved code comments
  • Streamlined user interfaces of the forms for adding and editing a milestone
  • Fixed bug in the project timetracker filter so the filtered list of timetracker entries is now sorted by date as it should be
  • Timetracker filter in user profiles now allows for selecting multiple projects instead of just a single project
  • The quickjump menu in the sidebar now has a fixed width at 100%
  • Fixed a bug where clicking cancel on the add task form would submit the form
  • Made the sliding parts of the UI a bit snappier
  • Cleaned up the desktop: only show the calendar if there are projects available
  • Extended limits for milestones
  • Fixed bug where the text of a message or task would not display correctly when adding / editing it in the single item view
  • Improved translations: Chinese, Russian
  • Refactored method getAllUsers in class.user.php
  • PHP date() compatibility for the JS calendar / datepicker
  • Fixed a small display glitch in winter
  • Disabled browserinternal forms checking to prevent conflicts with the built in forms validator
  • Added Beta version of a JSON / XML API
  • Fixed display bug in the timetracker report
  • Optimized asynchronous queries to check for new chat messages and onlinelist updates when idle (i.e. when not browsing through collabtive). It uses a decay mechanism now to reduce the number of ajax requests to the server. This should reduce DB utilisation
  • Compressed some large JS assets, that were previously served uncompressed, (like prototype.php) with YUIcompressor, reducing the amount of JS code to be loaded by the user
  • Fixed a broken implementation of Date.parse() in IE by using a JS version of strtotime() for the calendar
  • Fix a glitch were online users would briefly not show up in the online list
  • Fixed a bug where the "select file" in the add file dialog could not be clicked
  • Made the asyncronous deleting of items (tasks, projects) a bit faster
  • Improved the styling of the colorpicker and imagechoser in tinymce
  • Removed unwanted margin from textareas