forked from Dolibarr/dolibarr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
10612 lines (10132 loc) · 564 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 20.0.0 compared to 19.0 *****
For users:
----------
NEW: Compatibility with PHP 8.2 (with no need to disable warnings)
...
For developers or integrators:
------------------------------
...
WARNING:
--------
The following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* Ldap class methods connect_bind() & dump_content() have been renamed
* More class properties (with old name in french) are now deprecated in favor of the property name in english.
* Some API HTTP return code were moved from 401 to 403 to better follow REST specification.
* 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.
* The parameter $filter of method fetchAll does not accept array of SQL but must be a string of an Universal Search Filter syntax.
* 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.
***** 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"
FIX: Update loan.class.php (#27971)
FIX: update price extrafield on propal card
FIX: user filter in per user view of event list (#28049)
FIX: use the currency for propal signature page
***** ChangeLog for 18.0.4 compared to 18.0.3 *****
FIX: $this->newref already exists and could have been modified by trigger but we still use a local variable for the filesystem-based renaming
FIX: 16.0 only, backport fix for SQL error on global search product
FIX: #25399 (#26694)
FIX: #25458 intervention localizations (backport v17) (#26757)
FIX: #26518
FIX: #26536 Accountancy - Balance - Not divided lines by label & account, only by account (#26547)
FIX: #26553 Supplier invoice - Do not display the delete button for reconciled payment (#26554)
FIX: #26735
FIX: #26994
FIX: Accountancy - Possibility to write in bookkeeping expense report operation with some line not bound (#26545)
FIX: add display of an error when attempting to delete a committed transaction (#26573)
FIX: avoid warning : Cannot use a scalar value as an array (#26437)
FIX: backport SQL error on global search product
FIX: # Bug Estimated Stock at date value in V14 (#26479)
FIX: commande context (#26497)
FIX: delivery note disappear after generation
FIX: double hook and paging search param in product list (#26767)
FIX: Email reminder template must not be visible when option is off
FIX: escape HTML tags in return value of getFullName() (#26735)
FIX: Fix set private note (#26610)
FIX: Fix when options FAC_FORCE_DATE_VALIDATION and INVOICE_CHECK_POSTERIOR_DATE enabled. The date is forced after the test and not before
FIX: menu auguria
FIX: pagination parameters on save and cancel buttons (#26605)
FIX: pdf cornas page head multicell width (backport v17)
FIX: php8 fatal on edit supplier order when multicurrency is activated (#26758)
FIX: possible inconsistency between llx_ecm_files and file system when BILL_SUPPLIER_VALIDATES changes ref
FIX: regression on planned bank entries (#26556)
FIX: Social contribution - Payment list - Wrong information in type column (#26561)
FIX: special_code update line keep old value. (#26819)
FIX: substitute project variables in invoice documents (#26445)
FIX: Test on permission for holiday tooltips
FIX: v17: Param $notrigger in $societe->create() causes method to return true regardless of actual result of database functions (#26499)
FIX: v18 SQL error in llx_c_forme_juridique.sql when installing
FIX: Warehouse Global Amounts not displayed (#26478)
FIX: warning param $lineID getSpecialCode is negatif (#26826)
FIX: warning php8.2 undefined_array_key (#26830)
***** ChangeLog for 18.0.3 compared to 18.0.2 *****
FIX: #25793 Cannot add time spent (#26405)
FIX: #26100 Ticket - On edit, list of closed project must be excluded (#26223)
FIX: #26170
FIX: #26195 Various payment - List of project excluded those assigned to third parties (#26222)
FIX: #26349 add_customer_ref_on_linked_shipment
FIX: avoid warning + CSRF
FIX: avoid warning if module not activated
FIX: Bad name for trigger in HRM module
FIX: check tva_tx before comparing price_min_ttc (#25220)
FIX: Compare the result of the send mail file function
FIX: dol_eval with function starting with !
FIX: Error handling for computed values on import (#24897)
FIX: Error not returned on sales with takepos and batch module enabled
FIX: error of webhook not returned
FIX: firstname and lastname were not saved in attendee subscription
FIX: HTML in ODT templates (#26181)
FIX: Link to list of movement from the inventory code
FIX: Mass import of stock from a file must accept empty source
FIX: Max version of PHP (#26327)
FIX: missing load group members for ldap synchro (#26167)
FIX: missing project entity filter (Issue #26243) (#26247)
FIX: modification of complementary attributes in invoices (#26180)
FIX: On object validation, ecm index are not updated for uploaded files
FIX: Propal's negative quantities
FIX: public subscription page should not display acceptation for public register when it is not enabled (#26354)
FIX: regression on rounding stocks fields on product list
FIX: removed a non expected hidden input field in stockatdate page
FIX: src_object_id and ttype not filed when uploading a file with API.
FIX: suggested end for membership can be before subscription start (#26351)
FIX: Supplier card - VAT Reserve Charge - Undefined function isInEEC() (#26379)
FIX: syntax error
FIX: template invoice list extrafield filters (backport v17) (#26227)
FIX: Tooltip for search syntax must not appear on date fields
FIX: upload of files src_object_type
FIX: use event.key instead event.which to avoid keyboard difference
FIX: Use of line->insert instead of line->create
FIX: user creation when LDAP is configured (#26332)
FIX: Wrong backtopage given for the stocktransfer button from the stocktransfer list (#26271)
***** ChangeLog for 18.0.2 compared to 18.0.1 *****
FIX: 17.0 PHP8: supplier invoice class
FIX: #24908 #25824
FIX: #25780 Various payment - List - Fatal error on PHP8.x
FIX: #25884
FIX: #25919
FIX: #25934 #25929
FIX: Accountancy - Update Quadra export format
FIX: add field "entity" only in $tabfieldinsert
FIX: add warning in the changelog
FIX: Avoid duplicate popup when popup setup to work as ajax
FIX: avoid excess line breaks
FIX: removed some php8 warning
FIX: avoid wrong backtopage url
FIX: bad check return for sendfile
FIX: Bad choice of filter on product/service
FIX: bad from and to
FIX: Bad length for value
FIX: Bad value of accounting account shown in list. Edit fails.
FIX: batch to update non valid backlink check
FIX: better sql request for all cases
FIX: Can't access to rec supplier invoice card
FIX: Can't delete a fourn commande row if a commande ligne is linked
FIX: could not delete a fourn commande row if a commande ligne is linked
FIX: create intervention from time spend
FIX: customer code search filter on invoice list
FIX: #CVE-2023-4197
FIX: date comparison for user expiration on user list
FIX: Debug the dispatch page to work on corrupted data
FIX: delete useless condition in massaction_pre
FIX: Edition of line on the list of timespent for all projects
FIX: Edition of shipment detail with lot not updating correctly tables
FIX: emailcollector to search existing thirdparty when extract not found
FIX: Error message
FIX: Expense report is created on the wrong entity
FIX: export FEC
FIX: Filter on partnership status
FIX: fix the wrong position of the hook 'printFieldListTitle' and 'printFieldListValue' in the stock at date page
FIX: If PHPIMAP is active, emailcollector "recordjoinpiece" operation will not work
FIX: include
FIX: Kanban view
FIX: link to create purchase order from sale order
FIX: Look and feel search v18
FIX: message order in ticket public view is not coherent with tickets events tab
FIX: missing contact_id for the trigger
FIX: missing entity filter to customize ticket dictionaries by entity
FIX: Missing error message on CommandeFourn creation
FIX: missing fk_account situation invoice
FIX: missing group "members" + multiple broken features for Multicompany
FIX: missing 'overwrite_trans' for $addzero (Multicompany)
FIX: modification of complementary attributes in commercial proposals
FIX: multicompany compatibility
FIX: multiple broken features for Multicompany !!!!
FIX: Navigation to/from a project from page of projects of a thirdparty
FIX: payment : language is not propagated to following pages
FIX: Prices visible on TakePOS KO with multiprices support
FIX: product list accounting length
FIX: Quick search Intervention redirect to wrong page
FIX: Return right content type
FIX: right access on salary card and tabs
FIX: rights paymentsc paiementcharge
FIX: same broken feature as v18 (Multicompany)
FIX: Save user modif id when changing a contact status
FIX: Social Contrib - List - Fatal error on kanban view PHP8.x & Missing colspan
FIX: thirdparty object in proposal card is not loaded
FIX: Total of holidays is doubled
FIX: translation button
FIX: trigger for email sent from partnership
FIX: uniformize getEntity sql request
FIX: use urlencode for origin and originid
FIX: Various payment - List - Fatal error on php8.1
FIX: warning when Workboard Responses display non numeric strings
FIX: wrong place of trigger delete
FIX: wrong test + is_int is better for negative integer
***** ChangeLog for 18.0.1 compared to 18.0.0 *****
FIX: Adding a product in recurring invoice does not use the correct VAT
FIX: API /product/getAttributes
FIX: avoid php8 warnings
FIX: bad balance of TR tag in multicurrency price view
FIX: Bad calculation of localtax when price_base_type not defined.
FIX: Bad link into message
FIX: Bad message on menu to go to setup of accounting custom groups
FIX: Bank receipt was empty
FIX: Billing massaction should be possible on Processed Reception.
FIX: clone when cloning object with ->lines containing not object
FIX: Condition to show column POSModule and POSTerminal in invoice list
FIX: CSS
FIX: date survey : button to add dates would not work. Session would store cells numbers which would stay to 10 for next surveys created.
FIX: dir output path for ODT models on reception card
FIX: Duplicate tooltip on ref of an agenda event
FIX: encrypt sensitive data must not be done for const MAIN_AGENDA_ACTIONAUTO
FIX: Export when old file export_csv.modules.php is still present
FIX: fatal error with bad definition of dictionaries
FIX: fatal error with some parameters
FIX: hook formBuilddocOptions was broken when used by 2 modules
FIX: Line for revenuestamp in accountancy transfer must appear only if it exists
FIX: Navigation between bank receipts
FIX: payment card: misleading message when delete button disabled
FIX: reception odt dir output path
FIX: SQL request parenthesis
FIX: Suppliers addlines never have VAT if buyprice for this supplier not set
FIX: TakePOS receipt preview in admin #25648
FIX: technical error on conciliation of lines
FIX: the account in chart of account to use for revenue stamp is on dict
FIX: url to check keyword not saved on partnership from public form
FIX: when adding new times on a survey, all hours would be erased.
***** ChangeLog for 18.0.0 compared to 17.0 *****
For users:
----------
NEW: PHP 8.2 compatibility (not yet complete).
NEW: Module Workstations Management upgraded to stable status.
NEW: Module Webhook upgraded to stable status
NEW: #23436 Group social networks fields
NEW: Accountancy - Add specific page to export accounting data rather than the journals page
NEW: Accountancy - Add sub-account balance FPC22
NEW: Accountancy - Manage customer retained warranty FPC21+
NEW: Accountancy - Manage intra-community VAT on supplier invoices - FPC22
NEW: Accountancy - iSuiteExpert export model
NEW: Accountancy - Quadratus export with attachments in accountancy export
NEW: Accountancy - Can filter on a custom group of accounts. Perf or ledger list.
NEW: Accountancy - Can select the export format during export of journals
NEW: Accountancy - sort of column of custom group of account
NEW: Can upload a file with drag and drop on purchase invoice, vats, salaries and social contributions
NEW: Authentication: #22740 add OpenID Connect impl
NEW: Authentication: add experimental support for Google OAuth2 connection
NEW: Authentication: can now edit service name for OAuth token
NEW: add bookmarks in selectable landing pages for users
NEW: Add column ext_payment_site into societe_rib to allow multiple payment mode
NEW: add conversion of images to webp for a single image in website media editor
NEW: Add CRC for currency symbol before amount
NEW: Add filter on nb of generation done in list of recurring invoices
NEW: Add filters and sort on product unit column
NEW: Add link to edit VAT list from error message of missing VAT
NEW: add margins in paiement/card.php
NEW: Add mass action delete on VAT
NEW: Add possibility to choose format #21426
NEW: An external module can modify the quick search fields
NEW: Bank: Bank name no more mandatory on creation. Can be generated if empty.
NEW: Bank: Add fields zip, town, country for owner of a bank account
NEW: batch referential objects
NEW: Can add the add now link on date into addfieldvalue()
NEW: Can add an array of several links in date selector
NEW: Can bin accounting line for a given month
NEW: Can edit inline the VAT number from supplier tab
NEW: Can go back to draft on shipment when stock change not on validate
NEW: Can modify bank account of sepa payment (if file not sent yet)
NEW: Can set a checkbox in formconfirm by clicking on the label
NEW: Can set the page "List of opportunities" as landing page
NEW: Can show the SQL request used on emailing selection
NEW: can stay on edit field when errors occurs
NEW: comment in api_mymodule for separate methods
NEW: create email substitution variable for intervention signature URL
NEW: Contacts: presend mass action in contact list
NEW: Contacts: hook printFieldListFrom in contact list
NEW: Customers: add date due and labels into customer comm card
NEW: Debug the custom CSS feature to avoid a directory search/scan at
NEW: dev name
NEW: Disable bad reputation product price
NEW: Email: autofill email form with the email template with status "Default" on
NEW: Email: don't have closed contact proposed as receiver for the mails
NEW: Email: can set flag default value on email templates
NEW: Email-Collector: add field reply-to in email collector as possible filter
NEW: Email-Collector: substitute date now in email collector
NEW: Email-Collector: operation type in email collector to load or create contact
NEW: Email-Collector: easier setup - can also use ! for negative search
NEW: Email-Templates: show module into list of email templates
NEW: Events: can add any contact on events if global MAIN_ACTIONCOM_CAN_ADD_ANY_CONTACT is set at 1
NEW: Events: list with color
NEW: Events: remove default percentage for event creation url
NEW: formconfirm can support field with format datetime
NEW: GeoIP: Can test a geoip conversion from the geoip setup page
NEW: GUI: add a CSS editor into the admin GUI
NEW: GUI: add dropdown button actions (example on Create button on project)
NEW: GUI: color for start date and owner
NEW: GUI: new tab for reception and shipment
NEW: GUI: better design for the page of discounts of a thirdparty
NEW: GUI: can set background style with MAIN_LOGIN_BACKGROUND_STYLE
NEW: Help: Tooltip to explain how to add a photo on a product
NEW: Help: Possibility to link to German pages in help
NEW: helper functions for dates + small demo case
NEW: HR - Salary: can fill date of salary payment with date of start of salary
NEW: HR - Salary: can modify the date of payment of a salary (if not reconciled)
NEW: HR - Salary: date for salary payment includes the hour/min
NEW: HR - Salary: adding button Send Email on the salary file
NEW: Import: filter on entity in import
NEW: Import: map table to element for get entity in import
NEW: inc.php: handle parameters from argv
NEW: Installation: Auto activate some modules on install (Export/Import/Wysiwyg editor)
NEW: Invoice: show category of operations
NEW: Invoice: add customer code to invoices listing
NEW: Keep a link between user created from recruitment and application
NEW: Mass Actions: Better responsive for mass actions
NEW: Members: add numbering modules for members
NEW: Members: add widget box_members_by_tags.php
NEW: Members: Captcha for public member's subscription form
NEW: migration script + delete old table + rename fields and indexes
NEW: MRP MO: Dynamic choice of warehouse and batch in MO production.
NEW: Multicurrency REST API to create, update, delete, update rate...
NEW: Multiselect for filter on prospection status
NEW: [Bulk delete Project tasks]
NEW: No overwrite of optionals during put() contact
NEW: Notifications: add Customer Order delivered (ORDER_NEW) in module Notification
NEW: Notifications: for Sign or Refused Propal from Online Page
NEW: Now we can edit amount on VAT and salaries clone action
NEW: only get opened contact from liste_contact function, to not have access to closed contact as mail receiver
NEW: Option: MAIN_SECURITY_MAXFILESIZE_DOWNLOADED #yogosha10660
NEW: Option to manage deposit slips for more payment modes (not only
NEW: Option to show column for field and line selection on the left
NEW: Orders: add sub total in order list det
NEW: Orders: list product in orders
NEW: Orders export: allow to export field 'shipment method'
NEW: payment default values when supplier order created from reception
NEW: Payment: manage contracts
NEW: Payment: sepaStripe now creates the payment mode with type pm_ using new API
NEW: Payment: add partial payment reason "withholding tax"
NEW: Payment: Can edit account on miscellaneous payment (if not transferred)
NEW: Print PDF: category of operation for crabe PDF model
NEW: Print PDF: Name and date to print on PDF Sign
NEW: Print PDF: Use the more recent PDF templates for documents by default on a fresh install
NEW: Print PDF: Option PDF_SHOW_PHONE_AFTER_USER_CONTACT to show phone after specific assigned contact on PDF
NEW: Print PDF: Option PDF_SHOW_EMAIL_AFTER_USER_CONTACT to show email after specific assigned contact on PDF
NEW: product images on popup are cached
NEW: Products: Add origin info when create a product batch when created from a movement stock
NEW: Products: Add statistics by amount on statistics of products.
NEW: Products: Add SQL constraint on product_stock table to allow only existing product and warehouse #23543
NEW: Proposals: filter for Signed+Billed in proposals
NEW: Proposals: can modify margin rates in offers like VAT rates
NEW: Proposals: option filter for NoSalesRepresentativeAffected in proposals list
NEW: Proposals: constant PROPALE_ADDON_NOTE_PUBLIC_DEFAULT
NEW: Reception: can receive more than qty ordered on reception
NEW: referential objects of batch
NEW: remove keys whose table element is the same as element in map list
NEW: repair script skip views
NEW: search on time spent duration range
NEW: Security: Save date to invalidate other session into user table
NEW: Security: Invalidate all sessions of a user when password is modified.
NEW: Service Contracts: Filter on amount and qty on list of service's contracts
NEW: set today start time at beginning
NEW: Show main currency in company info user tooltip
NEW: Show supplier invoice ref of direct debit transfer tab invoices
NEW: Social Networks: expend/collapse list of social networks
NEW: Stock limit for alert and desired optimal stock by product and warehouse import
NEW: Stock: Add warehouse create and modify triggers.
NEW: Stock: Can select several warehouses into the view stock at date in past
NEW: Stripe: add STRIPE_DEBUG, a way to log Stripe IPN
NEW: Supplier Invoices: add ability of ODT support to supplier invoices
NEW: Supplier Order: show supplier name in getNomUrl of supplier order
NEW: Supplier Order: set payment default values when supplier order created from reception
NEW: Supplier Price: Add a status on supplier price ref (WIP to close a supplier ref)
NEW: Support different bank account for several direct debit payments
NEW: Support multiselect in the warehouse selection combo box
NEW: Survey: Comment on survey is possible only after vote.
NEW: TakePOS: adapt category and product pictures sizes on TakePOS
NEW: TakePOS: limit load products in TakePOS
NEW: The batch for remind on due date can be setup for using validation date
NEW: The refresh link for IMAP collector is always visible
NEW: Third-Party: use an ajax component to switch prospection status on thirdparty list
NEW: Tickets: Send a notification email when ticket assigned
NEW: Tickets: set ticket status to answered if the client has answered from the public interface
NEW: Tickets: added an option to display the progress of tickets on the public interface
NEW: Tickets: add link to thirdparty tickets history
NEW: Tickets: notify also the contributor affected to a ticket if a new message public is post (add global TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_ALSO_CONTRIBUTOR)
NEW: Upgrades: The upgrade process can be done by creating a file upgrade.unlock
NEW: Use a cache file for external RSS in calendar
NEW: Use by default the domain $dolibarr_main_url_root for SMTP HELO
NEW: Users: add a public virtual card page for each user
NEW: VAT can be modified during add of line
NEW: Website Module: Increment website counter on each page access in website module
NEW: Website Module: Show counter of access of website in website list
NEW: Widgets: Show picto into the combobox of widgets
NEW: Widgets: Implement MAIN_ACTIVATE_FILECACHE on birthday widget
NEW: Widgets: Add widget "The next upcoming events"
NEW: Widgets: Add widget of open opportunities
For developers or integrators:
------------------------------
NEW: Make it possible to select hours and minutes in form_confirm
NEW: add triggers on mailing
NEW: Add a trigger when create a shipping line batch and fix propagate missing errors
NEW: add function for listing objects from directory
NEW: add helplist property to describe fields of objects
NEW: API: Support contact in post() document API
NEW: API: more APIs (update currency rate, upload of supplier documents, ...)
NEW: Hooks: printFieldListFrom in contact list
NEW: Hooks: add hook in loadLotStock() in html.formproduct.class.php file
NEW: Hooks: add hook 'llxFooter'
NEW: Hooks: add hook online sign
NEW: Hooks: add sent info in the parameters provided to the hook sendMailAfter
NEW: Libraries: Update libs parsedownto 1.7.4, phpspreadsheet lib to v1.12, ESCPOS v3.0, jquery, Stripe.
NEW: ModuleBuilder: updating in modulbuilder on tab Menu when adding object
NEW: ModuleBuilder: add/edit permissions
NEW: ModuleBuilder: better generated documentation
NEW: add setAsSelectUser into factory for generic setup page
NEW: add option keepspace into dol_string_nospecialchar()
NEW: dol_sort_array can sort on alphabetical order even if val is num
NEW: dolExplodeIntoArray can accept regex
NEW: element time integration code + SQL
NEW: tables: llx_element_time to store time spent on several elements (mo, ticket...)
NEW: Provide the oldcopy value when calling setValueFrom() function with a trigger key
NEW: getCommonSubstitutionArray to have more substitute keys
NEW: write all fields and their properties in asciidoc format
WARNING:
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* Minimal PHP version is now PHP 7.1 instead of PHP 7.0
* Sensitive data like keys in setup pages, that need encryption (for example the API keys of users, the CRON security key, the keys into the Stripe module, or
external modules setup pages that store sensitive keys or password), are using the $dolibarr_main_instance_unique_id as part of the key for encryption. So,
if you restore or duplicate the data from another instance dump, you must also update this parameter in the conf.php file to allow decryption in the new instance, or
better, you must reenter the sensitive data into the setup pages of the new instance to resave them correctly.
Note that to find all the parameters that are encrypted into the setup database, you can do a "SELECT * FROM llx_const WHERE value LIKE '%dolcrypt%';"
* The deprecated method "escapeunderscore()" of database handlers has been removed. You must use "escapeforlike()" instead.
* The method "nb_expedition()" has been renamed into "countNbOfShipments()"
* Revert default type of hooks. Default is now 'addreplace' hooks (and exception become 'output' hooks, that become deprecated).
* Deprecated property libelle removed from entrepot class.
* The type 'text' in ->fields property does not accept html content anymore. Use the type 'html' for that.
* The module for WebService SOAP API have been deprecated. Use instead the Webservice REST API module.
* The method htmlPrintOnlinePaymentFooter() used for public footer pages has been renamed into htmlPrintOnlineFooter() and moved into company.lib.php
* The method getCheckOption() and deleteCPUser() of class Holiday has been removed (it was not used)
***** ChangeLog for 17.0.4 compared to 17.0.3 *****
FIX: $this->newref already exists and could have been modified by trigger but we still use a local variable for the filesystem-based renaming
FIX: 16.0 only, backport fix for SQL error on global search product
FIX: 17.0: deprecated field should only be a fallback
FIX: 17.0 PHP8: supplier invoice class:
FIX: 17.0 - php8 warnings: test for $field existence before checking is_null
FIX: #25399 (#26694)
FIX: #25458 intervention localizations (backport v17) (#26757)
FIX: #25580 install/step1.php - wrong command line argument used for $main_dir (#25581)
FIX: #25919
FIX: #25934 #25929
FIX: #26100 - Ticket - On edit, list of closed project must be excluded (#26223)
FIX: #26195 - Various payment - List of project excluded those assigned to third parties (#26222)
FIX: #26735 FIX: #26994
FIX: #27262 Recurrent invoice - user to string conversion
FIX: Accountancy - Possibility to write in bookkeeping expense report operation with some line not bound (#26545)
FIX: Accountancy - Update Quadra export format
FIX: add action update_extras to don card
FIX: add_customer_ref_on_linked_shipment (#26349)
FIX: add display of an error when attempting to delete a committed transaction (#26573)
FIX: Adding the $encode parameter to recursive _replaceHtmlWithOdtTag() utilisation
FIX: add warning in the changelog
FIX: avoid php8 warnings (#25596)
FIX: avoid warning : Cannot use a scalar value as an array (#26437)
FIX: Backport memory fix for fatal error when +100000 products
FIX: backport SQL error on global search product
FIX: bad accountancy code autoselection for supplier ventilation
FIX: Bad calculation of localtax when price_base_type not defined.
FIX: bad check return for sendfile
FIX: bad from and to
FIX: Bad value of accounting account shown in list. Edit fails.
FIX: Barcode header cell not well displayed
FIX: Bar code verification should be done by entity because generation does (#28087)
FIX: # Bug Estimated Stock at date value in V14 (#26479)
FIX: Can't access to rec supplier invoice card
FIX: Can't delete a fourn commande row if a commande ligne is linked
FIX: check tva_tx before comparing price_min_ttc (#25220)
FIX: commande context (#26497)
FIX: compare the result of the send mail file function
FIX: could not delete a fourn commande row if a commande ligne is linked
FIX: count cronjob list differs of lines shown nb
FIX: crabe PDF is generating in conf->entity instead of object->entity
FIX: creation of invoice from contract with discount lines
FIX: CVE-2024-23817 (#28089)
FIX: dir output path for ODT models on reception card
FIX: disable pointer events on jQuery-UI tooltips to prevent a glitch (fast-blinking tooltip)
FIX: Error handling for computed values on import (#24897)
FIX: escape HTML tags in return value of getFullName() (#26735)
FIX: export FEC
FIX: Fatal error converting object of class User to string (php8)
FIX: fatal error with bad definition of dictionaries
FIX: filter by entity on contact is missing
FIX: Fix supplier invoice security check
FIX: HTML in ODT templates (#26181)
FIX: include
FIX: label
FIX: line special_code never saved (#28051)
FIX: link to create purchase order from sale order
FIX: menu auguria
FIX: message order in ticket public view is not coherent with tickets events tab
FIX: Missing begin transaction when updating supplier recurring invoice
FIX: missing contact_id for the trigger
FIX: Missing error message on CommandeFourn creation
FIX: missing fk_account situation invoice
FIX: missing project entity filter (Issue #26243) (#26247)
FIX: modification of complementary attributes in commercial proposals
FIX: modification of complementary attributes in invoices (#26180)
FIX: more correctly parse the select part to be replaced in sql queries
FIX: not create/update extrafields for visibility 0,2 and 5
FIX: notification information on intervention validated confirmation message (v17+)
FIX: payment card: misleading message when delete button disabled
FIX: payment : language is not propagated to following pages
FIX: pdf cornas page head multicell width (backport v17)
FIX: possible inconsistency between llx_ecm_files and file system when BILL_SUPPLIER_VALIDATES changes ref
FIX: Prices visible on TakePOS KO with multiprices support
FIX: product list accounting length
FIX: propal list : warning if product module is not enabled (#25583)
FIX: Propal's negative quantities
FIX: Quick search Intervention redirect to wrong page
FIX: reception odt dir output path
FIX: regression on rounding stocks fields on product list
FIX_reload_linked_objects_on_propal_closeas
FIX: Return right content type
FIX: right access on salary card and tabs
FIX: rights paymentsc paiementcharge
FIX: same broken feature as v18 (Multicompany)
FIX: Save user modif id when changing a contact status
FIX: search by ref & rowid in don list
FIX: search by thirdparty in don list
FIX: special_code update line keep old value. (#26819)
FIX: SQL concatenation error
FIX: SQL request parenthesis
FIX: substitute project variables in invoice documents (#26445)
FIX: Suppliers addlines never have VAT if buyprice for this supplier
FIX: [TAKEPOS] display prices with or without taxes depending on setup (TAKEPOS_CHANGE_PRICE_HT)
FIX: TakePOS receipt preview in admin #25648
FIX: template invoice list extrafield filters (backport v17) (#26227)
FIX: thirdparty object in proposal card is not loaded
FIX: too long output
FIX: translation button
FIX: use event.key instead event.which to avoid keyboard difference
FIX: Use of line->insert instead of line->create
FIX: user creation when LDAP is configured (#26332)
FIX: Use the wrong logo size on PDF
FIX: v17: Param $notrigger in $societe->create() causes method to return true regardless of actual result of database functions (#26499)
FIX: warning param $lineID getSpecialCode is negatif (#26826)
FIX: warning php8.2 undefined_array_key (#26830)
FIX: warning when Workboard Responses display non numeric strings
FIX: Wrong backtopage given for the stocktransfer button from the stocktransfer list (#26271)
FIX: wrong place of trigger delete
***** ChangeLog for 17.0.3 compared to 17.0.2 *****
FIX: #20304 propaldates update
FIX: #24508 Label not reported when creating a supplier invoice template (#25340)
FIX: #24569 filters on stockadate page
FIX: #24631 Filter on categories of warehouses faulty
FIX: #24695
FIX: #24756 Total sum on annual report bank
FIX: #24918
FIX: #24985 Societe - Function thirdparty merging not working with module whose tables are not deployed by default
FIX: #24991
FIX: #24997 Update slovakia vat rate
FIX: #25223
FIX: ability to disable forcing focus on select2 to avoid side effects
FIX: Add hidden conf to add extrafields in canelle template : INVOICE_ADD_EXTRAFIELD_IN_NOTE
FIX: Add/Update required modules for thirdparties (by categ) & partnership
FIX: ajax on off setup type
FIX: avoid php8 warning
FIX: Bad management of localtax on TakePOS due to typo error in var name
FIX: can define empty qty by default when create object line
FIX: can not remove the last selected value with checkbox
FIX: case special char for password in email admin page
FIX: Change $key into $tmpkey
FIX: CommonObject::getRights()
FIX: commonobject: getRights() did not find rights correctly for objects built using modulebuilder
FIX: CVE reported by BELABED Skander (Akerva)
FIX: CVE XSS on company name reported by Belabed Skander from Akerva
FIX: decimal values were not possible on shipment quantities (introduced by #24882)
FIX: default value for condition of payment on proposal
FIX: default values were not set for specimen objects
FIX: Delete of bank of a thirdparty must need the edit thirdparty perm
FIX: display project tasks list columns (#24557)
FIX: dol_print_error parameters on ticket fetch method (#25318)
FIX: dol_trunc may not have the desired behaviour for truncating a cryptographic initialiszation vector, for instance when MAIN_DISABLE_TRUNC is used
FIX: Donation - Missing Language key
FIX: error expedition qty 0
FIX: extrafield quick edit not working on products
FIX: fatal error on Stripe setup page and security when terminal not used
FIX: Fatal Error PHP 8 : division by 0 (#25384)
FIX|Fix Change strpos for expedition and receipt in files.lib.php $haystack and $needle inversion
FIX: Fix main and left menu info for the root menu of the list of accountancy journal
FIX: Homogenise handling of null extrafield value in create/update
FIX: Langs was not loaded for extrafields error
FIX: Missing localtaxes on receipt in TakePOS
FIX: no change on thirdparties.modules.php required modules
FIX: OAUth2 module for Google with scopes for people and calendar