Releases: Igalia/phpreport
PhpReport 2.22
The "🦆🦆🦆🦆🦆🦆🦆🦆" release.
List of changes
-
[#510] New feature: Vacation management screen [Ana Rute Mendes]
- Display user vacation time for the year on a calendar
- Save vacation days for periods of time instead of individually
- Track vacations used, scheduled and pending
- Synchronize vacation events with calendar applications
- Search reported vacation time for individual users
-
[#510] New feature: Vacation summary report [Ana Rute Mendes]
- Display vacation time per user and area, stats and distribution along the year
- Display when last updated
- Filter reported users by project
- Export to CSV
-
New feature: Simple UI to create long leaves [Ana Rute Mendes]
- Allows admin users to greate periods of long leaves for other users
- Includes service enpoint for automation
-
Remove project coordination features (XP tracker and Analysys tracker). [Jacobo Aragunde Pérez]
- These features have been unused and unmaintained for years, it's time to leave them behind to focus on the areas considered essential today.
- If they existed, coordination data will not be deleted from database after an upgrade.
-
Tasks
- [#164] Use alt+shift+number to switch tasks. [Jacobo Aragunde Pérez]
- [#506] Speed up tasks page. [Jacobo Aragunde Pérez]
- Remove timeout for new, empty task creation. [Jacobo Aragunde Pérez]
- Fix crash when updating a task whose id doesn't exist. [Jacobo Aragunde Pérez]
- Add updated_at column to task table [Ana Rute Mendes]
- Fix weekly goal calc if in last week of the year [Ana Rute Mendes]
- Allow 0 hour tasks (#603) [Ana Rute Mendes]
-
Reports
- [#564] Escape area names in project evaluation report. [Jacobo Aragunde Pérez]
- Fix regression in accumulated hours report with LDAP enabled. [Jacobo Aragunde Pérez]
- Fix Download as CSV button [Ana Rute Mendes]
-
Data management
- Review panel height values in user management page. [Jacobo Aragunde Pérez]
- Filter by project and customer in project management screen. [Jacobo Aragunde Pérez]
- Add filter by users to user management screen. [Jacobo Aragunde Pérez]
- Improve usability of user management screen. [Jacobo Aragunde Pérez]
-
Other
- [#431] Fix multiple PHP warnings. [Jacobo Aragunde Pérez][Ana Rute Mendes]
- [#439] Append a hash to minified file names. [Jacobo Aragunde Pérez]
- [#513] [ongoing] Port multiple DAOs to use the PDO API. [Jacobo Aragunde Pérez]
- [#585] Workaround minification error in tasks page. [Jacobo Aragunde Pérez]
- [#592] Fix Docker image fails building [Alexandre ZANNI][Jacobo Aragunde Pérez]
- Add docker compose [Alexandre ZANNI]
- Setup PHP Composer [Ana Rute Mendes]
- Deprecate VACATIONS_PROJECT config parameter. [Jacobo Aragunde Pérez]
- Introduce new, optional VACATIONS_PROJECT_ID config parameter. [Jacobo Aragunde Pérez]
- Escape user-entered string data in multiple services and generated JS code. [Jacobo Aragunde Pérez]
- Load task type field values from a service. [Jacobo Aragunde Pérez]
- Rename Holiday to Vacation [Ana Rute Mendes]
- Add new testing framework. [Ana Rute Mendes]
- Add Github action to run tests [Ana Rute Mendes]
- Remove code from PhpReport 1.x features that were never finished in 2.x [Jacobo Aragunde Pérez]
- Remove old, unused tests. [Ana Rute Mendes][Jacobo Aragunde Pérez]
- Other code health/refactor/simplification work. [Jacobo Aragunde Pérez][Ana Rute Mendes]
- Update and improve documentation [Jacobo Aragunde Pérez][Ana Rute Mendes]
- Text corrections [Martin Robinson]
PhpReport 2.21
The "Year of 💉" release.
List of changes
-
Tasks
- #346: Save init and end times in the task template [Ana Rute Mendes]
- #411: Prevent redundant GET params when using prev/next date hotkeys. [Jacobo Aragunde Pérez]
- #487: Do not require the date field in the update task service. [Jacobo Aragunde Pérez]
- #489: Prevent the update of tasks belonging to inactive projects via API. [Jacobo Aragunde Pérez]
- #491: Prevent the update of tasks in locked dates via API. [Jacobo Aragunde Pérez]
- #495: Fix error 500 when creating task with invalid project ID. [Jacobo Aragunde Pérez]
-
Reports
- #475: Implement server-side CSV export for reports: weekly project hours, accumulated hours and user tasks. [Jacobo Aragunde Pérez]
-
Other
- #431: Fix more PHP warnings. [Ana Rute Mendes] [Jacobo Aragunde Pérez]
- #480: Check session status on tab visibility change. [Jacobo Aragunde Pérez]
- #482: Add configuration to link an issue tracker from the menu. [Jacobo Aragunde Pérez]
- Change
make minify
to use the UglifyJS 3 sytax. [Jacobo Aragunde Pérez] - Update documentation for developers and administrators. [Jacobo Aragunde Pérez]
- Code clean-up. [Ana Rute Mendes] [Jacobo Aragunde Pérez]
- Rename INSTALL file to avoid git conflict. [Ana Rute Mendes]
- Link non-minified calendarManagement.js. [Jacobo Aragunde Pérez]
- Exit on connect error in anonymize script. [Jacobo Aragunde Pérez]
- Fix syntax error when updating project details. [Jordi Mallach]
- Add API test page (not included in releases). [Jacobo Aragunde Pérez]
- Add service getSessionUser.php. [Jacobo Aragunde Pérez]
PhpReport 2.20
The "Year of Doom" release.
List of changes
-
Tasks
-
Reports
- #462: Fix imprecise pending holidays reported regarding future contract data. [Jacobo Aragunde Pérez]
- #464: Fix holiday count in leap years. [Jacobo Aragunde Pérez]
- #477: Add previous and next week buttons to date filter. [Jacobo Aragunde Pérez]
- #478: Add last month button to date filter. [Jacobo Aragunde Pérez]
- Display default dates in acc hours report. [Jacobo Aragunde Pérez]
-
Other
- Make the XMLWriter escape data before sending. [Jacobo Aragunde Pérez]
- Documentation fixes. [Jacobo Aragunde Pérez]
- Remove tmp file after minification. [Jacobo Aragunde Pérez]
- Code clean-up, performance. [Jacobo Aragunde Pérez]
PhpReport 2.19
List of changes
-
Tasks
- #232,#392: Fix default date based on local timezone for all browsers. [Jacobo Aragunde Pérez]
- #259: Disable "copy tasks from date" feature in blocked dates. [Jacobo Aragunde Pérez]
- #353: Fix wrong length of "full day task" on new users' first day. [Jacobo Aragunde Pérez]
- #411: Load tasks page with no GET params when "today" is selected. [Jacobo Aragunde Pérez]
- #431: Address some PHP warnings in tasks page. [Jacobo Aragunde Pérez]
- Use better names for date-related vars in tasks.js. [Jacobo Aragunde Pérez]
-
Reports
-
Other
- #343: Fix a number of HTML validation errors and warnings. [Jacobo Aragunde Pérez]
- #423: Use CSS sprites for top menu icons. [Jacobo Aragunde Pérez]
- #435,#455: Take into account contract info in unfilled task reminders. [Jacobo Aragunde Pérez]
- #440: Calculate version number from Git tag + hash. [Jacobo Aragunde Pérez]
- #444: Only use minified sources after they are created. [Jacobo Aragunde Pérez]
- #448: Fix regression in blur event on input fields in FF 65. [Jacobo Aragunde Pérez]
- Docs: how to setup a development environment. [Jacobo Aragunde Pérez]
- Add docker support. [Juan A. Suárez Romero]
- Never return failed credentials in an error message. [Jacobo Aragunde Pérez]
- Integrate with external authentication: allow using a custom authentication header and disabling password check. [Jacobo Aragunde Pérez]
- Allow setting custom PostgreSQL connection parameters. [Jacobo Aragunde Pérez]
- Fix wrong use of SQLIncorrectTypeException constructor. [Jacobo Aragunde Pérez]
- Beautify ExtJS CSS. [Jacobo Aragunde Pérez]
- Explicitly set text color in text areas to black to prevent problems with dark themes. [Jacobo Aragunde Pérez]
PhpReport 2.18
List of changes
-
Tasks screen
- #224: Fix tabs not trimmed from text fields [Jacobo Aragunde Pérez]
- #341: Include pending holidays and extra hours information in user work summary [Pablo Abelenda]
- #345: Block task edition before a certain date [Jacobo Aragunde Pérez]
- #351: Don't allow to save tasks without an assigned project [Pablo Saavedra]
- #372: Fix task description not being saved if pasted via context menu [Jacobo Aragunde Pérez]
- #380: Fix unexpected results for weekly goal values [Jacobo Aragunde Pérez]
- #388: Fix actions bar below tasks invading sidebar [Jacobo Aragunde Pérez]
- #389: Add template button to fill a full holiday [Pablo Abelenda]
- #392: Fix cannot bookmark today tasks page in most cases [Jacobo Aragunde Pérez]
- #405: Moved copy tasks from date to the actions box [Pablo Abelenda]
- Modify left column to take less vertical space [Pablo Abelenda]
- Fix size of buttons in the actions panel [Jacobo Aragunde Pérez]
- Use a 5px separation between any panels in tasks screen [Jacobo Aragunde Pérez]
- Do not warn about invalid fields in automatic saves [Jacobo Aragunde Pérez]
-
Reports
- #318: Only list active projects in project details combo by default [Pablo Saavedra]
- #356: Change color scheme in accumulated hours report [Jacobo Aragunde Pérez]
- #332: Add direct access to user details for any user [Pablo Saavedra]
- #352: "Pending holiday hours" should only report hours inside the report interval [Pablo Saavedra]
- #354: Fix duplicated results along multiple years in weekly hours report [Jacobo Aragunde Pérez]
- #357: Implement last date column in accumulated hours report [Pablo Saavedra]
- #375: Only export visible columns to CSV [Jacobo Aragunde Pérez]
- #376: Show all active projects in project details [Jacobo Aragunde Pérez]
- #404: Fix acc hours report failure when user lists returned by services don't match [Jacobo Aragunde Pérez]
-
Other
- #323: Reimplement top menu bar as a list of links [Jacobo Aragunde Pérez]
- #326: Redirect to original URL after successful login [Pablo Saavedra]
- #334: Send email reminders for users to fill their tasks in [Pablo Abelenda]
- #367: Hide Coordination menu and 'task story' fields [Pablo Saavedra]
- #381: Add application icon and use it as a header, favicon and shortcut icon [Jacobo Aragunde Pérez]
- #382: Open session check callback handles temporary network disconnections [Pablo Abelenda]
- #395: Provide minified JS and source maps [Jacobo Aragunde Pérez]
- #399: Fix error when calculating HEADER_HEIGHT [Jacobo Aragunde Pérez]
- #401: Extract JS code in a number of PHP files [Jacobo Aragunde Pérez]
- Remove dead code and reduce number of loaded JS files [Jacobo Aragunde Pérez]
- Small code refactorings and clean-up [Jacobo Aragunde Pérez]
- Update documentation [Jacobo Aragunde Pérez][Pablo Abelenda]
- Create CONTRIBUTING.md [Jacobo Aragunde Pérez]
- Do not store failed credentials in IncorrectLoginException [Jacobo Aragunde Pérez]
PhpReport 2.17
Read the announcement and highlights here.
List of changes
-
Tasks screen:
- #219: Show up tooltip to see the full project name [Tony Thomas][Jacobo Aragunde Pérez]
- #225: Fix: tasks created too soon cannot be saved [Tony Thomas]
- #243: Implement overtime control: set per-user dedication goals for a period and track it weekly [Tony Thomas]
- #246: Autosave tasks [Tony Thomas]
- #247: Open empty days with a new, empty task [Tony Thomas]
- #248: Remove customer as field for tasks and implement 1:N relation between projects and customers [Tony Thomas]
- #249: Project combo to list only projects assigned to user [Tony Thomas]
- #250: Change layout of fields in the tasks screen [Tony Thomas]
- #252: Add previous/next day buttons and keyboard shortcuts [Tony Thomas]
- #254: Implement persistent templates and migration from cookie-based templates [Jacobo Aragunde Pérez][Tony Thomas]
- #265: Include task description in the template, prompt for template name on template creation [Tony Thomas]
- #271: Combined search in combo box for customers and projects [Tony Thomas]
- #293: Fix: template tasks may delete new tasks [Tony Thomas]
- #309: Fix end time dropdown list scrolling itself back to the top [Jacobo Aragunde Pérez]
- #310: Do not show close confirmation when it's just the empty task on screen [Tony Thomas]
- #314: Don't automatically fill in the end time as the current time [Jacobo Aragunde Pérez]
- #317: Fix JS error for empty tasks [Jacobo Aragunde Pérez]
- #319: Fill project combo box while typing or when tabbing away [Jacobo Aragunde Pérez]
- #327: Add a template button to create a full-day task [Jacobo Aragunde Pérez]
- #329: Fix: Project combo doesn't support naive copy+paste between tasks [Jacobo Aragunde Pérez]
- #342: Allow scroll bar for task text input [Jacobo Aragunde Pérez]
- Code refactor and cleanup [Jacobo Aragunde Pérez]
-
Reports:
- #186: Add customer name to project details report and to projects evaluation table [Tony Thomas]
- #194: Add hours column to user tasks report [Tony Thomas]
- #235: Scroll to logged in username in acc hours report [Tony Thomas]
- #238: Add button to go to project details from project evaluation report [Tony Thomas]
- #240: Implement new report to list weekly work hours per user for a project [Tony Thomas]
- #241: Create 'Project Details' page and add top menu entry [Tony Thomas]
- #242: New report: tasks done by a person between two dates [Tony Thomas]
- #266: Make Project input wider on project details page [Tony Thomas]
- #281: Implement better sorting on weekly hours reports, respecting year of tasks [Tony Thomas]
- #290: Add customer filter to the project evaluation report [Tony Thomas]
- Make all columns in acc hours report wider [Jacobo Aragunde Pérez]
- Show project description + customer name in projects summary report [Jacobo Aragunde Pérez]
- Focus the first filter field on every report [Jacobo Aragunde Pérez]
- Load the report when ENTER is pressed, in DateIntervalForm reports [Jacobo Aragunde Pérez]
-
Project management screen:
- #245: Apply alphabetical sort of areas in project management screen [Tony Thomas]
- #248: Remove customer as field for tasks and implement 1:N relation between projects and customers [Tony Thomas]
- #268: Re-enable user management screen for admin users [Tony Thomas]
- #328: Fix customer not saved in project creation [Jacobo Aragunde Pérez]
- Move 'assign people' button to the top toolbar [Jacobo Aragunde Pérez]
-
User management screen:
-
Other:
- #65: Prompt user to login again when session has expired in background [Tony Thomas]
- #69: Simplify implementation of HybridUserDAO->getAll() [Jacobo Aragunde Pérez]
- #220: Fix strange behaviour of sector and type fields when creating a client [Tony Thomas]
- #223: Force HTTP Authentication for login service [Tony Thomas]
- #244: Introduce new 'manager' profile, restrict 'staff' access [Tony Thomas]
- #273: Fix PHP error due to incorrect filename [Tony Thomas]
- #279: Prevent different kinds of division by zero warnings [Jacobo Aragunde Pérez]
- #291,#297: Remove unused getAllCustomProjectsService from codebase [Tony Thomas]
- #297: Unify the different getProject services [Tony Thomas]
- Add documentation for developers [Jacobo Aragunde Pérez]
- Update user and admin documentation [Jacobo Aragunde Pérez]
- Fix issues in help file generation [Jacobo Aragunde Pérez]
- Add script to clear sensitive data from a PhpReport database [Jacobo Aragunde Pérez]
- Remove several 'undefined constant' errors in DAOs [Jacobo Aragunde Pérez]
- Fix undefined variable errors in BaseRelationshipDAO [Jacobo Aragunde Pérez]
- Fix non-static method LoginManager::isLogged() called statically [Jacobo Aragunde Pérez]
- Remove some unused code and debug statements left behind [Jacobo Aragunde Pérez]
- Modify some queries for better compatibility with PostgreSQL < 9.5 [Jacobo Aragunde Pérez]
- Fix PHP warning about null being passed to in_array() [Jacobo Aragunde Pérez]
- Unify init/end field names in all project-related services [Jacobo Aragunde Pérez]
- Remove abstract static methods that caused PHP warnings [Jacobo Aragunde Pérez]
- Simplify and harden upgrade scripts [Jacobo Aragunde Pérez]
PhpReport 2.16
Release containing new features and bug fixes. Highlights for this release are
the possibility to export report tables in CSV format, the addition of
quick-access buttons for the most common date filters on reports and the new
behavior of the "copy from date" feature in tasks screen.
List of changes
- Tasks screen:
- Fix trim on story fields.
- #148: Explicitly scroll to the newly added task.
- #184: Copy tasks feature selects by default the previous date containing
any tasks. - #203: Reset taskStory field in a task when the project field is changed.
- #212: Show alert of unsaved tasks before leaving.
- #218: Middle-click pasted text is properly saved.
- #222: Cloned tasks belonging to closed projects cannot be assigned to the
closed project. - #230: Fix conditions to prevent edition of tasks from closed projects.
- #232: Use client timezone to get current date instead of the server's.
- Project management screen:
- Double-click to edit projects, consistently with other edition screens.
- Fix tab navigation in client/user assigment subwindows.
- Close subwindows with ESC.
- Rearrange button layout in subwindows.
- Clear "new project" subwindow every time it is used.
- Select and scroll to newly added projects.
- The grid now uses the entire screen space.
- #192: Sort newly added projects into the list.
- #231: Prevent removing start and end dates in newly added projects.
- Reports:
- Added quick-access buttons for current and previous week and current month.
- Ability to export report tables in CSV format.
- Accumulated hours report grid now uses the entire screen space.
- Accumulated hours report keeps the selected row and scrolls to it when the
report is refreshed. - #128: Fix conflict in date constraints when one date is deleted.
- #133: Always open project details in a new window to prevent closing the
open report. - #229: Fix unexpected results in partial extra hours report after extended
timetable compensation.
- Coordination tools:
- #195: List project members as candidate reviewers for a story.
- #198: List project members as candidate developers for a task-story.
- #202: Add combo box in XP tracker screen to select any project, even if
not listed. - #210: Prevent a division by zero when listing stories inside an iteration.
- #213: List project members as candidate reviewers for a section.
- Other:
- Migrate project home to GitHub.
- Upgrade Ext JS framework from 3.4.0 to 3.4.1.1.
- Upgrade datepickerplus component from 1.4 to 1.4.3.
- Refresh user and administrator documentation.
- Correct errors in the installation instructions.
- Fix some small problems in the installation process.
- Underline focused button label to fix invisible focus problem in Chrome.
- Underline the label next to a focused check box for better visibility.
- Start splitting JS code contained inside PHP scripts for improved caching
and easier debugging. - Add a column for comments in extra hour compensations management.
- Extra hour compensations grid now uses the entire screen space.
- Remove any usage of Flash in the application.
- #188: Explicitly set week start to Monday in all the calendar widgets.
- #226: Allow float values in extra hours compensation UI.
- #233: Add week number to most date selectors.
PhpReport 2.1
Release containing new features and bug fixes.
Main changes
- Implemented a feature to prevent the modifications of tasks older than a
certain number of days. - New report for users to see a filtered list of their tasks.
- Written documentation for sysadmins.
- [#118] Added boolean field to mark on-site tasks.
- [#164] Added some keyboard shortcuts to the task management screen.
- [#183] Fix false positives in the detection of overlapping tasks.
Other changes
- Added start and end date selectors to projects summary report.
- Added show/hide all data buttons to projects summary report.
- Allow the use of HTTP authentication in loginService.php.
- Explicitly set start date for acc. hours report to the 1st of January of
current year. - Implemented script to upgrade the DB from 2.0 to 2.1.
- Added DB table containing the version number to ease upgrading in the future.
- [#39] Only show one banner when saving.
- [#160] Move delete/clone/template buttons below the description text area.
- [#162] Fix wrong identification of the first week of the year at the weekly
hour summary. - [#188] Explicitly set week start to Monday in all the calendar widgets.
- [#189] Added footer with version and generation time to the docs.
- [#191] Workaround a problem with trigger creation.
PhpReport 2.0
Release containing all the features considered for 2.0 milestone.
Changes
- Written user documentation, integrated in the application.
- Implemented a screen to create, edit and delete hour compensations.
- Implemented a screen to create, edit and delete cities.
- Implemented a screen to manage work calendars.
- Upgraded Ext JS framework to the latest version in 3.x series, 3.4.0.
- Reviewed permissions of the admin/user groups on some screens and services.
- Reordered the menu bar, deleting the unused entries.
- [Bug #131] Correct authorization problem related with project creation.
- [Bug #136] Fix size of template creation and delete buttons.
- [Bug #155] Prevent wrong calculation of project deviation.
- [Bug #161] Prevent blank project details screen due to a null end date.
- [Bug #168] Added holidays project to default installation.
PhpReport 2.0-beta2
Bugfixing release which fixes some open bugs and improves installation
instructions to be more concrete and specific; specially, a guide to install the
application in Windows systems has been written.
Changes
- Improved installation instruccions:
- Added specific steps for Debian/Ubuntu, RedHat/Fedora and Windows users.
- Added a section with common problems.
- [Bug #141] Fixed bug in user creation in fresh installs.
- [Bug #150] Take into account moved hours to calculate deviation and cost per
hour of a project. - [Bug #151] Detect when a project is opened but should be closed