Difference between revisions of "Roadmap and Release 17.0.0"
Jump to navigation
Jump to search
(Created page with "Category:RoadMap {{TemplateVersion| version=17.0| date=xx/xx/2023| mainfocus=PHP V8 compatibility}} {{Flag_fr}} https://www.atm-consulting.fr/les-nouveautes-de-la-vers...") Tag: 2017 source edit |
m Tag: 2017 source edit |
||
(2 intermediate revisions by one other user not shown) | |||
Line 2: | Line 2: | ||
{{TemplateVersion| | {{TemplateVersion| | ||
version=17.0| | version=17.0| | ||
− | date= | + | date=04/03/2023| |
mainfocus=PHP V8 compatibility}} | mainfocus=PHP V8 compatibility}} | ||
{{Flag_fr}} https://www.atm-consulting.fr/les-nouveautes-de-la-version-17-de-dolibarr/ | {{Flag_fr}} https://www.atm-consulting.fr/les-nouveautes-de-la-version-17-de-dolibarr/ | ||
+ | |||
+ | '''Detailed Changelog''': | ||
+ | <pre> | ||
+ | |||
+ | For users: | ||
+ | --------------- | ||
+ | |||
+ | NEW: Minimal PHP version is now PHP 7.0 instead of PHP 5.6 | ||
+ | NEW: #21780 Add pid field to Cronjob class and store PID on job execution | ||
+ | NEW: #19680 Add option PRODUCT_ALLOW_EXTERNAL_DOWNLOAD to automatically have uploaded files shared publicly by a link | ||
+ | NEW: #20650 can move the checkbox column on left (experimental option MAIN_CHECKBOX_LEFT_COLUMN) | ||
+ | NEW: #21000 Added columns 'alias_name' on project, supplier invoice, supplier order, supplier proposals and task list | ||
+ | NEW: #21395 Added option for dark theme mode in display - color and theme | ||
+ | NEW: #21397 added option to auto define barcode numbers for third-parties in barcode module setup | ||
+ | NEW: #21399 | ||
+ | NEW: #21442 Enhancement of module builder init | ||
+ | NEW: #21654 add bank account number used on invoices for debit | ||
+ | NEW: #22048 Added notes to productlot module | ||
+ | NEW: #22298 Bank - Add salaries & vat in the tab of planned entries of a bank account | ||
+ | NEW: #22328 | ||
+ | NEW: #22424 | ||
+ | NEW: #22500 member module set up made easier | ||
+ | NEW: #22527 projects and thirdparties can be viewed as conversation ("Message" view), like events/agenda. | ||
+ | NEW: #22546 can now set user supervisors using mass action in htdocs/user | ||
+ | NEW: #22594 can chose if VAT ID is unique or not for third parties | ||
+ | NEW: #22622 all partnerships displayed on tab partnership of a thirdparty and member | ||
+ | NEW: #22676 massaction for updating product prices | ||
+ | NEW: #22735 Massaction to affect users on projects | ||
+ | NEW: #25594 can chose if VAT ID is unique or not for third parties | ||
+ | NEW: #4482 adding js to hide/show advanced option on the export data page | ||
+ | NEW: Accountancy - Add a graphic option to enable lettering function - FPC21 | ||
+ | NEW: Accountancy - Add a way to clean some words when you generate thirdparty accounting account | ||
+ | NEW: Accountancy - Added an option during export to export or not the lettering FPC21 | ||
+ | NEW: Accountancy - Manage supplier deposit with specific account | ||
+ | NEW: Accountancy - Model Digitaria - Add a way to clean some words when you generate thirdparty accounting account FPC22 | ||
+ | NEW: Add a button "Test collect" in email collector | ||
+ | NEW: Add a constant to disallow modification of the product reference. | ||
+ | NEW: Add a method doAutoRenewContracts that can be used as a cron task. | ||
+ | NEW: Add " as enclosure by default for CSV export. Keep removing CR/LF. | ||
+ | NEW: add attached file in presend email form of thirdparty card | ||
+ | NEW: Add a way to enter LICENSE file content in property of website | ||
+ | NEW: Add badge in admin extrafields setup | ||
+ | NEW: add constant PROPAL_BYPASS_VALIDATED_STATUS | ||
+ | NEW: Add date event (!= date project) and location on event organization | ||
+ | NEW: Add employment anniversary in birthday box | ||
+ | NEW: Add extrafield type "IP" to store IP addresses | ||
+ | NEW: Add fail2ban rules examples to limit access to /public pages | ||
+ | NEW: Add filter "Product subject to lot/Serial" in stock per lot/serial | ||
+ | NEW: Add hidden option MAIN_EMAIL_SUPPORT_ACK to restore Email ack checkbox (feature abandonned by mailers) | ||
+ | NEW: Add IMAP port setting on email collector module | ||
+ | NEW: Adding JAPAN Chart-of-Account and regions/departments | ||
+ | NEW: Adding NIF verification for Algeria | ||
+ | NEW: Add link to create an element from the category page | ||
+ | NEW: add margin infos to takepos invoice lines | ||
+ | NEW: Add max size send for "backup and link to mail" option | ||
+ | NEW: Add method httponly_accessforbidden() | ||
+ | NEW: Add more advices into the Setup security page | ||
+ | NEW: Add new global variable for keeping the previous signature information on proposale (case of reopen a proposale) | ||
+ | NEW: Add objectLink on expedition | ||
+ | NEW: Add oldcopy to Ticket so triggers intercepting TICKET_MODIFY have access to old values of the updated properties | ||
+ | NEW: Add option FICHINTER_ALLOW_EXTERNAL_DOWNLOAD | ||
+ | NEW: Add option --force on CLI cron_run_jobs.php | ||
+ | NEW: Add option "Show price on the generated documents for receptions" | ||
+ | NEW: Add performance index (name for company and contact) and llx_bank_url(url_id) | ||
+ | NEW: Add picto property on sub-module for password generation | ||
+ | NEW: add redirect on action confirm addconsumedline and addproduceline | ||
+ | NEW: Add a new advanced permission "read price" | ||
+ | NEW: Add substitution key __SENDEREMAIL_SIGNATURE__ | ||
+ | NEW: Add the referrer-policy to "same-origin" by default on all public pages. | ||
+ | NEW: Add the SMTP header References on ticket email created by email | ||
+ | NEW: Add the thirdparty column to the time list (projet/tasks/time.php) | ||
+ | NEW: Add trigger to record the event of sending an email from a project #20912 | ||
+ | NEW: Allow download link option in module configuration (propal,invoice,supplier proposal, order) | ||
+ | NEW: Bank - Add salaries & vat in tab planned entries | ||
+ | NEW: Bulk action to remove a category in list/search website pages | ||
+ | NEW: Can copy/paste images into emails sent. | ||
+ | NEW: Can edit label of an emailing even once sent | ||
+ | NEW: Can edit property css, cssview, csslist on extrafields | ||
+ | NEW: Can enter the unit price including the vat | ||
+ | NEW: Can invoice task time per different services | ||
+ | NEW: Can join several files by default on email form | ||
+ | NEW: Can send an email on scheduled job error | ||
+ | NEW: Can set a commercial discount by entering amount including VAT | ||
+ | NEW: Can set a monthly frequency (or multiple) in cron tasks. | ||
+ | NEW: Can set start and end dates and comment on button "Activate all services" | ||
+ | NEW: can sort and preselected best supplier price | ||
+ | NEW: Can use products categories to make inventory | ||
+ | NEW: Change filter type on tickets list into a multiselect combo | ||
+ | NEW: conf TIMESPENT_ALWAYS_UPDATE_THM, when it's on we always check current thm of user to update it in task time line | ||
+ | NEW: constant PROPAL_NEW_AS_SIGNED | ||
+ | NEW: show date delivery planned on orders linked to company and product | ||
+ | NEW: Default template of contract is not mandatory | ||
+ | NEW: Default values in extrafields are not more limited to 255 char. | ||
+ | NEW: display currency in takepos menu | ||
+ | NEW: Enable online signature for interventions | ||
+ | NEW: Encrypt all sensitive constants in llx_const | ||
+ | NEW: extrafield price with currency | ||
+ | NEW: filter on reception dates (from / to) in cheque paiement card | ||
+ | NEW: Members: default_lang for members | ||
+ | NEW: Members: Table of membership types | ||
+ | NEW: Members: add free membership amounts at the membership type level | ||
+ | NEW: TakePOS: Header Scroll in TakePOS | ||
+ | NEW: TakePOS: add price to product box in TakePOS | ||
+ | NEW: TakePOS: add setup parameters, can setup terminal name | ||
+ | NEW: TakePOS: support of Stripe Terminal with TakePOS | ||
+ | NEW: TakePOS: Receipt preview in TakePOS setup | ||
+ | NEW: TakePOS: different product list on smartphone | ||
+ | NEW: Website: can delete a whole website if disabled | ||
+ | NEW: Website: can remove a website template | ||
+ | NEW: Website: can set header "Strict-Transport-Security" in web sites. | ||
+ | NEW: Website: can switch status of website and page from the website toolbar | ||
+ | NEW: Website: Templates of websites are now directories and not zip into core repo | ||
+ | NEW: Website: add 4 other templates in website module | ||
+ | NEW: If we select another view list mode, we keep it | ||
+ | NEW: Init module bookcal | ||
+ | NEW: Introduce dolEncrypt and dolDecrypt to be able to encrypt data in db | ||
+ | NEW: Invoice - Add french mention on pdf when vat debit option is on | ||
+ | NEW: invoice export : add accounting affectation | ||
+ | NEW: label on products categories filter | ||
+ | NEW: The link "add to bookmark" is always on top in the bookmark popup | ||
+ | NEW: MAIN_SEARCH_CATEGORY_PRODUCT_ON_LISTS const to show category customer filter | ||
+ | NEW: Make module WebservicesClient deprecated. Use module WebHook instead. | ||
+ | NEW: manage no email with thirdparties (better for GDPR) | ||
+ | NEW: Manage Position (Rank) on Contract Lines | ||
+ | NEW: Manage VAT on all lines on purchases cycle | ||
+ | NEW: manage virtual stock at a future date | ||
+ | NEW: On a bank reconciled line, we can modify the bank receipt | ||
+ | NEW: On a form to send an email, we show all emails of all contacts of object | ||
+ | NEW: Option PRODUCTBATCH_SHOW_WAREHOUSE_ON_SHIPMENT showing wh on PDF | ||
+ | NEW: Option PRODUIT_DESC_IN_FORM accept (desktop only or +smartphone) | ||
+ | NEW: Page for mass stock transfer can be used with no source stock | ||
+ | NEW: parent company column and filter in invoice and order list | ||
+ | NEW: Add show "Sales rep" option for PDF | ||
+ | NEW: Picto for shared link is clickable | ||
+ | NEW: possibility to select scopes with checkbox for Oauth tokens | ||
+ | NEW: private and public note on user, thirdparty and contact list | ||
+ | NEW: product categories filter on inventory list | ||
+ | NEW: Product supplier price: autofill default supplier VAT | ||
+ | NEW: Project - Add author on list | ||
+ | NEW: Public counters feature | ||
+ | NEW: Reception - Add a from/to on search on date field | ||
+ | NEW: Start a simple support of recurrent events on agenda | ||
+ | NEW: Resize parent company column in order list | ||
+ | NEW: Saved token of OAUTH module are now encrypted into llx_oauth_token | ||
+ | NEW: Save one click to select on delivery ack, on emails. | ||
+ | NEW: scheduled job to send unpaid invoice reminder can now use the cc and bcc from email template | ||
+ | NEW: set thirdparty type with company modify trigger | ||
+ | NEW: Show also scheduled task never finished in scheduled task widget | ||
+ | NEW: show badge with number of extrafields in setup | ||
+ | NEW: show category tree in sellist and chkbxlst for common object | ||
+ | NEW: Show picto and color into combo for selection of tags | ||
+ | NEW: show product label on inventory | ||
+ | NEW: show sell-by and eat-by dates only if not empty | ||
+ | NEW: show SellBy/EatBy dates for each batch product in shipment card | ||
+ | NEW: skip accept/refuse process for proposals (option PROPAL_SKIP_ACCEPT_REFUSE) | ||
+ | NEW: experimental SMTP using PhpImap allowing OAuth2 authentication (need to add option MAIN_IMAP_USE_PHPIMAP) | ||
+ | NEW: can substitue project title in mail template | ||
+ | NEW: Supplier order list - Add column private and public note | ||
+ | NEW: Support IP type in extrafields | ||
+ | NEW: The purge of files can purge only if older than a number of seconds | ||
+ | NEW: Update ActionComm type_code on email message ticket | ||
+ | NEW: VAT - Admin - Add information on deadline day for submission of VAT declaration | ||
+ | NEW: expand/collapse permissions on user permission page | ||
+ | NEW: Show delivery mode on PDF for proposals | ||
+ | NEW: Add the target to select attendees of event for emailings | ||
+ | NEW: Can set background style with MAIN_LOGIN_BACKGROUND_STYLE | ||
+ | |||
+ | Modules | ||
+ | NEW: Experimental module Asset | ||
+ | |||
+ | For developers or integrators: | ||
+ | ------------------------------ | ||
+ | |||
+ | NEW: ModuleBuilder can generate code for a class from an existing SQL table | ||
+ | NEW: #22370 Modulebuilder supports 'alwayseditable' (like extrafields) | ||
+ | NEW: #20912 Add trigger to record the event of sending an email from a project | ||
+ | NEW: #21750 Added "Get lines and Post lines from BOM" at the REST Service | ||
+ | NEW: Removed completely the need for the library adodbtime | ||
+ | NEW: hook on agenda pages | ||
+ | NEW: hook to complete payment in TakePOS | ||
+ | NEW: hook "changeHelpURL" to modify target of the help button | ||
+ | NEW: hook formConfirm on action comm card | ||
+ | NEW: hook to modify supplier product html select | ||
+ | NEW: Add new hook for show virtual stock details on product stock card | ||
+ | NEW: Add new hooks for actioncomm | ||
+ | NEW: conf->global->SYSLOG_FILE_ONEPERSESSION accept a string | ||
+ | NEW: translation for contact type API, setup/ticket API, shipping method API | ||
+ | NEW: All ajax pages have now a header build with top_httphead() | ||
+ | NEW: support multilang in Civilities API | ||
+ | NEW: Add API for the partnership module | ||
+ | NEW: Add "Get lines and Post lines from BOM" in the API | ||
+ | NEW: Replace property fk_categories_product with categories_product in inventory class | ||
+ | NEW: Rewrite of SQL request. Removed the join on category table (for filter on category), replaced with a EXISTS/NOT | ||
+ | |||
+ | |||
+ | WARNING: | ||
+ | |||
+ | Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: | ||
+ | * Minimal PHP version is now PHP 7.0 instead of PHP 5.6 | ||
+ | * The signature of method getNomUrl() of class ProductFournisseur has been modified to match the signature of method Product->getNomUrl() | ||
+ | * Trigger ORDER_SUPPLIER_DISPATCH is removed, use ORDER_SUPPLIER_RECEIVE and/or LINEORDER_SUPPLIER_DISPATCH instead. | ||
+ | * All functions fetch_all() have been set to deprecated for naming consitency, use fetchAll() instead. | ||
+ | * Code standardization: '$user->rights->propale' is now '$user->rights->propal' everywhere. | ||
+ | * Deprecated method set_billed() on shipment and reception class has been removed. Use setBilled() instead. | ||
+ | * Tables llx_prelevement_facture and llx_prelevement_facture_demande have been renamed into llx_prelevement and llx_prelevement_demande. | ||
+ | * Rename MAIN_LIST_ALLOW_NOTES into MAIN_LIST_HIDE_NOTES and rename MAIN_LIST_ALLOW_PRIVATE_NOTES into MAIN_LIST_HIDE_PRIVATE_NOTES | ||
+ | * Rename the substitution for "project label" instead of "project title" in substitution variables | ||
+ | * You must use "$objectoffield" to manipulate the current object inside the formulare of computed custom extrafields instead of $obj/$object. | ||
+ | * Making a global search is sending the parameter using always the name search_all (instead of sometimes sall and search_all) | ||
+ | * The property $url_last_version must be public if defined into module descriptor files; | ||
+ | </pre> |
Latest revision as of 17:22, 5 March 2023
Version: 17.0 (List of other versions on page Category:RoadMap)
Release date: 04/03/2023
Main focus (What developers has mainly worked on, but not only, so for full list of changes see the detailed ChangeLog):
PHP V8 compatibility
https://www.atm-consulting.fr/les-nouveautes-de-la-version-17-de-dolibarr/
Detailed Changelog:
For users: --------------- NEW: Minimal PHP version is now PHP 7.0 instead of PHP 5.6 NEW: #21780 Add pid field to Cronjob class and store PID on job execution NEW: #19680 Add option PRODUCT_ALLOW_EXTERNAL_DOWNLOAD to automatically have uploaded files shared publicly by a link NEW: #20650 can move the checkbox column on left (experimental option MAIN_CHECKBOX_LEFT_COLUMN) NEW: #21000 Added columns 'alias_name' on project, supplier invoice, supplier order, supplier proposals and task list NEW: #21395 Added option for dark theme mode in display - color and theme NEW: #21397 added option to auto define barcode numbers for third-parties in barcode module setup NEW: #21399 NEW: #21442 Enhancement of module builder init NEW: #21654 add bank account number used on invoices for debit NEW: #22048 Added notes to productlot module NEW: #22298 Bank - Add salaries & vat in the tab of planned entries of a bank account NEW: #22328 NEW: #22424 NEW: #22500 member module set up made easier NEW: #22527 projects and thirdparties can be viewed as conversation ("Message" view), like events/agenda. NEW: #22546 can now set user supervisors using mass action in htdocs/user NEW: #22594 can chose if VAT ID is unique or not for third parties NEW: #22622 all partnerships displayed on tab partnership of a thirdparty and member NEW: #22676 massaction for updating product prices NEW: #22735 Massaction to affect users on projects NEW: #25594 can chose if VAT ID is unique or not for third parties NEW: #4482 adding js to hide/show advanced option on the export data page NEW: Accountancy - Add a graphic option to enable lettering function - FPC21 NEW: Accountancy - Add a way to clean some words when you generate thirdparty accounting account NEW: Accountancy - Added an option during export to export or not the lettering FPC21 NEW: Accountancy - Manage supplier deposit with specific account NEW: Accountancy - Model Digitaria - Add a way to clean some words when you generate thirdparty accounting account FPC22 NEW: Add a button "Test collect" in email collector NEW: Add a constant to disallow modification of the product reference. NEW: Add a method doAutoRenewContracts that can be used as a cron task. NEW: Add " as enclosure by default for CSV export. Keep removing CR/LF. NEW: add attached file in presend email form of thirdparty card NEW: Add a way to enter LICENSE file content in property of website NEW: Add badge in admin extrafields setup NEW: add constant PROPAL_BYPASS_VALIDATED_STATUS NEW: Add date event (!= date project) and location on event organization NEW: Add employment anniversary in birthday box NEW: Add extrafield type "IP" to store IP addresses NEW: Add fail2ban rules examples to limit access to /public pages NEW: Add filter "Product subject to lot/Serial" in stock per lot/serial NEW: Add hidden option MAIN_EMAIL_SUPPORT_ACK to restore Email ack checkbox (feature abandonned by mailers) NEW: Add IMAP port setting on email collector module NEW: Adding JAPAN Chart-of-Account and regions/departments NEW: Adding NIF verification for Algeria NEW: Add link to create an element from the category page NEW: add margin infos to takepos invoice lines NEW: Add max size send for "backup and link to mail" option NEW: Add method httponly_accessforbidden() NEW: Add more advices into the Setup security page NEW: Add new global variable for keeping the previous signature information on proposale (case of reopen a proposale) NEW: Add objectLink on expedition NEW: Add oldcopy to Ticket so triggers intercepting TICKET_MODIFY have access to old values of the updated properties NEW: Add option FICHINTER_ALLOW_EXTERNAL_DOWNLOAD NEW: Add option --force on CLI cron_run_jobs.php NEW: Add option "Show price on the generated documents for receptions" NEW: Add performance index (name for company and contact) and llx_bank_url(url_id) NEW: Add picto property on sub-module for password generation NEW: add redirect on action confirm addconsumedline and addproduceline NEW: Add a new advanced permission "read price" NEW: Add substitution key __SENDEREMAIL_SIGNATURE__ NEW: Add the referrer-policy to "same-origin" by default on all public pages. NEW: Add the SMTP header References on ticket email created by email NEW: Add the thirdparty column to the time list (projet/tasks/time.php) NEW: Add trigger to record the event of sending an email from a project #20912 NEW: Allow download link option in module configuration (propal,invoice,supplier proposal, order) NEW: Bank - Add salaries & vat in tab planned entries NEW: Bulk action to remove a category in list/search website pages NEW: Can copy/paste images into emails sent. NEW: Can edit label of an emailing even once sent NEW: Can edit property css, cssview, csslist on extrafields NEW: Can enter the unit price including the vat NEW: Can invoice task time per different services NEW: Can join several files by default on email form NEW: Can send an email on scheduled job error NEW: Can set a commercial discount by entering amount including VAT NEW: Can set a monthly frequency (or multiple) in cron tasks. NEW: Can set start and end dates and comment on button "Activate all services" NEW: can sort and preselected best supplier price NEW: Can use products categories to make inventory NEW: Change filter type on tickets list into a multiselect combo NEW: conf TIMESPENT_ALWAYS_UPDATE_THM, when it's on we always check current thm of user to update it in task time line NEW: constant PROPAL_NEW_AS_SIGNED NEW: show date delivery planned on orders linked to company and product NEW: Default template of contract is not mandatory NEW: Default values in extrafields are not more limited to 255 char. NEW: display currency in takepos menu NEW: Enable online signature for interventions NEW: Encrypt all sensitive constants in llx_const NEW: extrafield price with currency NEW: filter on reception dates (from / to) in cheque paiement card NEW: Members: default_lang for members NEW: Members: Table of membership types NEW: Members: add free membership amounts at the membership type level NEW: TakePOS: Header Scroll in TakePOS NEW: TakePOS: add price to product box in TakePOS NEW: TakePOS: add setup parameters, can setup terminal name NEW: TakePOS: support of Stripe Terminal with TakePOS NEW: TakePOS: Receipt preview in TakePOS setup NEW: TakePOS: different product list on smartphone NEW: Website: can delete a whole website if disabled NEW: Website: can remove a website template NEW: Website: can set header "Strict-Transport-Security" in web sites. NEW: Website: can switch status of website and page from the website toolbar NEW: Website: Templates of websites are now directories and not zip into core repo NEW: Website: add 4 other templates in website module NEW: If we select another view list mode, we keep it NEW: Init module bookcal NEW: Introduce dolEncrypt and dolDecrypt to be able to encrypt data in db NEW: Invoice - Add french mention on pdf when vat debit option is on NEW: invoice export : add accounting affectation NEW: label on products categories filter NEW: The link "add to bookmark" is always on top in the bookmark popup NEW: MAIN_SEARCH_CATEGORY_PRODUCT_ON_LISTS const to show category customer filter NEW: Make module WebservicesClient deprecated. Use module WebHook instead. NEW: manage no email with thirdparties (better for GDPR) NEW: Manage Position (Rank) on Contract Lines NEW: Manage VAT on all lines on purchases cycle NEW: manage virtual stock at a future date NEW: On a bank reconciled line, we can modify the bank receipt NEW: On a form to send an email, we show all emails of all contacts of object NEW: Option PRODUCTBATCH_SHOW_WAREHOUSE_ON_SHIPMENT showing wh on PDF NEW: Option PRODUIT_DESC_IN_FORM accept (desktop only or +smartphone) NEW: Page for mass stock transfer can be used with no source stock NEW: parent company column and filter in invoice and order list NEW: Add show "Sales rep" option for PDF NEW: Picto for shared link is clickable NEW: possibility to select scopes with checkbox for Oauth tokens NEW: private and public note on user, thirdparty and contact list NEW: product categories filter on inventory list NEW: Product supplier price: autofill default supplier VAT NEW: Project - Add author on list NEW: Public counters feature NEW: Reception - Add a from/to on search on date field NEW: Start a simple support of recurrent events on agenda NEW: Resize parent company column in order list NEW: Saved token of OAUTH module are now encrypted into llx_oauth_token NEW: Save one click to select on delivery ack, on emails. NEW: scheduled job to send unpaid invoice reminder can now use the cc and bcc from email template NEW: set thirdparty type with company modify trigger NEW: Show also scheduled task never finished in scheduled task widget NEW: show badge with number of extrafields in setup NEW: show category tree in sellist and chkbxlst for common object NEW: Show picto and color into combo for selection of tags NEW: show product label on inventory NEW: show sell-by and eat-by dates only if not empty NEW: show SellBy/EatBy dates for each batch product in shipment card NEW: skip accept/refuse process for proposals (option PROPAL_SKIP_ACCEPT_REFUSE) NEW: experimental SMTP using PhpImap allowing OAuth2 authentication (need to add option MAIN_IMAP_USE_PHPIMAP) NEW: can substitue project title in mail template NEW: Supplier order list - Add column private and public note NEW: Support IP type in extrafields NEW: The purge of files can purge only if older than a number of seconds NEW: Update ActionComm type_code on email message ticket NEW: VAT - Admin - Add information on deadline day for submission of VAT declaration NEW: expand/collapse permissions on user permission page NEW: Show delivery mode on PDF for proposals NEW: Add the target to select attendees of event for emailings NEW: Can set background style with MAIN_LOGIN_BACKGROUND_STYLE Modules NEW: Experimental module Asset For developers or integrators: ------------------------------ NEW: ModuleBuilder can generate code for a class from an existing SQL table NEW: #22370 Modulebuilder supports 'alwayseditable' (like extrafields) NEW: #20912 Add trigger to record the event of sending an email from a project NEW: #21750 Added "Get lines and Post lines from BOM" at the REST Service NEW: Removed completely the need for the library adodbtime NEW: hook on agenda pages NEW: hook to complete payment in TakePOS NEW: hook "changeHelpURL" to modify target of the help button NEW: hook formConfirm on action comm card NEW: hook to modify supplier product html select NEW: Add new hook for show virtual stock details on product stock card NEW: Add new hooks for actioncomm NEW: conf->global->SYSLOG_FILE_ONEPERSESSION accept a string NEW: translation for contact type API, setup/ticket API, shipping method API NEW: All ajax pages have now a header build with top_httphead() NEW: support multilang in Civilities API NEW: Add API for the partnership module NEW: Add "Get lines and Post lines from BOM" in the API NEW: Replace property fk_categories_product with categories_product in inventory class NEW: Rewrite of SQL request. Removed the join on category table (for filter on category), replaced with a EXISTS/NOT WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * Minimal PHP version is now PHP 7.0 instead of PHP 5.6 * The signature of method getNomUrl() of class ProductFournisseur has been modified to match the signature of method Product->getNomUrl() * Trigger ORDER_SUPPLIER_DISPATCH is removed, use ORDER_SUPPLIER_RECEIVE and/or LINEORDER_SUPPLIER_DISPATCH instead. * All functions fetch_all() have been set to deprecated for naming consitency, use fetchAll() instead. * Code standardization: '$user->rights->propale' is now '$user->rights->propal' everywhere. * Deprecated method set_billed() on shipment and reception class has been removed. Use setBilled() instead. * Tables llx_prelevement_facture and llx_prelevement_facture_demande have been renamed into llx_prelevement and llx_prelevement_demande. * Rename MAIN_LIST_ALLOW_NOTES into MAIN_LIST_HIDE_NOTES and rename MAIN_LIST_ALLOW_PRIVATE_NOTES into MAIN_LIST_HIDE_PRIVATE_NOTES * Rename the substitution for "project label" instead of "project title" in substitution variables * You must use "$objectoffield" to manipulate the current object inside the formulare of computed custom extrafields instead of $obj/$object. * Making a global search is sending the parameter using always the name search_all (instead of sometimes sall and search_all) * The property $url_last_version must be public if defined into module descriptor files;