Commit Graph

93 Commits

Author SHA1 Message Date
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
Kevin Papst
976d38e8a4 Release 2.57 (#5929) 2026-05-21 22:14:10 +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
bad92d7215 Release 2.54 (#5896) 2026-04-13 21:22:06 +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
Kevin Papst
999d820d4c Release 2.53 (#5878) 2026-04-10 18:09:27 +02:00
Kevin Papst
4154de6bd1 Release 2.50 (#5835)
* replace p-0 class with fullsize embed option
* bump parsedown package
* remove support for file:// urls
* fix missing macro in export print template
* fix weekly hours with breaks
2026-02-25 21:07:40 +01:00
Kevin Papst
3fcaf55d02 merge default currency settings (#5739) 2025-12-22 17:55:48 +01:00
Kevin Papst
8c1ed68817 improved dark mode, automatic theme switch (#5720) 2025-12-19 23:51:27 +01:00
Kevin Papst
595b5f4b25 Configurable rate rounding (#5734)
* added invoice hydration of the issuer object
* added "rate calculator" mode
* new config to select rounding mode
* replace static calls with dependency injection
2025-12-16 16:47:46 +01:00
Kevin Papst
8e6764b67a Release 2.42 (#5686) 2025-11-12 16:15:04 +01:00
Kevin Papst
1a38c7d7a3 Release 2.41 (#5653) 2025-11-08 23:03:44 +01:00
Kevin Papst
cc64acf0f8 Meta-fields for InvoiceTemplate, structured Customer address (#5519) 2025-11-02 11:24:17 +01:00
Kevin Papst
7937fa281a Release 2.40.0 (#5621) 2025-09-26 10:49:06 +02:00
Kevin Papst
6d78c6ba36 Configurable PDF exports (#5641) 2025-09-23 18:32:31 +02:00
Kevin Papst
a4d658b821 Release 2.39 (#5604)
* prepare audit via annotation
* default calendar slot label distance of 1h
+ replace freestyle config with dropdown
* added missing return definition in callbacks
* refactor view name handling
* dispatch calendar view changes and push them into the URL to be able to reload the poage
* bump packages
* fix timezone issue in calendar sum calculation
* fixes #5618 resetRates()
* show expected daily hours in working-contract screen
2025-08-30 11:41:17 +02:00
Kevin Papst
05aaa1950a configurable csv/xlsx export templates (#5531) 2025-06-11 13:06:33 +02:00
Kevin Papst
1e0fbf0b73 Release 2.35 (#5470)
* open up API for plugins by removing internal
* use constants in entity column definition
* simplified entity management API
* bump packages
* allow installing assets and run database migrations independently
* bump to apidoc-bundle 5
* do not duplicate http method in API operationId
* new security entries in Open API definition
* changed API UI provider for Swagger to Stoplight, improved endpoint titles, hide internal endpoints
* deactivate swagger json endpoint
2025-05-24 14:28:39 +02:00
Kevin Papst
2e6b700b43 Release 2.32 (#5411)
* bump packages
* dynamic invoice options
* make sure that invoice previews can be detected
* support for mpdf associated files
* do not include any future times in work contract calculation
* re-add username column in Excel spreadsheet
* deactivate internal rate editing
* show if plugin update exists
* shorten name to Kimai only, without Time-Tracking
* remove check for existing id in work contract
* fix metafield already defined in search
* helper methods to unlock months
* new translation
* send event on unlock month
2025-04-06 09:53:48 +02:00
Kevin Papst
b42c77a2a1 Release 2.29 (#5325)
* bump composer packages
* fixes #5329 quotes for ANSI_MODE
* improve year selection
* improve year selection via dropdown
* added range selector in month-picker
* fix week number if week starts with sunday
* fix first day of month in URL
* predefined options for week chooser
* z-index issue with sticky table header
* replace duplicated translations
* add logout button to allow user switch without having to re-login in "remember me" login
* new flag to detect if invoice entry is a fixed rate
* improve export column lengths
2025-02-09 00:16:03 +01:00
Kevin Papst
136104d4b0 faster spreadsheet exporter based on opensout and other export improvements (#5238) 2024-12-22 18:36:47 +01:00
Kevin Papst
c7f0508707 Upgrade tests to PhpUnit 10 (#5252) 2024-12-22 01:25:30 +01:00
Kevin Papst
21c031f2c8 export filtered timesheets without additional search form (#5234) 2024-12-15 18:38:30 +01:00
Kevin Papst
82a3b99a31 Release 2.26 (#5189)
* bring back deprecated methods
* bump packages
* fix SAML redirect
* config flag for break times
* use class constant instead of string in attributes
* throw if all tags were not found - fixes #4792
2024-12-05 10:42:07 +01:00
Kevin Papst
e030ff08db API endpoints to delete customer/project/activity (#5181)
* added service methods with events to delete customer, project, activity
* added API endpoints to delete customer, project, activity
* added tests for new API endpoints
2024-11-27 15:25:13 +01:00
Kevin Papst
0c26a2678e Release 2.25 (#5109) 2024-11-21 22:44:49 +01:00
Kevin Papst
dcc52f1a95 API begin and end fields for Admins (#5134) 2024-10-25 10:47:58 +02:00
Kevin Papst
96043afd6a better support for installing plugins via composer (#5112)
* merge installation and update commands
* generate metadata from array
* new command to list available packages
* added a management script to simplify updates
* added directory for dev files
* helper functions for installation and listing of packages
* run plugin database installers
2024-10-14 21:44:42 +02:00
Kevin Papst
fb9a0dc499 Release 2.23.0 (#5075) 2024-10-03 10:34:20 +02:00
Kevin Papst
537c120ad9 Release 2.22.0 (#5043) 2024-09-20 14:30:11 +02:00
Kevin Papst
b1903ba183 Release 2.21.0 (#5014) 2024-08-28 17:16:37 +02:00
Kevin Papst
9d933f62c0 refactored repositories and DB queries (#5026)
* removed unused teams from export order
* added new paginator for query instead of querybuilder
* added field hydrate enums
* hide PARTIAL deprecation
* never log deprecations in production
* replaced InvoiceLoader with native Doctrine feature
* prevent excessive permission queries
* support loading customers of team
* improved findByIds
* internalized API
* fix null string deprecations
2024-08-27 10:11:19 +02:00
Kevin Papst
987b46bf8f Release 2.18 (#4878) 2024-06-16 13:15:49 +02:00
Kevin Papst
93ca983e0b invoice: do not use activity name as fallback for description (#4884)
* added replacement field description_safe
2024-06-03 19:01:40 +02:00
Kevin Papst
7219b3f421 Release 2.15 (#4749) 2024-04-12 19:03:09 +02:00
Kevin Papst
dd51c8dfba utilize UserService for SAML (#4748) 2024-04-05 19:22:13 +02:00
Kevin Papst
b6c98f871d Release 2.14 (#4710)
- show "link has expired message" in password reset screen
- added date objects as hydrator variables - for custom date formats in invoice templates
- show meta-fields with null values (e.g. booleans with `false` where hidden)
- fix permission check: allow to remove `view_own_timesheet` but still record times
- prevent error 500 if customer country is empty
- fix API 500 error if project does not exist when creating new timesheet
- fix tags are not created in remote-search mode
- do not check "export items" by default
- fix daterange query, if user an request locale are different
- added logging for invalid SAML responses (see various discussions)
2024-04-05 12:38:21 +02:00
Kevin Papst
dee90bb15e Release 2.13 (#4659) 2024-03-10 15:35:59 +01:00
Kevin Papst
85a16a9363 Release 2.12 (#4609) 2024-02-07 23:47:25 +01:00
Kevin Papst
49e69d1ae3 Release 2.11 (#4580) 2024-02-02 13:52:24 +01:00
Kevin Papst
df3ca9d5a9 Split user language (UI translation) from locale (formatted values) (#4595) 2024-01-30 00:09:53 +01:00
Kevin Papst
46739795ff Release 2.10 (#4549) 2024-01-19 12:05:07 +01:00
Kevin Papst
6531e7fe52 Release 2.9.0 (#4526)
* added fix to work around bc break in new phpword version
* fix phpoffice deprecations
* mark unused option as deprecated
* support for DateTimeInterface and DateTimeImmutable where possible
* use TRUSTED_PROXIES setting - fixes #4533
* re-enable Kimai test in docker test build script (#4541)
* bump dependencies
2024-01-10 12:43:07 +01:00
Kevin Papst
ad645f5b58 Release 2.7.0 (#4506)
* added api URL for simpler integration
* allow to request password change upon next login
* make ModifiedAt timesheet independent
* improved plugin api
* replace kernel calls with AutoconfigureTag and TaggedIterator attributes
* new translation keys (e.g. for days)
* support setting min and max date on date and daterange pickers
2023-12-26 14:49:11 +01:00
Kevin Papst
5f4b6d3cfa Release 2.6.0 (#4472)
- Added: calendar entry title combination for customer, project and activity
- Added: show not_invoiced and not_exported data in detail screens
- Added: force logout if user is disabled
- Added: reduced amount of database queries on several screens
- Fixed: open-close status on work-contract screen for users without configuration
- Fixed: failsafe order/orderBy in query if manually manipulated to be null
- Fixed: unify statistic calculation (not_invoiced and not_exported) across screens
- Tech: bump packages
- Tech: Symfony 6.4
2023-12-17 16:19:50 +01:00
Kevin Papst
02bcd45116 Release 2.5.0 (#4454)
- added command to list users
- corrected wrong german translation
- work contract validations
- prevent error with missing params
- use collapsible, minor UI improvement
- added classes to target menu buttons in custom rules
- disable webpack notifier, incompatible with mac arm
- use explicit menu service to generate menu
- bump to fontawesome 6 and replace restart icon
- change repeat icon for recent activities
- moved user bookmarks (favorites) to top nav
- fix totp seconds window (leeway)
- new migration to fix remaining user preferences with dots in name
- remove duplicate named column in user screen
- unify and added translations
- added missing filter and tags to InvoiceSecurity
2023-12-01 11:38:17 +01:00