Tine
Developer Productivitytine is collaborative groupware software for companies and organizations, offering powerful team collaboration features.
Features
- Provides comprehensive groupware functionalities
- Supports a variety of client protocols (ActiveSync, WebDAV, CalDAV, CardDAV)
- Offers extensible add‑ons for customized workflows
Recent releases
View all 7 releases →- Community Edition restricts enabled users to 5 when no activation key is provided.
Full changelog
Releasenotes
Discussion
https://github.com/orgs/tine-groupware/discussions/211
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
d942898222 feature(EM/TB): widget contact fields to choose which fields are shown in website for registration
3cf11c78fc feature(msi): rest auth login with loginName
990384271d feature(Calendar): feature switch for cloud calendar support
e3add6c7c8 feature(Calendar) syncContainerUI
eef0cc2916 feature(TB):show full text option to render as a markdown for fieldName description and specialType markdown
9ae4cf7b64 feature(EM): add notify action to send emails to participants
da79ad82a6 feature(Tinebase/Controller): respect maintenance mode in health check
Bugfixes
d7a3f37ad4 fix(GDPR/Json): make gdpr subscription container configurable
b10117dc6d fix(GDPR/views): open manage consent links in new tab
1dc654ae4e fix(Sales) ui glitches
d514a9be56 fix(HR/WTReports): working times can be negative
f0542f4586 fix(Timetracker/Timesheet): duration spinner allows negative
1e1393c6e8 fix(Addressbook/js): upadte all parsed address fields
03b66c8d28 fix(Sales/DocumentPosition/js): we might not have a real editDialog
7c1c6a0b8a fix(EM): listener for sessions combine date and time
898f73aca1 fix(Tinebase/EmailUser): refactor checkAllowedDomain
c64b8e8fd4 fix(Felamimail/js): flags use internal tabler icon
4d03b3b33e fix(Sales): js error
388220cf92 fix(ADB/Update/18.4): only work on non-deleted contacts
bab6534b05 fix(AdB/VCard): wrong countryname in vcard converter
4c30c56b36 fix(Timetracker/Export/Xls): add date_start to twig context
efdf66c407 fix(Tinebase/Config): return null _rawData if config randomizeIfEmpty is not set
74d39440fe Revert "fix(TB/Frontend): CSP header"
6759391ca9 Revert "fix(TB/SPA): add onlyOffice url to CSP and frame-src directive"
be866c51af fix(EM): add update script after drop container_id from eventmanager_register_contact table
05e6c798fe fix(Tinebase): bugs from "document edition in overlay windows"
ca01af0560 fix(Admin): password must change field from password dialog is applied when saving
9574bea18b fix(Tinebase/UI) stateIdSuffix not respected in grid
c2ccec3a53 fix(Calendar): dark mode rrule panel
499d7940d9 fix(EM): uninitialized Event folder properly
9308d8df16 fix(Calendar/Event): add modelName as filter option to organizer
88c8e6b0c0 fix(Tinebase): use web instead of branding url in email headers
b5f653a5a2 fix(Tinebase): wrong lang template from cache
4dc2192492 fix(TB/SPA): add onlyOffice url to CSP and frame-src directive
71962cf585 fix(TB/Frontend): CSP header
e20d29473b Revert "fix(TB/Frontend): CSP header"
cafa29107d fix(EM): front and backend wrong data exchange after EM-AdB container deletion
ca9590c24d fix(Tinebase/WebDav): fix quota available/usage
e295ab9185 fix(TB/AdB/EM): unset container for denormalize table
75942e3cf3 fix(TB): case where field.setHideTrigger or store.proxy are undefine
70977fd238 fix(Sales/Update/18.10): update correct model schema
8ec66f37cd fix(Sales/Update/18.10): add update script to $_allUpdates
9ac559fea5 fix(Felamimail/js): ham action do not execute onAfterDelete
e625df51a8 fix(Felamimail/js): do not load grid right after processHam
e3fb3fd090 fix(Sales): document edition in overlay windows
d1ba5a6a9a fix(TB/Frontend): CSP header
e0dc7c9ecd fix(Sales): copyDocument throws denomlisation error
1361f099c6 fix(Tinebase): prefill correct container name on dbl rename
0959813832 fix(EM): CSP header
b47ed14037 fix(MSI) layout with visibility hidemode
79f481d400 Revert "fix(GDPR/js): send update privacy consent email to contact"
27a8bfb954 fix(Calendar/Attender): user_id should not have pollReplies
604e823b75 fix(Setup/MySQL): fix login_failures field schema update
d8834364df fix(Timetracker/Timesheet): read account id correctly in checkGrant()
2dad76d3bd fix(Timetracker): read account id correctly
934949d2e2 fix(TB): Content-Security-Policiy headers
b44fe56b4e fix(GDPR/js): send update privacy consent email to contact
53806c41a6 fix(Felamimail/js): show mail sender icon in one column layout
2a5a7faacd fix(Tinebase/js): set startValue for checkbox in multi edit dialog
10479cdd2e fix(Sales): allow to edit new denorm addresses
7a16ea4eab fix(Sales): manual dispatch not working
a49c6108c7 fix(MSI): remove duplicate @
0130db2869 fix(Felamimail/Message): only remove auto-saved drafts that are older than 1 month
dfafabcbb3 fix(Calendar/Update/17.5): prevent lock wait issue
b7fdbe13c5 fix(Tinebase/views): reduce footer height
a4692736c1 fix(EM): container define for denormalize contacts, registrant define in all registrations
3b5b5015f1 fix(Tinebase/EmailUser): only allow any external domain if $_includeExternalDomains
9c65f7567b fix(EM): logic posting a registration
1e2a6f6d07 fix(Addressbook/js): default active tab break trigger field layout
Tweaks
01b7f79020 tweak(TB) fix typo in jwt_access_route
597ae78405 tweak(Sales) add date / number index to documents
2abdeb0367 tweak(CrewScheduling/AttendeeRole): prevent "Call to a member function sort() on array"
69890293a6 tweak(Tinebase/Export): add format "all" (*) and ignore placeholder FM_PATH
bd90d16a05 tweak(EM): add translated country list for registrations
52c6de7dc5 tweak(tine) refactor type hint for ctrl singleton trait
04323d6fda tweak(Sales) fix document create customers default debitor
f58e4e6bfd tweak(Sales) Document Ctrl Abstract null safety
00d9817e8d tweak(TB) FS recalculateFolderSize ignore tideways if installed
ed2e830d80 tweak(EM): add required checkbox to contact fields fieldset widget
b383e51cc7 tweak(EM): add percentage bar and total places listener
05da4b8977 tweak(TB FS) recalFolderSize memory usage
e64f44a041 tweak(Calendar) fix attender filter re status/role filter
67bb7a46a3 tweak(TB) improve folder size recalc
2ed7451deb tweak(ADB/Update/18.4): don't clear countryname
01c4fb991e tweak(TB) improve folder size recalc
915a794cb3 tweak(TB) refactor admin jwt into tb app pwd
5a79cf2119 tweak(TB) loading of all models for app improved
74843e7239 tweak(Tinebase/js/Notification): use /logo as logo url
1010e26210 tweak(TB/FS) improve recalcFolderSize performance
6293a05fdb tweak(TB FS) revision size recalc add missing intvals
213933eb83 tweak(TB/Setup) application install via replication to import import/export definitions locally
c4d58eecfb tweak(Inventory) decouple from sales app
6b2d072f2f tweak(TB) password field on delete cc clear
47492e81c7 tweak(Felamimail/Message/Send): implode array header values
b207bc697c tweak(CrewScheduling): Allow users to participate in polls without login
ca49d74cb6 tweak(Sales) avoid jit issue
589c360df2 tweak(Calendar) create calendar counter message
a9b5f4db99 tweak(EFile) add config to not rename files
9290450692 tweak(Sales) purchase invoice duplicate checked added
50ea3c3edc tweak(Tinebase): add styles to markdown renderer, qtip to fields with markdownRenderer, handle headings in ods export
0729eafa03 tweak(Calendar) noSyncDeclinedAttendeEvents / attenderFilter not fixed
1a491b7b68 tweak(Admin): editable config fields from typ object/array
aeef59997c tweak(TB) FS fileobject revisionSize recalc optimization
4364c11c1f tweak(Setup): better tags handling
708e0df2b8 tweak(Timetracker/js): add invoiceable icon to timeaccount search combo
4070168d1f tweak(Calendar) rw external calendar impl
e6266b2df1 tweak(TB/Cal) implement saveContainer, caldav client etc.
3fb52ef856 tweak(Calendar) sync container ui
a330578cad tweak(Calendar) sync container implementation
1d5aba3954 tweak(Calendar) cloud account ui
1d49d7afff tweak(Calendar) CalDAV Client fix acls in findAllCollections
a85894c624 tweak(TB) improve cloud account
ea5c0c430f tweak(Calendar): cloud account / caldav client UIi
008d475e48 tweak(Sales) avoid test artifact in testDispatchDocument
a3c584ec4f tweak(EventManager) fix json facade resolving for adr_one/two
c297521de1 tweak(Tinebase/User): remove empty fields from account data update
6e5e505cd4 tweak(Tinebase/Export): add config for verifying template file extensions
0743332cae tweak(TB/SPA): add customStyle to SPA twig template
1ebfe8b073 tweak(HumanResourcs/Contract): activate custom fields
787ec3a5ba tweak(Tinebase/UI): popovers for formfields with content overflow
1769d820df tweak(MSI): deny reload on crypto setup
15376765ea tweak(Setup/Cli): make id optional in --add_auth_token
d1d7aa2e34 tweak(Felamimail/js): add border to spam toolbar actions
dab3110d08 tweak(Sales): auto filter/values for contract/customer
84abfaa496 tweak(Tinebase/views): set fixed footer font-size
489a71681e tweak(Sales): add buyer contract number
552dd44c73 tweak(Purchasing): add default payment means
5931a764bb tweak(Sales) cope with plain address in IU
baf954a6ba tweak(Sales) remove legacy supplier address handling
ce2589cb90 tweak(Sales) fix legacy issues with supplier
d47f92671b tweak(Tinebase/Record): ignore empty date/time fields in setTimezone
bc5a90eb62 tweak(GDPR/js): custom list empty text when select dip
1308415714 tweak(Calendar) do not assertOwnAttender in shared container
8bf9ec33e7 tweak(EM): ui changes EM website
00d8879ccb tweak(Sales) PurchaseInvoice zugpferd validation relaxed
0f15e40032 tweak(Sales) xr import supplier handling adjusted
457f77dc49 tweak(EM): available places highlighted traffic light system
0525515e39 tweak(EM): add tags as categories in rss feed
69ca695e79 tweak(Admin) show nodes with view/manage rights only in tree
1b27299878 tweak(Tinebase): support html only notifications
2348121d3c tweak(Sales) Document/Supplier Ctrl inherit, locally changed flag
849e4cfda8 tweak(Sales) Document_Supplier add track changes flag
3bbc3fe72d tweak(php85) fix ldap modify value not set issue
173d335965 tweak(php85) fix use of xml_parser_free
c63d30ef8f tweak(EM): add missing translations
- If updating from an older Community Edition, verify the number of activated users; this version limits enabled users to 5 without an activation key.
- Fix for Address Book duplicate contact check bypassing ACLs (CVE not provided) – introduced in v2025.11.2, resolved by commit bbd95a9e0c
- Feature: Retrieve supplier from pi xr in Sales
- Feature: Add start_date filter values to XLS export context in Timetracker
Full changelog
Releasenotes
Discussion
https://github.com/orgs/tine-groupware/discussions/195
Security Fix
We fixed a major security issue in the Address Book: The check for duplicate contacts would find contacts you might not have the permissions to see. It was possible to access the data of those contacts. The problem has been introduced with version 2025.11.2 - please update if you run one of the affected versions. The fix is here: bbd95a9e0c
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
a1b13942bb feature(Sales): get supplier from pi xr
f1a04fd448 feature(Timetracker/Export/Xls): add start_date filter values to context
Bugfixes
1d072de651 fix(Tinebase): scope loss in renderer chain
bbd95a9e0c fix(Addressbook/Config): disable doContainerACLChecks only in getInstallationRepresentative
2a5b3ef8eb fix(Admin): enabled expired user via gridAction doesn´t work
a1e4643daf fix(Calendar): selectedRecord doesn´t set in comboBox
89672dca81 fix(Felamimail/js): can not remove sieve rule after moved in grid
151d10ed06 fix(Timetracker/Export): reset export template viewport
12c861a4c6 fix(Tinebase/js): save cursor selection in async confirm msg dialog
2a4447e58b fix(Tinebase/js): FieldTriggerPlugin visible should not be null
17ee4dd537 fix(Tinebase/WebDAV): decode filename by rawurldecode
24f049cdbe fix(Filemanager/js): only enable pin protection chbox when folder has own grant
16ac7b46ed fix(Tinebase/WebDAV): do not decode plus from request uri
fddce35bf1 fix(Tinebase/UI): cross records in foreignRecordFilters not skipped
6339b1132b fix(Felamimail): testIMapSettings does not use SSL
a1b00ce30b fix(Timetracker): default data missing in dlg
3a9dda0e78 fix(CrewScheduling): treat polls as closed after deadline in poll client
dbae050ce1 fix(Sales): remove anoying supplier validation
2cf3e0067e fix(Sales): vat does not change if vat free supplier is selected after net or gross
2b05728b58 fix(Sales): exception when gross_amount is not set
c22358d11b fix(Tinebase/js): update expire time only when datasafe is unlocked
2f6effe1fa fix(Calendar/js): show save action in imip toolbar
Tweaks
e511963509 tweak(TT) bump app version to 18.4
1782992287 tweak(TT/Tasks) properly initialize TT/Tasks sys cf
c6968266a5 tweak(php85) calendar avoid array null key in fb
7ad731e5a3 tweak(php85) bump phpexcel
c5c33b5475 tweak(php85) bump phpexcel
1b62ac303d tweak(TB FS) avoid concurrent revision creation
a939315c7b tweak(php85) add missing parent::__constructor call to events
7c5174a8ec tweak(php85) bump phpoffice/phpexcel
8ba1356a74 tweak(php85) phpexcel bump
1b4c562542 tweak(php85) sentry version bump
ebb8a3955e tweak(php85) bump phpexcel
df5b7158c4 tweak(Addressbook): mailAddressRenderer should be work without scope
9cbb96f65a tweak(php85) fix null array offsets, ord string length
4a8af32834 tweak(Calendar): disable fixCalendars in searchCombo
b0f051c3d5 tweak(composer) bump syncroton
48f9510a0b tweak(php85) exec ShellExecFunctionCallOverBackticksRector
9e53b62711 tweak(php85) array offset null / ord string length
bd5c6b0e52 tweak(php85) remove obsolete php_version_id checks, add pdo/mysql with version check
7236c77f15 tweak(php85) Felamimail CtrlMsg partId null array offset
78c2779a02 tweak(php85) replace finfo_close with unset
270740e63a tweak(php85) fix array offset null usage TB_MC / TaskCtrlTasks
8526e32608 tweak(Timetracker): remove dependency to Tasks app
999b7c46e6 tweak(TB) Tinebase_Backend_Sql_Abstract::_selectHook typehint fixed
9b1b8506d7 tweak(php85) SplObjectStorage usages fixed
101f5b69a1 tweak(TB) Tinebase_Backend_Sql_Abstract::_selectHook typehint fixed
21d79b7113 tweak(php85) execute ColonAfterSwitchCaseRector
f454e0ef01 tweak(php84) fix missing fputcsv
ba8afbfa25 tweak(php85) rename casts to proper type bool, float, int, string
0c29b76f28 tweak(php85) execute RemoveReflectionSetAccessibleCallsRector
c95e213ef1 tweak(Sales): allow pi unbooking
600b113edd tweak(Courses) divis import fputcsv php84 deprecation fix
0cecb4c7db tweak(Calendar/CalDAV/Client): improve error handling on propFind failure
4b219e8964 tweak(composer) bump sentry
d2ddf63679 tweak(php84) remove E_STRICT constant, not needed since php8
9a8a7d0cc1 tweak(php84) apply ExplicitNullableParamTypeRector
5a54f89960 tweak(Courses) fix divis import csv teacher handling
c9e157b578 tweak(composer) bump twig htmlextension
0e69c3ffc7 tweak(composer) bump sentry
93cd745dda tweak(composer) bump openid-server
4bdab69a9a tweak(composer) bump tine-groupware/ubl-invoice
3dbd314449 tweak(php84) fputcsv add escape argument
9770404090 tweak(composer) bump syncroton
0ba5d926e9 tweak(php84) fgetcsv deprecated default escape param fixed
ba7f1c2f40 tweak(composer) bump phpexcel
9ce26b6b01 tweak(Tinebase/js): show maintenance mode dialog
f30a9f4e07 tweak(composer) bump syncroton
38a1f801ae tweak(composer) bump twig version
73766ba6d5 tweak(composer) bump syncroton
329dcc4659 tweak(composer) bump syncrotron version re php84/85
bad0e0da58 tweak(TB Helper) fix edge case for empty string
3c160a6d67 tweak(Sales): show write-protection info
2c2774e81b tweak(Sales): allow direct supplier/customer create in invoice dialog
ac3485e3ff tweak(Timetracker/Controller/Timesheet): switch back to SystemGeneric exception when validating FLD_END_DATE
4013a47a89 tweak(Tinebase/RecordSet): throw BadMethodCallException in __call()
861bd63861 tweak(Sales) PurchaseInvoice from XR amendments
b42594cd38 tweak(Sales Document) fix document ctrl delete customer_id issue
92ffb3daa0 tweak(Timetracker/Import/Timesheet): improve ta detection
ae44ce00eb tweak(Sales/Customer): initialize postal address before setting from CONTACTCUSTOMER
- Community Edition now enforces a maximum of 5 enabled users without an activation key.
Full changelog
Releasenotes
Discussion
https://github.com/orgs/tine-groupware/discussions/189
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
cfe9a4f01d feature(Sales): create customer/address from contact
11d6627c08 feature(Sales) have related document in supplier, customer and debitor edit dialogs
826e06fa96 feature(Purchasing): first version of pi edit dialog
41c72fc00b feature(Sales): reminders UI
1da7da78d3 feature(Sales) Purchase Invoices: import xrechnung/ubl
4bbab3a542 feature(Tinebase): Add autoFetch prop to single page application
Bugfixes
ed60f42581 fix(Tinebase/Core): prevent loop in setupCache
80782da5bc fix(Felamimail/SPAM): allow add custom flags in spamUserProcessingPipeline
7a389702b2 fix(Calendar/js): external event should set current as attendee id
fb7e2af4b7 fix(Admin/User): make empty search result with emailUser sorting work
0b89dbaf26 fix(Tinebase): account picker not working
66bb71a30a fix(Sales) eval dims in pis
a2b3249531 fix(Filemanager/js): prevent new document with invalid chars
ed3c5d879a fix(Sales): allow to change reminders after booking
8e9937e577 fix(EM): identify account owner as selfRegistration also when registering from tine
3339a8a63d fix(EM): remove unuse module denormalize contact, add markdown renderer to events overview page
1efd620da4 fix(EM): files overwrite and booked options file upload
362a892a02 fix(Filemanager/Http): allow to fetch Felamimail nodes via Filemanager.downloadFile
1120c968e4 fix(Setup/Frontend/Cli): fix innodb_file_per_table check
8ae5034248 fix(Setup/SchemaTool): include SQL_TABLE_PREFIX in schema update whitelist
d426ae4fa1 fix(Tinebase): keep new id in denormalized
60a40384da fix(Setup/Frontend/Cli): add prompted pw to logger replacements
185995cfa1 fix(Tinebase/UI) picker combo missing in non autoconfigured situations
bd40bc9d25 fix(test): assert quota and usage in file chunk upload test
2f6d26a8b8 fix(EM): registration and account management pages communication and post functions
aff0cc195a fix(Calendar/Import/Resource): handle missing primarydomain
6832c6e08f fix(Calendar/Model/Resource): set default empty values
2026c8c5b7 fix(Felamimail/Flags): a message can have multiple dkim-signature headers
cb77005fa4 fix(Timetracker/Import): make Timesheet and Timeaccount imports work again
7f362147b2 fix(EM): dropdown select account owner, fix has registrant listener
437589a95b fix(Sales/Http): allow export selected timeaccount positions
cf8ddfb1b7 fix(Tinebase/js): align doNotShowAgainCBBox to left
1bc2dd9bab fix(EM): participant name after delete, file upload
c84fdb3a25 fix(EventManager/Update/18.10): registration model also changed
05257b8bb3 fix(Calendar/js): set correct period filter in view event dialog
Tweaks
661073ecc0 tweak(Felamimail/Preference): add global message display format config
5720b0077b tweak(Felamimail/Sieve/AdbList): add list email to rejection reason
9b8dd1d2c9 tweak(Tinebase): support spinner fields via modelconf
0cb9ad6f3d tweak(EM): implement search bar EM Website
624b92cb44 tweak(Sales): auto calc due_at in PIs
5c7a3dedb4 tweak(Sales) improve non standard tax handling
3c82144257 tweak(Tinebase/views): add redirect animation ui
e41cdddada tweak(Sales): status validation
dcd3c6d4bf tweak(Sales) PurchaseInvoice payment_means_used no default
b3b72c3778 tweak(GDPR): improve footer templates
b8355345bf tweak(Sales) PurchaseInvoice booked editable fields amended
b588a712d5 tweak(EFile) allow move/rename within same parent tier token without reassignen new token
d45df42ae0 tweak(Sales) update script separate structure and data
26b8345278 tweak(Sales) migrate purchase invoice cost center
c77f01ee1e tweak(Sales) no auto date for pi's
a2ed472443 tweak(Sales): add evaluation dims to pi's
9a3964ea08 tweak(Sales): mark old pi legacy
d6d40ac88c tweak(Sales): add payed amount to purchase invoices
da6cd2dd77 tweak(Sales) PurchaseInvoice import XR mapping adjusted
7bec1e2717 tweak(Sales) purchase invoice migration attachments fixed
ba4f8a8684 tweak(Sales) sendToDatev for new II
4f02faa0e4 tweak(Sales) added purchaseinvoice export tests, removed payment means default
1bbf9e8b6a tweak(Sales): de translaitons
9a48541887 tweak(Sales) PurchaseInvoice imports
1a2689e3b0 tweak(Sales) improve taxByRate workflow
b44334cbab tweak(Sales) PurchaseInvoice denormalize supplier
2fcdeeb0c2 tweak(Sales) webdav purchase invoice import refactored to document
26072430ac tweak(Sales) PurchaseInvoice migration / model adjustments
3943477723 tweak(Sales) support currencies and improve tax-by-rate field
e9da0376e9 tweak(Sales) purchase invoice migration improved
c0e12828e2 tweak(Sales) sales tax validation improved
2999033d0e tweak(Sales) Document PurchaseInvoice add payment means used
c26c7fcd28 tweak(Sales) added payment reminder
5302c429bd tweak(Sales) getEDocumentSupplierData api
3106d47527 tweak(Sales) PurchaseInvoice Grants
99cdfdb227 tweak(Sales) PurchaseInvoice tweaks
7a9becc77a tweak(TB FS) improve copy performance re av, preview, indexer
b0ffc6c02e tweak(TB) sys customfield config model column length 100
5f96a2a859 tweak(Admin/Controller/User): don't check user count on system user create
80799b2402 tweak(Felamimail/Message/Flags): skip and log invalid dkim-header
476b1505d6 tweak(TB) make inheriting sys cf default
a71c19c6ce tweak(Tinebase): have generic denormalisation banner in editDialogs
8dfcfed266 tweak(EM): delete debug helpers
ae87ab8db6 tweak(Filemanager/WebDAV): remove chunks on quota exceeding
dbbf3cc297 tweak(Timetracker) make json saveTimesheet more typesafe
4144a22462 tweak(Timetracker/Import): improve Timesheet CSV import
b66341eb6a tweak(TB) update dependent records with existing uniquness match fixed (client sends id)
0d7e9cfec0 tweak(TB) replication system customfield delete fail log not to sentry
0eb7805d74 tweak(Export) template overwrite check for negative matches and skip
b3f7f9c8d2 tweak(Calendar) improve uninitialize
d664d8c747 tweak(Tinebase): keyNav in quickAdd rows
3eac01b35c tweak(Tinebase): support dynamic currencySymbols in number fields and rederers
446be1cbd7 tweak(EM): add waiting list email if registration date is overdue
1ac7b1afd4 tweak(Felamimail/js): copy sieve rule action
909592243d tweak(EM): add registrator account management, change styling website
79596a712f tweak(TB) PersistentObserver uniqueness null issue fixed
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.