1674 Commits

Author SHA1 Message Date
root
c0f03bc64d Fix Revenue null currency crash on user profile
Some checks failed
Frontend / Frontend verification (push) Has been cancelled
Lint PHP / Linting (8.2) (push) Has been cancelled
Check .lock files / Verify lock file integrity (push) Has been cancelled
Release Drafter / Verify repository (push) Has been cancelled
Tests / Integration (8.2) (push) Has been cancelled
Tests / Integration (8.3) (push) Has been cancelled
Tests / Integration (8.4) (push) Has been cancelled
Tests / Integration (8.5) (push) Has been cancelled
Actions Security Analysis / Scan workflows (push) Has been cancelled
Release Drafter / Draft next release (push) Has been cancelled
Lock Threads / Lock inactive issues (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
- TimesheetRepository::getRevenue(): default to ZAR when currency is null
- Set all customer currencies to ZAR (was EUR from old K1 DB)
2026-06-20 17:53:05 +00:00
root
86f3e3c9f3 Include zero-hour users in Time Analysis table
Some checks failed
Lock Threads / Lock inactive issues (push) Has been cancelled
Frontend / Frontend verification (push) Has been cancelled
Lint PHP / Linting (8.2) (push) Has been cancelled
Check .lock files / Verify lock file integrity (push) Has been cancelled
Release Drafter / Verify repository (push) Has been cancelled
Tests / Integration (8.2) (push) Has been cancelled
Tests / Integration (8.3) (push) Has been cancelled
Tests / Integration (8.4) (push) Has been cancelled
Tests / Integration (8.5) (push) Has been cancelled
Actions Security Analysis / Scan workflows (push) Has been cancelled
Release Drafter / Draft next release (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
- Remove HAVING total_hours > 0 filter from SQL
- Table always renders even when all users have 0 hours
- Matches old Kimai 1 behavior
2026-06-18 23:14:31 +00:00
root
3cd198c12c Fix billable mapping (0=billable, 1=non-billable, 2=unproductive)
Some checks failed
Frontend / Frontend verification (push) Has been cancelled
Lint PHP / Linting (8.2) (push) Has been cancelled
Check .lock files / Verify lock file integrity (push) Has been cancelled
Release Drafter / Verify repository (push) Has been cancelled
Release Drafter / Draft next release (push) Has been cancelled
Tests / Integration (8.2) (push) Has been cancelled
Tests / Integration (8.3) (push) Has been cancelled
Tests / Integration (8.4) (push) Has been cancelled
Tests / Integration (8.5) (push) Has been cancelled
Actions Security Analysis / Scan workflows (push) Has been cancelled
- Swapped billable/non-billable SQL values to match migrated data
- All 3 pivot tables always render (empty ones show 'No data')
- Added grand total row to pivot tables
- Initialize unprodRows/userColumnsUP to prevent undefined var error
2026-06-18 23:08:43 +00:00
root
baab938326 Fix Team Summary report — all 3 pivot tables + proper Kimai layout
Some checks failed
Actions Security Analysis / Scan workflows (push) Has been cancelled
Frontend / Frontend verification (push) Has been cancelled
Lint PHP / Linting (8.2) (push) Has been cancelled
Check .lock files / Verify lock file integrity (push) Has been cancelled
Release Drafter / Verify repository (push) Has been cancelled
Release Drafter / Draft next release (push) Has been cancelled
Tests / Integration (8.2) (push) Has been cancelled
Tests / Integration (8.3) (push) Has been cancelled
Tests / Integration (8.4) (push) Has been cancelled
Tests / Integration (8.5) (push) Has been cancelled
- Billable Projects (billable=1), Non-Billable (billable=0), Unproductive (billable=2)
- Uses Twig macro for DRY pivot table rendering
- Extends Kimai reporting/layout.html.twig for proper navbar/breadcrumb
- Team selector + date range in card header
2026-06-18 22:59:58 +00:00
root
74ebac9e94 Add Team Summary custom report
Some checks failed
Frontend / Frontend verification (push) Has been cancelled
Lint PHP / Linting (8.2) (push) Has been cancelled
Check .lock files / Verify lock file integrity (push) Has been cancelled
Release Drafter / Verify repository (push) Has been cancelled
Release Drafter / Draft next release (push) Has been cancelled
Tests / Integration (8.2) (push) Has been cancelled
Tests / Integration (8.3) (push) Has been cancelled
Tests / Integration (8.4) (push) Has been cancelled
Tests / Integration (8.5) (push) Has been cancelled
Actions Security Analysis / Scan workflows (push) Has been cancelled
- src/Controller/Reporting/TeamSummaryController.php: new report with
  - Section 1: Time Analysis per user (billable/non-billable/unproductive/total hours)
  - Section 2: Billable Projects pivot table per user
  - Team selector (mapped from old K1 divisions)
  - Date range picker
- src/Reporting/ReportingService.php: registered report route
2026-06-18 22:43:12 +00:00
root
553c87d7ea Initial Kimai 2.61.0 setup with Kimai 1 migration
Some checks failed
Frontend / Frontend verification (push) Has been cancelled
Lint PHP / Linting (8.2) (push) Has been cancelled
Check .lock files / Verify lock file integrity (push) Has been cancelled
Release Drafter / Verify repository (push) Has been cancelled
Release Drafter / Draft next release (push) Has been cancelled
Tests / Integration (8.2) (push) Has been cancelled
Tests / Integration (8.3) (push) Has been cancelled
Tests / Integration (8.4) (push) Has been cancelled
Tests / Integration (8.5) (push) Has been cancelled
Actions Security Analysis / Scan workflows (push) Has been cancelled
- PHP 8.3, Symfony 6.4, MariaDB 10.11
- Migrated from Kimai 1.x: 908K timesheets, 2,154 users, 427 projects
- Custom migration script at migrate.php
- All users login with: changeme
2026-06-18 21:54:38 +00:00
Kevin Papst
0bedb7a877 added missing response object in OpenAPI description 2026-06-17 22:15:41 +02:00
Kevin Papst
1f905c5c74 Update mysql Docker digest to e370cd5 (#5997) 2026-06-17 10:21:33 +02:00
Kevin Papst
2750bf6b86 Update release-drafter/release-drafter action to v7.4.0 (#5998) 2026-06-17 10:21:16 +02:00
Kevin Papst
8bf711c417 Some random tests and fixes (#6000)
* added tests for form models
* apply form theme only to the own custom form type
* change route order for improves matching
2026-06-17 10:20:50 +02:00
Kevin Papst
f8bc853d2f Release 2.61 (#5990) 2026-06-17 07:27:57 +02:00
Kevin Papst
7f716fa2d6 Update pnpm/action-setup action to v6.0.9 (#5994) 2026-06-16 22:06:25 +02:00
Kevin Papst
23f5628cc9 Update mysql Docker digest to c11782a (#5978) 2026-06-10 17:44:56 +02:00
Kevin Papst
dd55a3be06 Update shivammathur/setup-php action to v2.37.2 (#5984) 2026-06-10 13:32:57 +02:00
Kevin Papst
e66ecc6b8b Update renovatebot/github-action action to v46.1.15 (#5982) 2026-06-10 13:32:16 +02:00
Kevin Papst
09ae8babda Update release-drafter/release-drafter action to v7.3.1 (#5981) 2026-06-10 13:31:00 +02:00
Kevin Papst
a3c3f4bd11 Update actions/checkout action to v6.0.3 (#5979) 2026-06-10 13:30:18 +02:00
Weblate (bot)
f8e56b8849 Translated using Weblate (#5973)
Currently translated at 100.0% (527 of 527 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (79 of 79 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (527 of 527 strings)

Translated using Weblate (Russian)

Currently translated at 99.2% (523 of 527 strings)





Translate-URL: https://hosted.weblate.org/projects/kimai/messages/es/
Translate-URL: https://hosted.weblate.org/projects/kimai/messages/fr/
Translate-URL: https://hosted.weblate.org/projects/kimai/messages/ru/
Translate-URL: https://hosted.weblate.org/projects/kimai/system-configuration/es/
Translation: Kimai - Time tracking/Main application
Translation: Kimai - Time tracking/System configurations

Co-authored-by: Libre <6n0n1m0s@proton.me>
Co-authored-by: Posemartonis <weblate.drainage895@passmail.net>
Co-authored-by: Артур <atter192837@gmail.com>
2026-06-10 13:29:00 +02:00
Kevin Papst
7687b1f525 exclude renovate bot PRs 2026-06-10 13:28:03 +02:00
Kevin Papst
f8a20329c9 adjust syntax to match the current release 2026-06-10 13:22:02 +02:00
Kevin Papst
5b82c86694 adjust syntax to match the current release 2026-06-10 13:17:45 +02:00
Kevin Papst
4ac38f32e0 improve new workflows 2026-06-10 13:08:53 +02:00
Kevin Papst
134790fb96 improve new workflows 2026-06-10 13:06:20 +02:00
Kevin Papst
d1b4433fa4 improve new workflows 2026-06-10 12:56:47 +02:00
Kevin Papst
a2c1c71cfc Release 2.60 (#5971) 2026-06-10 12:39:54 +02:00
Weblate (bot)
8ed666c0eb Translated using Weblate (#5967)
Co-authored-by: Fawlok <170857502+qopq1366@users.noreply.github.com>
Co-authored-by: ssantos <ssantos@web.de>
2026-06-05 19:10:10 +02:00
Kevin Papst
87c85270a9 Release 2.59 (#5957) 2026-06-05 19:05:10 +02:00
Weblate (bot)
79d0a2102b Translated using Weblate (#5954)
Co-authored-by: Levente Déri <derilevi@gmail.com>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: MizoWNA <moatazahmedalsharkawy@gmail.com>
Co-authored-by: Posemartonis <weblate.drainage895@passmail.net>
2026-06-01 14:39:28 +02:00
Max Hausch
c78a9dcdb1 fix adding an empty space in the delete modals (#5962) 2026-06-01 12:25:20 +02:00
Kevin Papst
31a8f887a5 Release 2.58 (#5952)
* bump version
* fix formatting locale reset after embedded controller sub-requests (#5944)
* fix GHSA-c6w6-57jj-62vh
* fix GHSA-m492-gv72-xvxj
* fix GHSA-jr9p-4h4j-6c58
* make sure to only use JS logic to call API endpoints
* fixes GHSA-r8vr-m544-qh4h
* make sure to only use JS logic to call API endpoints
* fix GHSA-rw46-qg69-vg6h
* fix GHSA-pj8j-p4g4-4vw8 - prevent kimai from rendering images via markdown
* fix GHSA-pj8j-p4g4-4vw8 - use a safe network client to prevent SSRF via images
* fix GHSA-xv4r-4885-gwpg
* fix GHSA-pgcc-vfmc-7cw5 - move GET routes to API with POST method to prevent CSRF
* fix tooltip survives page reload
* updated wizard images
* split wizard and password reset subscriber into two classes
* relax upper php limit
* added zizmor workflow scans and apply findings
* user permissions <name>_other_profile  now respect teams
* move all linting steps to new job
* updated docker image version names
* use .env.local for storing APP_SECRET
* improve build order and use given tag as ref for checkout, not default main branch
* improved APP_SECRET handling, see entrypoint.sh
* use local code for building the image for more flexibility, added dockerignore
2026-05-25 15:39:47 +02:00
Tobias Perschon
8d245ae223 Adds a setting to disable first time wizard for new users (#5938) 2026-05-23 18:48:42 +02:00
Kevin Papst
eeeeae41e7 Switch to PNPM for frontend dependencies (#5953) 2026-05-23 14:14:06 +02:00
Weblate (bot)
09b7adaa06 Translated using Weblate (#5928)
Co-authored-by: Christopher Picón <ntrpc.tech@users.noreply.hosted.weblate.org>
Co-authored-by: Gabriel <bloxgabriel18@gmail.com>
Co-authored-by: Kevin Papst <kevin@kevinpapst.de>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Posemartonis <weblate.drainage895@passmail.net>
Co-authored-by: Preben Rather Sørensen <preben@rather.dk>
2026-05-21 22:22:11 +02:00
Kevin Papst
976d38e8a4 Release 2.57 (#5929) 2026-05-21 22:14:10 +02:00
Max Hausch
f0ce1c7bd6 fix checking for correct formatter in durationDecimal (#5943) 2026-05-12 10:16:14 +02:00
Weblate (bot)
ebb54e9c0c Translated using Weblate (#5911)
Co-authored-by: Christopher Picón <ntrpc.tech@users.noreply.hosted.weblate.org>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Posemartonis <weblate.drainage895@passmail.net>
Co-authored-by: Preben Rather Sørensen <preben@rather.dk>
2026-04-27 17:10:01 +02:00
Kevin Papst
dabd63800f Invoice download via API (#5926) 2026-04-27 17:08:38 +02:00
Kevin Papst
20c7b03bd9 Re-usable ACL checks on teams (#5925) 2026-04-26 17:06:59 +02:00
Kevin Papst
7a559a09e6 Whitelist PDF context options (#5924) 2026-04-26 09:28:28 +02:00
Kevin Papst
3b051e4aa5 Twig config improvements (#5923)
* deprecate direct kimai_config access, which was only used internally
* prevent access to system configs
* prevent access to most configs in sandbox environments
2026-04-25 20:13:33 +02:00
Kevin Papst
3eebb02ad3 new API endpoint to save invoice meta-fields (#5916) 2026-04-25 18:14:10 +02:00
Kevin Papst
087350ab72 Release 2.56 (#5909) 2026-04-25 09:58:43 +02:00
Kevin Papst
01cb14a3da activate catalan locale (#5921) 2026-04-25 09:54:02 +02:00
Kevin Papst
f6c956631a added newsletter link (#5912) 2026-04-20 11:20:29 +02:00
Kevin Papst
372c676afa Release 2.55 (#5907) 2026-04-16 22:06:53 +02:00
Weblate (bot)
148d3db6ca Translated using Weblate (#5904)
Co-authored-by: TheKub4 <kubameszi@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: Тырцев Леонид <tleonid2018.pro@gmail.com>
2026-04-16 22:04:48 +02:00
Weblate (bot)
d456cd3ce2 Translated using Weblate (#5892)
Co-authored-by: Lasse Edsvik <lasse@lasseedsvik.se>
Co-authored-by: Milo Ivir <mail@milotype.de>
2026-04-13 21:23:49 +02:00
Kevin Papst
bad92d7215 Release 2.54 (#5896) 2026-04-13 21:22:06 +02:00
Kevin Papst
16703081cd Exporter/Invoice formula cleanup (#5899) 2026-04-12 09:27:05 +02:00
Kevin Papst
cbdf91f316 Team API docs (#5897)
* let view_team permission be handled by global ACLs
* code style and API docs
* improve permission check
2026-04-11 17:22:59 +02:00