Skip to content

Tine

v2025.11.11 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

activesync caldav calendar carddav collaboration contacts
+5 more
groupware javascript php sync webdav

Summary

AI summary

Updates Discussion https://github.com/orgs/tine-groupware/discussions/238, EM, and Sales across a mixed release.

Changes in this release

Feature Low

Adds XRechnung BT/BG overwrites support in Sales module.

Adds XRechnung BT/BG overwrites support in Sales module.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Low

Adds calendar relations for events from EM or appointments in an event (EM feature).

Adds calendar relations for events from EM or appointments in an event (EM feature).

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Fixes markdown renderer crash in Tinebase.

Fixes markdown renderer crash in Tinebase.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Fixes automatic net computation when tax is zero in Purchasing.

Fixes automatic net computation when tax is zero in Purchasing.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Prevents zero tax values from being overwritten in Purchasing.

Prevents zero tax values from being overwritten in Purchasing.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Ensures tax_by_rate is computed for draft invoices in Purchasing.

Ensures tax_by_rate is computed for draft invoices in Purchasing.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Restores clickable "password must change" checkbox in Admin UI.

Restores clickable "password must change" checkbox in Admin UI.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Makes field accessible via recordForm.formfield_NAME in Tinebas/js.

Makes field accessible via recordForm.formfield_NAME in Tinebas/js.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Corrects Calendar export file name template when dates are included.

Corrects Calendar export file name template when dates are included.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Handles cases where user may not be available in Tinebase/WebDAV.

Handles cases where user may not be available in Tinebase/WebDAV.

Source: llm_adapter@2026-07-16

Confidence: low

Bugfix Low

Handles missing user scenarios in Tinebase/WebDAV access.

Handles missing user scenarios in Tinebase/WebDAV access.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Ignores sync request paths starting with /ocs in Tinebase/WebDAV.

Ignores sync request paths starting with /ocs in Tinebase/WebDAV.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Excludes end_time from correlated multi‑edit in Timetracker.

Excludes end_time from correlated multi‑edit in Timetracker.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Enables opening original document after saveAs in OOI.

Enables opening original document after saveAs in OOI.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Respects grants for external organizer events in Calendar.

Respects grants for external organizer events in Calendar.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Ensures eInvoice creation in Sales module.

Ensures eInvoice creation in Sales module.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Resolves Sentry concurrency conflict in EM.

Resolves Sentry concurrency conflict in EM.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Prevents client‑side rounding failures in Sales.

Prevents client‑side rounding failures in Sales.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Allows booking via combo in Sales.

Allows booking via combo in Sales.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Displays accountPicker at correct width when vacation is set in HR.

Displays accountPicker at correct width when vacation is set in HR.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Fixes debitor number handling in Sales.

Fixes debitor number handling in Sales.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Supports "do not show again" checkbox for generic message boxes in Tinebase/js.

Supports "do not show again" checkbox for generic message boxes in Tinebase/js.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Saves invoice tax correctly in Purchasing.

Saves invoice tax correctly in Purchasing.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Adds user group grants to events folder in EM.

Adds user group grants to events folder in EM.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Ignores ACL checks during maintenance mode verification in Tinebase/Expressive.

Ignores ACL checks during maintenance mode verification in Tinebase/Expressive.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Allows manual cancellation of recurring events in Crewsheduling.

Allows manual cancellation of recurring events in Crewsheduling.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Uses selected nodes correctly in Filemanager/js FilePickerDialog.

Uses selected nodes correctly in Filemanager/js FilePickerDialog.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Validates numberable fields for unbooked saved documents in Sales.

Validates numberable fields for unbooked saved documents in Sales.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Shows recurrence icon correctly in Calendar grid view.

Shows recurrence icon correctly in Calendar grid view.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Ensures customer is expanded for title display in Sales.

Ensures customer is expanded for title display in Sales.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Displays default message when Felamimail values are undefined.

Displays default message when Felamimail values are undefined.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Full changelog

Releasenotes

Discussion

https://github.com/orgs/tine-groupware/discussions/238

Updating from Community Edition

If you update to this version from an older Community Edition (like https://github.com/tine20/tine20/releases/tag/2023.12.1), you might have to check the number of activated users. Without an activation key, this version only supports 5 enabled users.

Changelog

Features

d6e4da35ace feature(Sales) allow for XRechnung BT/BG overwrites
7221643fa6b feature(EM): add relations to calendar for an event from EM or an appointment in an event

Bugfixes

e14f620c73c fix(Tinebase): fix markdown renderer
00531209525 fix(Purchasing): autocompute net if tax was zero
9326b8723e9 fix(Purchasing): zero tax from server got overwritten
00aecbc5561 fix(Purchasing): tax_by_rate not computed for drafts
797f263879f fix(Admin): make "pw must change" checkbox clickable again
ffa6d432f18 fix(Tinebase/WebDAV): user might not be available
1e240cd4d77 fix(Tinebas/js): make field available via recordForm.formfield_NAME
be3e226fdc4 fix(Calendar/Export): fix Calendar file name template with date
4fe72526296 fix(Tinebase/WebDav): ignore sync request path start with /ocs
fabd4053c9b fix(Timetracker): exclude end_time from correlated multiedit
4ee4b627d59 fix(OOI): saveAs -> open origin doc impossible
22ca591f9ae fix(Calendar): respect grants for external organizer events
7546197c002 fix(Sales): eInvoice not created
ef26bfa0a1e fix(EM): sentry concurrency conflict
4aadc7ab993 fix(Sales): client side rounding might fail
32ed0afa462 fix(Sales): can't book via combo
b7903030a01 fix(HR): if vacation is set the accountPicker is displayed in the correct width
efd64984315 fix(Sales): debitor numbers not working
f6b01c167c5 fix(Tinebase/js): support do not show again chbox for generic msg boxes
2b6c435e328 fix(Purchasing) invoice tax not saved
57836055f1d fix(EM): add users group grants to events folder
f0db94feeef fix(Tinebase/Expressive): ignore acl in maintenance mode check
d2f583d2c53 fix(Crewsheduling): manual cancel of recure events
2fdb536ad0e fix(Filemanager/js): use selected nodes in FilePickerDialog
43a8a37baa6 fix(Sales): numberable validation for unbooked saved docs fails
d150b051513 fix(Calendar): recurex icon doesn´t show in grid
a1dda26b845 fix(Sales): customer not always expanded for title
5044e9e2aa2 fix(Felamimail/js): show default msg if values is undefined
60f4f45a6ca fix(EFile): skip tokecheck if EFile_Config::TIER_TOKEN_RENAME false for efile_tier_type
6c0b3b5ad7a fix(Tinebase/FullText): do not try to index zipped files
eb92c67009d fix(Purchaseing): assign existing supplier after eInvoice import
b2346f32ef0 fix(Tinebase/js): pwd dialog use userPwPolicy per default
28f3a2f2cde fix(Calendar/js): ignore undefined originalContainer path from external invitation
c9be215ab38 fix(Felamimail/js): force set endcolor for hightlight recipient
2ff4d460d5c fix(Sales): status fields in doc edit dlgs
92772f4f173 fix(Admin/Frontend/Json): add MC api methods to SMD (again)
9021ff38576 fix(Sales): default currency/taxrate not applied to customer via api
b1960dc7539 fix(Tinebase/js): fix random failures when html5-file-selector load failed
72ea3e4fd78 fix(Tinebase/Export/Xls): set correct data types
c2428404404 fix(Tinebase/Export/Abstract): remove autoescape from filename templating
96f76481056 fix(Sales) editable document numbers UI

Tweaks

1d1024a7c68 tweak(Sales): trac layout overlapped
3f43ffe71fa tweak(Sales) DocumentPurchaseInvoice duplicate test
bc5d885039a tweak(Sales): offers are reverseable
8f4eb178c6e tweak(Sales) invoice document remittance information UI
10b520bf74f tweak(ActiveSync): folder support for tbsync
a1d0f0e9668 tweak(Purchasing): new first status -> draft
cbb6b5a08f3 tweak(Sales) invoice document remittance information
83e2099fd02 tweak(Sales): seller adr descriptions
4d7252de0a3 tweak(Sales) Invoice ubl seller address fixed
8cdda15263f tweak(scripts/ansible): add --update and worker restart to tinedockercompose
0e1b0910a4b tweak(Tinebase/Controller/Metrics): only fetch cfg once
e80b7557a4b tweak(Sales) document invoice xrechnung attachment name fixed
1d44b0008be tweak(Filemanager/QuickLookMediaPanel): add video/x-matroska content type
5fcbec01b8f tweak(EM): header logo and footer from SPA visible in eventmanager website
8fb04b26207 tweak(Tb AD) fix add user in AD if dn already present
226b989ebf5 tweak(EM): fields changes description in central region, add subheading and employee for the event
b5f02151da7 tweak(Tinebase/Expressive): do not send ProgramFlow exceptions to sentry
fb23c477a22 tweak(Sales) offer -> order transition: set offer ordered status
ee2c8a76aa6 tweak(TB) denormalized records can't have relations
1b294009525 tweak(Tinebase/UI): support third button paste for nullish fields
6ad15661edc tweak(Tinebase/FullText): only try to index MAX_FILE_INDEX_TRIES (10)
a12652abfea tweak(EM): checkbox postion change, add more margins to option groups
716aeac9b08 tweak(Sales) customer/document credit terms handling fixed
6c3b18f51f3 tweak(Sales) add document purchase invoice tax rate test
19eb36a57e3 tweak(Sales) PI salesTaxByRate not calculated
35d597a48a6 tweak(TB) added webdav issue tests
ddf3e8d34e9 tweak(test) fixed typo in ttjsontest
b6ffc08bc12 tweak(HR AttendanceRecorder) allow user to alter TS start time
646360e6ae7 tweak(EM): create a folder with another name in case it already exists
94704e3fb15 tweak(composer) update php-jwk for php8.4+
3ffcdb34906 tweak(EM): reload correct participant, remove json from details panel
9f9c70b5a66 tweak(EM): if group name is equal to text output name in group the name will be display just once
f9fe92542da tweak(TB) webdav issue throwable reporting fix
862552511c5 tweak(Tinebase/Fulltext): don't index empty files
73febc2b959 tweak(Tinebase/js): set default column minWidth to 50
9fd41125942 tweak(SSO) key rotation directory name fixed
894a101f9c4 tweak(TB) twig renderTitle function fixed
1137f6f0e92 tweak(TB) adjust pam validation api to use password instead of pass
c6ae25eeb49 tweak(TB) expressive logging fixed
1de3bfe89e6 tweak(Sales) edocument invoice line price amount unrounded
61d3fd0aa33 tweak(Sales) edocument price quantity fix
44487e3a466 tweak(TB) improve expressive request logging
d977e53dde7 tweak(TB) webdav issue body changed to blob
e04127fc93a tweak(Tinebase/Server/WebDAV): handle empty request
62d0d25ceb9 tweak(Sales) pre/post texts are optional now
54246992522 tweak(Tinebase): editable numberable prefix & validation
c4da08589ed tweak(Sales) document abstract contract id in queryfilter
d0f4b2af086 tweak(Setup/Controller): skip REPLICA_CHECK on uninstall all apps
13b142ce808 tweak(Sales) invoice document number assignable
05a5ab9dab7 tweak(Tinebase/Cache): catch $cache->load() exceptions
f8393026ad2 tweak(Sales) proforma numbers should be editable via document_number
3d7f4be0b62 tweak(Tinebase/Exception): return false if sentry is not available
d26d36fa1b0 tweak(TB) MC default from config not as db default

Breaking Changes

  • Community Edition now enforces a maximum of 5 enabled users when no activation key is provided.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Tine

Get notified when new releases ship.

Sign up free

About Tine

Software for digital collaboration in companies and organizations. From powerful groupware functionalities to clever add-ons, tine combines everything to make daily team collaboration easier.

All releases →

Related context

Beta — feedback welcome: [email protected]