<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dolibarr.org/index.php?action=history&amp;feed=atom&amp;title=Roadmap_and_Release_23.0.0</id>
	<title>Roadmap and Release 23.0.0 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dolibarr.org/index.php?action=history&amp;feed=atom&amp;title=Roadmap_and_Release_23.0.0"/>
	<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_23.0.0&amp;action=history"/>
	<updated>2026-10-22T05:19:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_23.0.0&amp;diff=65584&amp;oldid=prev</id>
		<title>Houblon: Typos</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_23.0.0&amp;diff=65584&amp;oldid=prev"/>
		<updated>2026-03-05T13:19:46Z</updated>

		<summary type="html">&lt;p&gt;Typos&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:19, 5 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l215&quot;&gt;Line 215:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 215:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For example: $dolibarr_main_restrict_eval_methods=&amp;#039;getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,min,max,round,dol_now,dol_concat,preg_match&amp;#039;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For example: $dolibarr_main_restrict_eval_methods=&amp;#039;getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,min,max,round,dol_now,dol_concat,preg_match&amp;#039;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Old variable $obj and $object are no more allowed into on the fly evaluated strings like computed or conditions on extrafields. Use $objectoffield to get current object&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Old variable $obj and $object are no more allowed into on the fly evaluated strings like computed or conditions on extrafields. Use $objectoffield to get current object&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Also if you were using temporary variables &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;int &lt;/del&gt;a computed &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;extrafields&lt;/del&gt;, the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nameot &lt;/del&gt;temporary variable must match $var123.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Also if you were using temporary variables &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in &lt;/ins&gt;a computed &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;extrafield&lt;/ins&gt;, the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;name of the &lt;/ins&gt;temporary variable must match $var123.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The hidden constant MAIN_ALLOW_UNSECURED_SPECIAL_CHARS_IN_DOL_EVAL in database has been replaced with the&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The hidden constant MAIN_ALLOW_UNSECURED_SPECIAL_CHARS_IN_DOL_EVAL in database has been replaced with the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;variable $dolibarr_main_allow_unsecured_special_chars_in_dol_eval into file conf/conf.php&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;variable $dolibarr_main_allow_unsecured_special_chars_in_dol_eval into file conf/conf.php&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* $conf use into &amp;quot;computed formulae&amp;quot; of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;etrafields &lt;/del&gt;is now deprecated (not yet forbidden). You can replace use of $conf-&amp;gt;currency by the new method getCurrency() and $conf-&amp;gt;global-&amp;gt;xxx by getDolGlobalString(&amp;#039;xxx&amp;#039;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* $conf use into &amp;quot;computed formulae&amp;quot; of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;extrafields &lt;/ins&gt;is now deprecated (not yet forbidden). You can replace use of $conf-&amp;gt;currency by the new method getCurrency() and $conf-&amp;gt;global-&amp;gt;xxx by getDolGlobalString(&amp;#039;xxx&amp;#039;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* $user-&amp;gt;rights-&amp;gt;module-&amp;gt;perms is also deprecated. You can use $user-&amp;gt;hasRight() instead.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* $user-&amp;gt;rights-&amp;gt;module-&amp;gt;perms is also deprecated. You can use $user-&amp;gt;hasRight() instead.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The API endpoint /proposals/{id}/contact/{contactid}/{type}/{source} is now {id}/contact/{contactid}/{type} to match same behaviour than order and invoices.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The API endpoint /proposals/{id}/contact/{contactid}/{type}/{source} is now {id}/contact/{contactid}/{type} to match same behaviour than order and invoices.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Houblon</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_23.0.0&amp;diff=65567&amp;oldid=prev</id>
		<title>Eldy at 00:01, 5 March 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_23.0.0&amp;diff=65567&amp;oldid=prev"/>
		<updated>2026-03-05T00:01:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:01, 5 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;date=28/02/2026|&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;date=28/02/2026|&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mainfocus=Code change to prepare french certification Loi finance, e-invoicing and more.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mainfocus=Code change to prepare french certification Loi finance, e-invoicing and more.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Eldy</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_23.0.0&amp;diff=65566&amp;oldid=prev</id>
		<title>Eldy: Created page with &quot;Category:RoadMap {{TemplateVersion| version=23.0|  date=28/02/2026| mainfocus=Code change to prepare french certification Loi finance, e-invoicing and more.   &#039;&#039;&#039;Detailed...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_23.0.0&amp;diff=65566&amp;oldid=prev"/>
		<updated>2026-03-05T00:01:23Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php/Category:RoadMap&quot; title=&quot;Category:RoadMap&quot;&gt;Category:RoadMap&lt;/a&gt; {{TemplateVersion| version=23.0|  date=28/02/2026| mainfocus=Code change to prepare french certification Loi finance, e-invoicing and more.   &amp;#039;&amp;#039;&amp;#039;Detailed...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:RoadMap]]&lt;br /&gt;
{{TemplateVersion|&lt;br /&gt;
version=23.0| &lt;br /&gt;
date=28/02/2026|&lt;br /&gt;
mainfocus=Code change to prepare french certification Loi finance, e-invoicing and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Detailed Changelog&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
For users:&lt;br /&gt;
----------&lt;br /&gt;
NEW: Need PHP 7.2 as minimum version&lt;br /&gt;
NEW: Module datapolicy moved as stable (for anonimization features)&lt;br /&gt;
NEW: #31723 - Improve project overview: Hide paid orders (#35524)&lt;br /&gt;
NEW: #35700 : Throw an error when validating a propal, order, supplier with a product no more in sale/purchase… (#35709)&lt;br /&gt;
NEW: Accountancy - Accounting by payment type (#34729)&lt;br /&gt;
NEW: Accountancy - Add accounting for discounts (#35977)&lt;br /&gt;
NEW: Accountancy - Add a protection on various payment for auxiliary account on general account not centralized (#35720)&lt;br /&gt;
NEW: Accountancy - Add field centralized on import/export (#35872)&lt;br /&gt;
NEW: Accountancy - Add hook on export filename (#35188)&lt;br /&gt;
NEW: Accountancy - Add reconcile on general accounting account - SQL part (#35994)&lt;br /&gt;
NEW: Accountancy - Analytical axis (SQL Structure) (#34738)&lt;br /&gt;
NEW: Accountancy - Manual input - Add script to greyed out subledger_account if general ledger is not centralized (#35855)&lt;br /&gt;
NEW: Accountancy - Transaction - Add verification on centralized account (#35824)&lt;br /&gt;
NEW: Accountancy - Various payment - Add script to greyed out subledger_account if general ledger is not centralized (#35842)&lt;br /&gt;
NEW: Add a boolean for lines in api and $properties (#34293)&lt;br /&gt;
NEW: Add accounting export mode for ISTEA (#36006)&lt;br /&gt;
NEW: add a limit to avoid too many answer in agenda view. Add warning if limit has been reached.&lt;br /&gt;
NEW: Add a page to edit http security headers of application (#34941)&lt;br /&gt;
NEW: Add auto-reference generation for tasks (like in project) in API (#35981)&lt;br /&gt;
NEW: Add column ref_ext and note_private for membership&lt;br /&gt;
NEW: Add column thirdparty ref_customer and ref_supplier in project list&lt;br /&gt;
NEW: Add column title in emailing and add more filters&lt;br /&gt;
NEW: add combining characters (accents, cedilla...) codes in dol_string_unaccent() (#35130)&lt;br /&gt;
NEW: add company date birth (SQL structure) (#34854) (UI) (#34861)&lt;br /&gt;
NEW: add conditional supplier price display (#35900)&lt;br /&gt;
NEW: Add configuration for default timesheet menu (#35805)&lt;br /&gt;
NEW: Add contact tab on product service (#35914)&lt;br /&gt;
NEW: Add directory navigation to Web Portal Shared Documents (#35443)&lt;br /&gt;
NEW: Added Messaging and agenda tabs on order and shipments (#34859)&lt;br /&gt;
NEW: Add event when installing a module in the security event list.&lt;br /&gt;
NEW: add extrafield option &amp;quot;empty on clone&amp;quot; (#34866)&lt;br /&gt;
NEW: add fields usage_opportunity, usage_task, usage_bill_time for project import (#35301)&lt;br /&gt;
NEW: Add filter on agenda event progression on agenda page&lt;br /&gt;
NEW: add free numbering module for members (#35636)&lt;br /&gt;
NEW: add global search for resource object (#36043)&lt;br /&gt;
NEW: add hidden const to get response header in geturlcontent function (#34781) (#34824)&lt;br /&gt;
NEW: add hook getListOfModels (#34626)&lt;br /&gt;
NEW: Add hook on calcula_price() and get_default_tva()&lt;br /&gt;
NEW: Add hooks in webportal (#35326)&lt;br /&gt;
NEW: add hook when printing new card button on thirdparty list (#36350)&lt;br /&gt;
NEW: add hourly rate in list of users&lt;br /&gt;
NEW: Add missing parameters for menus on webportal hook (#35550)&lt;br /&gt;
NEW: Add option PDF_PURCHASE_INVOICE_HIDE_VAT&lt;br /&gt;
NEW: Add option PROJECT_CAN_ALWAYS_LINK_TO_ALL_CUSTOMERS&lt;br /&gt;
NEW: Add option to create simple standalone shipment of non origin (#35651)&lt;br /&gt;
NEW: Add option to create standalone reception (#36134)&lt;br /&gt;
NEW: add private and public note on ticket (#35303)&lt;br /&gt;
NEW: add product_type field on fichinter (preparing subtotal) (#36196)&lt;br /&gt;
NEW: Add regions for CONGO, THE DEMOCRATIC REPUBLIC OF THE;CD (#36340)&lt;br /&gt;
NEW: ADD Send mail for reception / Delivery (#34829)&lt;br /&gt;
NEW: Add setup page to concat natively files on invoice PDF.&lt;br /&gt;
NEW: add shipping address to propal (#34441)&lt;br /&gt;
NEW: Add Sign feature on shipments (#34640)&lt;br /&gt;
NEW: Add sms reminder in reminder of agenda events (#35239)&lt;br /&gt;
NEW: Add SQL table for expensereport line extrafields support (#36251)&lt;br /&gt;
NEW: add supplier invoice, order and supplier order tag filter and bulk insert and statistics order and supplier order (#35399)&lt;br /&gt;
NEW: add supplier payment mail template  (#35877)&lt;br /&gt;
NEW: add tags on proposals and supplier proposals and in statistics (#35553)&lt;br /&gt;
NEW: Add task categories 1/3 (#35848)&lt;br /&gt;
NEW: Add tasks card hooks (#35616)&lt;br /&gt;
NEW: Add the &amp;quot;Dispute status&amp;quot; in list of invoice.&lt;br /&gt;
NEW: add the option to not synchronize thirdparty &amp;lt;--&amp;gt; member (#36033)&lt;br /&gt;
NEW: Add the widget funnel of opportunities&lt;br /&gt;
NEW: Add tpl files for standalone shipment (#35624)&lt;br /&gt;
NEW: Add tpl loader for discounts.tpl.php (#34798)&lt;br /&gt;
NEW: Add Transfer Number (#35665)&lt;br /&gt;
NEW: Add Type, Description columns to Project Overview Expense Reports (#36214)&lt;br /&gt;
NEW: Add user permission for create/edit/delete supplier prices (#35940)&lt;br /&gt;
NEW: Allow omission of ODT template name when generating ODT and PDF (#35701)&lt;br /&gt;
NEW: Better navigation and report into database admin tools&lt;br /&gt;
NEW: Button to create a proposal and sale order from a contract always on&lt;br /&gt;
NEW: Can add info of main IT service provider in setup.&lt;br /&gt;
NEW: can admin payments extrafields (#34822)&lt;br /&gt;
NEW: Can drag and drop in BOM card&lt;br /&gt;
NEW: Can force_install_dolibarrpassword for automatic installation (#34537)&lt;br /&gt;
NEW: Can have a tooltip picto on title of column and keep autotruncation of label. Tooltip is show at begin of text.&lt;br /&gt;
NEW: Can show both currency code and symbol into the select of currency&lt;br /&gt;
NEW: Can sort on employee in holiday balance. Add link to go to history.&lt;br /&gt;
NEW: Can update value of timespent with last task hourly rate (#36018)&lt;br /&gt;
NEW: Can urlencode substitution variable of constants&lt;br /&gt;
NEW: Can view/list/edit the dispute status of an invoice&lt;br /&gt;
NEW: Change the path for the mailing files (#34878)&lt;br /&gt;
NEW: Constant ORDER_MASS_ACTION_BILLED_LINK_EXPEDITIONS (#34617)&lt;br /&gt;
NEW: const MENU_HIDE_EMAIL_TEMPLATES to hide email templates setup in Tools menu (#35739)&lt;br /&gt;
NEW: Create simple shipment of non origin (#35604)&lt;br /&gt;
NEW: Currency for the Democratic Republic of Congo added. (#36104)&lt;br /&gt;
NEW: Customized step in duration select (#34652)&lt;br /&gt;
NEW: Dashboard - Add option in ihm to disable MRP thumb (#36185)&lt;br /&gt;
NEW: date function related to holiday can accept country id in addition to country code&lt;br /&gt;
NEW: DEV Can set color of the on/off button.&lt;br /&gt;
NEW: Disable by default obfuscation methods and function in extrafields evaluable strings. Can re-enable with MAIN_ALLOW_OBFUSCATION_METHODS_IN_DOL_EVAL=1&lt;br /&gt;
NEW: Discount split more than two parts (#34782)&lt;br /&gt;
NEW: Display company logo on kanban view (#34520)&lt;br /&gt;
NEW: dol_sort_array can be used with 2 sorting criteria.&lt;br /&gt;
NEW: Enhanced layout feature for emailing&lt;br /&gt;
NEW: Enhance popup for image preview (show size in title, can restore small view, always show the Rotate button).&lt;br /&gt;
NEW: Enhance the system for warnings on module activation&lt;br /&gt;
NEW: execute hook addMoreActionsButtons on bank card (#35598)&lt;br /&gt;
NEW: extrafields: add field to link a field to a module (#34416)&lt;br /&gt;
NEW: Feature to merge duplicate members (#35308)&lt;br /&gt;
NEW: generate renewal proposal for contracts (#35120)&lt;br /&gt;
NEW: Holiday - Allow to specify a specific mail address from (#36184)&lt;br /&gt;
NEW: hook allowing external modules to replace the behavior of fetchObjectLinked() (#34724)&lt;br /&gt;
NEW: hooks `showInputExtraField` and `showOutputExtraField` to override ExtraFields::show(Input|Output)Field (#35496)&lt;br /&gt;
NEW: implement box on product and interventional index page (#34629)&lt;br /&gt;
NEW: import subscriptions (#35612)&lt;br /&gt;
NEW: Introduce getCurrency(). $conf is no more allowed into computed formulae.&lt;br /&gt;
NEW: Invert logic of default date in proposal/order/invoice creation: Need option to NOT autofill instead of the opposite.&lt;br /&gt;
NEW: line input multicurrency price with tax (#35064)&lt;br /&gt;
NEW: Major overhaul of DataPolicyCron and add Recruitment policy (#34704)&lt;br /&gt;
NEW: Make the public contact form with experimental status&lt;br /&gt;
NEW: Minimal version of PHP is now 7.2&lt;br /&gt;
NEW: More index for memberships table&lt;br /&gt;
NEW: More information on the user credential section&lt;br /&gt;
NEW: More webportal feature - Can add shared files and thirdparty documents (#35391)&lt;br /&gt;
NEW: New hook mergePdf (#34707)&lt;br /&gt;
NEW: On invoice, show also nb of credit notes notyet converted for consumption&lt;br /&gt;
NEW: Option to clone parent categories on variant creation (#35806)&lt;br /&gt;
NEW: Output of category tag is nicer for long subcategories.&lt;br /&gt;
NEW: Parent project column in list of projects (#36177)&lt;br /&gt;
NEW: Paymentok validate invoice if not already done (#35564)&lt;br /&gt;
NEW: PDF Show customer balance on invoice date (#34800)&lt;br /&gt;
NEW: possibility to define global entity in user param (#35908)&lt;br /&gt;
NEW: Add messaging and agenda features to proposals (#34883)&lt;br /&gt;
NEW: public and private note can be shown on contact list&lt;br /&gt;
NEW: Public donation page (#35565)&lt;br /&gt;
NEW: public pages donation, ticket and member use captcha setup (#35913)&lt;br /&gt;
NEW: Rework of the management of the card and fields on the web portal (#36076)&lt;br /&gt;
NEW: Save the BAN and RUM for SEPA into database not just file.&lt;br /&gt;
NEW: search all facture rec (#34563)&lt;br /&gt;
NEW: Show cron last result and output in info (#36028)&lt;br /&gt;
NEW: Show full date with seconds in the tooltip of date of event&lt;br /&gt;
NEW: Show the link to download the zip of a module on module setup&lt;br /&gt;
NEW: Show warning on banner when an email is not valid&lt;br /&gt;
NEW: The check file feature can limit check on unalterable files only&lt;br /&gt;
NEW: The flag &amp;quot;Dispute open&amp;quot; make the status in Red.&lt;br /&gt;
NEW: The PHP info is in a popup in install page.&lt;br /&gt;
NEW: update country list (#34865)&lt;br /&gt;
NEW: Update Incoterms to 2025 standards and add new terms (#36041)&lt;br /&gt;
NEW: Upgrade ACE editor to 1.43.12&lt;br /&gt;
NEW: User/Date in the Follow tab are more condensed.&lt;br /&gt;
NEW: We added a hook to allow us to modify the Prospect Customer drop down… (#25635)&lt;br /&gt;
NEW: Withholdingtax how VatRefund (#34649)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For developers:&lt;br /&gt;
---------------&lt;br /&gt;
NEW: Introducing the TRIGGER_PREFIX property to force developers to use unique triggerkey per business object, to limit code to business CRUD events and report warning when it is not.&lt;br /&gt;
NEW: add extraparams field in llx_categorie (#35975)&lt;br /&gt;
NEW: Add prepare() method to DoliDB class (rebuild) (#35249)&lt;br /&gt;
NEW: Add function to split a discount in 2 by API REST (#34786)&lt;br /&gt;
NEW: Add a new API &amp;quot;product lots&amp;quot; (#36243)&lt;br /&gt;
NEW: Add API for Holidays/Leaves&lt;br /&gt;
NEW: add api for members statistics (#35851)&lt;br /&gt;
NEW: add api List VAT (#35920)&lt;br /&gt;
NEW: add api_paiements.class.php (#34756)&lt;br /&gt;
NEW: document API builddoc product&lt;br /&gt;
NEW: Add contact management on project Api (#35459)&lt;br /&gt;
NEW: Add contact support on products in REST API (#35925)&lt;br /&gt;
NEW: Add country ID resolution from country code for thirdparty api (#36345)&lt;br /&gt;
NEW: Add getcontacts on api of interventional and proposal (#35589)&lt;br /&gt;
NEW: Add hook initialization for interventions API (#35203)&lt;br /&gt;
NEW: Add option API_ENABLE_COUNT_CALLS&lt;br /&gt;
NEW: Add thirdparty search on api list  (#34634)&lt;br /&gt;
NEW: add timespent API endpoints for projects and tasks add also cascading assignment of contacts to tasks (#35897)&lt;br /&gt;
NEW: add upload api feature for shipment (#34639)&lt;br /&gt;
NEW: Allow creating contact via api with ISO code (#36322)&lt;br /&gt;
NEW: API endpoint for getting products in a warehouse (#35918)&lt;br /&gt;
NEW: API for getting, adding, deleting and/or modifying email templates (#35853)&lt;br /&gt;
NEW: API for handling mass mailing targets (#35603)&lt;br /&gt;
NEW: API GET endpoint for thirdparties types listing (c_typent) (#34751)&lt;br /&gt;
NEW: Api mass emailing (#35531)&lt;br /&gt;
NEW: API user/groups/ POST, PUT, DELETE + some hurl tests (#35903)&lt;br /&gt;
NEW: API User - Remove user from group (#35453)&lt;br /&gt;
NEW: Implement listTimespent method in api_projects.class.php (#36093)&lt;br /&gt;
NEW: qual fixes on api contract (#36066)&lt;br /&gt;
NEW: stock API GET movement (#36193)&lt;br /&gt;
NEW: action to clone ticket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING:&lt;br /&gt;
--------&lt;br /&gt;
The following changes may create regressions for some external modules, but were necessary to make Dolibarr better:&lt;br /&gt;
* If you were using the website module with PHP page, you must add the following parameter $dolibarr_website_allow_custom_php=2; into your conf.php to continue to be&lt;br /&gt;
allowed to edit PHP content into the website module.&lt;br /&gt;
* The deprecated column &amp;quot;egroupware_id&amp;quot; has been dropped from table llx_user.&lt;br /&gt;
* The property $sumpayed (duplicated of $totalpaid), $sumdeposit (duplicate of $totaldeposits) and $sumcreditnote (duplicate of $totalcreditnotes) has&lt;br /&gt;
been removed (there are replaced with the property that was a duplication of (same for $sumpayed_multicurrency, $sumdeposit_multicurrency, $sumcreditnote_multicurrency).&lt;br /&gt;
* Parameters $maxlen and $notooltip of Contract have been inverted to follow the standard. It was breaking the common use of getNomUrl() but if you were&lt;br /&gt;
using the parameter maxlen (rare) by using the old signature, result may be just a tooltip that is no more visible when mous over the contract ref shown by your module.&lt;br /&gt;
* Removed array $MAP_ID_TO_CODE that was a duplicate of the array &amp;quot;array_flip($categ-&amp;gt;MAP_ID)&amp;quot;&lt;br /&gt;
* The signature of the Sale order -&amp;gt;cancel() method and shipment -&amp;gt;cancel() has been modified to introduce the $user param like for other methods that modify a status.&lt;br /&gt;
* Adding new &amp;quot;document generation templates&amp;quot; must be done by adding files into the mymodule/core/modules/xxx/doc directory. Adding files into custom directory with the&lt;br /&gt;
same path than the core path, without using a &amp;quot;mymodule&amp;quot; directory, is now forbidden.&lt;br /&gt;
* The directory theme/common/octicons has been removed. No resource was used by Dolibarrfrom this directory.&lt;br /&gt;
* The library timepicker.js has been removed. Was no more used by Dolibarr since a long time.&lt;br /&gt;
* Because of the new TRIGGER_PREFIX property, the triggers SUPPLIER_PRODUCT_BUYPRICE_XXX are renamed into PRODUCT_BUYPRICE_XXX.&lt;br /&gt;
* Function img_pdf() has been removed. Replace it with img_picto(&amp;#039;&amp;#039;, &amp;#039;pdf&amp;#039;) if you were using it.&lt;br /&gt;
* The method run_trigger() was deprecated 10+ years ago in favor of runTrigger(). It has been removed. Change your trigger file if you still use it.&lt;br /&gt;
* Property -&amp;gt;picto of module descriptors or menu entries must contains the image extension if it is not a font awesome tag. Example: $this-&amp;gt;picto=&amp;quot;mymoduleimg.png&amp;quot;;&lt;br /&gt;
* Stock movement API GET method output variable names has been harmonized with POST input parameter names&lt;br /&gt;
* Concatenation into computed property of extrafields is off by default. You can enable it from conf.php file by adding dol_concat to list of allowed function in $dolibarr_main_restrict_eval_methods,&lt;br /&gt;
For example: $dolibarr_main_restrict_eval_methods=&amp;#039;getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,min,max,round,dol_now,dol_concat,preg_match&amp;#039;;&lt;br /&gt;
* Old variable $obj and $object are no more allowed into on the fly evaluated strings like computed or conditions on extrafields. Use $objectoffield to get current object&lt;br /&gt;
Also if you were using temporary variables int a computed extrafields, the nameot temporary variable must match $var123.&lt;br /&gt;
* The hidden constant MAIN_ALLOW_UNSECURED_SPECIAL_CHARS_IN_DOL_EVAL in database has been replaced with the&lt;br /&gt;
variable $dolibarr_main_allow_unsecured_special_chars_in_dol_eval into file conf/conf.php&lt;br /&gt;
* $conf use into &amp;quot;computed formulae&amp;quot; of etrafields is now deprecated (not yet forbidden). You can replace use of $conf-&amp;gt;currency by the new method getCurrency() and $conf-&amp;gt;global-&amp;gt;xxx by getDolGlobalString(&amp;#039;xxx&amp;#039;).&lt;br /&gt;
* $user-&amp;gt;rights-&amp;gt;module-&amp;gt;perms is also deprecated. You can use $user-&amp;gt;hasRight() instead.&lt;br /&gt;
* The API endpoint /proposals/{id}/contact/{contactid}/{type}/{source} is now {id}/contact/{contactid}/{type} to match same behaviour than order and invoices.&lt;br /&gt;
* The API endpoint /interventions/{id}/reopen hase been removed in favor of /interventions/{id}/settodraft&lt;br /&gt;
* If the module geoipmaxmind is used, you must resubmit the geoip data file as it is now stored differently.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eldy</name></author>
	</entry>
</feed>