- Fixed issues regarding XSS vulnerabilities on several pages.
- Removed echo statements from "normal" mode used for debugging purposes.
- Fixed a bug that allowed to create multiple users with the same username.
- Fixed undefined variables upon login.
- Added automatic update check within the Settings page allowing to see the changelogs and a link to the new Release.
- Updated
README.md - Admins can now select the default worktime type to be selected in the web form within the app.json
configsection via thedefault_worktime_typekey. - Added function to automatically add keys to app.json after update
- Admins can now customize the look and feel of the PDF exports. Please check
README.mdExportssection for more information.
- Telemetry statistics page for environments using the Telemetry Server. Please check
README.md
- Fixed undefined variable warning message
- Changed
app.json.sampledefault values - Updated README.md
- Added
update.shscript - Internal plugin views can now be hidden
- Fix utility plugin 500 error when trying to export data for user that doesn't exist
- Fixed an issue with IDs not generated correctly for project items.
- Added functionality to delete and edit project items.
- Adding users to a project has been made easier.
- Internal changes
- Added additional plugin permission level
- Added 2 new themes
- Now displaying the instance uuid within the settings page.
- Added ability to reset the instance uuid via the settings page.
- Added user based permissions for plugin views.
- Updated plugins to use new permission system.
This update requires DB migration - see README.md section Database
- Added telemetry support (disabled by default, can be enabled within
app.json) - Added telemetry server to receive telemetry data (see
api/v1/class/telemetry/server/README.mdfor more information)
- Added
nfcclockplugin to allow clocking in and out with NFC tags (requiresnfcloginplugin) - Updated
nfcloginplugin to version1.2(added Toil API route fornfcclockcallednfclclock) - Removed unused
extract_pluginfunction fromPluginDevToolclass - Custom language files can now be used with the
i18nclass by placing them within thedata/i18n/custom/directory. This also works for plugins.
This update might require DB migration - see README.md section Database
- Added migration script for adding the
pidcolumn to theprojects_itemstable for already existing installations. The script will not be executed for new installations.
- Added script to initialize the database for demo purposes when using Docker (See
README.md) - Fixed missing
activecolumn within theuserstable when initializing the database for the first time
- Removed deprecated
appattribute fromgeneralsection withinapp.json - Fixed issue stating that the account got disabled when logging out or when accessing the web UI
This update requires DB migration - see README.md section Database
- Fixed an issue causing the plugin system to be always enabled
- Sickness and vacation entries can now have a type like worktime entries
- Fixed dispatching of
WorktimeAddedEventevent with incorrect parameters - Added Database migration instructions when using Docker within the
README.mdDatabasesection - Removed the
setupfolder entirely (deprecated) - Fixed DB migrations for Docker setups
This update requires DB migration - see README.md section Database
- Fixed missing
statusi18n entries - Fixed incorrect theme loading within error pages
- Removed outdated
index.cssfile - Added missing footer to project management pages
- Admins can now enable or disable users within the
userdetailplugin
- Fixed deprecation warning for
WorktimeAddedEventevent - Dockerized TimeTrack:
- Added
Dockerfileanddocker-compose.ymlto run TimeTrack within Docker - Added
entrypoint.shto handle database migrations and start Apache - Updated
README.mdwith Docker instructions
- Added
- Added events for worktime correction proposals:
WorktimeCorrectionProposed - Sanitized outputs to prevent XSS attacks
- Added a link to the documentation within the settings page
- Users are now able to propose corrections to worktimes when they have been marked as for "in review".
- Added project management. Take a look into the README.md for more information.
- Administrators can now change the theme globally within TimeTrack. See more within
README.md. - Added
theme_fileandforce_themekeys to theapp.json[general]section - Users can choose their own theme, if
force_themeis set tofalse
- Toil API release
1.13:- Added
editUserendpoint - Added
getOwnUserendpoint healthcheckendpoint now includes the server time (ISO-8601) and API version
- Added
- Enhanced
app.jsonwith themobilesection (enable/disable app, enable/disable API token generation within Settings, per-Client rate limit, enable/disable QR-code mobile pairing) - for future mobile app release - Fixed translations for German and English
- Added example values to
LDAPsection withinapp.json - The ID of the worktime is now being displayed within
Worktime recordsandAll worktime records. - Updated
README.md - Update requires DB migration (see
README.mdsectionDatabase) - Added projects (read more within the
README.md) - Upgrading composer dependencies, please run
composer update:simple-router:4.3.7.2to5.0.0.3
- Added function to check if current user is admin
- Added function to redirect directly to the suite page if an error occurs
- Fixed an error causing infinite redirects to the 500 HTTP Page when the database is not available.
- Small fixes to the web UI
- Updated
README.md
- Readded the
nfcloginbutton to the login page - Fixed failed require for
statusMessages.arbeit.inc.php
- Reworked the whole web UI, some elements may have not been migrated yet.
- Plugin Hub now integrates the Navigation Bar
- Added colors to status messages
- Security fixes
- Fixed issues with LDAP authentication
- Fixed an issue with setting the status of vacations
- Fixed a php leak for the log file causing the settings page to crash when the log file is too large and php memory limit is too low
- You can now set different types of worktimes. You can specify your own ones in the
app/v1/inc/config/worktime_types.jsonfile. If none is set, like when using the easymode, mode0will be used. AddedWtypeparameter toWorktimeAddedevent. - Toil API release
1.12: added Bearer token authentication, fixed an issue with theaddOwnWorktimeandaddWorktimeendpoints. - Fixed an issue allowing normal users to reset all PINs for the CodeClock plugin
- Fixed some typos in some of the error messages
- Reworked the way status messages are displayed and used. Implemented a new
StatusMessageclass to handle status messages which can also be used by plugins.
- Updated
README.md - Updated Plugin template
- You can now set the timezone within
app.json(seeREADME.mdfor more information) - Fixed an issue with the generatedExport event
- Fixed db migrations for first user creation
- Added a simple Favicon
- TimeTrack and API version are now displayed in the settings menu
- Added Events which can be listened to by plugins (see
api/v1/class/events/README.md) / Developers can now create their own events - Mails can now be disabled by setting the
smtpsetting tofalsewithin thesmtpsection of theapp.json - Fixed
composer.jsoncontents for LDAPTools plugin again - Removed unused
Hooksplugin class file
- Added plugin to allow NFC PC/SC login (see
api/v1/class/plugins/plugins/nfclogin/README.md) - Added db migrations with phinx to update the database schema
- improved overall security with function node system
- API can now handle public endpoints
- Added native function to
Benutzerclass to update user proprties which not lets theuserdetailplugin actually update user properties - Fixed bug
- Hotfix preventing to add a worktime in normal mode
- Added some CSS to certain elements which were missing it
- Reflected changes from v7.9 release into Mails.md
- You now get redirected when calendar ID is not found
- Fixed being unable to access the "Forgot password" page
- Fixed typo in userdetail plugin preventing save
- Remove usercount plugin entirely
- Removed webedit for app.json
- A warning is now displayed when an admin changes user information within the userdetail plugin
- Fixed an bug causing userdetail plugin to crash when the selected user could not be found
- Fixed being unable to access "userdetail" plugin
- Fixed "debug" having not effect on Exceptions class
- Removed logrotate-cache.txt
- Sanitized various inputs like i18n files to prevent XSS attacks. Take a look into the
i18n.arbeit.inc.phpclass for a ruleset and alternative "tags" to type (instead of<br>use[BR]within the snippets_*.json) - Security improvements
- You can now download all your worktimes available offered by the ExportModules within the ExportManager plugin
- Admins can now download all worktimes available offered by the ExportModules within the ExportManager plugin.
- To see a export in this menu, you need to create it first, e.g. via the "All Worktimes" page.
- Removed unused plugins classes
- Defined
MailTemplateDataclass as requirement forMailTemplateclass - Removed
arrayas return type forMailTemplateInterface::render() - Improved autodetect for MailTemplates
- Other small improvements
- Refactored the mails module. Read more about this within the
api/v1/class/mails/Mails.md. - Admins can now edit users via the GUI directly.
- Added a link to GitHub issues and to TimeTrack Roadmap within the settings.
- Updated
composer.jsonto aldaptoolsversion that supports PHP 8.0. So the patch does not need to be applied anymore. - Fixed
userdetailplugin not creating thedatadirectory. - Removed the "Create Mailbox" checkbox when editing a user.
- Removed and deprecated most Plugin Phar functionality.
- Fixed
Exceptions::deprecatedfunction being not static. - Rewritten some parts of the
README.md - Toil API release
1.10added routes for the notifications module:getNotifications,autoremoveNotifications,addNotificationandremoveNotification. - Fixed an issue being unable to export PDFs with the
PDFExportModule.
- Added function within the
Exceptionsclass to show type "deprecated" warnings.
- Fixed duplicated active worktime entries by trying to fix it automatically.
- Fixed clocking in when multiple worktimes are active with QRclock plugin.
- Added
CustomRoutes::getCustomRoutes()andCustomRoutes::getCustomRoute($route)functions to get all custom routes/one specific route file. - Added a plugin manager to manage all plugins. This plugin is enabled by default and can be disabled within the
plugins.yml. It allows you to enable/disable plugins. - Fixed a bug while creating a new user.
- Replaced
app.iniwithapp.json. Theapp.inihas been deprecated and will be removed within the8.0release. Your settings will be automatically migrated to the newapp.jsonfile. - Added plugin to clock in with QR codes. This plugin is disabled by default and can be enabled within the
plugins.yml. More information can be found inside theREADME.md. - You can now register or remove a custom API route via the
CustomRoutes::registerCustomRoute(...)orCustomRoutes::removeCustomRoute(...)functions. More information can be found inside the Toil API/api/v1/toil/README.md. - Added a plugin to clock in with a code. This plugin is disabled by default and can be enabled within the
plugins.yml. More information can be found inside theREADME.md. - Added a export manager plugin. This plugin is disabled by default and can be enabled within the
plugins.yml.
- Added CSV export module class
Arbeitszeit\ExportModule\CSVExportModulewhich can be used by clicking on(CSV)within All Worktimes - Renamed all GUI elements from
CalendartoNotifications - Fixed being unable to edit notifications entries
- PDF and CSV exports are now directly saved onto the server. This is done automatically. Exports are saved within
data/exports/{ExportModuleName}/{username}/ - CSS for PDF exports can now be customized. You can specify your own CSS file within the
app.ini[exports][pdf][css]setting (full path)
- Exports are now handled differently. You can import your own modules to support more file formats. Read more about this in the
README.mdfile. - Replaced
Arbeitszeit\PDFwith the newArbeitszeit\ExportModule\PDFExportModuleclass - Added Dutch (Nederlands) translation (locale
nl_NL)
- Fixed being unable to toggle easymode
- Toil API release
v1.8now supports loading custom routes. Read more about this feature in theapi/v1/toil/README.mdfile.
- Completely removed the mailbox functionality which has been deprecated with
v6.5.1 - Bug and additional fixes
- Bug fixes and minor changes
- Updated Toil API to
1.7: Added permission handling and added API endpointgetOwnWorktimes,addOwnWorktime,addOwnVacation
- Added API routes for Toil API
1.6:addUser,deleteUser,deleteWorktime,getUserWorktimes - Rewritten
README.mdand updatedcomposer.json
- The Toil API has been enhanced within its
1.5release:addVacation,getLog(allowing to get a specific log now),addProject - Toil API has been reworked into a class:
toil.arbeit.inc.php(and its subclassesController.toil.arbeit.inc.php,API.toil.arbeit.inc.php,Routes.API.toil.arbeit.inc.php,*.ep.API.toil.arbeit.inc.php) - Database communication has been outsourced from the
class/*-Classes to the newly addedclass/db/db.arbeit.inc.php - A few bugs have been fixed.
- Removed unused code.
- Moved code from
suite/*files into the appropriate classes.
- Enhanced Toil API with its
v1.4release:addWorktime,approveVacation,getUserDetails,getUsers,getVacations,getWorktimes - (Internal) Added a function to return all worktimes to the
arbeitszeit.inc.php - Added LDAP authentication
- Added a database scheme updating class and utility to upgrade the database scheme after an software update
- Bug fixes
- Bug fixes
- TimeTrack is now fully localized in German and English
- Added more translated pages in English
- Added composer install command to
README.md - You are now able to mark a sickness entry as either approved, rejected or pending
- Programmers are now able to create own plugins for TimeTrack. Please read more in the documentation, located at
/api/v1/class/plugins/docs
- Bug fixes
- Added localization for some pages in english
- Removed unused dependency (tcpdf)
- Removed non-existend API routes
- You are now able to remove the state
pendingfrom a vacation or sickness report to eitherrejectedorapproved - Fixed the incorrect display of the navigation bar, whilest on the password reset page
- Mail authentication allows the use of ssl now by setting
usesslin theapp.initotrue
- Added the posibility to allow logins via a iFrame provided instance, see
README.mdfor more information on this topic
- Usability on mobile devices has been improved
- Vacations can now be recorded via working time recording.
- Break times can now be recorded via working time recording. This is also supported in Easymode
- Some GUI elements were deprecated. These have now been renewed.
- Fixed some errors in displaying break time
- Added the ability to record illnesses and vacations.
- It is now possible to view the working hours of all employees (Admin).
- There is now more logging.
- The API now returns the latest version without control characters.
- A bug has been fixed so that it is now possible to create calendar entries. Note: Calendar entries that have expired are automatically deleted.
- Fixed a bug that allowed saving calendar entries without a note.
- **Employees' break times are now recorded. This allows you to check whether break times are adhered to afterwards. The program does not currently check the shift time to calculate the corresponding break time. This will be added in the next version.
- An error when displaying an image has been fixed.
- Users now receive an email when work time is deleted.
- Small errors have been corrected.
- The API can now return the number of users.
- How many remaining users are in the quota is now displayed on the "Edit Users" page.
- The buttons have a new look, which now also fixes the bug that caused buttons to disappear behind text and were no longer clickable on mobile devices.
- Working times can now be marked as "for review" by the employer. This will then be displayed in red in the list.
- Preparations have been made for an update manager to be added to the Settings menu, which will only be visible to administrators.
- A new API called Toil has been added. Access is via "https://[domain].[tld]/api/v1/toil/[endpoint]". Further information about the API can be found in the directory
/api/v1/toil/README.md
- A second mode has been introduced that allows employees to record their working hours more easily. This can be activated in your own settings under "simplified mode".
- Administrators now have the option of viewing a log.
- Fixed a bug that made it impossible to delete users.
- After deleting a user, they will now receive an email.
- The application has been expanded to include a digital mailbox.
- Emails will now be sent to new users. You can now reset your password via email.
- A bug has been fixed that made login impossible due to incorrect logic.
- A bug was fixed that made it possible to enter working times from the past.
- A message will now be displayed if the login is incorrect.
- An SMTP category has been added to the configuration file.
- Users can now be edited.
- Modifying calendar entries is now reserved for administrators.
-
The security of the application has been adjusted.
-
Added the "app_name" setting in app.ini.
-
There are now consistent error messages.
-
It is now no longer possible to enter working times for the future.
-
Fixed a bug when creating users.
-
The initialization file is checked in advance for valid values.
-
It is now checked whether the user accesses the page via the "base_url" entered in the configuration file.
-
Fixed some links that caused incorrect redirects.
-
A maintenance mode has been implemented.
-
"Clean URLs" introduced.
-
Some settings can now be changed via the GUI.
- Fixed a bug where the note was not reflected in the database.
- Administrative accounts can now be created.
-
Encryption of passwords has been changed
-
The "state" attribute is now checked for enhanced security
-
Fixed a bug that caused "All Working Hours" to appear twice in the navigation bar
-
Fixed various redirect errors
-
The "Action" was not displayed under the menu item "Edit User" due to missing source code. This has now been fixed [Bug 13]
-
All users are now displayed under "Edit Users", previously there was only one. This has now been fixed
-
The changes are now displayed under
"Settings" > "Changes" -
The source code has been better documented
-
One month's working hours are now calculated [Bug 9]
-
Info messages are now displayed, e.g. when you enter a shift. [Bug 15]
- Fixed bug with deleted users. No display name was returned and left blank. Now the last known one from working hours is used there [Bug 14]
- Debug setting disabled which exposed variables
-
It is now possible to delete calendar entries
-
Calendar entries can now only be viewed when logged in (bug)
- Instead of the employee's name, a variable was exposed. This has been fixed and now the name is displayed properly
-
Code rewritten to be object-oriented to increase performance and make maintenance easier
-
A new folder structure has now been introduced:
/suite/* -
Adjusted file paths for navigation bar. [Bug 12]
-
Users' passwords are now stored encrypted to increase security
-
Multiple users can now have admin status
-
Fixed a bug when editing a calendar entry where each entry was edited
-
Fixed several bugs that caused the calendar to not display/incorrectly
- URLs are now controlled by a function to increase performance and make maintenance easier (WIP)
- PDFs can now be created (as pre-printed form)
- Working work registration system (CHANGELOG.md has only now been introduced)