v3.4 Release Notes
Release Date: 31 December 2018
Note: The primary focus of this release was to a) reach full PHP 7.x compatibility, specifically focused on PHP 7.2 or above and b) reach full MySQL 5.6 compatbility. All other aspects were secondary to those.
Downloading & Installing
The only official distribution site is Github. Check out the Installation page to get started.
Reporting Problems
For more information, support, or to discussion upcoming features, please visit our Support Forums.
Any and all issues discovered should be added to our our Issue Tracking System. Feature requests should be marked as such and not described as issues. Please remember to mark Feature Requests as requests and not bugs.
If you’re not familiar with submitting a bug, please read my post: How To Submit a Bug
New Features
- Updated to support PHP 7.x (7.0-7.2), not making use of new functionality yet
- Updated to support MySQL 5.6, the big issue here was that it no longer supports 0000-00-00 as a valid null date
- Updated the default database datetime from 0000-00-00 to 1000-01-01
- Updated the password handler to use the password_hash
Misc Changes/Improvements
- Cleaned up various unnecessary queries
- Updated the LDAP handler to use core functionality
- Updated the username to allow for dashes, periods, and the @ sign, primarily to allow email addresses
- Removed each() which is deprecated in PHP 7.x
Fixes/Bugs Closed
- Restored the “show incomplete only” task list
- Issue 1083 - assigned “Other resources” to a task will not be stored (v3.x)
- Issue 1171 - Update password mechanism
- Issue 1505 - Translation issue in project user interface
- Issue 1585 - dynamic tasks are not always updated in projectdesigner
- Issue 1592 - Added the user priority to the task tree
- Issue 1612 - Cannot set user permissions
- Issue 1615 - Shifted the task reminders to the Task post_store hook
- Issue 1617 - Passing the project sort into later pages
- Issue 1626 - timezone handling broken
- Issue 1628 - Removed the minimum length for task name
- Issue 1630 - Allowed the ‘guest role’ to view their own ‘my info’
- Issue 1631 - Number of projects in tab title is wrong, not based on permissions (Projects Module)
- Issue 1634 - Custom Fields dropped when editing and saving task
- Issue 1635 - EmailManager::getTaskNotify returns mail body without Projectname
- Issue 1638 - DB QUERIES ERRORS - 1 too many
- Issue 1639 - Custom fields are not showing in tasks
- Issue 1640 - I can’t update fields on Projects
- Issue 1641 - users cannot login except admin
- Issue 1642 - Incorrect datetime value: ‘2014-12-19 18:15:00<br />’ for column ‘task_end_date’
- Issue 1648 - Assigned users not shown
- Issue 1649 - Incorrect % complete calculations for dynamic tasks
- Issue 1650 - Incorrect % complete calculations for dynamic tasks
- Issue 1651 - The Company Project list doesn’t work after page 1
- Issue 1653 - Fecility to Show/Hide or rearrange order of Columns
- Issue 1654 - Pinned tasks cannot be unpinned
- Issue 1658 - addedit layout broken in IE
- Issue 1662 - add other resource broken (already in 3.2)
- Issue 1664 - preset owner field in addedit with current user on create
- Issue 1665 - date move in actions: is working days, not days
- Issue 1666 - authentification ldap failed
- Issue 1667 - Gantt Chart in mytasks broken
- Issue 1668 - notify owner broken
- Issue 1669 - queuescanner/reminder broken due to permissions
- Issue 1670 - Unable to upload modules; perceived directory permissions
- Issue 1673 - gant chart shows error
- Issue 1674 - delete empty fields with icons in the tasks list of projects view
- Issue 1681 - Custom fields lost when updating project status(es) from “Update Projects Statuses” button
- Issue 1682 - BindHashToObject has bug if object is reused
- Issue 1683 - Administrators cannot set user preferences / only user can set preferences
- Issue 1684 - Active Sessions Display does not display “End User Session” or “Force User Logout” buttons
- Issue 1685 - User Log Doesn’t Work
- Issue 1686 - Gantt Chart JPGraph PHP Error (owner_ids)
- Issue 1688 - No Holidays in week_view
- Issue 1690 - breadcrumbs: add: goto parent task
- Issue 1692 - Subtasks not shown in tab
- Issue 1695 - Security Issue in Search
- Issue 1696 - does not show inactive tasks
- Issue 1697 - add tab for all status
- Issue 1698 - toggle button for inactive status broken
- Issue 1699 - project view broken: $project_id is NULL
- Issue 1702 - Task Permissions gone crazy?
- Issue 1704 - Project tabs gives wrong project number if permissions restrict view (Projects Module)
- Issue 1705 - Number of projects shown in company menu next to company name does not respect permissions (Companies Module)
- Issue 1711 - Can’t unselect project in Reports
- Issue 1712 - Incorrect time calculating in the task with the dependence
- Issue 1713 - dependencies use user TZ instead of mysql TZ
- Issue 1714 - today button in header gone
- Issue 1715 - project edit does not display budgets
- Issue 1716 - Subproject: no token task created for parent project
- Issue 1725 - Deleting subproject does not delete token task in parent project
- Issue 1729 - Cosmetic: TipTip shows old Tip if current empty
- Issue 1730 - Task log tab broken on project level
- Issue 1732 - Project Name not appearing Assignment Notification
- Issue 1733 - Target Budget does not save
- Issue 1739 - User Priority broken
- Issue 1744 - Parent drop down: also shows inactive tasks
- Issue 1746 - Project owner sees only those tasks where he is assigned
- Issue 1748 - pin in gettasktree misses and in join
Open/Known Issues
- There are a number of PHP 5.x functions used that are deprecated in PHP 7.x and may be removed in 8.x. We’ll update and eliminate those during 2019.
- If you upgrade from dotProject, you may have an oddity with your default theme/display as the name has changed. If this happens, edit your preferences, change to one of the existing themes, and save.
System Metrics
There are some core metrics that may be of interest to the geekier among us. We generate these by using ‘phing metrics’ using the unit_tests/build.xml file:
- Lines of Code: 65296 (9282 of comments, 56014 of code)
- Cyclomatic Complexity/LoC: 0.25
- Complexity/Class: 14.5
- Complexity/Method: 2.4
- Classes: 170 (165 Concrete, 5 Abstract, 2 Interfaces)
- Lines of Code/Class: 66
- Class Constants: 6
- Methods: 1654 (1605 static, 49 non-static)
- Lines of Code/Method: 6
- Functions: 267
- Constants: 67
- Test Classes: 28
- Test Methods: 551
- 2.04% duplicated lines of code (~1332)