github Leantime/leantime v3.2.0
Leantime v3.2.0

26 days ago

Changes in this Release

Before upgrading

  • Before you upgrade please disable all installed plugins. Once the upgrade is complete each plugin must be re-installed to get the latest version.
  • When updating manually (copy pasting code) please ensure to remove old unneded classes in the core folder. It is best to do a full replace.

Breaking Changes

  • The jsonRPC api was changed in various places. Please ensure to test any api integrations
  • All plugins will need to be updated after an upgrade

Highlights

  • Session management is now handled via laravel. Solving a lot of our timeout and logout issues
  • Improved logging and exception handling
  • jsonRPCApi received a lot of new endpoints
  • Support for Zapier was created. The Zapier integration is in alpha. You can access the private app here: https://zapier.com/developer/public-invite/207240/cac6ec7a911bd5fa7924f38230d58d2f/
  • Fixed various issues on CSV importer
  • A lot of clean up of our core code

Commits

  • 223cf2e [Changelog CI] Add Changelog for Version 3.2.0
  • 2ad43d2 Fixes to version management for plugins
  • 53e546f [Changelog CI] Add Changelog for Version 3.2.0
  • 7c272f9 Update release.yml
  • 3be5698 file list
  • 16ad712 Timesheet fixes
  • 7c4e93c Update Connector.php
  • 5aeafc0 Update ApiClientTest.php
  • b365dbe fixing csv
  • 103c79e Rename eventhelpers trait
  • 0c41896 fixing menu related bugs
  • d8afdd9 Support for head requests
  • a83f645 Update ApiClient.php
  • cdf332d more cleanup
  • 91dde9e Cleaning core file structure
  • 15e26f8 version bump
  • 26531b0 resolving conflicts
  • f601580 Update composer.lock
  • 679364a Fixing phpstan issues
  • 73ad52c Misc template enhancements
  • d58e164 Improves update check in case dbs have to be downgraded.
  • 0538d68 Fixing various dateTime bugs across the system
  • c64f09c Adding a new default job worker that can execute queue jobs via classes added to subject
  • 7cb0199 Allow API to use any service and new api endpoints
  • 9ac2732 Adding Redis Support for cache and sessions
  • 30b4fff fix the canvas dialogue
  • 9fd512b Fix for broken project favorite function
  • 2bce7b6 Update queue service to include web worker
  • b60b8be update event cache to include check for debug
  • 0323519 Update bootstrap.php
  • 19fd0d3 Update Logging.php
  • d3d9008 test improvements
  • aa36199 Update dockerfile
  • a028f1e Fix docker permissions for log files
  • d362108 Fix make file
  • 6358e85 Clean up old excception handling in httpkernel
  • 199ce6d piping environment config through
  • 1fa1f46 Removed exception service provider since handler is managed in environment
  • 5e5c0a6 Added Laravel exception handler with whoops
  • c12ea2c Update PULL_REQUEST_TEMPLATE.md
  • 9397ee7 Fix localization issues for dates with translated day, month names
  • 83a06bf Fix for storing language
  • b4bfcd3 Move changelogConfig out of the workflow folder
  • 6cd0649 version bump
  • 559ab75 version bump
  • 6764016 Fix for #2606 and saving new items on blueprints
  • 89bcdd6 Install welcome message update
  • 4d0f450 variable name update and feedback review
  • 6f68fe1 variable name update
  • 2c9e8f8 done
  • a2fd8f8 feedback
  • 256a23a remove unnecessary plugins
  • 213f5a9 fix make build-dev compile issue and add ddev config
  • 961b829 1882: move moreinfo into span
  • a4e0b11 resolving the feedback
  • 9422468 blade conversion
  • 7a37ee2 Update README.md for newer mysql version
  • a78ed98 Lossless image filesize reduction
  • 5c82d32 1882: add translations
  • 8eaee14 1882: improve danish translation
  • 966beb5 1882: add status, start and end date to milestone headline
  • 3cf5c54 Improve current project setting flow
  • c84d0ff Making laravel commands available
  • b300219 Fix ambiguous modified field
  • 375d700 phpstan update
  • 6cd8c8d Fix csvimport
  • 4be8103 Update release.yml
  • ea70e34 Manifest updates
  • 6e5ea13 clean up minimal theme
  • 4f79ea9 fix history push error for modals
  • a10bf2b Remove project detail step from onboarding
  • 85a9648 Add modified fileds to db tables
  • 0fff45e ensure default value is used in theme settings
  • 6c2e9aa Ensure cache is set and used file for images
  • 0fa5db2 update confetti management
  • 78d6223 chore: remove unneeded comment
  • 1e1a553 chore: switch to more specific function naming pollForNewTimesheets
  • d4a7356 fix: utilize addTicket for new milestone
  • 85fd91f chore: clean up function name to encapsulate for todo and not generic ticket
  • 1c9dbc9 enhance: utilize updateTicket instead of making a new zapier function for update todo action
  • 7b6950e fix: utilize logTime instead of making new zapier function for action
  • 9489f4a chore: remove unneeded comment
  • 0303b90 enhance: make function name for polling new idea clearer
  • 77acbfd chore: remove unneccesary todo comment
  • 5623801 chore: default to previous headline of ticket if headline not sent to update function
  • 2c6ba5e fix: remove headline requirement for updating ticket
  • e2dac9a fix: utilize user session with api key call
  • cd9638f Updated polish translations
  • 4278b96 [Changelog CI] Add Changelog for Version 3.2.0-beta-2
  • bdc885f feat: zapier able to create timesheets via actions
  • 8b2c7ec feat: ability for zapier to poll by new timesheets and updated timesheets
  • 676461f feat: zapier actions to 1 - create todo 2 - create milestone 3 - update todo
  • 63dca56 feat: ability for zapier to poll by new todo's and updated todo's
  • 940175a feat: ability for zapier to poll by new milestones and updated milestones
  • 4329be5 fix: ensure date attribute in tickets table gets updated when updating ticket
  • 5cddaca feat: ability for zapier to poll by updated projects
  • bdaf783 feat: ability for zapier to poll by new ideas and updated ideas
  • 7521832 feat: ability for zapier to poll by goals and check for updated goals
  • 167c8a8 feat: ability for zapier to poll by comments

Contributors

  • Marcel Folaron (58 commits)
  • kylemcshea (22 commits)
  • DESKTOP-SVBVC1U\HP (7 commits)
  • Sine Jespersen (4 commits)
  • Joseph Roberts (2 commits)
  • phulstaert (1 commits)
  • Peter Hulstaert (1 commits)
  • Mateusz Tylec (1 commits)

Files

 .ddev/.env                                         |    8 +
 .ddev/config.yaml                                  |  280 +++
 .dev/.env                                          |    4 +
 .dev/dev-apache-site.conf                          |    8 +-
 .dev/dev-apache2.conf                              |    2 +-
 .dev/docker-compose.yaml                           |   12 +-
 .dev/dockerfile                                    |    2 +-
 .dev/test.env                                      |    2 +-
 .dev/xdebug.ini                                    |    4 +-
 .github/PULL_REQUEST_TEMPLATE.md                   |   23 +-
 .github/{workflows => }/changelogConfig.yml        |    0
 .github/workflows/release.yml                      |   26 +-
 .gitignore                                         |    1 -
 .idea/blade.xml                                    |  119 +
 .idea/codeception.xml                              |    5 +-
 .idea/encodings.xml                                |    6 +
 .idea/laravel-idea.xml                             |    6 +
 .idea/leantime-oss.iml                             |   33 +-
 .idea/php.xml                                      |  113 +-
 .idea/phpspec.xml                                  |   27 +
 CHANGELOG.md                                       |  157 ++
 CONTRIBUTING.md                                    |    2 +-
 README.md                                          |    2 +-
 app/Command/BackupDbCommand.php                    |    5 +-
 app/Command/TestEmailCommand.php                   |    6 +-
 app/Command/UpdateLeantime.php                     |    8 +-
 app/Core/AppSettings.php                           |   51 -
 app/Core/{ => Bootstrap}/Application.php           |   69 +-
 app/Core/{ => Bootstrap}/Bootloader.php            |   29 +-
 app/Core/CliRequest.php                            |    8 -
 app/Core/Configuration/AppSettings.php             |   18 +
 app/Core/{ => Configuration}/DefaultConfig.php     |   38 +-
 app/Core/{ => Configuration}/Environment.php       |    2 +-
 app/Core/Console/CliRequest.php                    |   10 +
 app/Core/{ => Console}/ConsoleKernel.php           |   18 +-
 app/Core/{ => Contracts}/Service.php               |    4 +-
 app/Core/{ => Controller}/Composer.php             |    2 +-
 app/Core/{ => Controller}/Controller.php           |   19 +-
 app/Core/{ => Controller}/Frontcontroller.php      |    7 +-
 app/Core/{ => Controller}/HtmxController.php       |    7 +-
 app/Core/{ => Db}/Db.php                           |   10 +-
 app/Core/{ => Db}/Repository.php                   |   11 +-
 .../DispatchesEvents.php}                          |    8 +-
 .../{Events.php => Events/EventDispatcher.php}     |  130 +-
 app/Core/ExceptionHandler.php                      |   74 -
 app/Core/Exceptions/ExceptionHandler.php           |  600 +++++
 app/Core/Exceptions/HandleExceptions.php           |  361 +++
 app/Core/Exceptions/InvalidArgumentException.php   |   25 +
 app/Core/Exceptions/ReportableHandler.php          |   82 +
 app/Core/Exceptions/WhoopsHandler.php              |   90 +
 app/Core/Fileupload.php                            |   28 +-
 app/Core/{ => Http}/ApiRequest.php                 |    2 +-
 .../{ApiSession.php => Http/Client/ApiClient.php}  |    4 +-
 app/Core/{ => Http}/HtmxRequest.php                |    2 +-
 app/Core/{ => Http}/HttpKernel.php                 |   78 +-
 app/Core/{ => Http}/IncomingRequest.php            |   50 +-
 app/Core/Language.php                              |   45 +-
 app/Core/Mailer.php                                |   10 +-
 app/Core/Middleware/ApiAuth.php                    |   10 +-
 app/Core/Middleware/Auth.php                       |    8 +-
 app/Core/Middleware/CurrentProject.php             |   13 +-
 app/Core/Middleware/InitialHeaders.php             |    8 +-
 app/Core/Middleware/Installed.php                  |    9 +-
 app/Core/Middleware/Localization.php               |   10 +-
 app/Core/Middleware/RequestRateLimiter.php         |   18 +-
 app/Core/Middleware/StartSession.php               |   60 +-
 app/Core/Middleware/TrustProxies.php               |   13 +-
 app/Core/Middleware/Updated.php                    |   28 +-
 app/Core/Plugins.php                               |    8 +-
 app/Core/Providers/Auth.php                        |    5 -
 app/Core/Providers/Cache.php                       |   40 +-
 app/Core/Providers/Db.php                          |    9 +-
 app/Core/Providers/Environment.php                 |   62 +-
 app/Core/Providers/Events.php                      |    7 +-
 app/Core/Providers/Language.php                    |    6 -
 app/Core/Providers/Logging.php                     |   47 +
 app/Core/Providers/RateLimiter.php                 |    7 -
 app/Core/Providers/Redis.php                       |   80 +
 app/Core/Providers/Session.php                     |   34 +-
 app/Core/Support/CarbonMacros.php                  |    8 +-
 app/Core/Support/DateTimeHelper.php                |   27 +-
 app/Core/Support/Format.php                        |    2 +-
 app/Core/Support/Mix.php                           |    4 +-
 app/Core/Template.php                              |   36 +-
 app/Core/Theme.php                                 |   32 +-
 app/Domain/Api/Controllers/ApiKey.php              |    2 +-
 app/Domain/Api/Controllers/Calendar.php            |    2 +-
 app/Domain/Api/Controllers/Canvas.php              |    4 +-
 app/Domain/Api/Controllers/DelAPIKey.php           |    6 +-
 app/Domain/Api/Controllers/Files.php               |    2 +-
 app/Domain/Api/Controllers/I18n.php                |    3 +-
 app/Domain/Api/Controllers/Ideas.php               |    2 +-
 app/Domain/Api/Controllers/Ideation.php            |    2 +-
 app/Domain/Api/Controllers/Jsonrpc.php             |   43 +-
 app/Domain/Api/Controllers/NewApiKey.php           |    2 +-
 app/Domain/Api/Controllers/Notifications.php       |    2 +-
 app/Domain/Api/Controllers/Projects.php            |    2 +-
 app/Domain/Api/Controllers/Reactions.php           |    2 +-
 app/Domain/Api/Controllers/Sessions.php            |    2 +-
 app/Domain/Api/Controllers/Setting.php             |    2 +-
 app/Domain/Api/Controllers/StaticAsset.php         |   12 +-
 app/Domain/Api/Controllers/Submenu.php             |    2 +-
 app/Domain/Api/Controllers/Tags.php                |    2 +-
 app/Domain/Api/Controllers/Tickets.php             |    2 +-
 app/Domain/Api/Controllers/Timer.php               |    2 +-
 app/Domain/Api/Controllers/Users.php               |    4 +-
 app/Domain/Api/Repositories/Api.php                |    3 +-
 app/Domain/Api/Services/Api.php                    |   13 +-
 app/Domain/Audit/Repositories/Audit.php            |    2 +-
 app/Domain/Auth/Controllers/KeepAlive.php          |    4 +-
 app/Domain/Auth/Controllers/Login.php              |    6 +-
 app/Domain/Auth/Controllers/Logout.php             |    4 +-
 app/Domain/Auth/Controllers/ResetPw.php            |    4 +-
 app/Domain/Auth/Controllers/UserInvite.php         |    4 +-
 app/Domain/Auth/Models/Roles.php                   |    4 +-
 app/Domain/Auth/Repositories/Auth.php              |    4 +-
 app/Domain/Auth/Services/Auth.php                  |   35 +-
 app/Domain/Auth/register.php                       |   14 +-
 app/Domain/Calendar/Controllers/AddEvent.php       |    4 +-
 app/Domain/Calendar/Controllers/DelEvent.php       |    6 +-
 .../Calendar/Controllers/DelExternalCalendar.php   |    6 +-
 app/Domain/Calendar/Controllers/EditEvent.php      |    6 +-
 app/Domain/Calendar/Controllers/EditExternal.php   |    4 +-
 app/Domain/Calendar/Controllers/Export.php         |    6 +-
 app/Domain/Calendar/Controllers/ExternalCal.php    |    6 +-
 app/Domain/Calendar/Controllers/Ical.php           |    5 +-
 app/Domain/Calendar/Controllers/ImportGCal.php     |    4 +-
 app/Domain/Calendar/Controllers/ShowAllGCals.php   |    4 +-
 app/Domain/Calendar/Controllers/ShowMyCalendar.php |    4 +-
 app/Domain/Calendar/Repositories/Calendar.php      |    7 +-
 app/Domain/Calendar/Services/Calendar.php          |    2 +-
 app/Domain/Canvas/Controllers/BoardDialog.php      |   13 +-
 app/Domain/Canvas/Controllers/DelCanvas.php        |    8 +-
 app/Domain/Canvas/Controllers/DelCanvasItem.php    |    6 +-
 .../Canvas/Controllers/EditCanvasComment.php       |   13 +-
 app/Domain/Canvas/Controllers/EditCanvasItem.php   |   13 +-
 app/Domain/Canvas/Controllers/Export.php           |    6 +-
 app/Domain/Canvas/Controllers/ShowCanvas.php       |   32 +-
 app/Domain/Canvas/Repositories/Canvas.php          |    6 +-
 .../Canvas/Templates/showCanvasBottom.inc.php      |    4 +
 app/Domain/Clients/Controllers/DelClient.php       |    6 +-
 app/Domain/Clients/Controllers/EditClient.php      |    4 +-
 app/Domain/Clients/Controllers/NewClient.php       |    6 +-
 app/Domain/Clients/Controllers/ShowAll.php         |    4 +-
 app/Domain/Clients/Controllers/ShowClient.php      |   14 +-
 app/Domain/Clients/Repositories/Clients.php        |    4 +-
 app/Domain/Clients/Services/Clients.php            |    6 +-
 app/Domain/Comments/Controllers/ShowAll.php        |    8 +-
 app/Domain/Comments/Repositories/Comments.php      |   59 +-
 app/Domain/Comments/Services/Comments.php          |   16 +-
 .../Templates/submodules/generalComment.sub.php    |    2 +-
 app/Domain/Connector/Controllers/Integration.php   |   25 +-
 app/Domain/Connector/Controllers/Providers.php     |    2 +-
 app/Domain/Connector/Controllers/Show.php          |    2 +-
 app/Domain/Connector/Models/Integration.php        |   12 +
 app/Domain/Connector/Repositories/Integrations.php |    3 +-
 app/Domain/Connector/Services/Connector.php        |   11 +-
 app/Domain/Connector/Services/Integrations.php     |    1 -
 app/Domain/Connector/Services/Providers.php        |    4 +-
 app/Domain/Cron/Controllers/Run.php                |   20 +-
 app/Domain/Cron/Services/Cron.php                  |   12 +-
 app/Domain/CsvImport/Controllers/Upload.php        |   11 +-
 app/Domain/CsvImport/Services/CsvImport.php        |    4 +-
 app/Domain/CsvImport/Templates/upload.tpl.php      |    2 +-
 app/Domain/CsvImport/register.php                  |    4 +-
 app/Domain/Dashboard/Controllers/Home.php          |   18 +-
 app/Domain/Dashboard/Controllers/Show.php          |   20 +-
 app/Domain/Dashboard/Repositories/Dashboard.php    |    2 +-
 .../Repositories/Entityrelations.php               |    6 +-
 app/Domain/Errors/Controllers/Error403.php         |    3 +-
 app/Domain/Errors/Controllers/Error404.php         |    3 +-
 app/Domain/Errors/Controllers/Error500.php         |    3 +-
 app/Domain/Errors/Controllers/Error501.php         |    4 +-
 app/Domain/Files/Controllers/Browse.php            |    4 +-
 app/Domain/Files/Controllers/Get.php               |    8 +-
 app/Domain/Files/Controllers/ShowAll.php           |    4 +-
 app/Domain/Files/Repositories/Files.php            |    4 +-
 app/Domain/Files/Templates/browse.tpl.php          |    2 +-
 .../Files/Templates/submodules/showAll.sub.php     |    2 +-
 app/Domain/Gamecenter/Controllers/Launch.php       |    2 +-
 app/Domain/Goalcanvas/Controllers/BigRock.php      |   10 +-
 app/Domain/Goalcanvas/Controllers/Dashboard.php    |   31 +-
 app/Domain/Goalcanvas/Controllers/DelCanvas.php    |   55 +-
 .../Goalcanvas/Controllers/DelCanvasItem.php       |   44 +-
 .../Goalcanvas/Controllers/EditCanvasComment.php   |  273 ++-
 .../Goalcanvas/Controllers/EditCanvasItem.php      |   18 +-
 app/Domain/Goalcanvas/Controllers/ShowCanvas.php   |   26 +-
 app/Domain/Goalcanvas/Repositories/Goalcanvas.php  |  204 +-
 app/Domain/Goalcanvas/Services/Goalcanvas.php      |   67 +-
 .../Goalcanvas/Templates/bigRockDialog.blade.php   |   31 +-
 .../Goalcanvas/Templates/canvasComment.blade.php   |   66 +
 .../Goalcanvas/Templates/canvasComment.tpl.php     |   13 -
 .../Goalcanvas/Templates/canvasDialog.blade.php    |  241 ++
 .../Goalcanvas/Templates/canvasDialog.tpl.php      |  307 ---
 .../Goalcanvas/Templates/dashboard.blade.php       |  368 +++
 app/Domain/Goalcanvas/Templates/dashboard.tpl.php  |  724 ------
 .../Goalcanvas/Templates/delCanvas.blade.php       |   15 +
 app/Domain/Goalcanvas/Templates/delCanvas.tpl.php  |   13 -
 .../Goalcanvas/Templates/delCanvasItem.blade.php   |   12 +
 .../Goalcanvas/Templates/delCanvasItem.tpl.php     |   13 -
 .../Templates/showBottomCanvas.blade.php           |   66 +
 .../Goalcanvas/Templates/showCanvas.blade.php      |  488 ++++
 app/Domain/Goalcanvas/Templates/showCanvas.tpl.php |  404 ----
 app/Domain/Help/Composers/Helpermodal.php          |    4 +-
 app/Domain/Help/Controllers/FirstLogin.php         |    8 +-
 .../Help/Controllers/ShowOnboardingDialog.php      |    2 +-
 app/Domain/Help/Controllers/Updates.php            |    2 +-
 app/Domain/Help/Js/helperController.js             |    1 +
 app/Domain/Help/Services/Helper.php                |    8 +-
 app/Domain/Help/Services/InviteTeamStep.php        |    5 +-
 app/Domain/Help/Services/ProjectDefinitionStep.php |    4 +-
 app/Domain/Help/Services/ProjectIntroStep.php      |    4 +-
 app/Domain/Ideas/Controllers/AdvancedBoards.php    |    6 +-
 app/Domain/Ideas/Controllers/BoardDialog.php       |   12 +-
 app/Domain/Ideas/Controllers/DelCanvas.php         |    6 +-
 app/Domain/Ideas/Controllers/DelCanvasItem.php     |    6 +-
 app/Domain/Ideas/Controllers/IdeaDialog.php        |   16 +-
 app/Domain/Ideas/Controllers/ShowBoards.php        |    8 +-
 app/Domain/Ideas/Repositories/Ideas.php            |   65 +-
 app/Domain/Ideas/Services/Ideas.php                |   57 +
 app/Domain/Ideas/Templates/ideaDialog.tpl.php      |    2 +-
 app/Domain/Ideas/Templates/showBoards.tpl.php      |    5 +-
 app/Domain/Install/Controllers/Index.php           |    6 +-
 app/Domain/Install/Controllers/Update.php          |    8 +-
 app/Domain/Install/Repositories/Install.php        |   63 +-
 app/Domain/Install/Templates/new.tpl.php           |    3 -
 app/Domain/Install/register.php                    |   23 +
 app/Domain/Ldap/Services/Ldap.php                  |   52 +-
 app/Domain/Menu/Composers/HeadMenu.php             |    6 +-
 app/Domain/Menu/Composers/Menu.php                 |   14 +-
 app/Domain/Menu/Composers/ProjectSelector.php      |   11 +-
 app/Domain/Menu/Hxcontrollers/ProjectSelector.php  |   10 +-
 app/Domain/Menu/Repositories/Menu.php              |    6 +-
 app/Domain/Menu/Services/Menu.php                  |    6 +-
 .../Menu/Templates/projectSelector.blade.php       |    2 +-
 .../Modulemanager/Controllers/Notavailable.php     |    6 +-
 .../Modulemanager/Services/Modulemanager.php       |    2 +-
 .../Notifications/Controllers/GetLatestGrowl.php   |    2 +-
 app/Domain/Notifications/Hxcontrollers/News.php    |    5 +-
 .../Notifications/Hxcontrollers/NewsBadge.php      |    5 +-
 .../Notifications/Listeners/NotifyProjectUsers.php |    1 -
 .../Notifications/Repositories/Notifications.php   |    2 +-
 app/Domain/Notifications/Services/Messengers.php   |    8 +-
 app/Domain/Notifications/Services/News.php         |    5 +-
 .../Notifications/Services/Notifications.php       |    2 +-
 app/Domain/Notifications/register.php              |    4 +-
 app/Domain/Oidc/Controllers/Callback.php           |    4 +-
 app/Domain/Oidc/Controllers/Login.php              |    4 +-
 app/Domain/Oidc/Services/Oidc.php                  |    6 +-
 app/Domain/Plugins/Controllers/CssLoader.php       |    6 +-
 app/Domain/Plugins/Controllers/Details.php         |    2 +-
 app/Domain/Plugins/Controllers/Marketplace.php     |    2 +-
 app/Domain/Plugins/Controllers/Myapps.php          |    8 +-
 app/Domain/Plugins/Hxcontrollers/Details.php       |    7 +-
 .../Plugins/Hxcontrollers/Marketplaceplugins.php   |    2 +-
 app/Domain/Plugins/Models/MarketplacePlugin.php    |    1 +
 app/Domain/Plugins/Repositories/Plugins.php        |    2 +-
 app/Domain/Plugins/Services/Plugins.php            |   25 +-
 app/Domain/Plugins/register.php                    |    7 +-
 .../Projects/Controllers/ChangeCurrentProject.php  |    6 +-
 app/Domain/Projects/Controllers/Createnew.php      |   13 +-
 app/Domain/Projects/Controllers/DelProject.php     |    8 +-
 .../Projects/Controllers/DuplicateProject.php      |   10 +-
 app/Domain/Projects/Controllers/NewProject.php     |   15 +-
 app/Domain/Projects/Controllers/ShowAll.php        |    6 +-
 app/Domain/Projects/Controllers/ShowMy.php         |    6 +-
 app/Domain/Projects/Controllers/ShowProject.php    |   22 +-
 app/Domain/Projects/Hxcontrollers/Checklist.php    |    2 +-
 app/Domain/Projects/Hxcontrollers/ProjectCard.php  |   20 +-
 .../Projects/Hxcontrollers/ProjectCardProgress.php |   17 +-
 .../Projects/Hxcontrollers/ProjectHubProjects.php  |   13 +-
 app/Domain/Projects/Repositories/Projects.php      |   51 +-
 app/Domain/Projects/Services/Projects.php          |  167 +-
 .../Templates/partials/projectCard.blade.php       |    4 +-
 app/Domain/Queue/Repositories/Queue.php            |    6 +-
 app/Domain/Queue/Services/Queue.php                |   23 +-
 app/Domain/Queue/Workers/DefaultWorker.php         |   48 +
 app/Domain/Queue/Workers/EmailWorker.php           |    1 -
 app/Domain/Queue/Workers/HttpRequestWorker.php     |    6 +-
 app/Domain/Queue/Workers/Workers.php               |    2 +
 app/Domain/Queue/register.php                      |    8 +-
 app/Domain/Reactions/Models/Reactions.php          |    4 +-
 app/Domain/Reactions/Repositories/Reactions.php    |    2 +-
 app/Domain/Read/Repositories/Read.php              |    2 +-
 app/Domain/Reports/Controllers/Show.php            |   12 +-
 app/Domain/Reports/Repositories/Reports.php        |    2 +-
 app/Domain/Reports/Services/Reports.php            |   40 +-
 app/Domain/Reports/register.php                    |    6 +-
 app/Domain/Setting/Controllers/EditBoxLabel.php    |   10 +-
 .../Setting/Controllers/EditCompanySettings.php    |   11 +-
 app/Domain/Setting/Repositories/Setting.php        |   15 +-
 app/Domain/Sprints/Controllers/DelSprint.php       |    6 +-
 app/Domain/Sprints/Controllers/EditSprint.php      |    9 +-
 app/Domain/Sprints/Repositories/Sprints.php        |    2 +-
 app/Domain/Strategy/Controllers/ShowBoards.php     |    2 +-
 app/Domain/Tickets/Controllers/DelMilestone.php    |    6 +-
 app/Domain/Tickets/Controllers/DelTicket.php       |    6 +-
 app/Domain/Tickets/Controllers/EditMilestone.php   |   16 +-
 app/Domain/Tickets/Controllers/MoveTicket.php      |    8 +-
 app/Domain/Tickets/Controllers/NewTicket.php       |   14 +-
 app/Domain/Tickets/Controllers/Roadmap.php         |    3 +-
 app/Domain/Tickets/Controllers/RoadmapAll.php      |    6 +-
 app/Domain/Tickets/Controllers/ShowAll.php         |    6 +-
 .../Tickets/Controllers/ShowAllMilestones.php      |    4 +-
 .../Controllers/ShowAllMilestonesOverview.php      |    6 +-
 app/Domain/Tickets/Controllers/ShowKanban.php      |    8 +-
 app/Domain/Tickets/Controllers/ShowList.php        |    8 +-
 .../Tickets/Controllers/ShowProjectCalendar.php    |    6 +-
 app/Domain/Tickets/Controllers/ShowTicket.php      |   10 +-
 app/Domain/Tickets/Hxcontrollers/Milestones.php    |    5 +-
 app/Domain/Tickets/Hxcontrollers/Subtasks.php      |    4 +-
 app/Domain/Tickets/Hxcontrollers/TicketCard.php    |    4 +-
 app/Domain/Tickets/Hxcontrollers/TimerButton.php   |    3 +-
 app/Domain/Tickets/Models/Tickets.php              |    1 +
 app/Domain/Tickets/Repositories/TicketHistory.php  |    3 +-
 app/Domain/Tickets/Repositories/Tickets.php        |   15 +-
 app/Domain/Tickets/Services/Tickets.php            |  241 +-
 app/Domain/Tickets/Templates/showAll.tpl.php       |    3 +-
 .../Templates/submodules/portfolioHeader.sub.php   |    2 +-
 .../Templates/submodules/ticketBoardTabs.sub.php   |    2 +-
 .../Templates/submodules/ticketFilter.sub.php      |    2 +-
 .../Templates/submodules/ticketHeader.sub.php      |    2 +-
 .../Templates/submodules/timelineHeader.sub.php    |    2 +-
 .../Templates/submodules/timelineTabs.sub.php      |    2 +-
 app/Domain/Timesheets/Controllers/AddTime.php      |    6 +-
 app/Domain/Timesheets/Controllers/DelTime.php      |    6 +-
 app/Domain/Timesheets/Controllers/EditTime.php     |    6 +-
 app/Domain/Timesheets/Controllers/ShowAll.php      |   10 +-
 app/Domain/Timesheets/Controllers/ShowMy.php       |   11 +-
 app/Domain/Timesheets/Controllers/ShowMyList.php   |    6 +-
 app/Domain/Timesheets/Hxcontrollers/Stopwatch.php  |    3 +-
 app/Domain/Timesheets/Repositories/Timesheets.php  |  748 +++---
 app/Domain/Timesheets/Services/Timesheets.php      |   61 +
 app/Domain/Timesheets/Templates/showAll.tpl.php    |    2 +-
 app/Domain/Timesheets/Templates/showMy.tpl.php     |    2 +-
 app/Domain/TwoFA/Controllers/Edit.php              |    2 +-
 app/Domain/TwoFA/Controllers/Verify.php            |    4 +-
 app/Domain/Users/Controllers/DelUser.php           |    4 +-
 app/Domain/Users/Controllers/EditOwn.php           |   11 +-
 app/Domain/Users/Controllers/EditUser.php          |    8 +-
 app/Domain/Users/Controllers/Import.php            |    8 +-
 app/Domain/Users/Controllers/NewUser.php           |    8 +-
 app/Domain/Users/Controllers/ShowAll.php           |    6 +-
 app/Domain/Users/Repositories/Users.php            |    6 +-
 app/Domain/Users/Services/Users.php                |    4 +-
 .../Valuecanvas/Templates/canvasDialog.tpl.php     |    6 +-
 app/Domain/Widgets/Controllers/WidgetManager.php   |    9 +-
 app/Domain/Widgets/Hxcontrollers/Calendar.php      |   11 +-
 app/Domain/Widgets/Hxcontrollers/MyProjects.php    |   11 +-
 app/Domain/Widgets/Hxcontrollers/MyToDos.php       |   11 +-
 app/Domain/Widgets/Hxcontrollers/Welcome.php       |   11 +-
 app/Domain/Widgets/Services/Widgets.php            |    8 +-
 app/Domain/Widgets/register.php                    |    4 +-
 app/Domain/Wiki/Controllers/ArticleDialog.php      |    4 +-
 app/Domain/Wiki/Controllers/DelArticle.php         |    4 +-
 app/Domain/Wiki/Controllers/DelWiki.php            |    4 +-
 app/Domain/Wiki/Controllers/Show.php               |    4 +-
 app/Domain/Wiki/Controllers/Templates.php          |    4 +-
 app/Domain/Wiki/Controllers/WikiModal.php          |    4 +-
 app/Language/da-DK.ini                             |    5 +-
 app/Language/en-US.ini                             |   14 +
 app/Language/pl-PL.ini                             | 2412 +++++++++----------
 app/Plugins                                        |    2 +-
 app/Views/Composers/App.php                        |    8 +-
 app/Views/Composers/Entry.php                      |    2 +-
 app/Views/Composers/Footer.php                     |    4 +-
 app/Views/Composers/Header.php                     |    6 +-
 app/Views/Composers/PageBottom.php                 |    6 +-
 app/Views/Templates/layouts/error.blade.php        |   13 +-
 app/Views/Templates/sections/header.blade.php      |   18 +-
 app/helpers.php                                    |   57 +-
 bin/leantime                                       |    2 +-
 blocklist.json                                     |    4 -
 composer.json                                      |   20 +-
 composer.lock                                      | 2415 +++++++++++++-------
 generateBlocklist.mjs                              |    2 +-
 logs/.gitignore                                    |    4 +
 makefile                                           |    9 +-
 package-lock.json                                  |   26 +-
 package.json                                       |    2 +-
 phpcs.xml                                          |    3 -
 phpstan.neon                                       |    6 +-
 public/assets/css/components/structure.css         |    2 +-
 public/assets/css/components/style.default.css     |    2 +-
 public/assets/css/components/wysiwyg-overrides.css |    6 +
 public/assets/images/Screenshots/apps.png          |  Bin 1301600 -> 715919 bytes
 public/assets/images/Screenshots/blueprints.png    |  Bin 1275795 -> 701616 bytes
 public/assets/images/Screenshots/calendar.png      |  Bin 1107082 -> 568384 bytes
 public/assets/images/Screenshots/dark.png          |  Bin 834745 -> 434942 bytes
 public/assets/images/Screenshots/docs.png          |  Bin 999655 -> 522833 bytes
 public/assets/images/Screenshots/goals.png         |  Bin 1541164 -> 699738 bytes
 public/assets/images/Screenshots/kanban.png        |  Bin 1254277 -> 580541 bytes
 public/assets/images/Screenshots/mywork.png        |  Bin 1111587 -> 619403 bytes
 .../assets/images/Screenshots/projectDashboard.png |  Bin 1367773 -> 745864 bytes
 public/assets/images/Screenshots/table.png         |  Bin 1374293 -> 603685 bytes
 public/assets/images/Screenshots/timeline.png      |  Bin 1002943 -> 507251 bytes
 public/assets/images/Screenshots/timesheet.png     |  Bin 1594929 -> 627596 bytes
 public/assets/images/backgrounds/bg1.png           |  Bin 502632 -> 348892 bytes
 public/assets/images/backgrounds/bg2.png           |  Bin 826680 -> 769041 bytes
 public/assets/images/backgrounds/bg3.png           |  Bin 413265 -> 229419 bytes
 public/assets/images/backgrounds/bg4.png           |  Bin 1028919 -> 623210 bytes
 public/assets/images/backgrounds/bg5.png           |  Bin 297276 -> 150843 bytes
 public/assets/images/backgrounds/bg6.png           |  Bin 133140 -> 110251 bytes
 public/assets/images/backgrounds/bg7.png           |  Bin 1710266 -> 1308565 bytes
 public/assets/images/doc.png                       |  Bin 29359 -> 26196 bytes
 public/assets/images/icon-192.png                  |  Bin 10830 -> 5105 bytes
 public/assets/images/icon-512.png                  |  Bin 40016 -> 17191 bytes
 public/assets/images/logo-powered-by-leantime.png  |  Bin 9367 -> 7665 bytes
 public/assets/images/logo.png                      |  Bin 1353 -> 930 bytes
 public/assets/images/logo_blue.png                 |  Bin 17862 -> 9399 bytes
 public/assets/images/openid-icon.png               |  Bin 1377 -> 873 bytes
 public/assets/images/spotlightBg.png               |  Bin 3453482 -> 2624794 bytes
 .../assets/images/undraw_progressive_app_m9ms.png  |  Bin 41866 -> 37107 bytes
 public/assets/js/app/core/modals.js                |    9 +-
 .../jquery.nyroModal/js/jquery.nyroModal.custom.js |    4 +-
 public/dist/mix-manifest.json                      |  133 +-
 public/download.php                                |    2 +-
 public/images/icon-192.png                         |  Bin 10830 -> 5105 bytes
 public/images/icon-512.png                         |  Bin 40016 -> 17191 bytes
 public/index.php                                   |    7 +-
 public/theme/minimal/css/light.css                 |    6 +-
 .../Core/{ApiSessionTest.php => ApiClientTest.php} |   19 +-
 tests/Unit/app/Core/EventsTest.php                 |   22 +-
 tests/bootstrap.php                                |   16 +-
 424 files changed, 9608 insertions(+), 5725 deletions(-)

Don't miss a new leantime release

NewReleases is sending notifications on new releases.