Dolibarr 4.0.4
2 February 2017
Dolibarr version 4.0.4 is now available (major release).
Upgrading to Dolibarr 4.0.4
Dolibarr 4.0.4 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Dolibarr updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Dolibarr install to test the 4.0.4 upgrade prior to applying it live. Get started managing your Dolibarr installations with Installatron
What's New in Dolibarr 4.0.4
For users:
- NEW: Add reccuring invoice feature and automatic generation of invoices.
- NEW: Add module "Loan" as stable.
- NEW: Add module "Supplier commercial proposal" (price request) is set to stable status.
- NEW: Experimental module Accountancy Expert
- NEW: Experimental module Multicurency
- NEW: Show into badge on tab head the number of dedicated contacts for all objects.
- NEW: Add a checkbox to select/unselect all lines on page that support mass actions (like invoice list page)
- NEW: Add a new method for margin calculation. Added margin on "cost price" to margin on WAP price and margin on "best supplier price".
- NEW: Add an explanation message on shipment page to explain you can't make shipment if order is not validated
- NEW: Add date_rum into table of thirdparty bank account.
- NEW: The probability of lead/opportunity can be defined per lead.
- NEW: Added Malta VAT into migration script
- NEW: #4972 Translated Charges sociales (type 0) and Charges sociales (type 1) in reports page
- NEW: Add Expense report into accountancy report
- NEW: Add Expense report to approve into workboard
- NEW: Selection of boxes is move on top of home page
- NEW: Add filter on a keyword, status and nature into list of modules
- NEW: Add hidden option BANK_DISABLE_CHECK_DEPOSIT to disable check deposit feature.
- NEW: Add option MAIN_PUBLIC_NOTE_IN_ADDRESS
- NEW: add html id/class to locate value in the DOM html
- NEW: Add index on invoice status
- NEW: Add constant MAIN_LOGTOHTML to 0 into other setup by default to save time when we need to make debug on hosted instance.
- NEW: Add list of billed
- NEW: Add minimum stock and desired stock into import/export profiles.
- NEW: Add state into thirdparty export fields
- NEW: Add more trackable events (create, submit and receive supplier order).
- NEW: Add option MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN
- NEW: Add picto on module list to show warning and if module is an external module.
- NEW: add product type filter on turnover report
- NEW: Add state into list of fields available for personalized fields of thirdparties
- NEW: Add statistics for interventions module
- NEW: Add statistics on number of projets on home page
- NEW: Add stats and late records into dashboard for supplier proposals.
- NEW: Add the admin info on combo of type of contact
- NEW: Add the event BILL_PAYED to list of supported events for module notification.
- NEW: Add total weight and volume on PDF
- NEW: Add hidden option to hide column qty ordered on shipments.
- NEW: Add view of virtual stock into product list (when appropriate)
- NEW: Add warning on tasks when they are late (add also the warning tolerance parameter)
- NEW: Add weight/volume for one product into shipment export
- NEW: Add width and height on product table
- NEW: allow a document to be linked to project from another customer on config
- NEW: allow project to be shared across entities (for multicompany module)
- NEW: All variant of ckeditor config can be tested into the setup page of module.
- NEW: Can change dynamically number of records visible into lists.
- NEW: Can change type of extrafields for some combinations.
- NEW: Can define number of first and last line into import wizard.
- NEW: Can edit next execution date of a cron job.
- NEW: Can edit value date of a vat payment after recording it.
- NEW: Can filter modules on publisher
- NEW: Can filter on employee status when building emailing from users
- NEW: Can reopen an closed shipment
- NEW: Can search on shipments into the quick search box
- NEW: Can select dynamicaly number of lines to show on page on product, shipment, contact, orders, thirdparties
- NEW: Can select fields to show on supplier orders list.
- NEW: Can select fields to show on list also for list of customer orders, shipments and invoices.
- NEW: Can select fields to show on proposal lists.
- NEW: Can select language from combo list on page to overwrite a translation
- NEW: Can select number of lines on page list for projects and tasks.
- NEW: Can use ^ and $ (to say start with or end with like regex syntax) into search fields when search field is text. Bonus: ^$ can filter all lines with field not defined.
- NEW: Clean and enhance code for cron engine
- NEW: Can decrease stock on shipment closing/classifying (only if module lot is not enabled for the moment)
- NEW: Disabled users are striked.
- NEW: Enhance navigation of project module
- NEW: fichinter lines ordered by rang AND DATE
- NEW: hidden conf to use input file multiple from mail form
- NEW: hidden feature: SUPPLIERORDER_WITH_NOPRICEDEFINED allow supplier order even if no supplier price defined
- NEW: Hidden option MAIN_LANDING_PAGE to choose the first page to show after login works as a "global" option (llx_const) and as a "per user" option (llx_user_param).
- NEW: Holiday is a now a RH module. All RH module provides by default visilibity on users of its hierarchy.
- NEW: If error is reported during migration process, you can ignore it to avoid to be locked.
- NEW: if nb total of lines provided in print barre_liste, display in title
- NEW: If option to see non stable modules is on, add a filter into module list to filter on level (deprecated, experimental, development)
- NEW: Include number of linked files into badge counter of "Linked files" tab.
- NEW: Include sales representative into export of thirdparties
- NEW: Indicator on workboard are red/green if late or not.
- NEW: Into GED module, filename is truncated only if there is not enough space into table
- NEW: Introduce a predefined job to run database backup
- NEW: Introduce option MAIN_WEIGHT_DEFAULT_UNIT and MAIN_VOLUME_DEFAULT_UNIT to force output unit for weight and volume.
- NEW: Introduce position of records into dictionnary of type of contacts
- NEW: Link on user in leave context reach to leave tab.
- NEW: List of user in agenda view per user show photo thumb
- NEW: Margins module - Check/update buying price on invoice lines
- NEW: Merge all admin tools (system and module admin tools) into same entry "Admin tools", so now things are clear: All features restricted to an admin user is inside "setup" (for setup) or "admin tools" (for action tools) instead of 3 different entries.
- NEW: Merge all boxes "related objects" into one. This save a lot of room on most card and avoid often horizontal scoll.
- NEW: Moved code that deals with bank categories to BankCateg. Created BankCateg::fetchAll function
- NEW: Move Expense report menu from module to menu files
- NEW: Move HRM dictionary from module to core dictionaries
- NEW: Mutualize code to manage email substitution variables. Show available variables into page to edit email templates.
- NEW: Mutualize code: Use one call of function "addThumbs", when possible, to generate thumbs files instead of several call of "vignette" function.
- NEW: On translation admin page, admin can overwrite a translation value.
- NEW: Option MAIN_LIST_FILTER_ON_DAY is supported on proposal list
- NEW: Add reputation field for price supplier
- NEW: Rest API token is no more reset at each call. We can reset it with param reset=1 on login call.
- NEW: Selection of fields is available on member list.
- NEW: Show a badge with number of withdraw requests done on the withdraw tab of invoice.
- NEW: Add option to show detail per warehouse into reassort
- NEW: Show total number of modules into the module list
- NEW: Survey system has now a status like other objects. You can close or reopen a survey.
- NEW: The note on time spent can be entered when using the view per day.
- NEW: Use ellipsis truncation on too large left menu text
- NEW: When a new field to show into lists is selected, the form is automatically submited and field added.
- NEW: When creating a template invoice from a draft invoice, if there is link to contract on draft invoice, link is kept on template invoice.
- NEW: When emailing is not sent completely, show progression.
For developers:
- NEW: Add a css class style called 'reposition', so when clicking on a link with this class will move scrollbarr to be placed at same page location.
- NEW: TimeZone can be supplied to mktime
- NEW: hook in shipment card
- NEW: Deprecated Societe::set_prospect_level, Societe::set_commnucation_level, Societe::set_OutstandingBill functions
- NEW: A module can add, into its import profiles, a sql request to execute at end of import. This allow to update dernormalized data after import.
- NEW: Add hook pdf_build_address
- NEW: Add a parameter on graph function to show a generic graph when no data are available.
- NEW: Add $object in parameter of pdf_build_address so we could include hook into the function.
- NEW: Add a tool for developers to purge database with no loose of setup
- NEW: Can disable a module by renaming dir of module into module.disabled (this save time for maintenance when working with FTP).
- NEW: Created AccountLine::insert function and started using it for transaction creation
- NEW: Created Account::__toString, Account::getFieldsToShow and Account::getAccountNumberOrder to refactor the way account number was shown
- NEW: Created FormBank::getIBANLabel function to get the label of "IBAN" depending on bank account country
- NEW: prepare for additional warehouse statuses
- NEW: project sharing in select_projetcs_list function
- NEW: Removed deprecated CommonObject::client property. Please use CommonObject::thirdparty instead
- NEW: Removed unused FormOrder::selectSourcesCommande function
- NEW: Renamed ActionComm::add function to ActionComm::create
- NEW: Rename Form::select_date to Form::selectDate and Form::form_date to Form::formDate
- NEW: Rename path for generiN
- NEW: More phpunit tests. Include some REST API into automatic tests.
WARNING: Dolibarr 4.0 should be compatible with PHP 7 but more feedbacks are still expected to confirm that. Following changes may create regression for some external modules, but were necessary to make Dolibarr better:
- Function log() of class CommandeFournisseur has been removed. Using it is no more required.
- Class Resource was renamed into DolResource to avoid conflict with a reserved PHP word.
- Method commonobject->add_thumb() has been renamed into commonobject->addThumbs().
- Method select_type_comptes_financiers() has been renamed into selectTypeOfBankAccount()
- Property ->client that was deprecated 6 years ago, is replaced in all core code with ->thirdparty.
- File '/core/tpl/document_actions_pre_headers.tpl.php' were renamed into '/core/actions_linkedfiles.inc.php'.
- So if you included it into your module, change your code like this to be compatible with all version: $res=@include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; if (! $res) include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php';