<?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_21.0.0</id>
	<title>Roadmap and Release 21.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_21.0.0"/>
	<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_21.0.0&amp;action=history"/>
	<updated>2026-10-22T02:32:32Z</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_21.0.0&amp;diff=62749&amp;oldid=prev</id>
		<title>Eldy at 10:50, 11 March 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_21.0.0&amp;diff=62749&amp;oldid=prev"/>
		<updated>2025-03-11T10:50:29Z</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 10:50, 11 March 2025&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-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;{{TemplateVersion|&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;{{TemplateVersion|&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;version=21.0|  &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;version=21.0|  &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;date=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;03&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;03&lt;/del&gt;/2025|&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;date=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;27&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;02&lt;/ins&gt;/2025|&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=}}  &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=}}  &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;!-- diff cache key mediawiki_test:diff::1.12:old-62652:rev-62749 --&gt;
&lt;/table&gt;</summary>
		<author><name>Eldy</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_21.0.0&amp;diff=62652&amp;oldid=prev</id>
		<title>Aspangaro at 13:33, 5 March 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_21.0.0&amp;diff=62652&amp;oldid=prev"/>
		<updated>2025-03-05T13:33:36Z</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 13:33, 5 March 2025&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-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;{{TemplateVersion|&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;{{TemplateVersion|&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;version=21.0|  &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;version=21.0|  &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;date=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;xx&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;01&lt;/del&gt;/2025|&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;date=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;03&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;03&lt;/ins&gt;/2025|&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=}}  &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=}}  &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;!-- diff cache key mediawiki_test:diff::1.12:old-62651:rev-62652 --&gt;
&lt;/table&gt;</summary>
		<author><name>Aspangaro</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_21.0.0&amp;diff=62651&amp;oldid=prev</id>
		<title>Aspangaro: MAJ</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_21.0.0&amp;diff=62651&amp;oldid=prev"/>
		<updated>2025-03-05T13:28:09Z</updated>

		<summary type="html">&lt;p&gt;MAJ&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:28, 5 March 2025&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-l149&quot;&gt;Line 149:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 149:&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;NEW Add option THEME_STICKY_TOPMENU = &amp;#039;scrollleftmenu_after_mainpage&amp;#039; (or &amp;#039;disabled&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;NEW Add option THEME_STICKY_TOPMENU = &amp;#039;scrollleftmenu_after_mainpage&amp;#039; (or &amp;#039;disabled&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;NEW value for FICHINTER_DISABLE_DETAILS. If FICHINTER_DISABLE_DETAILS is set to &amp;#039;2&amp;#039; details are disabled only on intervention list.&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;NEW value for FICHINTER_DISABLE_DETAILS. If FICHINTER_DISABLE_DETAILS is set to &amp;#039;2&amp;#039; details are disabled only on intervention list.&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;SEC: security avoid RCE using -&#039;- sequence to pass --checkpoint-action parameter in tar command.&lt;/ins&gt;&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;SEC: FIX Security path transversal with modulepart=medias (viewimage.php and download.php)&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;div&gt;PERF: Reduce nb of requests into num_public_holiday&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;PERF: Reduce nb of requests into num_public_holiday&lt;/div&gt;&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-l204&quot;&gt;Line 204:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 206:&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;QUAL: rename const WORKFLOW_EXPEDITION_CLASSIFY_NEWD_INVOICE to WORKFLOW_RECEPTION_CLASSIFY_NEWD_INVOICE&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;QUAL: rename const WORKFLOW_EXPEDITION_CLASSIFY_NEWD_INVOICE to WORKFLOW_RECEPTION_CLASSIFY_NEWD_INVOICE&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;QUAL: This configuration change in phan will report NEW: array types in phpdoc&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;QUAL: This configuration change in phan will report NEW: array types in phpdoc&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;div&gt;WARNING:&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;WARNING:&lt;/div&gt;&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-l214&quot;&gt;Line 214:&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;* The json emulator dol_json_encode/decode() is removed. The native json PHP module must be enabled/available (this is the case by default with most PHP installation).&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 json emulator dol_json_encode/decode() is removed. The native json PHP module must be enabled/available (this is the case by default with most PHP installation).&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 deprecated GET parameter &amp;quot;&amp;amp;sall=&amp;quot; has been removed, use now the &amp;quot;&amp;amp;search_all=&amp;quot;.&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 deprecated GET parameter &amp;quot;&amp;amp;sall=&amp;quot; has been removed, use now the &amp;quot;&amp;amp;search_all=&amp;quot;.&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;* The experimental and deprecated module WebserviceClient is completely removed (was never released and use deprecated architecture). &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;May &lt;/del&gt;be replaced with the stable module Webhook.&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;* The experimental and deprecated module WebserviceClient is completely removed (was never released and use deprecated architecture). &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It may &lt;/ins&gt;be replaced with the stable module Webhook.&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;* The dynamic properties -&amp;gt;no_button_delete, -&amp;gt;no_button_edit, -&amp;gt;no_button_copy for $object Product that could be set by an external module must no more&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;* The dynamic properties -&amp;gt;no_button_delete, -&amp;gt;no_button_edit, -&amp;gt;no_button_copy for $object Product that could be set by an external module must no more &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;be&lt;/ins&gt;&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;   &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;be &lt;/del&gt;set (not allowed by PHP 8.2). A module can already return an array with key &amp;#039;no_button_delete&amp;#039;, &amp;#039;no_button_edit&amp;#039;, &amp;#039;no_button_copy&amp;#039; for same purpose.&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;   set (not allowed by PHP 8.2). A module can already return an array with key &amp;#039;no_button_delete&amp;#039;, &amp;#039;no_button_edit&amp;#039;, &amp;#039;no_button_copy&amp;#039; for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;same purpose.&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;* The old function dol_bc($var, $moreclass = &amp;#039;&amp;#039;) has been removed. If you called it, just stop to call it.&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;* The old function dol_bc($var, $moreclass = &amp;#039;&amp;#039;) has been removed. If you called it, just stop to call it &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(the function has no effect since a long time)&lt;/ins&gt;.&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;* The trigger code CATEGORY_LINK and CATEGORY_UNLINK &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;has &lt;/del&gt;been replaced with code CATEGORY_MODIFY. You can read -&amp;gt;context[&amp;#039;linkto&amp;#039;] or -&amp;gt;context[&amp;#039;unlinkoff&amp;#039; to detect if we want to make a link or unlink.&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;* The trigger code CATEGORY_LINK and CATEGORY_UNLINK &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;have &lt;/ins&gt;been replaced with code CATEGORY_MODIFY. You can read -&amp;gt;context[&amp;#039;linkto&amp;#039;] or -&amp;gt;context[&amp;#039;unlinkoff&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;] &lt;/ins&gt;to detect if we want to make a link or unlink.&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 property -&amp;gt;domiciliation and -&amp;gt;propio on bank accounts has been deprecated and replaced with property -&amp;gt;address and -&amp;gt;owner_name everywhere.&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 property -&amp;gt;domiciliation and -&amp;gt;propio on bank accounts has been deprecated and replaced with property -&amp;gt;address and -&amp;gt;owner_name everywhere.&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;* If you were using the substitution key __MEMBER_CIVILITY__, you must now use __MEMBER_TITLE__&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;* If you were using the substitution key __MEMBER_CIVILITY__, you must now use __MEMBER_TITLE__&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;* The hidden title of tab that was hidden by the CSS class tabTitleText has been completely removed from HTML content.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki_test:diff::1.12:old-62144:rev-62651 --&gt;
&lt;/table&gt;</summary>
		<author><name>Aspangaro</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_21.0.0&amp;diff=62144&amp;oldid=prev</id>
		<title>Framaurin: Created page with &quot;Category:RoadMap {{TemplateVersion| version=21.0|  date=xx/01/2025| mainfocus=}}   {{Flag_fr}} https://www.atm-consulting.fr/decouvrez-les-nouveautes-dolibarr-v21/  &#039;&#039;&#039;Det...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_21.0.0&amp;diff=62144&amp;oldid=prev"/>
		<updated>2025-01-15T09:42:19Z</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=21.0|  date=xx/01/2025| mainfocus=}}   {{Flag_fr}} https://www.atm-consulting.fr/decouvrez-les-nouveautes-dolibarr-v21/  &amp;#039;&amp;#039;&amp;#039;Det...&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=21.0| &lt;br /&gt;
date=xx/01/2025|&lt;br /&gt;
mainfocus=}} &lt;br /&gt;
&lt;br /&gt;
{{Flag_fr}} https://www.atm-consulting.fr/decouvrez-les-nouveautes-dolibarr-v21/&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: NEW Module - help to setup OpenID Connect (#30317)&lt;br /&gt;
NEW: Module AI moved from experimental to stable&lt;br /&gt;
NEW: Add hidden option CONTRACT_HIDE_MYCOMPANY_SIGNATURE_SECTION_PDF&lt;br /&gt;
NEW: Add a tab on recurring invoice card to see the list of invoices generated from this recurring invoice (customer and supplier invoices) (#31463)&lt;br /&gt;
NEW: #28871 signed_status to commande (#30359)&lt;br /&gt;
NEW: #30269 linked project in column of last record tables (#30344)&lt;br /&gt;
NEW: Accountancy - Add general account on thirdparty&lt;br /&gt;
NEW: Accountancy - Add partial reconcile on subledger (#30027)&lt;br /&gt;
NEW: Accountancy - Option to select the label of operation (#31200)&lt;br /&gt;
NEW: Accountancy - Allow grouping taxes with primary line price (#26732)&lt;br /&gt;
NEW: Activate PHPUnit with tests on permission on $action ==...&lt;br /&gt;
NEW: Add advice for max size on list for better performance&lt;br /&gt;
NEW: Add an advanced permission to validate knowledge (#30855)&lt;br /&gt;
NEW: Add a test mode into the setup of AI module to test the AI prompts.&lt;br /&gt;
NEW: Add a tool to decrypt data encrypted in database.&lt;br /&gt;
NEW: Add auto generate document when reception is created (#30688)&lt;br /&gt;
NEW: Add badge for generate invoice client tab (#31559)&lt;br /&gt;
NEW: Add caldav on fichinter (#30582)&lt;br /&gt;
NEW: Add column agenda_id to implement the link between files and event&lt;br /&gt;
NEW: Add column &amp;quot;comment&amp;quot; in list of payment&lt;br /&gt;
NEW: Add constant to hide version (#30865)&lt;br /&gt;
NEW: Add country in search of project&lt;br /&gt;
NEW: add duration extrafields (#31595)&lt;br /&gt;
NEW: Add export for thirdparty bank accounts (#30807)&lt;br /&gt;
NEW: Add export profile to export MO and lines of consumption/production&lt;br /&gt;
NEW: Add option to store the text content of uploaded files into database (with conversion with pdftotext)&lt;br /&gt;
NEW: Add Filter Assistance for Filling Filters Field (#31646)&lt;br /&gt;
NEW: add last stock movement and product nature to StocksWithBatch export (#30578)&lt;br /&gt;
NEW: Add member title to the labels (#31710)&lt;br /&gt;
NEW: Add mode Customer price + level price (#31091)&lt;br /&gt;
NEW: add option to add external billing contact on the supplier_proposal pdf (#30298)&lt;br /&gt;
NEW: Add option to clone its default BOM when cloning a product (#30088)&lt;br /&gt;
NEW: Add option to enable PDF frame rounded corners&lt;br /&gt;
NEW: Add option to round weight and volume on shipment PDF&lt;br /&gt;
NEW: add pdf regeneration to mass action for shipments (#29970)&lt;br /&gt;
NEW: Add picto on list of notification email templates&lt;br /&gt;
NEW: add recurring supplier invoice on supplier tab #30945 #30949&lt;br /&gt;
NEW: Add sort by ref warehouse/product or ref product/warehouse on inventory product list (#31639)&lt;br /&gt;
NEW: Add some improvement for ODT Contracts (#31715)&lt;br /&gt;
NEW: Add terms of sale on documents (#24846)&lt;br /&gt;
NEW: Add thirdparty state in substitution array (#31549)&lt;br /&gt;
NEW: Add tooltip on closing accounting setup&lt;br /&gt;
NEW: add trigger for linking and unlinking invoices (#30182)&lt;br /&gt;
NEW: Add Unit price on supplier order stat product (#31055)&lt;br /&gt;
NEW: add warehouseId parameters in select_produit to limit result to existing product in select (#30477)&lt;br /&gt;
NEW: allow link feature to task (#30235)&lt;br /&gt;
NEW: Authorize modification of a partially shipped order (#31423)&lt;br /&gt;
NEW: autogenerate project reference in API (#30638)&lt;br /&gt;
NEW: automatically change status on answering a ticket (#30556)&lt;br /&gt;
NEW: Browser notifications use now jnotify (fix browser compatibility)&lt;br /&gt;
NEW: can add extrafields with dol_move (#30574)&lt;br /&gt;
NEW: Can change the type of a social contribution if no payment&lt;br /&gt;
NEW: can delete a category translation (#31396)&lt;br /&gt;
NEW: Can link an object to another using the ref. Close #31001&lt;br /&gt;
NEW: Can set a class on the tr lines of form setup lines&lt;br /&gt;
NEW: Can set border radius of list and tables&lt;br /&gt;
NEW: Can set date of transmission in 1 click when validating SEPA&lt;br /&gt;
NEW: Can set parameters with setup type yesno.&lt;br /&gt;
NEW: Can set the contact type for the autoassigned user that creates a project (#30444)&lt;br /&gt;
NEW: Can show raw value of oauth token&lt;br /&gt;
NEW: Can use a specific profile to send email for password forgotten&lt;br /&gt;
NEW: option to care grandchild (#31314)&lt;br /&gt;
NEW: Look and feel - checkbox to choose thirdparty nature (#30192)&lt;br /&gt;
NEW: Color line total and sub total (#26172)&lt;br /&gt;
NEW: Constant to hide user login times (#29815)&lt;br /&gt;
NEW: Const ASSET_ROUND_INTEGER_NUMBER_UPWARDS for ASSET Module. Compatibility to migrate from other accounting solutions. (#31615)&lt;br /&gt;
NEW: Content of tab &amp;quot;attached files&amp;quot; is more compact.&lt;br /&gt;
NEW: Contract signed status update (#30779)&lt;br /&gt;
NEW: Create thirdparty notification by action code (#30541)&lt;br /&gt;
NEW: Customer price and level price together&lt;br /&gt;
NEW: default configuration for event reminder (#31407)&lt;br /&gt;
NEW: determine multi-currency price on object line create tpl (#28021)&lt;br /&gt;
NEW: Display for socialnetworks admin&lt;br /&gt;
NEW: display mark rates in objectLineCreate (#30872)&lt;br /&gt;
NEW: due date in accounting bookkeeping list and card (#30061)&lt;br /&gt;
NEW: enhance the OAUTH2 token manager. Can refresh a token from page.&lt;br /&gt;
NEW: EPC QR CODE - Use bank owner account name instead of company (#31735)&lt;br /&gt;
NEW: fichinter list disable details option (#30884)&lt;br /&gt;
NEW: filter on invoice dates in product margin tab (#29997) and thirdparty margin tab (#29998)&lt;br /&gt;
NEW: FIX: Display invoice widgets by amount instead of number (#30215)&lt;br /&gt;
NEW: Add the Clone of company (#29755)&lt;br /&gt;
NEW: function for Preview In CKeditor products&lt;br /&gt;
NEW: FY Changed Period handle in Module Asset (#31618)&lt;br /&gt;
NEW: hidden option MAIN_TE_PRIVATE_FIRST_AND_LASTNAME_TO_UPPER (#31143)&lt;br /&gt;
NEW: Hide completed items in Link to (#31329)&lt;br /&gt;
NEW: Iban is saved encrypted&lt;br /&gt;
NEW: if a user is associated with the expense report, then that user will get an associated credit line ($tabtp) generated.&lt;br /&gt;
NEW: Implementing Billable tasks on projects using new attribute &amp;quot;billable&amp;quot; (#30092)&lt;br /&gt;
NEW: Include a protection into check update of module to detect malware&lt;br /&gt;
NEW: intervention signed status update (#30629)&lt;br /&gt;
NEW: INTRA VAT ID field optionally mandatory and/or invoice mandatory in thirdparty module setup (#31663)&lt;br /&gt;
NEW: Invoice - Generate payment information - Structured communication (#31376)&lt;br /&gt;
NEW: Invoice line import - fk_product can be a ref (#30795)&lt;br /&gt;
NEW: Look and feel v21 - Can have rounded border on tables&lt;br /&gt;
NEW: Look and feel v21 - Toolbar for WYSIWYG editor is short on smartphone&lt;br /&gt;
NEW: Management of extrafields on customer prices, level prices and default prices (#31313)&lt;br /&gt;
NEW: manage several type of dangerous goods for a same parcel (#30238)&lt;br /&gt;
NEW: Member - Can upload a file with drag and drop (#30265)&lt;br /&gt;
NEW: Move the picto in the first tab label always visible&lt;br /&gt;
NEW: ODTSubsitution for date_start_real / Contracts&lt;br /&gt;
NEW: Look and feel - Opacity for finished lines (#30219)&lt;br /&gt;
NEW: option: assign default roles to &amp;quot;individual&amp;quot; third-party contacts (#30499)&lt;br /&gt;
NEW: option to allow freezing qty in BOM service&amp;#039;s line (#29990)&lt;br /&gt;
NEW: Add a page to list the lines of orderse (#31521)&lt;br /&gt;
NEW: pagination in product margin tab&lt;br /&gt;
NEW: payment term and mode on creating supplier (#31166) and third-party (#31067)&lt;br /&gt;
NEW: PDF Add Customer accountancy code (#31544)&lt;br /&gt;
NEW: PDF Add discount total if line discount exists (#31483)&lt;br /&gt;
NEW: PDF Add option to print rounded corner frames (#31172)&lt;br /&gt;
NEW: PDF Add shipping address in sales orders (#31293)&lt;br /&gt;
NEW: PDF Add total discount if line discount exists&lt;br /&gt;
NEW: PDF frame rounded corners&lt;br /&gt;
NEW: Prelevement - Use structured payment data for Belgium (#31383)&lt;br /&gt;
NEW: Preview product list when we choose model email layout Commerce (#30185)&lt;br /&gt;
NEW: Can upload a file with drag and drop: Thirdparty (#30263) - Product/Service (#30250) - Project (#30276) - Propale (#30315)&lt;br /&gt;
NEW: Public and private note options in thirdparty list (#31062)&lt;br /&gt;
NEW: redirect to expedition card if global search has unique result (#30108)&lt;br /&gt;
NEW: replenishment if the warehouse is set to the default selected user (#31229)&lt;br /&gt;
NEW: retrieve Thirdparty by account (#31283)&lt;br /&gt;
NEW: Share msg &amp;quot;not found&amp;quot; for widgets and add a button to add new record when none exists (#31309)&lt;br /&gt;
NEW: shipment signed status update (#30928)&lt;br /&gt;
NEW: Show detail of each multicurrency amount in popup of price&lt;br /&gt;
NEW: show holidays at bottom of activity/permonth.php page (#31550)&lt;br /&gt;
NEW: Show tooltip on number of qualified records&lt;br /&gt;
NEW: Signature or proposal from the Web portal (#30062)&lt;br /&gt;
NEW: Star Field Type for Extra Fields (#31348) and for for Module Builder (#31216)&lt;br /&gt;
NEW: Support option PDF_ADD_POSITION on shipment espadon template&lt;br /&gt;
NEW: Auto-suspend facture rec when nb gen max is reached (#31623)&lt;br /&gt;
NEW: The margin section can now be shown/hidden&lt;br /&gt;
NEW: Deal change in fiscal year period adjustments to shortened or extended periods (e.g., fiscal years of 9 or 15 months)&lt;br /&gt;
NEW: (ticket, admin): More options entries (#30548)&lt;br /&gt;
NEW: Update warehouse product list to add another sorting option (#30971)&lt;br /&gt;
NEW: Can set blacklist of words into answer of AI (#30385)&lt;br /&gt;
NEW: user list country filter (#30770)&lt;br /&gt;
NEW: vat rate with department in dict (#31628) (#31627)&lt;br /&gt;
NEW: When we export data of unlaterable log, we add an unalterable line in logs&lt;br /&gt;
NEW Add option THEME_STICKY_TOPMENU = &amp;#039;scrollleftmenu_after_mainpage&amp;#039; (or &amp;#039;disabled&amp;#039;)&lt;br /&gt;
NEW value for FICHINTER_DISABLE_DETAILS. If FICHINTER_DISABLE_DETAILS is set to &amp;#039;2&amp;#039; details are disabled only on intervention list.&lt;br /&gt;
&lt;br /&gt;
PERF: Reduce nb of requests into num_public_holiday&lt;br /&gt;
PERF: Reduce size for VCF files and virtualcard qrcode&lt;br /&gt;
PERF: Reduce time to show the page of unalterable logs with high data&lt;br /&gt;
&lt;br /&gt;
For developers:&lt;br /&gt;
---------------&lt;br /&gt;
NEW: translation with action triggers API (#30595)&lt;br /&gt;
NEW: more complete stock product API call (#30567)&lt;br /&gt;
NEW: Projet - Add hook formconfirm (#31408)&lt;br /&gt;
NEW: Can choose the zip handler to build ODT.&lt;br /&gt;
NEW: Can force ip into log file name using a define(&amp;#039;SYSLOG_FILE_ADDIP&amp;#039;)&lt;br /&gt;
NEW: Can force log file name using a define(&amp;#039;SYSLOG_FILE_ADDSUFFIX&amp;#039;)&lt;br /&gt;
NEW: Can define the text on tooltip on a yesno check.&lt;br /&gt;
NEW: Introduce value &amp;#039;password&amp;#039; for mode of sanitization in GETPOST.&lt;br /&gt;
NEW: Add getImageFromHtmlContent() method&lt;br /&gt;
NEW: Add gitleaks into pre-commit&lt;br /&gt;
NEW: Add hook after the line is processed in the sell journal page (#31439)&lt;br /&gt;
NEW: add hook dolibarrDelConst (#30672)&lt;br /&gt;
NEW: Add hook getLoginPageExtraContent, getPasswordResetPageExtraContent&lt;br /&gt;
NEW: add hook in dolibarr_set_const admin.lib.php (#30605)&lt;br /&gt;
NEW: Add hook on sell journal page for overwrite the processed journal data after the SQL request (#31033)&lt;br /&gt;
NEW: force_install_noedit : add value 3 to block all technical parameters excepted main_url (#30080)&lt;br /&gt;
NEW: Add a new hook on order list (#31315)&lt;br /&gt;
NEW: Add ID of the line in the trigger context for addLine(), updateLine() and deleteLine() on contract (#30343)&lt;br /&gt;
NEW: Add more log information&lt;br /&gt;
NEW: Add pagination data to some api routes (#29895)&lt;br /&gt;
NEW: Add test to forbidden NOW() SQL function.&lt;br /&gt;
NEW: API call to re-generate a users password. (#30590)&lt;br /&gt;
NEW: API close proposal now supports both private and public note (#30659)&lt;br /&gt;
NEW: API_LOGINS_ALLOWED_FOR_GET_EXTRAFIELD (#30562)&lt;br /&gt;
NEW: API /setup endpoint for getting action triggers (#30538)&lt;br /&gt;
NEW: HOOK FORMCONFIRM IN TICKET (#31321)&lt;br /&gt;
NEW: hook on expensereport added (#31380)&lt;br /&gt;
QUAL line classes for various business object classes have been moved to individual files.&lt;br /&gt;
QUAL: #30122 (#30131)&lt;br /&gt;
QUAL: AccountancySystem: maintenance work to uniformize and clean up (#31391)&lt;br /&gt;
QUAL: All $conf-&amp;gt;global-&amp;gt;module-&amp;gt;enabled are replaced with isModEnabled()&lt;br /&gt;
QUAL: bankline category table name (#30419)&lt;br /&gt;
QUAL: Clean code&lt;br /&gt;
QUAL: conformity PR for data structure of #29964 (#30014)&lt;br /&gt;
QUAL: Edition of currency is shared in a common tpl file&lt;br /&gt;
QUAL: Ergo btn and fix  (#30947)&lt;br /&gt;
QUAL: Move function csvClean into functions2.lib.php&lt;br /&gt;
QUAL: Move the public css file into the public directory&lt;br /&gt;
QUAL: Removed inclusion of the file json.lib.php&lt;br /&gt;
QUAL: simplifying readability of sql&lt;br /&gt;
QUAL: Standardize name of user cookies&lt;br /&gt;
QUAL: Suffix table name to have them created on module install&lt;br /&gt;
QUAL: The property -&amp;gt;domiciliation and -&amp;gt;propio on bank accounts has been&lt;br /&gt;
QUAL: Update inc.php (#29822)&lt;br /&gt;
QUAL: Use archiveOrBackupFile for MAIN_MAIL_DEBUG_LOG_WITH_DATE&lt;br /&gt;
QUAL: Use table_element in sql queries (#31355)&lt;br /&gt;
QUAL: rename const WORKFLOW_EXPEDITION_CLASSIFY_NEWD_INVOICE to WORKFLOW_RECEPTION_CLASSIFY_NEWD_INVOICE&lt;br /&gt;
QUAL: This configuration change in phan will report NEW: array types in phpdoc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING:&lt;br /&gt;
--------&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;
* Prepare your module for deprecation of triggers code XXX_INSERT to support also XXX_CREATE.&lt;br /&gt;
* More class properties (with old name in french) are now deprecated in favor of the property name in english.&lt;br /&gt;
* The json emulator dol_json_encode/decode() is removed. The native json PHP module must be enabled/available (this is the case by default with most PHP installation).&lt;br /&gt;
* The deprecated GET parameter &amp;quot;&amp;amp;sall=&amp;quot; has been removed, use now the &amp;quot;&amp;amp;search_all=&amp;quot;.&lt;br /&gt;
* The experimental and deprecated module WebserviceClient is completely removed (was never released and use deprecated architecture). May be replaced with the stable module Webhook.&lt;br /&gt;
* The dynamic properties -&amp;gt;no_button_delete, -&amp;gt;no_button_edit, -&amp;gt;no_button_copy for $object Product that could be set by an external module must no more&lt;br /&gt;
  be set (not allowed by PHP 8.2). A module can already return an array with key &amp;#039;no_button_delete&amp;#039;, &amp;#039;no_button_edit&amp;#039;, &amp;#039;no_button_copy&amp;#039; for same purpose.&lt;br /&gt;
* The old function dol_bc($var, $moreclass = &amp;#039;&amp;#039;) has been removed. If you called it, just stop to call it.&lt;br /&gt;
* The trigger code CATEGORY_LINK and CATEGORY_UNLINK has been replaced with code CATEGORY_MODIFY. You can read -&amp;gt;context[&amp;#039;linkto&amp;#039;] or -&amp;gt;context[&amp;#039;unlinkoff&amp;#039; to detect if we want to make a link or unlink.&lt;br /&gt;
* The property -&amp;gt;domiciliation and -&amp;gt;propio on bank accounts has been deprecated and replaced with property -&amp;gt;address and -&amp;gt;owner_name everywhere.&lt;br /&gt;
* If you were using the substitution key __MEMBER_CIVILITY__, you must now use __MEMBER_TITLE__&lt;/div&gt;</summary>
		<author><name>Framaurin</name></author>
	</entry>
</feed>