diff --git a/.editorconfig b/.editorconfig
index 3c4bd7d679d..3e3bd16bb34 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,7 +1,8 @@
-# EditorConfig is awesome: http://EditorConfig.org
+# EditorConfig is awesome: https://editorconfig.org
# top-most EditorConfig file
root = true
+
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
@@ -11,9 +12,10 @@ insert_final_newline = true
# PHP PSR-2 Coding Standards
# http://www.php-fig.org/psr/psr-2/
[*.php]
-indent_style = space
+indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
+insert_final_newline = true
[*.js]
indent_style = tab
[*.css]
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 578bd592a75..19c076242f8 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -113,13 +113,16 @@ Also, some code changes need a prior approbation:
* if you add a new table, you must first create a page on http://wiki.dolibarr.org/index.php/Category:Table_SQL (copy an existing page changing its name to see it into this index page). Than ask the project manager (@eldy) if the new data model you plan to add can be accepted as you suggest.
-Once a PR has been submitted, you may need to wait for its integration. It is common that the project leader let the PR open for a long delay to allow
-every developer discuss about the PR.
-If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later.
-If the PR is valid, and is kept open for a long time, a tag will also be added on the PR to describe the status of your PR.
-By putting your mouse on the tag, you will get a full explanation of the tag/status that explain why your PR has not been integrated yet.
-Around 95% of submitted PR are reviewed and tagged. Even if this is one of the most important ratio in Open Source world, don't expect the core team
-to reach the 100%. With the increasing popularity of Dolibarr, this ratio will probably decrease in future.
+Once a PR has been submitted, you may need to wait for its integration. It is common that the project leader let the PR open for a long delay to allow every developer discuss about the PR.
+
+If the label of PR start with "WIP" (Work In Progress), it will not be analyzed (until you change the label of PR).
+
+If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later. Don't expect anything on your PR if you have such errors, you MUST first fix the Continuous Integration error to have it taken into consideration.
+
+If the PR is valid, and is kept open for a long time, a tag will also be added on the PR to describe the status of your PR and why the PR is kept open. By putting your mouse on the tag, you will get a full explanation of the tag/status that explain why your PR has not been integrated yet.
+In most cases, it gives you information of things you have to do to have the PR taken into consideration (for example a change is requested, a conflict is expected to be solved, some questions were asked). If you have a yellow, red flag of purple flag, don't expect to have your PR validated. You must first provide the answer the flag ask you. The majority of PR are waiting an action of the developer/author.
+
+Statistics on Dolibarr project shows that around 95% of submitted PR are reviewed and tagged. This is one of the most important ratio of answered PR in Open Source world. Don't expect the core team to reach the 100%. With the increasing popularity of Dolibarr, this ratio will probably decrease in future.
### Resources
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 00000000000..186b20a051d
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,5 @@
+# These are supported funding model platforms
+
+open_collective: dolibarr
+custom: https://wiki.dolibarr.org/index.php/Subscribe
+# github: [eldy]
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/bug_report.md
similarity index 78%
rename from .github/ISSUE_TEMPLATE.md
rename to .github/ISSUE_TEMPLATE/bug_report.md
index a105eed20ea..432f30f2332 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,8 +1,16 @@
+---
+name: Bug report
+about: Create a report to help us fix something that is broken
+title: ''
+labels: Bug
+assignees: ''
+
+---
+
# Instructions
*This is a template to help you report good issues. You may use [Github Markdown](https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github/) syntax to format your issue report.*
*Please:*
-- *only keep the "Bug" or "Feature Request" section*
-- *replace the bracket enclosed texts with meaningful informations*
+- *replace the bracket enclosed texts with meaningful information*
- *remove any unused sub-section*
@@ -25,17 +33,3 @@
## [Attached files](https://help.github.com/articles/issue-attachments) (Screenshots, screencasts, dolibarr.log, debugging informations…)
[*Files*]
-
-
-
-# Feature Request
-[*Short description*]
-
-## Use case
-[*Verbose description*]
-
-## Suggested implementation
-[*Verbose description*]
-
-## Suggested steps
-[*List of tasks to achieve goal*]
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 00000000000..32e2deff2c1
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,27 @@
+---
+name: Feature request
+about: Suggest a new idea for this project
+title: ''
+labels: Feature request
+assignees: ''
+
+---
+
+# Instructions
+*This is a template to help you report good issues. You may use [Github Markdown](https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github/) syntax to format your issue report.*
+*Please:*
+- *replace the bracket enclosed texts with meaningful information*
+- *remove any unused sub-section*
+
+
+# Feature Request
+[*Short description*]
+
+## Use case
+[*Verbose description*]
+
+## Suggested implementation
+[*Verbose description*]
+
+## Suggested steps
+[*List of tasks to achieve goal*]
diff --git a/.scrutinizer.yml b/.scrutinizer.yml
index 831aa15c68a..7c43ab24aef 100644
--- a/.scrutinizer.yml
+++ b/.scrutinizer.yml
@@ -1,4 +1,13 @@
# .scrutinizer.yml
+#build:
+# - php-scrutinizer-run
+build:
+ nodes:
+ analysis:
+ tests:
+ override:
+ - php-scrutinizer-run
+
imports:
- javascript
- php
@@ -29,6 +38,7 @@ tools:
- doc/*
- test/*
- htdocs/includes/*
+ - htdocs/core/class/lessc.class.php
paths:
- htdocs/
- scripts/
diff --git a/.stickler.yml b/.stickler.yml
new file mode 100644
index 00000000000..b68804448b2
--- /dev/null
+++ b/.stickler.yml
@@ -0,0 +1,10 @@
+---
+linters:
+ phpcs:
+ standard: 'dev/setup/codesniffer/ruleset.xml'
+ extensions: 'php'
+ tab_width: 4
+ fixer: true
+
+fixers:
+ enable: true
diff --git a/.travis.yml b/.travis.yml
index 63e48a051f0..cccc1efe1c4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,9 +18,7 @@ addons:
apt:
sources:
# To use the last version of pgloader, we add repo of postgresql
- - postgresql
- - sourceline: 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main'
- - key_url: 'https://www.postgresql.org/media/keys/ACCC4CF8.asc'
+ - pgdg-trusty
packages:
# We need a webserver to test the webservices
# Let's install Apache with.
@@ -112,32 +110,33 @@ install:
rm $TRAVIS_BUILD_DIR/composer.json
rm $TRAVIS_BUILD_DIR/composer.lock
composer self-update
+ # To have composer making parallel downloads
+ composer global require hirak/prestissimo
composer -n init
composer -n config vendor-dir htdocs/includes
echo
- |
- echo "Installing Parallel Lint"
- composer -n require jakub-onderka/php-parallel-lint ^0
- composer -n require jakub-onderka/php-console-highlighter ^0
- echo
-
-- |
- echo "Installing PHP Unit"
+ echo "Installing Composer dependencies (PHP Unit, Parallel Lint & PHP CodeSniffer"
if [ "$TRAVIS_PHP_VERSION" = '5.4' ] || [ "$TRAVIS_PHP_VERSION" = '5.5' ]; then
- composer -n require phpunit/phpunit ^4
+ composer -n require phpunit/phpunit ^4 \
+ jakub-onderka/php-parallel-lint ^0 \
+ jakub-onderka/php-console-highlighter ^0 \
+ squizlabs/php_codesniffer ^3
fi
- if [ "$TRAVIS_PHP_VERSION" = '5.6' ] || [ "$TRAVIS_PHP_VERSION" = '7.0' ] || [ "$TRAVIS_PHP_VERSION" = '7.1' ]; then
- composer -n require phpunit/phpunit ^5
+ if [ "$TRAVIS_PHP_VERSION" = '5.6' ] || [ "$TRAVIS_PHP_VERSION" = '7.0' ] || [ "$TRAVIS_PHP_VERSION" = '7.1' ] \
+ [ "$TRAVIS_PHP_VERSION" = '7.2' ] || [ "$TRAVIS_PHP_VERSION" = '7.3' ]; then
+ composer -n require phpunit/phpunit ^5 \
+ jakub-onderka/php-parallel-lint ^0 \
+ jakub-onderka/php-console-highlighter ^0 \
+ squizlabs/php_codesniffer ^3
fi
- if [ "$TRAVIS_PHP_VERSION" = '7.2' ] || [ "$TRAVIS_PHP_VERSION" = '7.3' ] || [ "$TRAVIS_PHP_VERSION" = 'nightly' ]; then
- composer -n require phpunit/phpunit ^5
- fi
- echo
-
-- |
- echo "Installing PHP CodeSniffer"
- composer -n require squizlabs/php_codesniffer ^3
+ if [ "$TRAVIS_PHP_VERSION" = 'nightly' ]; then
+ composer -n require --ignore-platform-reqs phpunit/phpunit ^5 \
+ jakub-onderka/php-parallel-lint ^0 \
+ jakub-onderka/php-console-highlighter ^0 \
+ squizlabs/php_codesniffer ^3
+ fi
echo
- |
@@ -164,12 +163,6 @@ before_script:
echo
echo "Set timezone"
echo 'date.timezone = "Europe/Paris"' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
- if [ "$TRAVIS_PHP_VERSION" = '5.4' ]; then
- # Documentation says it should be available for all PHP versions but it's not for 5.5 and 5.6, 7.0, 7.1, 7.2 and nightly!
- echo
- echo "Enabling Memcached for PHP <= 5.4"
- echo 'extension = memcached.so' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
- fi
phpenv rehash
echo
@@ -252,8 +245,6 @@ before_script:
- echo "Setting up Apache + FPM"
- - sudo apt-get update
- - sudo apt-get install apache2 libapache2-mod-fastcgi
# enable php-fpm
- sudo cp ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf.default ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf
- |
@@ -294,17 +285,17 @@ script:
# Ensure we catch errors
set -e
#parallel-lint --exclude htdocs/includes --blame .
- parallel-lint --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/phpexcel/Classes/PHPExcel/Shared --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian --exclude htdocs/includes/squizlabs/php_codesniffer/tests --exclude htdocs/includes/jakub-onderka/php-parallel-lint/tests --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/php-token-stream/tests --exclude htdocs/includes/composer/autoload_static.php --blame .
+ parallel-lint --exclude dev/namespacemig --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/phpexcel/Classes/PHPExcel/Shared --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian --exclude htdocs/includes/squizlabs/php_codesniffer/tests --exclude htdocs/includes/jakub-onderka/php-parallel-lint/tests --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/php-token-stream/tests --exclude htdocs/includes/composer/autoload_static.php --blame .
set +e
echo
- |
- echo "Checking coding style"
+ echo "Checking coding style (excluding Pull Requests builds)"
# Ensure we catch errors
set -e
# Exclusions are defined in the ruleset.xml file
#phpcs -s -n -p -d memory_limit=-1 --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 .
- phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .
+ if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .; fi
set +e
echo
@@ -350,6 +341,9 @@ script:
php upgrade.php 9.0.0 10.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade9001000.log
php upgrade2.php 9.0.0 10.0.0 > $TRAVIS_BUILD_DIR/upgrade9001000-2.log
php step5.php 9.0.0 10.0.0 > $TRAVIS_BUILD_DIR/upgrade9001000-3.log
+ php upgrade.php 10.0.0 11.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade9001000.log
+ php upgrade2.php 10.0.0 11.0.0 > $TRAVIS_BUILD_DIR/upgrade9001000-2.log
+ php step5.php 10.0.0 11.0.0 > $TRAVIS_BUILD_DIR/upgrade9001000-3.log
# Enable modules not enabled into original dump
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKETSUP,MAIN_MODULE_ACCOUNTING > $TRAVIS_BUILD_DIR/enablemodule.log
echo $?
diff --git a/COPYRIGHT b/COPYRIGHT
index 510bf5d3b4f..b9560cdaa45 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -13,32 +13,31 @@ Component Version License GPL Compatible
-------------------------------------------------------------------------------------
PHP libraries:
AdoDb-Date 0.36 Modified BSD License Yes Date convertion (not into rpm package)
-ChromePHP 4.1.0 Apache Software License 2.0 Yes Return server log to chrome browser console
-CKEditor 4.11.4 LGPL-2.1+ Yes Editor WYSIWYG
-PHPDebugBar 1.15.0 MIT License Yes Used only by the module "debugbar" for developers
+CKEditor 4.12.1 LGPL-2.1+ Yes Editor WYSIWYG
EvalMath 1.0 BSD Yes Safe math expressions evaluation
Escpos-php ? MIT License Yes Thermal receipt printer library, for use with ESC/POS compatible printers
GeoIP 1.4 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package)
-Mobiledetect 2.8.17 MIT License Yes Detect mobile devices browsers
+Mobiledetect 2.8.83 MIT License Yes Detect mobile devices browsers
NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package)
PEAR Mail_MIME 1.8.9 BSD Yes NuSoap dependency
-odtPHP 1.0.1 GPL-2+ Yes Library to build/edit ODT files
ParseDown 1.6 MIT License Yes Markdown parser
+PHPDebugBar 1.15.0 MIT License Yes Used only by the module "debugbar" for developers
PHPExcel 1.8.1 LGPL-2.1+ Yes Read/Write XLS files, read ODS files
PHPSpreadSheet ? LGPL-2.1+ Yes Read/Write XLS files, read ODS files
php-iban 1.4.7 LGPL-3+ Yes Parse and validate IBAN (and IIBAN) bank account information in PHP
PHPoAuthLib 0.8.2 MIT License Yes Library to provide oauth1 and oauth2 to different service
PHPPrintIPP 1.3 GPL-2+ Yes Library to send print IPP requests
PSR/Logs 1.0 Library for logs (used by DebugBar)
-PSR/simple-cache Library for cache (used by PHPSpreadSheet)
+PSR/simple-cache ? Library for cache (used by PHPSpreadSheet)
Restler 3.0.0RC6 LGPL-3+ Yes Library to develop REST Web services (+ swagger-ui js lib into dir explorer)
+Sabre 3.2.2 BSD Yes DAV support
+Swift Mailer 5.4.2-DEV MIT license Yes Comprehensive mailing tools for PHP
+Stripe 6.41 MIT licence Yes Library for Stripe module
TCPDF 6.2.25 LGPL-3+ Yes PDF generation
TCPDI 1.0.0 LGPL-3+ / Apache 2.0 Yes FPDI replacement
-Swift Mailer 5.4.2-DEV MIT license Yes Comprehensive mailing tools for PHP
-Stripe 4.7.0 MIT licence Yes Library for Stripe module
JS libraries:
-jQuery 3.3.1 MIT License Yes JS library
+jQuery 3.4.1 MIT License Yes JS library
jQuery UI 1.12.1 GPL and MIT License Yes JS library plugin UI
jQuery select2 4.0.5 GPL and Apache License Yes JS library plugin for sexier multiselect
jQuery blockUI 2.70.0 GPL and MIT License Yes JS library plugin blockUI (to use ajax popups)
diff --git a/ChangeLog b/ChangeLog
index bbd12d6325c..b8a3fea2ce9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,25 +3,504 @@ English Dolibarr ChangeLog
--------------------------------------------------------------
+***** ChangeLog for 11.0.0 compared to 10.0.0 *****
+For Users:
+
+
+For Developers:
+
+
+WARNING:
+
+Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
+* Properties ->libelle_incoterms were renamed into ->label_incoterms
+* Removed the method liste_array() of project class. It was not used by core code.
+* The function show_theme() hase been renamed into showSkins()
+* Rename 'module_part' parameter into 'modulepart' into document APIs, for consistency.
+* The deprecated method get_OutstandingBill has been removed. You can use getOutstandingBills() instead.
+* The hook "moreFamily" must return payment into var "totalpayment" and no more "paiement" (english replace french).
+* Removed deprecated method actioncomm->add(), use create() instead
+* If you have developed your own emailing target selector and used parent::add_to_target(...), you must now use parent::addToTargets(...)
+* Removed function dol_micro_time. Use native PHP microtime instead.
+
+
+***** ChangeLog for 10.0.2 compared to 10.0.1 *****
+
+FIX: #10460 compatibility with MariaDB 10.4
+FIX: #11401 Adherent unknown language key
+FIX: #11422 Can't edit his own events with standard rights
+FIX: #11427 require product class (fixes POST /supplierinvoices REST API endpoint)
+FIX: #11570
+FIX: #11591 FIX: #11592
+FIX: #11671 CVE-2019-15062
+FIX: #11672
+FIX: #11685
+FIX: #11702
+FIX: #11711
+FIX: #11720
+FIX: #11746 Unable to modify amount of insurance of a loan
+FIX: #11752
+FIX: #11789 FIX: #11790
+FIX: #11804 list of tickets from a customer card display ALL tickets
+FIX: #11834
+FIX: Add char $ and ; in sanitizing of filenames.
+FIX: Add comment before protected functions
+FIX: Add log and type of content in dolWebsiteOutput and
+FIX: Add repair.php option 'restore' to restore user picture after v10
+FIX: amount opened on thirdparty card dont care of credit note not converted
+FIX: Api of documents work with value 'thirdparty'
+FIX: author in message / ticket API
+FIX: avoid sql error if fk_project is empty during update
+FIX: avoid Warning: A non-numeric value encountered
+FIX: bad consistency in list of invoice for direct debit order.
+FIX: Bad error management in zip compress and web site export
+FIX: bad substitution for extrafields type checkbox
+FIX: better help message with multicompany
+FIX: calculation of $products_dispatched
+FIX: Can't add a new chart of account
+FIX: Can't delete a draft leave even if it should
+FIX: Can't save setup of mailman module
+FIX: column jabberid missing
+FIX: Confirmation of deletion
+FIX: Consistency in direct debit order lists.
+FIX: Content send before header warning
+FIX: credit note can be split
+FIX: credit note used on list
+FIX: Css was saved on wrong website.
+FIX: delivery extrafields
+FIX: Disabling a website does not put it offline
+FIX: display only stripe sources for customer
+FIX: display payment intent in stripe's charge list
+FIX: document list for products in API
+FIX: dol_thirdparty_id for stripe PI
+FIX: Do not show tooltip if tooltip is empty
+FIX: duplicate css tag, decrease padding-bottom for boxes in eldy theme
+FIX: duration when creating service
+FIX: EDB-ID:47370
+FIX: Enable web site
+FIX: error management when adding a property with type real
+FIX: Fatal situation if payment removed on expense report. Action
+FIX: filepath of generated documents doesn't handle products with special characters
+FIX: for MAIN_MAXTABS_IN_CARD = $i card
+FIX: gzip and bzip2 must use option -f
+FIX: It was possible to create cashfence without entering data.
+FIX: javascript error when using dol_use_jmobile=1
+FIX: logout redirect to takepos.php
+FIX: Look and feel v10
+FIX: Make protected all pfd models functions
+FIX: management of extrafields in modulebuilder
+FIX: Missing div for buttons in tax, loan, various payment modules
+FIX: missing include (dol_convert_file not found)
+FIX: Missing some replacements in website module
+FIX: missing test on permission on button to delete ledger record
+FIX: Missing the filter fields in export of expense report and leaves
+FIX: Missing ticket icon on md theme
+FIX: Missing transaction
+FIX: Mode smartphone was not triggered when there is too loo menu
+FIX: Must escape shell
+FIX: Must exclude logs and some dirs for compressed backup
+FIX: name and position of hook FIX: #11710
+FIX: Not showing MAIN_INVERT_SENDER_RECIPIENT when edit field
+FIX: Nowrap missing on amount in boxes
+FIX: Option to use ZipArchive instead of PclZip bugged with large files.
+FIX: order or proposals billed if both workflow conf activated
+FIX: permission check on API intervention
+FIX: phpcs
+FIX: placement function
+FIX: qty in invoice list on product's stats
+FIX: remove disabled product type from product list
+FIX: Return code of pdf_einstein.modules.php and proformat
+FIX: round for application fee in stripe
+FIX: Sens of the balance (Debit - Credit in accountancy not contrary)
+FIX: Several pb in export of documents
+FIX: SQL syntax error and CSRF check on vat reports
+FIX: takepos layout clear or focus search
+FIX: too many record in sql request. Whena criteria is a filter, we must
+FIX: Translation of month
+FIX: USEDOLIBARREDITOR not always set
+FIX: VAT number for Monaco (it uses FR)
+FIX: vulenrability in uploading file found by 美创科技安全实验室
+FIX: wrong display (and hidden input) for already dispatched quantity
+FIX: wrong parameters (same error in branch 9, 10, develop)
+FIX: Wrong variable. Must be PROJECT_HIDE_UNSELECTABLES
+
+***** ChangeLog for 10.0.1 compared to 10.0.0 *****
+FIX: #10930
+FIX: #10984
+FIX: reposition on "Build backup" button
+FIX: #11400
+FIX: #11412
+FIX: #11460
+FIX: #11463
+FIX: #11466
+FIX: #11492
+FIX: #11498
+FIX: #11505
+FIX: #11506
+FIX: #11507
+FIX: #11509
+FIX: #11537
+FIX: #11543
+FIX: #11553
+FIX: #11576
+FIX: #11584
+FIX: #11590
+FIX: accounting mode must be taken from global conf, because there's no way to choose a mode with interface
+FIX: Add message from public interface
+FIX: add missing hook calls
+FIX: Add warning when setup is strange
+FIX: ajax call for line positioning when CSRFCHECK_WITH_TOKEN is on
+FIX: API return 404 sometimes even if API exists
+FIX: Attachment was lost when we validate an expense report
+FIX: avoid conflict with "$classname" in card.php
+FIX: Bad sql request
+FIX: better compatibility with multicompany transverse mode
+FIX: Better PHP compatibility
+FIX: Block to link with tickets
+FIX: Can't submit a ticket from public interface
+FIX: categories import: prevent mismatch between category type and object type
+FIX: Closing ticket from public interface
+FIX: Column 'paid' missing in expense report
+FIX: compatibility mysql 8. rank is reserved
+FIX: Computed field were not calculated into lists.
+FIX: Content of email for subscription
+FIX: correct error in files with multiple spaces
+FIX: CVE-2019-11199
+FIX: delete of links between objects
+FIX: div not balanced
+FIX: do not return formatted prices in json string
+FIX: duplicate on the check (TODO field $onetrtd not used ?)
+FIX: element name in update_price
+FIX: empty product_use_units in product configuration
+FIX: expedition card: infinite loop for printObjectLine hook if return > 0
+FIX: extrafield loading bug due to assumption that an object is a third party while it may be a contact if MAIN_USE_COMPANY_NAME_OF_CONTACT is set.
+FIX: Fatal error on dol_htmloutput_mesg with corrupted array
+FIX: Fatal situation if payment removed on expense report. Action
+FIX: FEC Format - Missing date_creation in general ledger when you add a new transaction
+FIX: FEC Format - Save translation of the journal label in database & nowrap on amount
+FIX: floating point precision errors in the triggers of the workflow module
+FIX: for #11232
+FIX: format of field with type timestamp
+FIX: fournrprice log for insert
+FIX: help text
+FIX: import filter error
+FIX: __INFOS__ tag not exists
+FIX: issue #9300: install error with PostgreSQL when using custom table prefix
+FIX: Language key
+FIX: Limit of uploaded files (max_post_size was not used)
+FIX: list of balance of leaves
+FIX: minor spelling issues
+FIX: missing "dropdown-icon" replacement
+FIX: Missing field "Conciliated" into bank transaction export
+FIX: missing filter by current contact
+FIX: missing token
+FIX: Missing where on entity
+FIX: move sql request in INNER JOIN
+FIX: name was able to be in field but went back to new line
+FIX: Nowrap on amount
+FIX: Online payment
+FIX: on shipment delete confirm dialog, a new checkbox allows the user to choose if they want their stock re-incremented after the deletion.
+FIX: option EXPORT_LABEL_FOR_SELECT to restore compatibility in export
+FIX: Option THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION
+FIX: outdated phpdoc
+FIX: Permission for BOM menu
+FIX: permission to delete a draft purchase order
+FIX: phpcs
+FIX: Position was lost when we edit the line of template invoice
+FIX: product_use_units was set to 0 each time a conf in block other was set
+FIX: propal createFrom hook: undefined parameter attached
+FIX: Responsive of public interface of ticket
+FIX: search by phone pro
+FIX: Setup of TakePos was not possible after a clean install
+FIX: Show list of events on tickets
+FIX: socpeople assigned list in action com list
+FIX: SQL problem on donation & nowrap on amount
+FIX: stock increase on shipment deletion if STOCK_CALCULATE_ON_SHIPMENT_NEW: is set
+FIX: stripe webhook ID constant set
+FIX: summary of time spent in preview tab of projects
+FIX: the feature to bill time spent was not enabled.
+FIX: The new feature to attach document on lines was not correclty
+FIX: The proposed new supplier code does not work
+FIX: this function can not be private
+FIX: tk9877 - PDF rouget requires product.lib.php (otherwise measuring_units_string() is not defined)
+FIX: Update the file index table when we validate/rename a ref.
+FIX: use rounding to compare the amounts
+FIX: We must save code instead of value in database for template invoice modelpdf
+FIX: we need to be able to add freeline with qty between 0 & 1 in supplierorder line
+FIX: We should remove property comments only for project and task api.
+FIX: When saving an action it didn't save the label based on the type of event if the label is empty and the type is customized
+FIX: when STOCK_CALCULATE_ON_SHIPMENT_NEW: is set, deleting a "closed" shipment now increases stock as expected
+FIX: wrong path sociales/index.php doesnt exist anymore
+
+
+***** ChangeLog for 10.0.1 compared to 10.0.0 *****
+FIX: #10930
+FIX: #10984
+FIX: reposition on "Build backup" button
+FIX: #11400
+FIX: #11412
+FIX: #11460
+FIX: #11463
+FIX: #11466
+FIX: #11492
+FIX: #11498
+FIX: #11505
+FIX: #11506
+FIX: #11507
+FIX: #11509
+FIX: #11537
+FIX: #11543
+FIX: #11553
+FIX: #11576
+FIX: #11584
+FIX: #11590
+FIX: accounting mode must be taken from global conf, because there's no way to choose a mode with interface
+FIX: Add message from public interface
+FIX: add missing hook calls
+FIX: Add warning when setup is strange
+FIX: ajax call for line positioning when CSRFCHECK_WITH_TOKEN is on
+FIX: API return 404 sometimes even if API exists
+FIX: Attachment was lost when we validate an expense report
+FIX: avoid conflict with "$classname" in card.php
+FIX: Bad sql request
+FIX: better compatibility with multicompany transverse mode
+FIX: Better PHP compatibility
+FIX: Block to link with tickets
+FIX: Can't submit a ticket from public interface
+FIX: categories import: prevent mismatch between category type and object type
+FIX: Closing ticket from public interface
+FIX: Column 'paid' missing in expense report
+FIX: compatibility mysql 8. rank is reserved
+FIX: Computed field were not calculated into lists.
+FIX: Content of email for subscription
+FIX: correct error in files with multiple spaces
+FIX: CVE-2019-11199
+FIX: delete of links between objects
+FIX: div not balanced
+FIX: do not return formatted prices in json string
+FIX: duplicate on the check (TODO field $onetrtd not used ?)
+FIX: element name in update_price
+FIX: empty product_use_units in product configuration
+FIX: expedition card: infinite loop for printObjectLine hook if return > 0
+FIX: extrafield loading bug due to assumption that an object is a third party while it may be a contact if MAIN_USE_COMPANY_NAME_OF_CONTACT is set.
+FIX: Fatal error on dol_htmloutput_mesg with corrupted array
+FIX: Fatal situation if payment removed on expense report. Action
+FIX: FEC Format - Missing date_creation in general ledger when you add a new transaction
+FIX: FEC Format - Save translation of the journal label in database & nowrap on amount
+FIX: floating point precision errors in the triggers of the workflow module
+FIX: for #11232
+FIX: format of field with type timestamp
+FIX: fournrprice log for insert
+FIX: help text
+FIX: import filter error
+FIX: __INFOS__ tag not exists
+FIX: issue #9300: install error with PostgreSQL when using custom table prefix
+FIX: Language key
+FIX: Limit of uploaded files (max_post_size was not used)
+FIX: list of balance of leaves
+FIX: minor spelling issues
+FIX: missing "dropdown-icon" replacement
+FIX: Missing field "Conciliated" into bank transaction export
+FIX: missing filter by current contact
+FIX: missing token
+FIX: Missing where on entity
+FIX: move sql request in INNER JOIN
+FIX: name was able to be in field but went back to new line
+FIX: Nowrap on amount
+FIX: Online payment
+FIX: on shipment delete confirm dialog, a new checkbox allows the user to choose if they want their stock re-incremented after the deletion.
+FIX: option EXPORT_LABEL_FOR_SELECT to restore compatibility in export
+FIX: Option THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION
+FIX: outdated phpdoc
+FIX: Permission for BOM menu
+FIX: permission to delete a draft purchase order
+FIX: phpcs
+FIX: Position was lost when we edit the line of template invoice
+FIX: product_use_units was set to 0 each time a conf in block other was set
+FIX: propal createFrom hook: undefined parameter attached
+FIX: Responsive of public interface of ticket
+FIX: search by phone pro
+FIX: Setup of TakePos was not possible after a clean install
+FIX: Show list of events on tickets
+FIX: socpeople assigned list in action com list
+FIX: SQL problem on donation & nowrap on amount
+FIX: stock increase on shipment deletion if STOCK_CALCULATE_ON_SHIPMENT_NEW: is set
+FIX: stripe webhook ID constant set
+FIX: summary of time spent in preview tab of projects
+FIX: the feature to bill time spent was not enabled.
+FIX: The new feature to attach document on lines was not correclty
+FIX: The proposed new supplier code does not work
+FIX: this function can not be private
+FIX: tk9877 - PDF rouget requires product.lib.php (otherwise measuring_units_string() is not defined)
+FIX: Update the file index table when we validate/rename a ref.
+FIX: use rounding to compare the amounts
+FIX: We must save code instead of value in database for template invoice modelpdf
+FIX: we need to be able to add freeline with qty between 0 & 1 in supplierorder line
+FIX: We should remove property comments only for project and task api.
+FIX: When saving an action it didn't save the label based on the type of event if the label is empty and the type is customized
+FIX: when STOCK_CALCULATE_ON_SHIPMENT_NEW: is set, deleting a "closed" shipment now increases stock as expected
+FIX: wrong path sociales/index.php doesnt exist anymore
***** ChangeLog for 10.0.0 compared to 9.0.0 *****
For Users:
NEW: Module "Ticket" is available as a stable module.
-NEW: module "Email Collector" is available as a stable module.
-NEW: module "TakePOS" is available as a stable module.
+NEW: Module "Email Collector" is available as a stable module.
+NEW: Module "TakePOS" is available as a stable module.
NEW: Experimental module "Vendor receptions".
NEW: Experimental module "BOM".
-FIX: Disallow line start date if after end date.
+NEW: Accounting - Add default accounting account for member subcriptions.
+NEW: Accounting - More comprehensive menu.
+NEW: Agenda/event - add description column available in list (hidden by default).
+NEW: Add accounting account for result.
+NEW: Add accounting code for EEC sales and export sales on products.
+NEW: Add a security permission to edit php dynamic content on the WebSite module.
+NEW: Attached document on bank account are now visible in automatic ECM.
+NEW: Add Autofill Remainder Amount picto on the Expense Report Payment Page.
+NEW: Add contact status in category export
+NEW: Add Default Warehouse to user record (if module stock is on)
+NEW: Add employee/user to subledger account list
+NEW: Add gender in member card
+NEW: Add getFormatedCustomerRef and getFormatedSupplierRef methods
+NEW: Add history to view and print previous sales on TakePos.
+NEW: Add import of accounting account for intra/export selling on product card
+NEW: Adding code to show update date of supplier price shown
+NEW: Add line total on list of payments
+NEW: Add LinkedIn field in social network module
+NEW: Add more complete error messages in log on stripe payments
+NEW: Add no_email field in contact list
+NEW: Add notes are show in tooltips
+NEW: Add option DONATION_USE_THIRDPARTIES in admin of membership module
+NEW: Add option STOCK_SHOW_VIRTUAL_STOCK_IN_PRODUCTS_COMBO
+NEW: add page to setup opening hours of the company
+NEW: add payments table to pdf of expense report
+NEW: add payment terms to invoices list
+NEW: Add picto of deletion on mass action combo lists
+NEW: add product extrafields available into shipping export
+NEW: add ref supplier on supplier invoice
+NEW: Add stats on entries & movements by fiscal year
+NEW: Add subledger in various payment module
+NEW: Add tag for ODT generation for localtax rates
+NEW: Add the now link when creating expense report
+NEW: Ask date of invoice when using the Clone feature.
+NEW: auto event msg
+NEW: Automatically binding for intra/export accountancy code in customer list
+NEW: automatic / manual selector form
+NEW: Better explanation for setup of WebDav module
+NEW: Can add more lines on situation invoices at end of project when there is extra to add.
+NEW: Can change the customer account of an instance
+NEW: Can choose the root category to show products for TakePOS module
+NEW: Can edit supplier on draft order supplier
+NEW: Can enter price with or without tax when entering expense repor line
+NEW: Can filter on the date of period for social contributions
+NEW: Can generate invoices from the timespent entered on a project
+NEW: Can update product supplier price ref
+NEW: Can upload files from the edit page of expense report
+NEW: Color for hover and for checked line is on by default
+NEW: Column of p...arent company is available in list of third parties
+NEW: conditionnal add member button by statut
+NEW: constant KEEP_DISCOUNT_LINES_FROM_ORIGIN
+NEW: Contact related items tab
+NEW: Can create of supplier invoice from a reception
+NEW: Ensure External RSS Links Open in New Window
+NEW: Export available for reception module
+NEW: Extend import option to Order's card and Propal's card
+NEW: filter by thirdparty on report CA by prod/serv
+NEW: Save space by moving the meteo on the title line
+NEW: Get the list of groups of a user with the REST API.
+NEW: Hidden option MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER to edit supplier on draft supplier order
+NEW: Improve Displaying Shortcut Access Keys in Navigation.
+NEW: Improve Expensereport, Inverse Receiver.
+NEW: Improve pdf description item visibitity.
+NEW: Introduce a config parameter $dolibarr_main_instance_unique_id
+NEW: Introduce css "nobottomiftotal"
+NEW: Introduce PhpSpreadsheet for export (need php5.6+)
+NEW: Invoice creation from the timesheet
+NEW: Can list remote stripe's payout in a dedicated page.
+NEW: Manage account sell_intra & sell_export in page accoutancy admin default product
+NEW: Manage loan schedule.
+NEW: Manage status of member types.
+NEW: Mass action "create bills" for validated reception
+NEW: Measuring unit are now defined into an editable dictionary. Add product size/unit into product import.
+NEW: Template pdf 'canelle_reception' displays linked reception lines.
+NEW: Moral/physic status can be defined at member type level
+NEW: Pagination into list of time spent.
+NEW: Performance enhancement (Replace dirname(__FILE__) with __DIR__)
+NEW: POS support in order (ex: online cart).
+NEW: Preview of images into the filemanager component.
+NEW: Resource module can be used in products/services (in a dedicated tab)
+NEW: Retrieve invoice infos from order when billing shipment
+NEW: Save and display type of membership in subscription table for more explicit historic
+NEW: Setup default thirdparty type (customer or prospect/customer)
+NEW: Add shipping "set draft" button and can update lines.
+NEW: show in blod, the invoice amount where we came from, when making payment
+NEW: Show product dimensions in product tooltips.
+NEW: Show the latest date of subscription in member statistics reports.
+NEW: Sort list of templates alphabetically
+NEW: Stripe Payment Intent (need option to use this new Stripe api method)
+NEW: Can support barcode on supplier price references.
+NEW: Support tag {ccc} on payment ref
+NEW: The preview of PDF files generates only 1 png file, even if several pages.
+NEW: Can select a Thirdparty object in donation module if option ON.
+NEW: Tooltip with VAT amount and price incl tax on lines of objects.
+NEW: Unsubscribed emails are now stored in a dedicated table.
+NEW: Update working chkbxlst filter for lists.
+NEW: Use ajax switch into setup of donation.php and multi-currency module.
+NEW: use recipient language when generating the fullname for emails.
+NEW: When you create product or service, sell accountancy account by default is suggested.
+NEW: Widget birthdays of the month.
+NEW: Option in workflow module to set a reception billed on validate supplier bill.
+NEW: Autocompletion on lists should be available on mobile applications.
+NEW: Add mass action to close several members.
+NEW: Add hidden option ADD_UNSPLASH_LOGIN_BACKGROUND for random background
+NEW: Add hidden option to be ready for BREXIT
For Developers:
NEW: Module "DebugBar" is available as a stable module.
+NEW: Add API REST for donations
+NEW: Add a script 'purge-data.php' to purge data older than a defined creation date
+NEW: Add constant XFRAMEOPTIONS_ALLOWALL
+NEW: Add function isValidVATID() to heck syntax of a VAT ID/number.
+NEW: Add document's product support in APIs
+NEW: Add REST API: get the list of objects in a category.
+NEW: Update Stripe library to 6.35
+NEW: Upgrade jquery lib to 3.3.1
+NEW: Add hook 'addHtmlHeader()'
+NEW: Add hook 'createRecurringInvoices()'
+NEW: Add hook 'afterSelectContactOptions'
+NEW: Add hook 'getAccessForbiddenMessage'
+NEW: Add hook support in accountancy index
+NEW: Add hook support in list of template invoices
+NEW: Add parameter 'replaceambiguouschars' on getRandomPassword function
+NEW: Add property 'noteditable' in modulebuilder
+NEW: Add the current modulepart into the Conf class object
+NEW: Add trigger FICHINTER_UNVALIDATE
+NEW: Add visibility with value 4 in framework to define fields to show
+NEW: More option to tune initialization of a new module with modulebuilder.
+NEW: Add REST API to list currencies
+NEW: REST API Proposal, Orders, Invoices: Add contact details
+NEW: hidden option to change concat order of description/product label.
+NEW: Enhance management of webhooks
+NEW: Generation of doc by modulebuilder can include README and CHANGELOG
+NEW: massfilesarea feature is possible for external modules
+NEW: Show list of enabled modules in dol_print_error().
+NEW: Simplification of CSS styles of default themes.
+NEW: Clean code of a lot of deprecated code.
+NEW: Add hidden option to set a search entry to the top
+NEW: add hidden option DISPLAY_DISCOUNTED_SUPPLIER_PRICE
+NEW: add hidden option MAIN_DEFAULT_LANGUAGE_FILTER
+NEW: add hidden option NO_CONCAT_DESCRIPTION
+NEW: Add hidden option ACCOUNTANCY_COMBO_FOR_AUX
+NEW: Add Hidden option OVERRIDE_VAT_FOR_EXPENSE_REPORT
+NEW: add hidden option MAIN_DOC_UPLOAD_NOT_RENAME_BY_DEFAULT
+NEW: Hidden conf to improve pdf desc item visibitity
+NEW: Look and feel v10 - Add CSS 'tabBarNoTop'
WARNING:
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* PHP 5.4 is no more supported. Minimum PHP is now 5.5+.
-* The PHP extension php-intl is not mandatory but should be installed to have new features working correctly.
+* The PHP extension php-intl is not mandatory and must be installed to have new features working correctly.
* Method GetUrlTrackingStatus were renamed into getUrlTrackingStatus for consistency with naming rules.
* API getListOfCivility has been renamed into getListOfCivilities for consistency with naming rules.
* Deprecated function img_phone as been removed. You can use img_picto(..., 'call|call_out') instead.;
@@ -36,8 +515,95 @@ Following changes may create regressions for some external modules, but were nec
* Removed deprecated use of string in dol_print_date(). Only date allowed.
* Deprecated property ->fk_departement is now ->state_id everywhere.
* Removed the method 4 of GETPOST (to get $_COOKIE). It was not used and not recommanded to use in Dolibarr.
+* Column llx_facture.facnumber change to llx_facture.ref
+* Variable $dolibarr_main_cookie_cryptkey is no more created at install (it was not used by Dolibarr). A new variable
+ called $dolibarr_main_instance_unique_id is now generated at each installation. It will be used by some future features.
+***** ChangeLog for 9.0.4 compared to 9.0.3 *****
+FIX: #5249
+FIX: #11025
+FIX: #11032
+FIX: #11097
+FIX: #11169
+FIX: #11202
+FIX: #11244
+FIX: #11296
+FIX: #11316
+FIX: #11335
+FIX: Add missing end date of subscription in export
+FIX: A user may read holiday and expense report without permissions
+FIX: better syntax
+FIX: condition
+FIX: confirmation of mass email sending + option MAILING_NO_USING_PHPMAIL
+FIX: crabe pdf: bad detailed VAT for situation invoices, in situations S2 and above
+FIX: default value for duration of validity can be set from generic
+FIX: do not include tpl from disabled modules
+FIX: Error management when MAILING_NO_USING_PHPMAIL is set
+FIX: Even with permission, can't validate leave once validator defined.
+FIX: extrafield list search: SQL error when field is multiselect
+FIX: if last char of customercode is accent making the truncate of first
+FIX: Import of chart of account
+FIX: in edit mode, dictionary inputs do not escape the string inside the 'value' attribute, causing errors if there are any double quotes
+FIX: invalid link on user.fk_user
+FIX: invoice class: bad SQL request if product type not set
+FIX: javascript error when ckeditor module not enabled
+FIX: mail presend: can overwrite a file previously uploaded (Issue #11056)
+FIX: mass send mail
+FIX: missing compatibility with multicompany transverse mode
+FIX: missing llx_const encrypt
+FIX: modulebuilder: hardcoded llx_
+FIX: Not showing Contract and Project columns on ficheinter list
+FIX: only profid1 to 4 were editable for pdf option to show. Not 5 and 6.
+FIX: productaccount buylist with pages
+FIX: remove isolated transaction commit
+FIX: security (a user can read leave or holiday of other without perm.
+FIX: situation invoices: bad detailed VAT in situations following the first one
+FIX: situation invoices: block progress percentage change for discount lines
+FIX: syntax error
+FIX: the id was not loaded in fetch of accounting system
+FIX: try to use WHERE EXISTS instead of DISTINCT
+FIX: use dol_sanitizeFileName() function to remove double spaces in filenames, as well as done on document.php when we want to download pdf
+FIX: Use of cron with multicompany
+FIX: var name
+FIX: we need to fetch fourn invoice with ref in current entity
+FIX: Wrong stock movement on supplier credit notes
+FIX: Import of record in ledger
+
+***** ChangeLog for 9.0.3 compared to 9.0.2 *****
+FIX: #11013
+FIX: #11041
+FIX: actioncomm: sort events by date after external calendars and hook (into 7.0)
+FIX: better test
+FIX: Combo list was limited to 20 in stock correction
+FIX: Confusion between expired and late
+FIX: Cursor pointer in payment screen for autofill
+FIX: CVE-2019-11199
+FIX: CVE-2019-11200
+FIX: CVE-2019-11201
+FIX: Default value on form to send email
+FIX: error messages not displayed
+FIX: Massive debug in lettering function
+FIX: missing compatibility with multicompany
+FIX: missing global $user
+FIX: missing situation invoice in list
+FIX: MultiEntity in lettering functionality
+FIX: Product accountancey sell intra code must be visible if main feature level 1
+FIX: ref for table without ref manager are set to NULL.
+FIX: Sending email to mass actions send same email on same customer
+FIX: Several fixes on import of services/products
+FIX: shipping default warehouse if only one warehouse
+FIX: sortfield on lettering function
+FIX: Status of opportunity should never be -1
+FIX: test to display create invoice button on supplier_order card
+FIX: The autocopy feature was ko for suppliers
+FIX: Total per day in timespent per week
+FIX: Total per day shows 00:00 if the total time spent is equal to 12:00
+FIX: Update/delete currency on same languages
+FIX: Wrong variable name make contact of supplier order not used on PDF.
+FIX: Add hidden option MAIN_PDF_HIDE_SITUATION to hide situation (quick hack to fix output pb).
+FIX: attached files list with link file was broked
+
***** ChangeLog for 9.0.2 compared to 9.0.1 *****
FIX: #10822
FIX: Accountancy - Format EBP import
@@ -172,7 +738,7 @@ NEW: add option PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT
NEW: Add option to display thirdparty adress in combolist
NEW: Add option to swap sender/recipient address on PDF
NEW: Add option to display thirdparty adress in combolist
-NEW: Add project on pament of salaries
+NEW: Add project on payment of salaries
NEW: Add SHIPPING_PDF_HIDE_WEIGHT_AND_VOLUME and
NEW: Add somes hooks in bank planned entries
NEW: Add supplier ref in item reception page
@@ -257,6 +823,125 @@ Following changes may create regressions for some external modules, but were nec
* Remove the no more used and deprecated dol_print_graph function
+***** ChangeLog for 8.0.6 compared to 8.0.5 *****
+FIX: #11244
+FIX: #11316
+FIX: Add missing end date of subscription in export
+FIX: A user may read holiday and expense report without permissions
+FIX: better syntax
+FIX: condition
+FIX: confirmation of mass email sending + option MAILING_NO_USING_PHPMAIL
+FIX: crabe pdf: bad detailed VAT for situation invoices, in situations S2 and above
+FIX: default value for duration of validity can be set from generic
+FIX: do not include tpl from disabled modules
+FIX: Error management when MAILING_NO_USING_PHPMAIL is set
+FIX: Even with permission, can't validate leave once validator defined.
+FIX: extrafield list search: SQL error when field is multiselect
+FIX: if last char of customercode is accent making the truncate of first
+FIX: in edit mode, dictionary inputs do not escape the string inside the 'value' attribute, causing errors if there are any double quotes
+FIX: invalid link on user.fk_user
+FIX: invoice class: bad SQL request if product type not set
+FIX: mail presend: can overwrite a file previously uploaded
+FIX: mail presend: can overwrite a file previously uploaded (Issue #11056)
+FIX: mass send mail
+FIX: missing compatibility with multicompany transverse mode
+FIX: modulebuilder: hardcoded llx_
+FIX: Not showing Contract and Project columns on ficheinter list
+FIX: remove isolated transaction commit
+FIX: security (a user can read leave or holiday of other without perm.
+FIX: situation invoices: bad detailed VAT in situations following the first one
+FIX: situation invoices: block progress percentage change for discount lines
+FIX: syntax error
+FIX: try to use WHERE EXISTS instead DISTINCT
+FIX: use dol_sanitizeFileName() function to remove double spaces in filenames, as well as done on document.php when we want to download pdf
+FIX: var name
+FIX: we need to fetch fourn invoice with ref in current entity
+FIX: Wrong stock movement on supplier credit notes
+
+***** ChangeLog for 8.0.5 compared to 8.0.4 *****
+FIX: #10381
+FIX: #10460 compatibility with MariaDB 10.4
+FIX: #11025
+FIX: Accountancy - Add transaction with multicompany use all the time 1st entity
+FIX: Accountancy - Format EBP import
+FIX: actioncomm export: ORDER BY clause is in wrong export property + event type filter does not work
+FIX: actioncomm: sort events by date after external calendars and hook
+FIX: action list: add printFieldListSelect and printFieldListWhere hooks
+FIX: add fk_unit on addline action
+FIX: avoid php warning
+FIX: bad sql request
+FIX: better method
+FIX: better test
+FIX: better test on fetch
+FIX: broken external authentication module feature and avoid warning
+FIX: Can not create contract with numbering module without autogen rule
+FIX: can't add lines on invoices
+FIX: Can't generate invoice pdf
+FIX: Can't insert if there is extrafields mandatory on another entity.
+FIX: Can't insert if there is extrafields mandatory on another entity. FIX: Can't set default value of extrafield of type varchar
+FIX: Check for old picture name if the new one was not found
+FIX: Civility not saved when creating a member.
+FIX: $conf->fournisseur->commande->enabled doesn't exist, we must use $conf->fournisseur->enabled
+FIX: could not create several superadmin in transversal mode
+FIX: credit note can have negative value
+FIX: Default value on sales representative on third party creation
+FIX: Don't show journal:getNomUrl without data
+FIX: Erreur dans le Total
+FIX: error messages not displayed
+FIX: expedition: reset status on rollback + replace hardcoded status with const
+FIX: Fix PHP warning "count(): Parameter must be an array..."
+FIX: fk_default_warehouse missing in group by
+FIX: function sendEmailsReminder isn't completely developed, then MAIN_FEATURES_LEVEL must be 2 to "use" it
+FIX: holidays get natural_search if search params are set only
+FIX: if empty error message, we just see "error" displayed
+FIX: if(!method_exists(dol_loginfunction))
+FIX: If we build one invoice for several orders, we must put the ref of order on the line to not lose information.
+FIX: in fact expensereport must be in $check array
+FIX: Interface regression for bind people. Fix option MAIN_OPTIMIZEFORTEXTBROWSER
+FIX: line edit template: keep fk_parent_line
+FIX: Loan impossible to account
+FIX: Mark credit note as available for credit note in other currency
+FIX: missing access security checking with multicompany
+FIX: missing entity filter and wrong var name
+FIX: missing entity filter in function "build_filterField()" (export)
+FIX: Missing field in import/export of users
+FIX: missing hook completeTabsHead in margins module
+FIX: missing $ismultientitymanaged for previous/next ref
+FIX: Missing province in export of invoice
+FIX: multicompany compatibility
+FIX: must fetch member in current entity
+FIX: need an order by in case we found other invoice with same number but not same date
+FIX: need to round with 2 decimals to avoid movements not correctly balanced
+FIX: no need to test anything to display documents tabs on expense report
+FIX: positive values creating diff on addline rounding
+FIX: problem with multicompany transverse mode
+FIX: Product accountancey sell intra code must be visible if main feature level 1
+FIX: project_title for display of getNomUrl()
+FIX: quick search for supplier orders
+FIX: Remane of project
+FIX: same thing here
+FIX: Selection of email recipient with option MAIN_OPTIMIZEFORTEXTBROWSER
+FIX: several hooks in shipping/delivery cards
+FIX: shipping default warehouse if only one warehouse
+FIX: SQL injection on rowid of dict.php
+FIX: 'statut' is ignored when updating a user with the REST API.
+FIX: supplier invoice payment total dont care about deposit or credit
+FIX: supplier invoice product stats total ht is line total not invoice total
+FIX: The minimum amount filter does not work in the VAT report per customer
+FIX: Total per day shows 00:00 if the total time spent is equal to 12:00
+FIX: Update/delete currency on same languages
+FIX: [URGENT] broken feature, "$usercancreate" is for Dolibarr 9
+FIX: useless join
+FIX: we need to keep originline special_code
+FIX: we want to be able to reopen fourn credit note
+FIX: when 2 extra fields are mandatory in 2 different entities
+FIX: when we add a payment on an invoice which already has payments with credit note or deposit amount, and then we get an excess received, discount amount must be $total_paiements + $total_creditnote_and_deposit - $object->total_ttc;
+FIX: when we create deposit with multi tva, we mustn't add line if amount = 0 (example when we have a 100% reduc on one of origin invoice line)
+FIX: wrong redirect link on holiday refuse
+FIX: wrong test enabled
+FIX: Wrong variable name
+FIX: XSS
+
***** ChangeLog for 8.0.4 compared to 8.0.3 *****
FIX: #10030 better german chart
FIX: #10036
diff --git a/README.md b/README.md
index a59e3e8d8f3..8100cabddbe 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,10 @@
# DOLIBARR ERP & CRM

-[](https://houndci.com)
-|6|7|8|9|develop|
+|7|8|9|10|develop|
|----------|----------|----------|----------|----------|
-||||||
+||||||
Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).
@@ -138,7 +137,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
- Multi-company by adding of an external module.
- Very user friendly and easy to use.
- Highly customizable: enable only the modules you need, add user personalized fields, choose your skin, several menu managers (can be used by internal users as a back-office with a particular menu, or by external users as a front-office with another one)
-- Works with PHP 5.3+ and MariaDB 5.0.3+, MySQL 5.0.3+ or PostgreSQL 8.1.4+ (See requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite))
+- Works with PHP 5.5+ and MariaDB 5.0.3+, MySQL 5.0.3+ or PostgreSQL 8.1.4+ (See requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite))
- Compatible with all Cloud solutions that match MySQL, PHP or PostgreSQL prerequisites.
- APIs.
- An easy to understand, maintain and develop code (PHP with no heavy framework; trigger and hook architecture)
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000000..e5493805733
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,13 @@
+# Security Policy
+
+## Supported Versions
+
+| Version | Supported |
+| -------- | ------------------ |
+| <= 8.0.* | :x: |
+| >= 9.0.* | :white_check_mark: |
+
+## Reporting a Vulnerability
+
+To report a vulnerability, please send an email to security@dolibarr.org
+In most cases, after fixing the security, we make an answer by email to say the issue has been fixed.
diff --git a/build/README b/build/README
index 27ddf4178fd..ab83fef26e4 100644
--- a/build/README
+++ b/build/README
@@ -3,8 +3,7 @@ README (English)
Building packages
##################################################
-All sub-directories of "build" directory contains files required to build
-automatically Dolibarr packages.
+All sub-directories of "build" directory contains files (setup or binary tools) required to build automatically Dolibarr packages.
There are several tools:
diff --git a/build/debian/copyright b/build/debian/copyright
index 72e531d7007..a5832aa7754 100644
--- a/build/debian/copyright
+++ b/build/debian/copyright
@@ -52,7 +52,7 @@ License: GPL-3+
details.
.
You should have received a copy of the GNU General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
.
On Debian systems, the full text of the GNU General Public
License version 3 can be found in the file
@@ -98,7 +98,7 @@ License: GPL-2+
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
.
On Debian systems, the complete text of the GNU General Public License
can be found in /usr/share/common-licenses/GPL-2 file.
@@ -192,7 +192,7 @@ License: GPL-2+
details.
.
You should have received a copy of the GNU General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
.
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
@@ -212,7 +212,7 @@ License: LGPL-2.1+
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
.
On Debian systems, the full text of the GNU Lesser General Public
License version 2.1 can be found in the file
@@ -236,7 +236,7 @@ License: GPL-2+ or MIT
details.
.
You should have received a copy of the GNU General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
.
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
@@ -291,7 +291,7 @@ License: GPL-2+
details.
.
You should have received a copy of the GNU General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
.
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
@@ -311,7 +311,7 @@ License: LGPL-2.1+
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
.
On Debian systems, the full text of the GNU Lesser General Public
License version 2.1 can be found in the file
@@ -358,7 +358,7 @@ License: LGPL-2.1+
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
.
On Debian systems, the full text of the GNU Lesser General Public
License version 2.1 can be found in the file
@@ -378,7 +378,7 @@ License: LGPL-3.0+
See the GNU Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public License
- along with TCPDF. If not, see .
+ along with TCPDF. If not, see .
.
On Debian systems, the complete text of the GNU Lesser General
Public License version 3 can be found in "/usr/share/common-licenses/LGPL-3".
diff --git a/build/doxygen/doxygen_footer.html b/build/doxygen/doxygen_footer.html
index 8ffdc5341fe..1426885a565 100644
--- a/build/doxygen/doxygen_footer.html
+++ b/build/doxygen/doxygen_footer.html
@@ -10,7 +10,6 @@ File added into doxygen generated documentation
-
@@ -24,13 +23,30 @@ File added into doxygen generated documentation
+
+
+
+
+
+
-
+
+