Releasenotes
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
0424c9a feature(Admin): Send email to task owner after repeated fails
9d9b29a feature(Felamimail): add support for "emltpl" files
7d4a14b feature(Sales): attachedDocument handling
3533376 feature(Sales): dispatch documents and evaluate document transport config
3e5dc64 feature(Tinebase/Config): also add json configs from conf.d
Bugfixes
499ab2b fix(Tinebase/Record): prevent clearing customfields if record has property of the same name
7bf417c fix(Calendar): site field was renamed to event_site
a90e09a fix(Tinebase/Container): getExistingContainer should always do search
23c3a33 fix(Felamimail/JsonTest): file message to addressbook contact
33518b5 fix(Tinebase/Scheduler): notification emails might be already an array
00a801e fix(Sales/17.25): add fulltext index for descriptions of document positions
5465944 fix(Felamimail/Message/File): file message to new location
6ab74e8 fix(Tinebase/Model/User): fix toArray for single values
cc7201d fix(SSO) oauth2 rp's can't login with MFA
efdad6d fix(Calendar): fix error in site field config
5eaa88a fix(Addressbook/js): contact property grid should have admin grant with new contact
2d1983b fix(Addressbook): group functions filter looses value
e4be3d2 fix(Sales): bank accounts in sales division not shown
a6ca60a fix(Tinebase/ModelConfiguration): remove field from jsonExpander if app is not available
b5456a4 fix(Inventory/EditDialog): only add invoiceRecordPicker if Sales is available
db998c7 fix(Calendar): attendee duplicate check for email attendees
e57fff6 fix(Timetracker/js): bill timeaccount should exclude none billable timesheet
70d7a22 fix(Felamimail/js): reply message using reply to header
6ea0c07 fix(Tinebasee/js): load store with filters from filterPanel
7910bb9 fix(ExtJS/VueAlert): set default label text if prop is not rendered
e5f4ba5 fix(GDPR/DIPR): datetime filter for agreedate
e55df01 fix(Admin/js): show restart confirmation dialog when current user email changed
579ecaa fix(Addressbook/Contact): set preferred email for the first none empty email
457dc51 fix(ExtJS/PagingToolbar): hide toolbar item by dom property
5b7eb67 fix(Tinebase) implicit account renderer returns empty
31a85a1 fix(Tasks): my tasks filter does not show my name
27ebdf8 fix(Tinebase/Http): fopen needs file real path
5f4f1af fix(Tinebase/Http): add streancontext to fopen if not null
e081e4f fix(Felamimail/Json): remove attachment streams before record convert to json
629644b fix(Sales/js): import missing numberableStateProvider
6de451a fix(Sales) Document DispatchHistory typo in Ctrl file name fixed
d6e9e84 fix(Felamimail/Json): remove extra char in getRules
5ad5d3b fix(HR WTReport) recalc of daily with missing contract needs to recalc monthly too
d0c1e10 fix(Tinebase/js): improve deeplink regex
c5e1f9d fix(calender/js): disable individual event editor grid for new event
9060076 fix(Tinebase/UI): can't add attachments with adminGrant
93ed7b1 fix(Addressbook/js): sort adb dynamic field by order
Tweaks
eb50f0b tweak(Sales Ubl) fix 0 eur line vat tax issue
247a856 tweak(Sales UBL) fix invoice line price amount to be net
66466ce tweak(Sales) fix debitor.einvoice_config filter/validation
eccda3a tweak(Sales Ubl) minor ubl fixes
bdfbe5a tweak(TB AD syncgroups) fix typos / bugs
d12fbab tweak(Tinebase/UI): radio box preselect did not work
c46a591 tweak(Sales/Contract): use Tinebase_Container::createSystemContainer in getSharedContractsContainer()
edef687 tweak(Tinebase/UI): Bootstrap dark mode added for MultiOptionsDialog
5095983 tweak(Sales/Model/Document): product name is required in createPositionFromProduct()
b7d955b tweak(Felamimail/Controller/Message): fix logging of IMAP exceptions
884c610 tweak(Tinebase/FileSystem): introduce _isFileIndexingActive()
0d64108 tweak(Calendar/Import/Csv): ignore duplicate check of member attendee
c449a23 tweak(docs): where to set glob filter
977d158 tweak(Felamimail/js): single click to edit path in folder filter panel
3bcaeb4 tweak(Felamimail/Sieve/Rule): limit auto-reply text to 255 chars in edit dialog
af43cfe tweak(Sales/DocumentPosition): allow to computePrice() for non-products
349e4c1 tweak(Calendar) activate remote caldav imports
a04babd tweak(Tinebase/ModelConfiguration): make setApplicationStatus work for app name
4873786 tweak(Tinebase/Filter): don't be strict with customfield filters
47a3fbd tweak(Filemanager/js): handle datasafe is locked exception for node grid panel
83b0b2b tweak(Tinebase): remove old ie/ff specfic code
b9c842b tweak(docs): set file system default grants config
ef19e79 tweak(Sales/Model/DocumentPosition): prevent circular loop in diff()
b677e36 tweak(Timetracker/Timesheet): send confirmation when update cleared timesheet
1caad48 tweak(TB MFA) fix sso mfa exception
9d7e7a2 tweak(Sales) fix missing sales in table name
f5086a3 tweak(Tinebase/FileSystem): check for empty flysystem path
2133773 tweak(Sales/Model/Product): prevent error in getTitle
cde0155 tweak(PHP83) fix encoding issue
355b4ee tweak(Sales Document) attached documents creation keeps other documents on seq
447e36c tweak(Sales) fix edocument creation to pass full validation
d732ba7 tweak(Sales Documents) add attached documents property/model
fb06e49 tweak(Sales) xrechnung attachment name corruption fixed
b2bbe5c tweak(Sales) update ubl libs
189f799 tweak(TB) add generic Sms code, refactor MFA sms adapter to use it
3149029 tweak(Tinebase/Container): catch empty owner exception
0856d2c tweak(Tinebase/Config): deep merge conf.d config files
82e4392 tweak(Tinebase/Config): load conf.d files in ascending order
c7d0ce1 tweak(Sales) Documents: make modlog fields chgable for booked
baa5d37 tweak(Demodata) add TB bankaccount, sales add bankaccount to division
10277de tweak(Tinebase/FilterGroup): improve standard filter error handling
0ebc33c tweak(Admin/CustomField/EditDialog): name field can only be 40 chars
5e886d0 tweak(Sales) fix legacy invoicing
9453abe tweak(Addressbook): ContactSite missing in update script
309aa3f tweak(Tinebase/WebDAV): log area lock status when no permission to create file
bd3fd97 tweak(Tinebase/Import/Db): add _getAdditionalData helper function
3d6daa1 tweak(TB undelete) respect modlog=false in undelete
49c23d8 tweak(Addressbook): rename an fix contact sites
b5772ee tweak(Tinebase): move site filter to tinebase and add Site field to event as well as sites to contact