Dolibarr 18 Beta (Freeze)

dolibarr It's time to start the beta of Dolibarr ERP CRM version 18.0

All developers and users are invited to test the 18.0 BETA version from github sources (branch develop to get files).

Now the freeze period is started, I won't add new features during few days, until i think things are stable enough to start to work both in branch develop and in branch 18.0 (available soon).
You can have a look on the "Freeze definition" on this page to know what you CAN DO or NOT during the Freeze period.

Because we entered the beta period, please, if you work on Dolibarr code, spend your time to fix bugs and only fix bugs, as much as you can.
The project need your fixes. This is a list of reported issues on our Github bug tracker.

Laurent, Aka Eldy.

This is list of changes available into this version compared to previous one:

***** ChangeLog for 18.0.0 compared to 17.0.0 *****

For users:

NEW: PHP 8.2 compatibility (test not yet completed).
NEW: Module Workstations Management upgraded to stable status
NEW: Module Webhook upgraded to stable status
NEW: #23436 Group social networks fields
NEW: Accountancy - Add specific page to export accounting data rather than the journals page
NEW: Accountancy - Add sub-account balance FPC22
NEW: Accountancy - Manage customer retained warranty FPC21+
NEW: Accountancy - Manage intra-community VAT on supplier invoices - FPC22
NEW: Can upload a file with drag and drop on purchase invoice, vats, salaries and social contributions 
NEW: authentication mode: #22740 Add OpenID Connect impl
NEW: authentication mode: Add experimental support for Google OAuth2 connexion
NEW: adapt category and product pictures sizes on TakePOS
NEW: Supplier Invoices: add ability of ODT support to supplier invoices
NEW: Add a public virtual card page for each user
NEW: Add a status on supplier price ref (WIP to close a supplier ref)
NEW: add bookmarks in selectable landing pages for users
NEW: Add column ext_payment_site into societe_rib to allow multiple payment mode
NEW: add convertion of images to webp for a single image in website media editor
NEW: Add CRC for currency symbol before amount
NEW: add a CSS editor into the admin GUI
NEW: add customer code to invoices listing
NEW: Add Customer Order delivered (ORDER_NEW) in module Notification
NEW: Add date due and labels into customer comm card
NEW: Add dropdown button actions (example on Create button on project)
NEW: Tickets: added an option to display the progress of tickets on the public interface
NEW: Add field reply-to in email collector as possible filter
NEW: Add filter on nb of generation done in list of recurring invoices
NEW: Add filters and sort on product unit column
NEW: adding button Send Email on the salary file
NEW: Add link to edit VAT list from error message of missing VAT
NEW: add link to thirdparty tickets history
NEW: add margins in paiement/card.php
NEW: Add mass action delete on VAT
NEW: Add fields zip, town, country for owner of a bank account
NEW: Members: add numbering modules for members
NEW: Add origin info when create a product batch when created from a movement stock
NEW: Add possibility to choose format #21426
NEW: Add SQL contraint on product_stock table to allow only exsting product and warehouse#23543
NEW: Add statistics by amount on statistics of products.
NEW: Add STRIPE_DEBUG, a way to log Stripe IPN
NEW: Add sub total in order list det
NEW: Add warehouse create and modify triggers.
NEW: Add widget box_members_by_tags.php
NEW: An external module can modify the quick search fields
NEW: Auto activate some modules on install (Export/Import/Wysiwyg editor)
NEW: Autofill email form with the email template with status "Default" on
NEW: Bank name no more mandatory on creation. Can be generated if empty.
NEW: batch referential objets
NEW: Better responsive for mass actions
NEW: Can add any contact on events if global MAIN_ACTIONCOM_CAN_ADD_ANY_CONTACT is set at 1
NEW: Can add the add now link on date into addfieldvalue()
NEW: Can bin accounting line for a given month
NEW: Can edit account on miscellaneous payment (if not transfered)
NEW: Can edit inline the VAT number from supplier tab
NEW: Can fill date of salary payment with date of start of salary
NEW: Can filter on a custom group of accounts. Perf or ledger list.
NEW: Can go back to draft on shipment when stock change not on validate
NEW: Can modify bank account of sepa payment (if file not sent yet)
NEW: Proposals: Can modify margin rates in offers like VAT rates.
NEW: Salary: Can modify the date of payment of a salary (if not reconciled)
NEW: OAuth: Can now edit service name for oauth token
NEW: Reception: Can receive more than qty ordered on reception
NEW: Can select several warehouses into the view stock at date in past
NEW: Can select the export format during export of journals
NEW: Can set a checkbox in formconfirm by clicking on the label
NEW: Can set background style with MAIN_LOGIN_BACKGROUND_STYLE
NEW: Can set flag default value on email templates
NEW: Can set the page "List of opportunities" as landing page
NEW: Can show the sql request used on emailing selection
NEW: can stay on edit field when errors occurs
NEW: GeoIP: Can test a geoip conversion from the geoip setup page
NEW: Members: Captcha for public member's subscription form
NEW: category of operation for crabe PDF model
NEW: color for start date and owner
NEW: comment in api_mymodule for seperate methods
NEW: create email substitution variable for intervention signature URL
NEW: Date for salary payment includes the hour/min
NEW: Debug the custom CSS feature to avoid a directory search/scan at
NEW: dev name
NEW: Disable bad reputation product price
NEW: dolExplodeIntoArray can accept regex
NEW: dol_sort_array can sort on alphabetical order even if val is num
NEW: don't have closed contact proposed as receiver for the mails
NEW: MO: Dynamic choice of warehouse and batch in MO production.
NEW: element time integration code + sql
NEW: events list with color
NEW: expend/collapse list of social networks
NEW: Proposals: filter for Signed+Billed in proposals
NEW: Filter on amount and qty on list of service's contracts
NEW: Import: filter on entity in import
NEW: formconfirm can support field with format datetime
NEW: getCommonSubstitutionArray to have more substitute keys
NEW: helper functions for dates + small demo case
NEW: hook printFieldListFrom in contact list
NEW: inc.php: handle parameters from argv
NEW: Website Module: Increment website counter on each page access in website module
NEW: Invalidate all sessions of a user when password is modified.
NEW: Invoice - show category of operations
NEW: iSuiteExpert export model
NEW: Keep a link between user created from recruitment and application
NEW: limit load products in TakePOS
NEW: List product in orders
NEW: map table to element for get entity in import
NEW: migration script + delete old table + rename fields and indexes
NEW: Multicurrency REST API to create, update, delete, update rate...
NEW: Multiselect for filter on prospection status
NEW: Name and date to print on PDF Sign
NEW: [Bulk delete Project tasks]
NEW: No overwrite of optionals during put() contact
NEW: Notification for Sign or Refused Propal from Online Page
NEW: notify also the contributor affected to a ticket if a new message public is post (add global TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_ALSO_CONTRIBUTOR)
NEW: Now we can edit amount on vat and salaries clone action
NEW: only get openned contact from liste_contact function, to not have acces to closed contact as mail receiver
NEW: operation type in email collector to load or create contact
NEW: option filter for NoSalesRepresentativeAffected in proposals list
NEW: Option to manage deposit slips for more payment modes (not only
NEW: Option to show column for field and line selection on the left
NEW: Order export : allow to export field 'shipment method'.
NEW: payment default values when supplier order created from reception
NEW: Payment : manage contracts
NEW: Possibility to link to German pages in help
NEW: presend mass action in contact list
NEW: product images on popup are cached
NEW: Provide the oldcopy value when calling setValueFrom() function with a trigger key
NEW: Accountancy: Quadratus export with attachments in accountancy export
NEW: referential objects of batch
NEW: remove default percentage for event creation url
NEW: remove keys whose table element is the same as element in map list
NEW: repair script skip views
NEW: Save date to invalidate other session into user table
NEW: search on time spent duration range
NEW: Send an email when ticket assigned
NEW: Send a notification email when ticket assigned
NEW: sepaStripe now creates the payment mode with type pm_ using new API
NEW: set payment default values when supplier order created from reception
NEW: Tickets: set ticket status to answered if the client has answered from the public interface
NEW: set today start time at beginning
NEW: Setup emailcollector easier. Can also use ! for negative search.
NEW: Show counter of access of website in website list
NEW: Show main currency in company info user tooltip
NEW: Show module into list of emails templates
NEW: Show picto into the combobox of widgets
NEW: Show supplier invoice ref of direct debit transfer tab invoices
NEW: show supplier name in getNomUrl of supplier order
NEW: sort of column of custom group of account
NEW: Stock limit for alert and desired optimal stock by product and warehouse import
NEW: substitute date now in email collector
NEW: Support different bank account for several direct debit payments
NEW: Support multiselect in the warehouse selection combo box
NEW: table llx_element_time to store time spent on several elements (mo, ticket...)
NEW: The batch for remind on due date can be setup for using validation date
NEW: The refresh link for imap collector is always visible
NEW: The upgrade process can be done by creating a file upgrade.unlock
NEW: Tooltip to explain how to add a photo on a product
NEW: Use a cache file for external RSS in calendar
NEW: Use by default the domain $dolibarr_main_url_root for SMTP HELO
NEW: use more recent model by default
NEW: VAT can be modified during add of line
NEW: write all fields and their properties in asciidoc format
NEW: Can add an array of several links in date selector
NEW: Add option PDF_SHOW_PHONE_AFTER_USER_CONTACT to show phone after specific assigned contact on PDF
NEW: Add option PDF_SHOW_EMAIL_AFTER_USER_CONTACT to show email after specific assigned contact on PDF
NEW: Widgets: Implement MAIN_ACTIVATE_FILECACHE on birthday widget
NEW: Widgets: Add widget "The next upcoming events"
NEW: Widgets: Add widget of open opportunities
NEW: Use an ajax component to swith prospection status on thidparty list
NEW: Comment on survey is possible only after vote.
NEW: Add partial payment reason "withholding tax"
NEW: A new tab for reception and shipment
NEW: Use the more recent PDF templates for documents by default on a fresh install
NEW: Better design for the page of discounts of a thirdparty

For developers or integrators:

NEW: Make it possible to select hours and minutes in form_confirm
NEW: add triggers on mailing
NEW: Add a trigger when create a shipping line batch and fix propagate missing errors
NEW: add function for listiong objects from directory
NEW: add helplist property to describe fields of objects
NEW: add hook in loadLotStock() in html.formproduct.class.php file, add hook 'llxFooter', Add hook online sign
NEW: Update lib parsedownto 1.7.4, phpspreadsheet lib to v1.12, ESCPOS v3.0, jquery, Stripe.
NEW: Support contact in post() document API
NEW: More APIs (update currency rate, upload of supplier documents, ...)
NEW: ModuleBuilder: updating in modulbuilder on tab Menu when adding object
NEW: ModuleBuilder: add/edit permissions
NEW: ModuleBuilder: better generated documentation
NEW: add sent info in the parameters provided to the hook sendMailAfter
NEW: add setAsSelectUser into factory for generic setup page
NEW: add option keepspace into dol_string_nospecialchar()


Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* Minimal PHP version is now PHP 7.1 instead of PHP 7.0
* The deprecated method "escapeunderscore()" of database handlers has been removed. You must use "escapeforlike()" instead.
* The method "nb_expedition()" has been renamed into "countNbOfShipments()" 
* Revert default type of hooks. Default is now 'addreplace' hooks (and exception become 'output' hooks, that become deprecated).
* Deprecated property libelle removed from entrepot class.
* The type 'text' in ->fields property dos not accept html content anymore. Use the type 'html' for that.
* The module for WebService SOAP API have been deprecated. Use instead the Webservice REST API module.
* The method htmlPrintOnlinePaymentFooter() used for public footer pages has been renamed into htmlPrintOnlineFooter() and moved into company.lib.php

Dolibarr ERP & CRM is Open Source software. You can download, use and redistribute it at any time. Do you want to test the latest version of Dolibarr?