-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
/
ChangeLog
11183 lines (10693 loc) · 597 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--------------------------------------------------------------
English Dolibarr ChangeLog
--------------------------------------------------------------
***** ChangeLog for 21.0.0 compared to 20.0 *****
For users:
----------
NEW Add option THEME_STICKY_TOPMENU = 'scrollleftmenu_after_mainpage' (or 'disabled')
NEW value for FICHINTER_DISABLE_DETAILS. If FICHINTER_DISABLE_DETAILS is set to '2' details are disabled only on intervention list.
For developers:
---------------
QUAL line classes for various business object classes have been moved to individual files.
WARNING:
--------
The following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* Prepare your module for deprecation of triggers code XXX_INSERT to support also XXX_CREATE.
* More class properties (with old name in french) are now deprecated in favor of the property name in english.
* The json emulator dol_json_encode/decode() is removed. The native json PHP module must be enabled/available (this is the case by default with most PHP installation).
* The deprecated GET parameter "&sall=" has been removed, use now the "&search_all=".
* The experimental and deprecated module WebserviceClient is completely removed (was never released and use deprecated architecture). May be replaced with the stable module Webhook.
* The dynamic properties ->no_button_delete, ->no_button_edit, ->no_button_copy for $object Product that could be set by an external module must no more
be set (not allowed by PHP 8.2). A module can already return an array with key 'no_button_delete', 'no_button_edit', 'no_button_copy' for same purpose.
* The old function dol_bc($var, $moreclass = '') has been removed. If you called it, just stop to call it.
* The trigger code CATEGORY_LINK and CATEGORY_UNLINK has been replaced with code CATEGORY_MODIFY. You can read ->context['linkto'] or ->context['unlinkoff' to detect if we want to make a link or unlink.
* The property ->domiciliation and ->propio on bank accounts has been deprecated and replaced with property ->address and ->owner_name everywhere.
* If you were using the substitution key __MEMBER_CIVILITY__, you must now use __MEMBER_TITLE__
***** ChangeLog for 20.0.1 compared to 20.0.0 *****
FIX: #30960 show and search extrafields (#31026)
FIX: #31076 Bad position of hooks
FIX: #31152
FIX: #31237 (#31239)
FIX: #31241 (#31245)
FIX: accounting transfer when nb of lines is not zero but amount is zero
FIX: Add same security test when nuploading files from API than from GUI (#31114)
FIX: allow "class" into search string in website module
FIX: autoselect the fiscal period by default
FIX: avoid odt errors (#31126)
FIX: Backport fix fatal error on price with some truncating setup
FIX: better compatibility with some old extrafield syntax filter
FIX: box_actions.php still uses fk_user_done which no longer exists (#31190)
FIX: Browser Notification ko with firefox
FIX: custom CSS for WebPortal (#31022)
FIX: Debug calculation of the delay of purchase order
FIX: Debug option WORKFLOW_TICKET_LINK_CONTRACT. Bad id stored. Bad
FIX: dolFICalculatePaymentReference for Finland in functions_fi.lib.php (#31281)
FIX: Duplicate trigger printFieldPreListTitle
FIX: edit contract of intervention broken by CSRF protection
FIX: error return missing in mo creation when qty to consume is <= 0 (#31134)
FIX: Extrafields does not appear on form
FIX: FATAL ERROR abusively triggered due to incomplete regex (#31052)
FIX: if you call fetchLines several times, your $object->lines contains duplicates (#31167)
FIX: late order search option (v18+) (#30692)
FIX: late propal search option (v18+) (#30687)
FIX: Maxi debug edit/delete accounting transaction
FIX: member must be found to search the linked partnership (WebPortal) (#30977)
FIX: Missing picto on user link
FIX: mysql error during dump for enable sandbox M999999 (#31116)
FIX: OAuth generation of token for Microsoft, Stripe and Generic
FIX: param id in website account list from third-party card (#30975)
FIX: Position of box for shipping address in PDF
FIX: Protection to avoid an extrafield to be mandatory if computed
FIX: removed unreachable code (#31141)
FIX: Remove wrong button
FIX: retrieving user specific constant
FIX: Revert storing of ticket files into event dir, too many troubles.
FIX: Selection of country - state in resource
FIX: State dropdown is not working on User card #31198 (#31205)
FIX: Tool to convert into utf8 or utf8mb4
FIX: use price() to display qty on a product's stats tab to avoid showing too many decimals when rounding errors are possible (#31165)
FIX: Warning visible when it should not
FIX: webhook must send POST in body. Add WEBHOOK_POST_SEND_DATA_IN_BODY
FIX: when qty is not an integer, apply price() (#31138)
FIX: Wrong price for BOM with workstation (#31142)
FIX: determine multi-currency price on object line create tpl (#28021)
***** ChangeLog for 20.0.0 compared to 19.0 *****
For users:
----------
NEW: Compatibility with PHP 8.2 (with no need to disable warnings)
NEW: Font param Look and Feel THEME_FONT_FAMILY (#29302)
NEW: Param to show main menu logo in color (#29305)
NEW: #27048 add form to globally set "VARIANT_ALLOW_STOCK_MOVEMENT_ON_VARIANT_PARENT" variable (#27049)
NEW: #29274 Add possibility to have different mail for autocopy for holiday (#29275)
NEW: Module WebPortal experimental
NEW: Module Bookcal is now experimental (TimeZone not yet supported)
NEW: #24031 add option MAIN_GRANDTOTAL_LIST_SHOW to always show grand total to lists (#27247)
NEW: #28070 Adding mobile phone to thirdparty
NEW: Accept the __NOW__ and __USER_ID__key into filters
NEW: Accountancy - Add possibility for specific format FEC to sort with the FEC name (#29722)
NEW: Accountancy - Expense report - Add an option to use end period for transfer (#26706)
NEW: Accountancy - Show accounting result on balance
NEW: Accountancy - Show import key if exist (#29265)
NEW: Accountancy - Auto-determine piece number in FEC import (#29672)
NEW: Accountancy - Option to transfer only reconciled lines from bank (#29408)
NEW: Accountancy - Separation of accounting default account for salary and expense report
NEW: Various payment - Use list of accounting account when edit (#27992)
NEW: Add option to change all service dates at once
NEW: Add a default limit in nb to agenda export
NEW: Add a Feedback-ID into email headers
NEW: Add a link "Fill with layout"
NEW: Add a link to add a website category in edit page properties
NEW: Add ALT+s to save a website page in edit mode
NEW: Add a protection in inventory when a product has stock of lot and is
NEW: Add a warning if invoice payment is Credit Transfer on newpayment.php (#29685)
NEW: Add Categorie filter for ActionComm (#28041)
NEW: Add code+label of payment mode and term in purchase invoice export
NEW: Add column data payment on VAT list
NEW: add column for barcode in ticket
NEW: add column to store a label for a supplier price (#27238)
NEW: add constant TAKEPOS_ALTERNATIVE_PAYMENT_SCREEN
NEW: add constant TICKETS_NO_COMPANY_ON_FORM
NEW: add constant VATUPDATE_NO_TRANSACTION
NEW: add const PROJECT_HIDE_OPEN_PROJECTS_LIST_ON_PROJECT_AREA to have the ability to hide the potentially very long list of open projects in any case
NEW: add data type 'project' to blockedlog
NEW: Add default User roles for Thirdparties (#29242)
NEW: Added a configuration in workflows (#26959)
NEW: added address, zip & town to resource object
NEW: add field Reply to in emailing
NEW: Add Filter on product referring object status(Order and Order Supplier) (#28275)
NEW: add geometrics extrafield (#28239)
NEW: Add global PRODUCT_STOCK_LIST_SHOW_WITH_COMPILED_PHYSICAL_STOCK for this is based on compiled physical stock, not the sum of product stocks on existing links. (#28171)
NEW: Add id of last page accessed in website
NEW: Add import ID in list of products
NEW: Adding a recipient on emails sent, change status to sent partially.
NEW: Add invoice subtype (some countries need this like greece)
NEW: Add link to export ICS file of an event.
NEW: Add maintenance tool to switch utf8 -> utf8mb4
NEW: Add option MAIN_USE_FULL_TEXT_INDEXATION
NEW: Add option PDF_ADD_POSITION
NEW: Add option position['find'] to DolEditor (#29546)
NEW: Add option THIRDPARTY_MIN_NB_PROF_ID and THIRDPARTY_MAX_NB_PROF_ID
NEW: Add option TICKET_INCLUDE_SUSPENDED_STATUS (Suspended status no more
NEW: Add option to open files in new tab (#29604)
NEW: Add picto favicon
NEW: add position column in category table (#27425)
NEW: add position field into category add view
NEW: add relation type on element_element (#29329)
NEW: Add shipments and reception stats on product stat tab (#29395)
NEW: Add SMTP AUTH method PLAIN
NEW: add some bank info on odt
NEW: Adds payment terms and percent discount to the creation of an invoice from time entries in projects (#29694)
NEW: add state province filter field
NEW: Add support of [IF] tag other than in the core content (ex: headers who is in stylesXml) (#29357)
NEW: add table to store product relation with thirdparty
NEW: Allow smileys into emailing html content
NEW: Allow to set a default project for POS sales (#27042)
NEW: animation for display spinner when waiting response
NEW: Asset Module - make asset model creation in a single step (#26982)
NEW: auto fill infos in template email
NEW: Automatically fill matching extra fields of object on line creation. (#27240)
NEW: Can add documents on a payment (#29660)
NEW: Can create new membership type from the create member form
NEW: Can export security events.
NEW: Can force language of a page in website module with xx/pagename
NEW: Can force position of signature on PDF using a setup constant (#29676)
NEW: Can generate the email selector file
NEW: Can setup phone mobile for the main company (#28410)
NEW: Can show legal form of company into the list
NEW: Can show the legal form in address of recipient in PDF
NEW: Can show the list of projects having at least one contact that is a contact of the third party
NEW: Complete the thirdparty index page with last modified contacts
NEW: constant MAIN_DISCARD_NEWD_PROJECTS_IN_SELECT
NEW: Constant to select if typent helps define whether the thirdparty is a company
NEW: contact type on auto add contributor (#26077)
NEW: contenteditable is supported on table,header,footer and menu tags
NEW: cronjob: deny to launch a method from a deactivated module
NEW: determine multi-currency price on object line create tpl (#28021)
NEW: dev: Add tool to update license with developer info
NEW: Dev documentation about setting up pre-commit locally
NEW: Develop new quick edit opportunity status (#27892)
NEW: display product and qty in stock_movement table in project overview (#29296)
NEW: dol_copy added to forbidden functions
NEW: Dolibarr can now re-open ticket upon customer reply on the same ticket via email#28303 (#28451)
NEW: Edit ticket (#29497)
NEW: Expense Report: Add conf to block line creation if line date is out of range (#29427)
NEW: Expense Report: new line add conf to Block if line date out of range
NEW: export invoice source id (backport v17)
NEW: export order client code
NEW: Export RSS of event can be filter on action type and code (useful for smartphone notification with feeder)
NEW: feature to merge 2 tasks (#29214)
NEW: fetch object by element for website account card
NEW: filter on sale representative in contact list
NEW: Filter shipments by selecting multiple shipping methods (#28376)
NEW: Font param Look and Feel (#29302)
NEW: functionality for stock configuration prompt in AI module (#28030)
NEW: functionality to delete contact of company list
NEW: functionality to display codebar on pdf files (#29623)
NEW: functionality to list event for user
NEW: functionality for salaries massaction (bank-transfer)
NEW: function for removing company contacts
NEW: get html template example for each model
NEW: hide external and non employee users in combobox
NEW: hide external user in combobox
NEW: Implement EPC QR Code on Invoices (#29445)
NEW: in project overview, stock movement section, we only stock movement ref, but not the product and not the quantity
NEW: input in emailForm to put AI instructions
NEW: input reason label in customer proposal and order export (#29540)
NEW: intervention list date filter
NEW: Invoice Creditor Reference and banking barcode (FI) (#29328)
NEW: Invoice PDF If bank account is empty, not print "Bank" and "Account"
NEW: Label on Price fix:#28544
NEW: layout and prompt AI on create emailing
NEW: Look and feel v20 - add picto to full list on summaries tables.
NEW: Look and field: The operator 'or' on category filter visible only
NEW: make "sell" or "eat by" mandatory in product lot
NEW: Management of the In-Reply-To and References for ticket answers.
NEW: module user rights enhancement (#29150)
NEW: Module Website: Can link/unlink translation between web pages
NEW: Move dir of cache for widgets
NEW: multiselect with checkbox in categories/tags search for thirdparty list (#28335)
NEW: new consts to redirect from massaction createbills (#29436)
NEW: new global string to preselect yes for one bill per third party in orderlist massaction (#29359)
NEW: notification action triggers for cancelling orders and invoices
NEW: now button when editing an event
NEW: online signature of shipments (#29559)
NEW: On OAuth Google login, no prompt at all if already logged in Google
NEW: Param to show main menu logo in color look and feel (#29305)
NEW: Payment page received from donations
NEW: possibility to define a completely inactive module (#29289)
NEW: preview example page in website when create page
NEW: propal canceled status
NEW: receptions in dolibarr search box (#29700)
NEW: redirect link in the config module in the event of an error client
NEW: remove auto selected user for taxes-charges by default
NEW: resource address, phone, email & maxusers (#28185)
NEW: Script for fast identification of missing/unused/duplicate translations
NEW: search member by date
NEW: See the documents of my subordinates (#28318)
NEW: Show error on ical parse
NEW: Show the profit per attendee on events
NEW: signed status CRUD to contract and fichinter
NEW: Simplify the verification of context in hook (#27105)
NEW: Sort variants list by product ref on combinations page (#27969)
NEW: Statistic page donation (#28463)
NEW: Supplier Invoice - List - Selector with choice on ECC country
NEW: supplier order submit method message (#27855)
NEW: Supplier Proposal API extended with DELETE, POST and PUT possibilities
NEW: Support $moreinheader with SwiftMailer
NEW: Support a date selector with type 'html'
NEW: Support Reply-To tracking in emails sending (tickets only for the
NEW: Take image from content for RSS
NEW: TakePOS - add buttons to allow keyboard usage for discounts (#24819)
NEW: TakePOS - add constant to show line subprices
NEW: TAKEPOS - Clear search results
NEW: TAkePOS - don't allow payment if no thirdparty selected
NEW: TakePOS - Option TAKEPOS_NO_GENERIC_THIRDPARTY to disallow payment if no specific thirdparty selected (generic not allowed)
NEW: Test send triggercode to url (#29675)
NEW: Trigger for Knowledge (#29645)
NEW: Add branches into apstats security report (cti.dolibarr.org)
NEW: updated resource list for new fields (#28705)
NEW: Update expense report card.php to allow pdf preview even without thumbnail (#29491)
NEW: update price with auto to use const for rounding prices (#29350)
NEW: Use a nicer combo list to select the export accounting format
NEW: users can set their own length for short lists
NEW: warning message when cloning a product whose status is not to sell (#28374)
PERF: Performance enhancement on Invoice/Paiement area page
PERF: Use cache for loaded users/contact on project list
SEC: add some dolibarr functions to dol_eval forbidden functions (#29459)
SEC: #28168 Correct protocol limitations (PHP7.4/Win) (#28172)
SEC: Add a protection against installation of external module bypassing
SEC: A user with export permission can export module data without
SEC: Reduce nb of var without WAF used when using the website module
For developers or integrators:
------------------------------
NEW: Situation invoice - Add new official progressive mode - (constant INVOICE_USE_SITUATION = 2)
NEW: $noescapetags param of dol_escape_html works if attributes
NEW: Add createInvoiceFromContract to API invoice (#27277)
NEW: add debugging info to api/status if non-production
NEW: Add functions to manipulate emojisNEW: add hook addMoreCategoryList to list category from external module
NEW: add hook AFTER_VAT_UPDATE
NEW: Add hook on printsheet barcode page
NEW: adding online_payment_url to invoices API (#28107)
NEW: Add method getPublicImageOfObject() for website module
NEW: Add sql stddev_pop db function.
NEW: Show the process ID and user ID into log files
NEW: Add trigger on modify of user bank account
NEW: Add Windows ci workflow
NEW: All apis has a hook context of "api" initialized
NEW: All fetchAll() method now support the USF syntax.
NEW: allow [] in dol_eval (#27290)
NEW: API Add some api endpoints (#25126)
NEW: API can create, get and update extrafields #29249 (#29270)
NEW: Api can force invoice ref (#28547)
NEW: API can Post extrafields #29249 v2
NEW: API delete extrafields from name and elementtype
NEW: API GET projects by REF and by email_msgid
NEW: Api parameters are sanitized by the WAF, same code than GET/POST
NEW: API setup delete extrafields from name and elementtype v2 (#29269)
NEW: API setup update extrafields from name, elementtype and json
NEW: API setup update extrafields from name, elementtype and json (#29273)
NEW: api_thirdparties add and delete representatives (#27943)
NEW: Extend of module options Setup
NEW: Factoring and Fix external module elementType (#28666)
NEW: class ai for generate content with api
NEW: consider document lines in element properties
NEW: DolDeprecationHandler for deprecations
NEW: Execute the doAction hook on other ticket pages (#29701)
NEW: FormSetupItem: show picto in front of confs applied across all entities (#28024)
NEW: Global constant for deprecated module mapping (#28348)
NEW: Hook after total Table on PDF (#28092)
NEW: Hooks tab in debugbar (#24992)
NEW: Init of a module with a website template copy also the preview
NEW: llxHeader body css for asset, for command see #26856, for donation
NEW: ModuleBuilder : add type genericpassword entry types
NEW: Makes it possible to update html text fields besides integer and alpha fields for a custom build module.
NEW: method to help declare dictionaries more easily
NEW: Upgrade jsChantImproved to 2.8.10
NEW: Upgrade Sabre lib to 4.6.0
QUAL: Add sqlfluff (SQL code and style check) (#29097)
QUAL: Check lang files does not contains 'notranslate'
QUAL: Clean code around dol_eval use
QUAL: clean deprecated code
QUAL: Deprecated "domiciliation". Replaced with "address"
QUAL: DiscountAbsolute: inherit CommonObject to implement errorsToString
QUAL: Enhance API description - BOM, Documents (#27492), Setup
QUAL: extend api/status
QUAL: feature parity between vendor and customer template invoice (#26588)
QUAL: FichinterTest: add errorsToString()
QUAL: Force subclass MINVERSION (#26314)
QUAL: Make the same condition only once.
QUAL: phpstan github action
QUAL: professional identifiers - remove TODO by adding profid.lib.php
QUAL: Properties ->date_update and ->date_modification were merged
QUAL: removed duplicate language file
QUAL: Remove the external js library jstimezonedetect
QUAL: Rename all input fields "tel" into "phone"
QUAL: Rename column fk_origin_line on shipment lines into fk_elementdet to match a generic use. (#28989)
QUAL: replace $conf->global with getDolGlobalString()
QUAL: Send API response data before completing post-processing tasks
QUAL: Sending API response data to clients before completing post-processing tasks.
QUAL: Start to rewrite the export of accountancy. Misconception generates
QUAL: the config_extended of phpstan will be kept on apstats only for the
QUAL: The signature for all ->delete() method has been modified to match
QUAL: Use phan to help detect new issues (#27706)
QUAL: use real time when creating action from list
QUAL: replace hard-coded dictionary IDs with constants (#29501)
WARNING:
--------
The following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* If a filter is defined into and extrafields "Select from a table", this filter MUST use the Universai Search Filter syntax (field:=:value) instead of field=value.
See https://wiki.dolibarr.org/index.php?title=Universal_Search_Filter_Syntax
* The parameter $filter of methods fetchAll() does not accept array of SQL commands but must be a string of an Universal Search Filter syntax.
See https://wiki.dolibarr.org/index.php?title=Universal_Search_Filter_Syntax
* The use of 'customurl' into $filter has been removed. Must use the USF syntax.
* Some API HTTP return code were moved from 401 to 403 to better follow REST specification.
* More class properties (with old name in french) are now deprecated in favor of the property name in english.
* dolibarrtriggers class VERSION_XXX constants have been deprecated. Please use array dictionary VERSIONS['XXX'].
* Properties ->date_update and ->date_modification were merged into date_modification.
* All CLI tools (into /scripts) return a positive value to the shell if error (0 remains success) for a better
cross platform compatibility. On linux the exit(-1) was caught as 255, it may be now exit(1) so will be caught as 1.
* Ldap class methods connect_bind() & dump_content() have been renamed
* Use of dol_eval with parameter $returnvalue=0 is deprecated.
* The signature for all ->delete() method has been modified to match the modulebuilder template (so first param is now always $user), except
the delete for thirdparty (still accept the id of thirdparty to delete as first parameter). Will probably be modified into another version.
* Route for API /thirdparties/gateways has been renamed into /thirdparties/accounts to better match the api object name.
* The AGENDA_ENABLE_DONEBY hidden option has been removed. So $userdoneid in actioncomm class is deprecated. Please use $userownerid instead. Also,
the deprecated field $fk_user_done in actioncomm table is removed. Please use $fk_user_action instead.
* The table commande_fournisseur_dispatch has been renamed into receptiondet_batch to better match its goal and the field fk_commande
and fk_commandefourndet were renamed into fk_element and fk_elementdet
* Removed trigger BILLREC_CREATEBILL. This trigger was not a CRUD event. If you used it, you can already use the trigger BILL_CREATE and
test that ($object->fac_rec > 0) to know if creation trigger is from a recurring invoice or not. Also this old trigger was never enabled
into table llx_c_action_trigger.
* Renaming into expedition line table and class: fk_origin_line is now fk_elementdet in table and class.
* The signature of method fetch() of class CompanyBankAccount has been modified to match the signature of method Account->fetch()
***** ChangeLog for 19.0.3 compared to 19.0.2 *****
FIX: #29403 HRM - Unable to delete a skill in a job Profile (#29779)
FIX: #29439 incomplete API return (#29796)
FIX: #29756 Sql error on comment search (#29761)
FIX: #29780 Restore filtes when using "back to list"
FIX: #30010 : Use conf TICKET_MESSAGE_MAIL_INTRO instead of translation key (#30081)
FIX: #30274 : Add the include before executing dolibarr_set_const (#30320)
FIX: #30467
FIX: #30576 - Salary payment - Date of the payment is not displayed (#30592)
FIX: Accountancy - Avoid space on FEC name file (#29716)
FIX: Accountancy - Generate entries of expense report with localtax (#30411)
FIX: ASSET: annual depreciation starting year (Again ;-)) #26084 (#30040)
FIX: Backport page inventory.php from v18 to fix pagination bugs causing data loss (#29688)
FIX: back to page on error in contact card (#29627)
FIX: Bad calculation of $nbtotalofrecord (#30183)
FIX: Bad count of total of supplie rinvoice into the list
FIX: Better compatibility when objectdesc is not valid, and warnings
FIX: broken pdf preview when multicompany sharing (#30188)
FIX: compatibility with MULTICOMPANY_TRANSVERSE_MODE (#30599)
FIX: Conflict with autoload (#30399)
FIX: Display the real_PMP on inventory when its value is equal to 0 (#22291)
FIX: Error mesg show untranslated extrafield name (#30227)
FIX: executeHooks $object default value (#29647)
FIX: expedition PDF models using units labels (#30358)
FIX: Extrafield intshowzero in list (#29789)
FIX: Extrafields always been delete and re insert for categories (#29781)
FIX: extrafields on Organized events was broken
FIX: fatal error on loading pictures in attached documents of an event (#30553)
FIX: for country type (#29745)
FIX: group by qty in product margin tab (#29853)
FIX: init total amounts in margin module (#29854)
FIX: issue to get the right files exported in Quadratrus export.php (#30004)
FIX: lang output for sales representative on PDF (#30469)
FIX: langs in common docgenerator (#29774)
FIX: langs overwrite (#29630)
FIX: lettering (auto) for invoice deposit with company discount (#29633)
FIX: missing $object and $action for hook parameters (#30484)
FIX: Missing $param in hook call for list
FIX: Missing expense report picto in list (#29917)
FIX: Missing expense report picto in menu (#29908)
FIX: Missing the description in tooltip when option show in tooltip on
FIX: mo cloning (#29686)
FIX: modification date from label in accounting bookkeeping list (#30038)
FIX: move porpale ref pdf cornas (#29989)
FIX: Not qualified lines for reception (#29473)
FIX: on change ref for bank account attachment are lost (#30529)
FIX: orders to bill menu (#30179)
FIX: Page expands when ticket messages are too long (#29785)
FIX: parameter name (#29666)
FIX: PHP8 warning if $conf->reception is checked the old fashion way (#29697)
FIX: PHP 8 warning on output of successful cronjob (#29922)
FIX: PHP exception on getSpecialCode (#29646)
FIX: php warning if cookie doesn’t exist (#29723)
FIX: pos: invoice date incorrectly set because of timezome mismatches (reverts #36e91da) (#30184)
FIX: public project form return an error if SOCIETE_EMAIL_UNIQUE (#29942)
FIX: REPLENISH MANY FOURN WHEN ORDER ALREADY CREATE (#29710)
FIX: Supplier Order search on date valid (#30448)
FIX: Ternary operator condition is always true/false (#29649)
FIX: to avoid error during upgrade with pgsql (#30443)
FIX: transfer in accountancy for expense reports.
FIX: uninitialised var (#29728)
FIX: - Unknown Character on HTML (#30257)
FIX: Unsigned propal having signing date (#29825)
FIX: Update asset.class.php
FIX: update date_echeance of supplier invoices when we update invoice date in the past (#29886)
FIX: User List - Function is show in wrong column when module HRM enabled (#30186)
FIX: var name error and remove useless code (#30601)
FIX: Warning: Undefined property: PropaleLigne::$situation_percent in /home/httpd/vhosts/aflac.fr/domains/dol190.aflac.fr/httpdocs/core/lib/pdf.lib.php on line 2442 (#30033)
FIX: wrong value for duration unit (#30261)
FIX: The ZAR currency must show the R before the amount
***** ChangeLog for 19.0.2 compared to 19.0.1 *****
FIX: $object->oldcopy may be a stdClass and not original object
FIX: 16.0 - parent company gets emptied when updating a third party from the card in edit mode (#28269)
FIX: 16.0 - the e-mail templates configured in the notification module are not used if the recipient is a fixed e-mail address (#29407)
FIX: 17.0 - $num doesn't take trigger-modified newref into account, leading to inconsistencies if BILL_SUPPLIER_VALIDATE changes the invoice's ref (#28684)
FIX: #22948
FIX: #24265 regression cannot see all product on takepos (#28753)
FIX: #26015
FIX: #28205
FIX: #28251 Fixing subpermission name on api_multicurrencies.class.php (#28252)
FIX: #28347 FIX: occurred#28962 FIX: #29224 FIX: #29035 (#29303)
FIX: #28369
FIX: #28429
FIX: #28491 (#28522)
FIX: #28518 (#28520)
FIX: #28533 Mo::deleteLine removes the "main" MoLine if consumed line is delete (#28535)
FIX: #28564
FIX: #28978 FIX: #28976
FIX: #29029 Impossible to delete an order line
FIX: #29114 Missing contact term in intervention
FIX: #29114 Translate contact term in intervention
FIX: #29225
FIX: #29229
FIX: #29333 supplier order extrafields of link type displays error (#29334)
FIX: #29496 - filtering a record should not hide its child not filtered
FIX: #29531
FIX: Accolad
FIX: Accountancy export with file or not
FIX: Accountancy - Not trunc id_import
FIX: accounting FEC import (Issue #28306) (#29414)
FIX: Adding the dependencies list feature for extrafields "select" (#28549)
FIX: Add new hidden conf "DISABLE_QTY_OVERWRITTEN" (#28523)
FIX: Amount of localtaxes in foreign currency was wrong on screen and PDF
FIX: an error in a complex else condition
FIX: an error occurred when doing a mass vat change de 0% on supplier invoice (#29417)
FIX: avoid error "Column 'entity' in where clause is ambiguous" (#28270)
FIX: avoid php warnings (#29247)
FIX: avoid to delete "lock" and "unlock" files
FIX: avoid Unknown column 'pfp.ref_fourn' (#28145)
FIX: avoid warning "error parsing attribute name in Entity" (#28543)
FIX: background color for enabled modules (#29378)
FIX: Bad column for total in bom list
FIX: Bad condition on button back to draft on recruitment job.
FIX: Bad CRLF when sending text only content. Fix dol_htmlwithnojs()
FIX: Bad management on error creation of bookkeeping
FIX: Bad picto on list of permission of a user when user not admin
FIX: bad search on _ char in like when Debugbar is on
FIX: bad timezone for the start/end date of an event
FIX: Better test on validity of compute field syntax with parenthesis
FIX: Blank list when contract was checked in list of tickets (#29528)
FIX: Button for disabled modules must not appear.
FIX: categories protection limit
FIX: close #28279
FIX: Condition on newDateLimReglement
FIX: Conflict with autoload
FIX: contact/address title is always "New Contact/Address" even if the contact/address already exists (#29581)
FIX: Count of virtual stock at Services and MoLine with disabled stock change (#28580)
FIX: css of background of modules that was black
FIX: default workstation on BOM
FIX: disabled pito of menu must be greyed.
FIX: Display the date according to user language on substitutions (#29510)
FIX: Don't display column when it's out of date (#28271)
FIX: duplicate error check (#29433)
FIX: duplicate with lines: 414-416 (#28358)
FIX: edit bank suggested for credit transfer payment in invoice setup
FIX: empty array with php8.2
FIX: Ergonomic fail part02 (#29373)
FIX: Error When cloning fourn price no default value for tva_tx (#28368)
FIX: Error when updating user (#29304)
FIX: fatal error Unsupported operand types when recording load payment
FIX: Fix create shipping with product who have negative stocks on warehouse but the negative stock transfer is allowed (#26217)
FIX: Fix save directory for invoice ODT and multientities
FIX: hasRight function
FIX: Hide number beside select contract & added langs to translate c… (#29529)
FIX: Hierarchy Employee view do not filter on employee = 1 (#29496)
FIX: incorrect page numbering in PDF #29458 (#29476)
FIX: Inline edition not implemented
FIX: inventoryDeletePermission id define twice
FIX: Issue with special characters in French
FIX: link type extrafield on warehouse not working (#29339)
FIX: logo and escape in RSS
FIX: logo of paypal payment on payment page
FIX: made invalid code shape error more user friendly (#29498)
FIX: Manual deletion of a bookkeeping line
FIX: Merge of thirdparties must also move uploaded files
FIX: migration missing 2 columns in llx_resource and 1 in llx_user
FIX: missing comma in query (#29435)
FIX: Missing declaration of type export FEC/FEC2 for export with file source
FIX: missing entity parameter for ajax_constantonoff
FIX: missing hide "new" button where "product" or "service" module are disable
FIX: missing trans
FIX: Move the trigger for delete order line before the SQL request
FIX: MRP divide product not working
FIX: multiple problems with multicompany
FIX: navigation after filter in subaccount
FIX: notification: error 500 in fixed emails due to a bad copy/paste (#29580)
FIX: notification module: for supplier orders (any of the 3 triggers), user can choose an e-mail template in conf, but the conf is not used when sending the notification (#28216)
FIX: not redirtect when error occurs on updating card (#29388)
FIX: Not trancate the multicurrency rate shown on cards (even if the global MAIN_MAX_DECIMALS_SHOWN is set to 0) (#28211)
FIX: Oauth login
FIX: Option MAIN_DOC_USE_TIMING can be a string with date format
FIX: Payment on customer invoice - Remove accountid in url if empty for apply default value (#28156)
FIX: Pb in redirect of a website page in USEDOLIBARRSERVER mode
FIX: PDF Fatal error : Backport fix from #23972
FIX: PDF Translations Extrafields
FIX: permission on payment file of a tax
FIX: peut pas faire mieux !
FIX: php8: Fatal when empty $tmpvat is an empty string (no silent conversion to '0' when used in arithmetic operations) (#29451)
FIX: php warning global conf (#29478)
FIX: PHP Warning: Undefined array key "totalam" on line 1890 (#29489 #29578 #29487)
FIX: PHP Warning: Undefined properties
FIX: PHP Warning: Undefined variable $lib (#28342)
FIX: PHP Warning: Undefined variable $mode (#28697)
FIX: PHP Warning: Undefined variable $socid on line 55 (#29490)
FIX: PHP Warning: Undefined variable $tva_npr in /fourn/facture/card.php on line 1695 (#29593)
FIX: Picto for mime in top menu
FIX: position of field in list of field in shipment list
FIX: postgresql error (#28542)
FIX: PUT /thirdparties/{id} and PUT /contacts/{id} should throw exception if update returns < 0 (#29596)
FIX: quote in sql request
FIX: Regression #29340
FIX: Repair the replenishment list (#29336)
FIX: Responsive on admin project
FIX: round capital societe (#29211)
FIX: Row size of role contact in thirdparty (#29456)
FIX: Scale for the "second" unit (#29327)
FIX: search and add extrafields to tasks when conf disabled (#29542)
FIX: Shipment closing action has wrong value (#28174)
FIX: skip adding tab if user doesn't have permission (#28698)
FIX: sometimes a string type instead integer is return, why ?
FIX: some tooltips has disappeared on invoice action button
FIX: Special code is now transmitted by args only in order supplier (#28546 #28619)
FIX: SQL syntax error in DDLUpdateField
FIX: StockTransfer class has no table_element_line
FIX: subscription must be editable when accounting isn't reconciled (#28469)
FIX: supplier price duplicate entry on update supplier product ref (#29290)
FIX: Support of lot serial not working on TakePOS
FIX: syntax error (but same result) :-)
FIX: TakePOS | Add product / Delete line of existing invoice
FIX: TASK_CREATE Trigger (#29483)
FIX: The filter ! was broken in emailcollector
FIX: The localtax must be exported only if activated
FIX: Ticket new message notification sent twice
FIX: trackid and temp dir on payment confirmation of event registration
FIX: Translation for select (#28677)
FIX: Undefined array key default on fields (#29243)
FIX: upload odt files should not start/end with space
FIX: use $conf->browser->os instead
FIX: used hasRight function
FIX: Value of field int = 0 from modulebuilder must not be set to null
FIX: We should be able to add a workstation on bom lines (#29361 #29360)
fix: when invoice is created by WORKFLOW_ORDER_AUTOCREATE_INVOICE on ORDER_NEW, the invoice must have the default bank account of the thirdparty is it's empty on order
FIX: wrong array key (#29317)
FIX: Wrong currency shown in TakePOS payment page
FIX: wrong shortcut key for macintosh
FIX: wrong sql request with product category filter
FIX: wrong stock permission number
NEW: Constant to select if typent helps define whether the thirdparty is a company
NEW: Support Reply-To tracking in emails sending (tickets only for the
SEC: #yogosha21416
SEC: Add a protection against installation of external module bypassing
SEC: A user with export permission can export module data without permissions on module.
***** ChangeLog for 19.0.1 compared to 19.0.0 *****
FIX: 16.0 - parent company gets emptied when updating a third party from the card in edit mode (#28269)
FIX: 17.0: $num doesn't take trigger-modified newref into account, leading to inconsistencies if BILL_SUPPLIER_VALIDATE changes the invoice's ref (#28684)
FIX: #22948
FIX: #24265 regression cannot see all product on takepos (#28753)
FIX: #28205
FIX: #28251 Fixing subpermission name on api_multicurrencies.class.php (#28252)
FIX: #28369
FIX: #28429
FIX: #28491 (#28522)
FIX: #28518 (#28520)
FIX: #28533 Mo::deleteLine removes the "main" MoLine if consumed line is delete (#28535)
FIX: #28564
FIX: Adding the dependencies list feature for extrafields "select" (#28549)
FIX: Add new hidden conf "DISABLE_QTY_OVERWRITTEN" (#28523)
FIX: Amount of localtaxes in foreign currency was wrong on screen and PDF
FIX: an error in a complex else condition
FIX: avoid error "Column 'entity' in where clause is ambiguous" (#28270)
FIX: avoid Unknown column 'pfp.ref_fourn' (#28145)
FIX: avoid warning "error parsing attribute name in Entity" (#28543)
FIX: Bad column for total in bom list
FIX: Bad condition on button back to draft on recruitment job.
FIX: Bad CRLF when sending text only content. Fix dol_htmlwithnojs()
FIX: Bad picto on list of permission of a user when user not admin
FIX: bad timezone for the start/end date of an event
FIX: Better test on validity of compute field syntax with parenthesis
FIX: close #28279
FIX: Count of virtual stock at Services and MoLine with disabled stock change (#28580)
FIX: disabled picto of menu must be greyed.
FIX: Don't display column when it's out of date (#28271)
FIX: duplicate with lines: 414-416 (#28358)
FIX: edit bank suggested for credit transfer payment in invoice setup
FIX: Error When cloning fourn price no default value for tva_tx (#28368)
FIX: fatal error Unsupported operand types when recording load payment
FIX: Fix create shipping with product who have negative stocks on warehouse but the negative stock transfer is allowed (#26217)
FIX: migration missing 2 columns in llx_resource and 1 in llx_user
FIX: missing trans
FIX: notification module: for supplier orders (any of the 3 triggers), user can choose an e-mail template in conf, but the conf is not used when sending the notification (#28216)
FIX: Not trancate the multicurrency rate shown on cards (even if the global MAIN_MAX_DECIMALS_SHOWN is set to 0) (#28211)
FIX: Option MAIN_DOC_USE_TIMING can be a string with date format
FIX: Payment on customer invoice - Remove accountid in url if empty for apply default value (#28156)
FIX: Pb in redirect of a website page in USEDOLIBARRSERVER mode
FIX: permission on payment file of a tax
FIX: PHP Warning: Undefined variable $lib (#28342)
FIX: PHP Warning: Undefined variable $mode (#28697)
FIX: Picto for mime
FIX: Picto in top menu
FIX: position of field in list of field in shipment list
FIX: postgresql error (#28542)
FIX: quote in sql request
FIX: Responsive on admin project
FIX: Shipment closing action has wrong value (#28174)
FIX: skip adding tab if user doesn't have permission (#28698)
FIX: some tooltips has disappeared on invoice action button
FIX: Special code is now transmitted by args only in order supplier (#28546)
FIX: Special code is now transmitted by args only in order supplier (#28619)
FIX: subscription must be editable when accounting isn't reconciled (#28469)
FIX: Translation for select (#28677)
FIX: upload odt files should not start/end with space
FIX: Value of field int = 0 from modulebuilder must not be set to null
FIX: Wrong currency shown in TakePOS payment page
FIX: #yogosha21416
***** ChangeLog for 19.0.0 compared to 18.0.0 *****
For users:
----------
NEW: Compatibility with PHP 8.2 (warning must be disabled)
NEW: Module Workstation (used to enhance the module BOM and Manufacturing Order) is now stable
NEW: Add a CLI tool to regenerate all documents
NEW: Add a confirmation popup when deleting extrafields
NEW: Add type 'icon' type for extrafields
NEW: #20930 Use ajax for state loading after country change
NEW: #23331 Add support for parent projects (#24856)
NEW: #22531 Expense report - Add two fields into export : Qty & Unit price (excl.) (#26309)
NEW: #22626 date filter thirdparties contracts projects (#22707)
NEW: #24085 Add the Project filter
NEW: #25312 Support extrafields in selectForForms
NEW: #26312 Manage intermediate BIC - SQL Part (#26325)
NEW: Accountancy: Add quick navigation with keyboard shortcut on ledger (#26221)
NEW: Accountancy: FEC/FEC2 format export with attachments (#26192)
NEW: Accountancy: Option to choose length of lettering code
NEW: Accountancy: Chart of accounts ES PCG08-PYME-CAT in catalan language
NEW: added a button to create a product or a service from an order or an invoice (#26173)
NEW: added a button to re-encrypt data of a dolcrypt extrafield password
NEW: added a goto url from smartphone search page
NEW: added all id prof checker on thirdparty for code compta customer and supplier
NEW: added protection on purgeFiles
NEW: added a constant to check if qty shipped not greater than qty ordered
NEW: added context for the movement stock (role toconsume/toproduce) on mrp
NEW: added contract link on ticket
NEW: added column 'Technical ID' in list of details lines of an order (#26164)
NEW: added custom compute for exports
NEW: added custom text on footer total (#26334)
NEW: added different picto for each type of extrafields (date, string, ...)
NEW: added a popup on validation instead of a database field to know if the user wants to include subwarehouse
NEW: added the field "include_sub_warehouse" in the table "llx_inventory"
NEW: added VAT free & VAT amounts on payment input
NEW: added ext payment system ID in the payment page with link to Stripe
NEW: added field Technical ID in list of users
NEW: added filter on status of line of a dictionary
NEW: added get_substitutionarray_other() on shipping odt (#25080)
NEW: added IdProfCheck on thirdparty for BE (xxxx.xxx.xxx)
NEW: added index on prelevement_demande
NEW: added invoice subtype in customer invoice (#26543) and template invoice (SQL part) (#26535)
NEW: added a label to price level when changing price (#26240)
NEW: added modifications of template invoices into agenda
NEW: added more company information (ProfId7 to 10) (#25266)
NEW: added more information to holiday mailings (#25461)
NEW: added more param on fetch() to prepare perf optimization
NEW: added more tables activated by module activation only
NEW: added new field into $fields array + Creation of the function getChildWarehouse()
NEW: added option for cancel consumed and produced lines (delete lines and rollback stocks) when delete or cancel an manufacturing order (#26254)
NEW: added option in PDF for purchase order and quotation to hide prices
NEW: added order supplier submit notif
NEW: added parent product column on list
NEW: added picto in product/service list in object lines (#25511)
NEW: added possibility to choose separator #21426
NEW: added preselected update keys attribute to import class and select it by default if filled
NEW: added recurring behaviour
NEW: added recursive deletion option for child MOs (#26102)
NEW: added refactoring user permission (#26162)
NEW: added sorting of product price list by customer (#26483)
NEW: added tab Events/Agenda on recurring invoices
NEW: added the formEditObjectLine hook on commande card and invoice card
NEW: added the picto phone of thirdparty on the kanban view of projects
NEW: added the status of partnership to select partnership for emailing
NEW: added Ticket tab on contract
NEW: Agenda: agenda per user use quarter hour split instead of half hour split
NEW: Allow generation of delivery note through REST-API (#26226)
NEW: Allow sync of currency rates with currency layer by default.
NEW: Allow to have products not managed in stocks - SQL Part (#26190)
NEW: Assign contact to a ticket message (#24735)
NEW: Better protection against reserved words
NEW: billing on shipment+reception. Can be done before or after delivery.
NEW: can edit bomline workstation
NEW: Can include product variants in list of products
NEW: Can manage ODT documents for groups of users.
NEW: Can restore product in stock when deleting the supplier invoice
NEW: Can see the favicon file into setup of properties of a website
NEW: Can switch product batch management to no management. (#21691)
NEW: Can upload/delete ODT template for project and tasks
NEW: clone skill object (#26526)
NEW: column in table prelevement_lignes for fk_user (#26196)
NEW: CONF allow modify ticket classification even if closed
NEW: conf to display date entry stock exped and sort in date order (#22625)
NEW: Contract: Merge the "Create ..." buttons on contract into one.
NEW: create a product from a free line in a document (#22324)
NEW: customize position in complete_head_from_modules (#26406)
NEW: Date d'entree en stock sur les exped au moment de la création -> Stock date on exped at time of creation
NEW: Date field for shipment export (#25574)
NEW: Date format dayhoursec is using year on 2 char on smartphones
NEW: do not add default value in list
NEW: Donations: Generic doc template for donations (#26338)
NEW: drop down for action button show a simple button if only 1 action
NEW: Enhance github_commits_perversion to get more stats on git commits
NEW: Enhance IPN to support payment_intent.succeeded for both card/ban
NEW: Exports: added product barcode on stock exports
NEW: extrafields password accepts 'dolcrypt' algorithm (reversible algo)
NEW: Factorize a lot of code for numbering modules
NEW: filter on from/to period rather than month/year (#26378)
NEW: FontAwesome - added possibility to select another version
NEW: Get list evaluation with skills details in user fiche (#26510)
NEW: hidden conf to disable use of dns_get_record (which can become unresponsive) (#26339)
NEW: HR: PDF Generation for each Human Resource Evaluations
NEW: improved resource data structure
NEW: Interventions: close notification for interventions
NEW: Inventory: include sub warehouse in inventory
NEW: Inventory: inventory without virtual products (kits)
NEW: Invoices: subtypes for customers and vendors (#26233)
NEW: Invoices: start and end date for due date filter on invoice list
NEW: Invoice time from task, make task note better display in invoice line
NEW: lazy load to substitute project variables (#26451)
NEW: LDAP: Active Directory UserAccountControl (#25507)
NEW: Library including math and financial functions (#25035)
NEW: Loan: can upload a file with drag and drop
NEW: Manage rate indirect. (#26449)
NEW: Manufacturing Order: add edit line on MO (#26122)
NEW: memorize model name for PDF hooks
NEW: Menu editor is responsive
NEW: ModuleBuilder: Can modify the picto into ModuleBuilder
NEW: ModuleBuilder: Form for add object's property on ModuleBuilder
NEW: More accurate tooltip on what admin permissions are
NEW: (#24834) new option for hide the footer (#25464)
NEW: (#25044) new option for choose project visibility
NEW: new option for hide the footer of tickets on the public interface
NEW: no need to create invoice supplier object on supplier card for standalone credit note
NEW: Open-Surveys: Add a public page to list all open surveys
NEW: Option to show label, ref+label or only ref of product in TakePOS
NEW: payment full amount detail tooltip
NEW: Payments: Can edit both the Test and Live stripe customer account on payment
NEW: possibility to deselect line when create a recurring invoice + missing to use fk_parent_line
NEW: Projects: List - use select2 multiselect for status
NEW: Projects: massactions to delete projects
NEW: Propagate invoice extrafields into template invoice (#26529)
NEW: remove include_subwarehouse form llx_inventory database table
NEW: resource improvements - data structure (#26285)
NEW: Retrieve VAT details from the Greek Ministry of Finance GSIS SOAP web service and autocomplete third party fields
NEW: Right for stats orders (#24607)
NEW: rights and check access to create portal accounts
NEW: Row in list higher height (#26177)
NEW: Salaries: Can generate SEPA files for salaries (#26541)
NEW: Save date of RUM creation when creating a Stripe SEPA mandate
NEW: Shipments: can include service (for information and invoicing) (#26407)
NEW: Show id of module on the tooltip module help page
NEW: show VAT free amount on payment input close #26208 (#26209)
NEW: Sub total in list (#26165)
NEW: Support html content for combo list of email recipient
NEW: TakePOS: add constant to check qty asked is available (#24820)
NEW: TakePOS: add constant to choose contact instead of customer (#24807)
NEW: TakePOS: amount label with or without tax in free product (#24829)
NEW: TakePOS: compatibility with lots and serials (#26426)
NEW: TakePOS: use default customer, category and product when enable TakePOS (#25031)
NEW: TakePOS: added option TAKEPOS_HIDE_PRODUCT_PRICES to hide prices in TakePOS
NEW: Tickets: add and list external contributors on ticket public interface
NEW: Third-Parties: add total line to third-parties list (#26148)
NEW: Tooltips are using ajax by default
NEW: Website: Support of js into the Dolibarr server preview
NEW: Top menu support picto of modules that are font awesome picto.
NEW: updating by adding massactions for delete projects in societe tab
NEW: updating by adding tooltip for api section in Modulebuilder
NEW: updating by adjust request SQL for Salary invoice (#26279)
NEW: updating for display Help title when try to delete Don (issue #25314)
NEW: Upgrade in module builder in menu section
NEW: use account address in sepa mandate (#23642)
NEW: VAT rate - Add entity
NEW: Website: Support of js into the Dolibarr server preview
NEW: When an user unset the batch management of products, transformation of each batch stock movement in global stock movement
For developers or integrators:
------------------------------
QUAL Reduce very seriously the technical debt (using PHPStan, Psalm and Rector)
NEW Tool in dev/tools/rector to autofix code using style coding practice rules
SECURITY
SEC: #25512 applicative anti bruteforce - security on too many login attempts (#25520)
SEC: added action confirm_... as sensitive to need a CSRF token
SEC: Disable not used PHP streams
SEC: added option MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY
PERFORMANCE
PERF: Removed a useless fetch_thirdparty
PERF: Perf avoid 2 useless fetch into the triggers of agenda.
PERF: performance & code quality enhancements template sections
QUALITY
QUAL: Remove hardcoded code for OVH sms. Generic method is ok now.
QUAL: Code fix using rector
QUAL: Force subclass MINVERSION (#26314)
QUAL: group all flag images into 1 sprite file. (#26459)
QUAL: Move conf->global into getDolGlobal...
QUAL: Refactor merging companies and fix #26272 with Reception objects (#26320)
QUAL: Removed deprecated field remise, remise_percent, remise_absolute
QUAL: Standardize code and look and feel for dictionaries
QUAL: Standardize code. Renamed ID of user properties into ->user_xxx_id
QUAL: Use dol_clone with parameter 2 for ->oldcopy
QUAL: use switch case instead of if elseif statements for actions
QUAL: Better respect of REST API RFC.
Hooks:
NEW: [Add hook in user bank page]
NEW: #19501 Add two hooks in dolreceiptprinter.php (#26439)
NEW: Accountancy - Add hooks on PrintFieldList for expensereportsjournal, purchasesjournal, sellsjournal
NEW: add hook on selectLotDataList() function (#25368)
NEW: add Hooks and prepare extrafields management for product invoices consumptions (#26280)
NEW: add hooks on import, step 5 - 6 (#24915)
NEW: add hook tabContentCreateSupplierOrder (#26418)
NEW: add hook tabContentViewSupplierInvoice (#26431)
NEW: add new hook AfterImportInsert
NEW: add new hook OrderCard (#26380)
NEW: add new hook tabContentCreateOrder (#26408)
Triggers:
NEW: Trigger: add trigger COMPANY_RIB_XXX already present in companybankaccount.class.php
NEW: Trigger: add trigger on import success
NEW: Trigger: add trigger when deleting a bank account line
NEW: Trigger: subproduct triggers in product class (#25142)
ModuleBuilder:
NEW: ModuleBuilder: add section changeLog to Doc in MB
NEW: ModuleBuilder: Add api url to documentation in ModuleBuilder
NEW: ModuleBuilder: Checkin comments begin and end before each actions
NEW: ModuleBuilder: edit properties in description tab for ModuleBuilder
NEW: ModuleBuilder: remove dictionary in ModuleBuilder
NEW: ModuleBuilder: add page for create dictionary
NEW: ModuleBuilder: add badge for each tabs
NEW: ModuleBuilder: for edit name of dictionary and delete it in MB
NEW: add a $notrigger param to Product::updatePrice() method (#26404)
NEW: add a rule to fix empty($conf->global->...) into !getDolGlobal...
NEW: add column extraparams on societe_rib
NEW: add phpunit for REST API of contacts
NEW: add barcode function to check if EAN13 is valid
WARNING:
--------
The following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* Recheck the setup of your module Workflow to see if you need to enable the new setting to have shipment set to billed automatically when
an invoice from a shipment is validated (and if your process is to make invoice on shipment and not on order), because this setup has changed.
* The hook changeHelpURL is replaced by llxHeader
* The property ->brouillon has been removed from all classes. It was not reliable and was a duplicate of ->status == self::STATUS_DRAFT.
* The duplicated and deprecated property ->date_livraison that was renamed into ->delivery_date has been completely removed.
* The property ->user_close to store ID of closing user has been renamed into ->user_closing_id.
* The property ->user_validation to store ID of user validating has been renamed into ->user_validation_id.
* The property ->user_creation to store ID of user of creation has been renamed into ->user_creation_id.
* The property ->user_modification to store ID of user of modification has been renamed into ->user_modification_id.
* The private array ->status_short, ->statuts and ->status_long are now array ->labelStatusShort and ->labelStatus everywhere.
* The duplicate property ->user_creat, ->date_creat, ->date_valid have been removed (use instead user_creation, date_creation, date_validation).
* The method get_substitutionarray_shipment_lines() has been removed. Use the generic get_substitutionarray_lines() instead.
* The method ProductcustomerPrice->fetch_all_log() has been renamed into camel case ->fetchAllLog()
* It was possible to use a variable $soc or $right inside a PHP code condition of some extrafields properties, this is no more true (this 2 variables are no more global variables).
* New hook files of modules actions_mymodule.class.php should now "extends CommonHookActions"
* Endpoint for API /partnershipapi and /recruitment has been renamed into /partnerships and /recruitments to follow name conventions.
* Hidden option ACCOUNTANCY_AUTOFIX_MISSING_LINK_TO_USER_ON_SALARY_BANK_PAYMENT has been renamed into ACCOUNTANCY_AUTOFIX_MISSING_LINK_TO_USER_ON_SALARY_BANK_PAYMENT
* The delete() method of AdherentType, Contact, Delivery, MultiCurrency, CurrencyRate now need $user as first parameter.
* A very high number of class properties (with old name in french) are now deprecated in favor of the property name in english.
* The load of hook context productdao has been removed before calling loadvirtualstock. Modules must use the context of main parent page or 'all' for all cases.
***** ChangeLog for 18.0.5 compared to 18.0.4 *****
FIX: 17.0: deprecated field should only be a fallback
FIX: 17.0 - php8 warnings: test for $field existence before checking if it is null or empty
FIX: #24185: v18: display of the merged pdf lists
FIX: #26416 BOM_SUB_BOM blank page
FIX: #27166
FIX: #27262 Recurrent invoice - user to string conversion
FIX: #27970 #26283 #27970
FIX: Accountancy - Level 3 of binding not working on supplier side (#27462)
FIX: Accounting files export - Use th instead of td on all title columns (#28003)
FIX: add action update_extras to don card
FIX: Adding hooks init
FIX: Adding the $encode parameter to recursive _replaceHtmlWithOdtTag() utilisation
FIX: add new hook context for mo production card (#28037)
FIX: avoid from re-initializing result on nested hook getEntity (#27799)
FIX: avoid sql error (issue #26342)
FIX: bad accountancy code autoselection for supplier ventilation
FIX: Bad visible status of proposal after reopen
FIX: Barcode header cell not well displayed
FIX: BarCode Header not well displayed
FIX: Bar code verification should be done by entity because generation does (#28087)
FIX: can edit reminders on past events
FIX: check parameter socid before cloning a customer proposal (#28085)
FIX: crabe PDF is generating in conf->entity instead of object->entity
FIX: CVE-2024-23817 (#28089)
FIX: disable pointer events on jQuery-UI tooltips to prevent a glitch (fast-blinking tooltip)
FIX: Error on emailreminder not reported
FIX: Fatal error converting object of class User to string (php8)
FIX: filter by entity on contact is missing
FIX: Fix supplier invoice security check
FIX: format of color in manifest is wrong when using a custom color
FIX: #GHSA-7947-48q7-cp5m
FIX: HTML injection vulnerability in Dolibarr Application Home Page
FIX: invoice add line save devise
FIX: Keep a link to enable a 'always_enabled' module to solve pb.
FIX: label
FIX: line special_code never saved (#28051)
FIX: link to print when there is a search on multiselect fields
FIX: Menu Create of project no working on smartphone with no top menu.
FIX: missing $search_sale var (backport from v19)
FIX: Missing begin transaction when updating supplier recurring invoice
FIX: missing entity filter for check if period exists
FIX: more correctly parse the select part to be replaced in sql queries
FIX: MouvementStock::origin is not an object
FIX: notification information on intervention validated confirmation message (v17+)
FIX: not load all contacts by default when creating an event
FIX: port in Docker MailDev
FIX: propal use devise changes
FIX: public user photo not visible if $dolibarr_main_instance_unique_id
FIX: remove DISTINCT (backport from v19)
FIX: remove specific name from v19
FIX: Retours PR
FIX: Return a better error message when token is not valid
FIX: search by ref & rowid in don list
FIX: search by thirdparty in don list
FIX: several names for one const THIRDPARTY_CAN_HAVE_CUSTOMER_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT
FIX: SQL concatenation error
FIX: [TAKEPOS] display prices with or without taxes depending on setup (TAKEPOS_CHANGE_PRICE_HT)
FIX: Ternary operator condition is always true/false
FIX: too long output
FIX: Undefined property: Task::$fk_parent
FIX: uniformization to use "intervention"