forked from Dolibarr/dolibarr
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
12688 lines (12156 loc) · 687 KB
/
ChangeLog
File metadata and controls
12688 lines (12156 loc) · 687 KB
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 23.0.0 compared to 22.0 *****
For users:
----------
NEW: Need PHP 7.2 as minimum version
NEW: Module datapolicy moved as stable (for anonimization features)
NEW: #31723 - Improve project overview: Hide paid orders (#35524)
NEW: #35700 : Throw an error when validating a propal, order, supplier with a product no more in sale/purchase… (#35709)
NEW: Accountancy - Accounting by payment type (#34729)
NEW: Accountancy - Add accounting for discounts (#35977)
NEW: Accountancy - Add a protection on various payment for auxiliary account on general account not centralized (#35720)
NEW: Accountancy - Add field centralized on import/export (#35872)
NEW: Accountancy - Add hook on export filename (#35188)
NEW: Accountancy - Add reconcile on general accounting account - SQL part (#35994)
NEW: Accountancy - Analytical axis (SQL Structure) (#34738)
NEW: Accountancy - Manual input - Add script to greyed out subledger_account if general ledger is not centralized (#35855)
NEW: Accountancy - Transaction - Add verification on centralized account (#35824)
NEW: Accountancy - Various payment - Add script to greyed out subledger_account if general ledger is not centralized (#35842)
NEW: Add a boolean for lines in api and $properties (#34293)
NEW: Add accounting export mode for ISTEA (#36006)
NEW: add a limit to avoid too many answer in agenda view. Add warning if limit has been reached.
NEW: Add a page to edit http security headers of application (#34941)
NEW: Add auto-reference generation for tasks (like in project) in API (#35981)
NEW: Add column ref_ext and note_private for membership
NEW: Add column thirdparty ref_customer and ref_supplier in project list
NEW: Add column title in emailing and add more filters
NEW: add combining characters (accents, cedilla...) codes in dol_string_unaccent() (#35130)
NEW: add company date birth (SQL structure) (#34854) (UI) (#34861)
NEW: add conditional supplier price display (#35900)
NEW: Add configuration for default timesheet menu (#35805)
NEW: Add contact tab on product service (#35914)
NEW: Add directory navigation to Web Portal Shared Documents (#35443)
NEW: Added Messaging and agenda tabs on order and shipments (#34859)
NEW: Add event when installing a module in the security event list.
NEW: add extrafield option "empty on clone" (#34866)
NEW: add fields usage_opportunity, usage_task, usage_bill_time for project import (#35301)
NEW: Add filter on agenda event progression on agenda page
NEW: add free numbering module for members (#35636)
NEW: add global search for resource object (#36043)
NEW: add hidden const to get response header in geturlcontent function (#34781) (#34824)
NEW: add hook getListOfModels (#34626)
NEW: Add hook on calcula_price() and get_default_tva()
NEW: Add hooks in webportal (#35326)
NEW: add hook when printing new card button on thirdparty list (#36350)
NEW: add hourly rate in list of users
NEW: Add missing parameters for menus on webportal hook (#35550)
NEW: Add option PDF_PURCHASE_INVOICE_HIDE_VAT
NEW: Add option PROJECT_CAN_ALWAYS_LINK_TO_ALL_CUSTOMERS
NEW: Add option to create simple standalone shipment of non origin (#35651)
NEW: Add option to create standalone reception (#36134)
NEW: add private and public note on ticket (#35303)
NEW: add product_type field on fichinter (preparing subtotal) (#36196)
NEW: Add regions for CONGO, THE DEMOCRATIC REPUBLIC OF THE;CD (#36340)
NEW: ADD Send mail for reception / Delivery (#34829)
NEW: Add setup page to concat natively files on invoice PDF.
NEW: add shipping address to propal (#34441)
NEW: Add Sign feature on shipments (#34640)
NEW: Add sms reminder in reminder of agenda events (#35239)
NEW: Add SQL table for expensereport line extrafields support (#36251)
NEW: add supplier invoice, order and supplier order tag filter and bulk insert and statistics order and supplier order (#35399)
NEW: add supplier payment mail template (#35877)
NEW: add tags on proposals and supplier proposals and in statistics (#35553)
NEW: Add task categories 1/3 (#35848)
NEW: Add tasks card hooks (#35616)
NEW: Add the "Dispute status" in list of invoice.
NEW: add the option to not synchronize thirdparty <--> member (#36033)
NEW: Add the widget funnel of opportunities
NEW: Add tpl files for standalone shipment (#35624)
NEW: Add tpl loader for discounts.tpl.php (#34798)
NEW: Add Transfer Number (#35665)
NEW: Add Type, Description columns to Project Overview Expense Reports (#36214)
NEW: Add user permission for create/edit/delete supplier prices (#35940)
NEW: Allow omission of ODT template name when generating ODT and PDF (#35701)
NEW: Better navigation and report into database admin tools
NEW: Button to create a proposal and sale order from a contract always on
NEW: Can add info of main IT service provider in setup.
NEW: can admin payments extrafields (#34822)
NEW: Can drag and drop in BOM card
NEW: Can force_install_dolibarrpassword for automatic installation (#34537)
NEW: Can have a tooltip picto on title of column and keep autotruncation of label. Tooltip is show at begin of text.
NEW: Can show both currency code and symbol into the select of currency
NEW: Can sort on employee in holiday balance. Add link to go to history.
NEW: Can update value of timespent with last task hourly rate (#36018)
NEW: Can urlencode substitution variable of constants
NEW: Can view/list/edit the dispute status of an invoice
NEW: Change the path for the mailing files (#34878)
NEW: Constant ORDER_MASS_ACTION_BILLED_LINK_EXPEDITIONS (#34617)
NEW: const MENU_HIDE_EMAIL_TEMPLATES to hide email templates setup in Tools menu (#35739)
NEW: Create simple shipment of non origin (#35604)
NEW: Currency for the Democratic Republic of Congo added. (#36104)
NEW: Customized step in duration select (#34652)
NEW: Dashboard - Add option in ihm to disable MRP thumb (#36185)
NEW: date function related to holiday can accept country id in addition to country code
NEW: DEV Can set color of the on/off button.
NEW: Disable by default obfuscation methods and function in extrafields evaluable strings. Can re-enable with MAIN_ALLOW_OBFUSCATION_METHODS_IN_DOL_EVAL=1
NEW: Discount split more than two parts (#34782)
NEW: Display company logo on kanban view (#34520)
NEW: dol_sort_array can be used with 2 sorting criteria.
NEW: Enhanced layout feature for emailing
NEW: Enhance popup for image preview (show size in title, can restore small view, always show the Rotate button).
NEW: Enhance the system for warnings on module activation
NEW: execute hook addMoreActionsButtons on bank card (#35598)
NEW: extrafields: add field to link a field to a module (#34416)
NEW: Feature to merge duplicate members (#35308)
NEW: generate renewal proposal for contracts (#35120)
NEW: Holiday - Allow to specify a specific mail address from (#36184)
NEW: hook allowing external modules to replace the behavior of fetchObjectLinked() (#34724)
NEW: hooks `showInputExtraField` and `showOutputExtraField` to override ExtraFields::show(Input|Output)Field (#35496)
NEW: implement box on product and interventional index page (#34629)
NEW: import subscriptions (#35612)
NEW: Introduce getCurrency(). $conf is no more allowed into computed formulae.
NEW: Invert logic of default date in proposal/order/invoice creation: Need option to NOT autofill instead of the opposite.
NEW: line input multicurrency price with tax (#35064)
NEW: Major overhaul of DataPolicyCron and add Recruitment policy (#34704)
NEW: Make the public contact form with experimental status
NEW: Minimal version of PHP is now 7.2
NEW: More index for memberships table
NEW: More information on the user credential section
NEW: More webportal feature - Can add shared files and thirdparty documents (#35391)
NEW: New hook mergePdf (#34707)
NEW: On invoice, show also nb of credit notes notyet converted for consumption
NEW: Option to clone parent categories on variant creation (#35806)
NEW: Output of category tag is nicer for long subcategories.
NEW: Parent project column in list of projects (#36177)
NEW: Paymentok validate invoice if not already done (#35564)
NEW: PDF Show customer balance on invoice date (#34800)
NEW: possibility to define global entity in user param (#35908)
NEW: Add messaging and agenda features to proposals (#34883)
NEW: public and private note can be shown on contact list
NEW: Public donation page (#35565)
NEW: public pages donation, ticket and member use captcha setup (#35913)
NEW: Rework of the management of the card and fields on the web portal (#36076)
NEW: Save the BAN and RUM for SEPA into database not just file.
NEW: search all facture rec (#34563)
NEW: Show cron last result and output in info (#36028)
NEW: Show full date with seconds in the tooltip of date of event
NEW: Show the link to download the zip of a module on module setup
NEW: Show warning on banner when an email is not valid
NEW: The check file feature can limit check on unalterable files only
NEW: The flag "Dispute open" make the status in Red.
NEW: The PHP info is in a popup in install page.
NEW: update country list (#34865)
NEW: Update Incoterms to 2025 standards and add new terms (#36041)
NEW: Upgrade ACE editor to 1.43.12
NEW: User/Date in the Follow tab are more condensed.
NEW: We added a hook to allow us to modify the Prospect Customer drop down… (#25635)
NEW: Withholdingtax how VatRefund (#34649)
For developers:
---------------
NEW: Introducing the TRIGGER_PREFIX property to force developers to use unique triggerkey per business object, to limit code to business CRUD events and report warning when it is not.
NEW: add extraparams field in llx_categorie (#35975)
NEW: Add prepare() method to DoliDB class (rebuild) (#35249)
NEW: Add function to split a discount in 2 by API REST (#34786)
NEW: Add a new API "product lots" (#36243)
NEW: Add API for Holidays/Leaves
NEW: add api for members statistics (#35851)
NEW: add api List VAT (#35920)
NEW: add api_paiements.class.php (#34756)
NEW: document API builddoc product
NEW: Add contact management on project Api (#35459)
NEW: Add contact support on products in REST API (#35925)
NEW: Add country ID resolution from country code for thirdparty api (#36345)
NEW: Add getcontacts on api of interventional and proposal (#35589)
NEW: Add hook initialization for interventions API (#35203)
NEW: Add option API_ENABLE_COUNT_CALLS
NEW: Add thirdparty search on api list (#34634)
NEW: add timespent API endpoints for projects and tasks add also cascading assignment of contacts to tasks (#35897)
NEW: add upload api feature for shipment (#34639)
NEW: Allow creating contact via api with ISO code (#36322)
NEW: API endpoint for getting products in a warehouse (#35918)
NEW: API for getting, adding, deleting and/or modifying email templates (#35853)
NEW: API for handling mass mailing targets (#35603)
NEW: API GET endpoint for thirdparties types listing (c_typent) (#34751)
NEW: Api mass emailing (#35531)
NEW: API user/groups/ POST, PUT, DELETE + some hurl tests (#35903)
NEW: API User - Remove user from group (#35453)
NEW: Implement listTimespent method in api_projects.class.php (#36093)
NEW: qual fixes on api contract (#36066)
NEW: stock API GET movement (#36193)
NEW: action to clone ticket
WARNING:
--------
The following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* The deprecated column "egroupware_id" has been dropped from table llx_user.
* The property $sumpayed (duplicated of $totalpaid), $sumdeposit (duplicate of $totaldeposits) and $sumcreditnote (duplicate of $totalcreditnotes) has
been removed (there are replaced with the property that was a duplication of (same for $sumpayed_multicurrency, $sumdeposit_multicurrency, $sumcreditnote_multicurrency).
* Parameters $maxlen and $notooltip of Contract have been inverted to follow the standard. It was breaking the common use of getNomUrl() but if you were
using the parameter maxlen (rare) by using the old signature, result may be just a tooltip that is no more visible when mous over the contract ref shown by your module.
* Removed array $MAP_ID_TO_CODE that was a duplicate of the array "array_flip($categ->MAP_ID)"
* The signature of the Sale order ->cancel() method and shipment ->cancel() has been modified to introduce the $user param like for other methods that modify a status.
* Adding new "document generation templates" must be done by adding files into the mymodule/core/modules/xxx/doc directory. Adding files into custom directory with the
same path than the core path, without using a "mymodule" directory, is now forbidden.
* The directory theme/common/octicons has been removed. No resource was used by Dolibarrfrom this directory.
* The library timepicker.js has been removed. Was no more used by Dolibarr since a long time.
* Because of the new TRIGGER_PREFIX property, the triggers SUPPLIER_PRODUCT_BUYPRICE_XXX are renamed into PRODUCT_BUYPRICE_XXX.
* Function img_pdf() has been removed. Replace it with img_picto('', 'pdf') if you were using it.
* The method run_trigger() was deprecated 10+ years ago in favor of runTrigger(). It has been removed. Change your trigger file if you still use it.
* Property ->picto of module descriptors must contains the image extension if it is not a font awesome tag. Example: $this->picto="mymoduleimg.png";
* Stock movement API GET method output variable names has been harmonized with POST input parameter names
* Concatenation into computed property of extrafields is off by default. You can enable it from conf.php file by adding dol_concat to list of allowed function in $dolibarr_main_restrict_eval_methods,
For example: $dolibarr_main_restrict_eval_methods='getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,min,max,round,dol_now,dol_concat,preg_match';
* Old variable $obj and $object are no more allowed into on the fly evaluated strings like computed or conditions on extrafields. Use $objectoffield to get current object
Also if you were using temporary variables int a computed extrafields, the nameot temporary variable must match $var123.
* The hidden constant MAIN_ALLOW_UNSECURED_SPECIAL_CHARS_IN_DOL_EVAL in database has been replaced with the
variable $dolibarr_main_allow_unsecured_special_chars_in_dol_eval into file conf/conf.php
* $conf use into "computed formulae" of etrafields is now deprecated (not yet forbidden). You can replace use of $conf->currency by the new method getCurrency() and $conf->global->xxx by getDolGlobalString('xxx').
* $user->rights->module->perms is also deprecated. You can use $user->hasRight() instead.
* The API endpoint /proposals/{id}/contact/{contactid}/{type}/{source} is now {id}/contact/{contactid}/{type} to match same behaviour than order and invoices.
* The API endpoint /interventions/{id}/reopen hase been removed in favor of /interventions/{id}/settodraft
* If the module geoipmaxmind is used, you must resubmit the geoip data file as it is now stored differently.
***** ChangeLog for 22.0.4 compared to 22.0.3 *****
FIX: $param is the 5th parameter of print_liste_field_titre ($moreparam) (#36250)
FIX: 17.0: perweek.php resets task progress to 0% when: (#36401)
FIX: 18.0: GETPOSTDATE and buildParamDate assumed HTTP param names 'minute' and 'second' instead of 'min' and 'sec'
FIX: 19.0 - attachments upload dir for invoices not always determined correctly (doesn't always take multi-entity into account) (#36302)
FIX: #33148 - partial payments are taken into account in EPC QR codes (#36338)
FIX: #33899 API Timespent Service Field
FIX: #35061
FIX: #35096 #36393 Add minimal fields required asthe class is used by
FIX: #35141 (#36390)
FIX: #35375 Accountancy - SQL error on empty filter account category
FIX: #35655 API Contract Creation Fails for Non-Admin Users in Version 22.0.2
FIX: #36090 Accountancy - Inconsistent date on various journal
FIX: #36149 (#36150)
FIX: #36310 Accountancy - Data - Wrong account labels (cache) on write bookkeeping action (#36410)
FIX: #36334 - reload invoice data before pdf-creation in process of generating a new member contribution (#36335)
FIX: #36347 (#36358)
FIX: #36368 - avoid overlaying of EPC-QR Code and payment information (#36369)
FIX: #36576 - date creation is empty on import
FIX: Accountancy - #36090 Inconsistent date on various journal
FIX: Accountancy - No limit on chart of account to define category on account
FIX: Accountancy - Not propose to write operation on draft asset
FIX: Accountancy - Problem calculating exercises with different tax periods on fixed assets
FIX: Accountancy - Problem calculating fiscal year with different periods on fixed assets
FIX: Accountancy - Reverse accounting account in depreciation expense entries for fixed assets
FIX: Accountancy - Verify fiscal year on last hour to enable the integration of asset entries
FIX: allow a situation with credit to be removed from cycle
FIX: API task getTimeSpent to actually return data
FIX: avoid php warning error (#36330), avoid php warnings (#36301), (#36411)
FIX: Can Validated Holidays When Negative Balance
FIX: Concat of PDF to invoices (#36329)
FIX: create API temp directory in Dolibarr API constructor
FIX: DA027383: permissions not checked on HRM evaluation card (#36328) (#36399)
FIX: do not force rowid to int (#36412)
FIX: Email Collector Module: manage error when imap_fetchstructure return false. Previously it generated warning and fatal error because the returned value was not of type class
FIX: empty origin type passed to addline when creating invoices from expeditions using massaction (confirm_createbills) (#36413)
FIX: expense report card: do not show bank account if user cannot see them
FIX: expense report card: use correct bank module designator for detection
FIX: Export of extrafield in organized events
FIX: fix #36401 (for v17.0) doesn't work in v18.0+ because of variable renaming
FIX: | Fixing addPayment /invoices/id/payments
FIX: getEntity use element instead table_element (#36405)
FIX: Implementation of multi-company compatibility with inventory/warehouse management
FIX: info on supplier payment card on v22 and payment link
FIX: keep user who validate proposal on update (#36257)
FIX: List is filtered on task status when it should not
FIX: Missing AND on fields filter on evaluation class
FIX: missing p.default_vat_code in product import profile.
FIX: Missing Product ref in Bom stats
FIX: Mo::deleteLine() - stock movement correction (#34733)
FIX: Multicompany compatibility with "project_task"
FIX: not remove value of others extra-fields on update extras action
FIX: Object should be cloned here (#36289)
FIX: PR#36401 fixed a missing GETPOSTISSET() but the check involves a variable ($taskid) that was renamed ($tmptaskid) in 18.0
FIX: (propal): Incorrect HT/TTC recalculation when editing proposal lines #36514
FIX: (propal): values lost when editing HT price
FIX: propal shipping and availability update (v18+)
FIX: re-create API temp dir after purging temp files
FIX: remove situation invoice from cycle
FIX: remove useless condition to create credit on situation invoice (#35786)
FIX: Search all for supplier proposals via object reference
FIX: Selection of email when prefilled from a template
FIX: SQL error for LIST_OF_QUALIFIED_INVOICES_LIMIT_DEFINED
FIX: subtotal feature button availability according setup
FIX: TakePOS Missing Thirdparty Id when getting more products (#36341)
FIX: (tasks): dates in gantt view
FIX: undefined variables on create invoice card from order (backport from v19) or shipment card (backport from v20)
FIX: use array_intersect instead in_array
FIX: warning on select
FIX: wrong $param parameter position (#36265)
SEC: 7ed0af2a138a34e7c7005b95c85ffc791976a6cf
SEC: empty commit for CI automata
SEC: FIX: #36430 permissions not checked on other tabs of HRM evaluation card
SEC: fix IDOR attack on employee evaluation. Missing permission test https://github.com/atm-florianm/dolibarr/commit/7ed0af2a138a34e7c7005b95c85ffc791976a6cf
SEC: permissions not checked on other tabs of HRM evaluation card
***** ChangeLog for 22.0.3 compared to 22.0.2 *****
FIX: 16.0: extrafield of type link to category causes SQL error in selectForFormsList() (#36074)
FIX: 20.0 ajax_constantonoff + FormSetup were ignoring custom css class (cssClass / $morecss) (#36039)
FIX: #33741 FIX: #35632
FIX: #35247 FIX: #35950 Using same option for landing page and home page
FIX: #35519 (security) missing check user rights (#35527)
FIX: #35520 FIX: #35522
FIX: #35568 (#35569)
FIX: #35573 FIX: #35241
FIX: #35634 (#35912)
FIX: #35766: Update buying price INT Float (#35769)
FIX: #35780
FIX: #35782
FIX: #35784
FIX: #35922 Lines of orders - Status filter unexpected beahavior (#35924)
FIX: #36025 Accountancy - Error when cloning directly from accounting entry (#36034)
FIX: #36046 enabling extrafieldmanaged to enable deletion of records from the llx_salay_extrafields table
FIX: #36113 (#36116)
FIX: access problem when label is used for next/prev (#35933)
FIX: Accountancy - Admin personalized report - Remove duplicate button (#35721)
FIX: Accountancy - General setup - Missing form on UpdateMask (#35735)
FIX: Accountancy - Missing subledger information on mass cloning (#35777)
FIX: Accountancy - Printing the subsidiary ledger returns the general ledger (#35719)
FIX: Accountancy - Print subledger balance return general balance (#35712)
FIX: Accountancy - Problem with general setup (#36067)
FIX: Accountancy - Return on wrong page on y/n button (#35978)
FIX: Add missing left join to filter by extrafields (#36092)
FIX: add possibility to override authoritative dns (#35699)
FIX: Allow decimals on services duration (#36031)
FIX: avoid link problem with employee list context (#36125)
FIX: avoid NULL value (#36126)
FIX: avoid php warning (#35756)
FIX: avoid php warning (#35953)
FIX: avoid php warnings (#35492)
FIX: Bad label for column title on multicurency
FIX: bad name for target import table (#35615)
FIX: broken feature ! (#35906)
FIX: Can approve holidays when negative balance (#36144)
FIX: categories: sql error in link extrafields targettings categories (#36236)
FIX: check if category module is enabled (#35770)
FIX: check if service is activated only for api product (#35911)
FIX: check if zip file of website exists (#35879)
FIX: Clear filter
FIX: clone of cron tasks
FIX: conflict between $user->id and $object->id (#36225)
FIX: create invoice from order using API and multi-entity (#35654)
FIX: day of ticket on takePOS. Backport 6abdb6e. (#35745)
FIX: Deletion of a donation. Button was disabled.
FIX: detection of setup not done with
FIX: dol_escape_htmltag in extrafields_view (#36136)
FIX: doubled display of PRoduct Stokable checkbox when STOCK_SUPPORTS_SERVICES on service edit card (#36138)
FIX: Email template fetching (#35738)
FIX: Error 500 on api if cache is on and directory does not exists
FIX: extra-field list depend on parent extra-filed list on direct edit (#35803)
FIX: filter on note lost when sorting company list
FIX: Hide AWP if product has no stock managed
FIX: Import/Export - Do not list imports or exports of Builder module backups of module descriptor files (#36192)
FIX: In shipment creation process, if product is not manage in stock, Dolibarr should not display a "low stock warning" (#36139)
FIX: in shippement creation with SHIPMENT_SUPPORTS_SERVICES and/or STOCK_DISALLOW_NEGATIVE_TRANSFER and/or stockable_product there are inconsistencies (#36140)
FIX: Invoice Situation - Octopus - Column offset for amounts greater than 5 digits (#36124)
FIX: Invoice Situation - Octopus - Shipping block overlap issue (#36122)
FIX: Invoice Situation - Octopus - Show remaintopay at bottom (#36121)
FIX: invoices payments on multicurrencies being converted as int (#35622)
FIX: Knowledge management - Button ReOpen show in draft mode (#36008)
FIX: Label shown when value is empty
FIX: late customer orders are not shown on start page (#36200)
FIX: link to sort of target email page
FIX: MAIN_AUTOFILL_DATE in supplier invoice display 01/01/1970 (#36087)
FIX: MAIN_SEE_SUBORDONATES sql request error (#35896)
FIX: Missing begin transaction, The status of customer was not
FIX: missing check if partership is enabled (#36169)
FIX: missing entity field (#36086)
FIX: missing entity filter (#35517)
FIX: missing entity filter (#35857)
FIX: missing entity filters + wrong widget name (#35873)
FIX: missing "printFieldListValue" hook (#35990)
FIX: missing prospect/customer category translation (#35814)
FIX: Must show unit price when price is not for quantity 1
FIX: muticompany compatibility (wrong sharing name) (#36013)
FIX: my previous fix was incompatible with Thomas' fix from PR#35590 (#35890)
FIX: no emails sent when closing a ticket (#35874)
FIX: notification email not sent : NOTIFICATION_EMAIL_FROM is replaced with MAIN_MAIL_EMAIL_FROM if it's empty (#35881)
FIX: notifications: correctly report email delivery errors (#35864)
FIX: not possible to search for billed and not billed supplier orders in the list (#35680)
FIX: Perf for bom select (#35871)
FIX: Performance Problem on load stats command (#35785)
FIX: pgsql: error when calculating depreciations (#34213)
FIX: php 8+ warnings when creating deposits (#35582)
FIX: prices must be HT in dolistore browser
FIX: product stock lists: prevent SQL error when filtering on physical stock (#36038)
FIX: resize iban column to support encryption (#36237)
FIX: Select correct approver when making a leave request for someone else (#36118)
FIX: Situation percent set as 0 when adding line on situation invoices (#35999)
Fix: sql error if LIST_OF_QUALIFIED_INVOICES_LIMIT_DEFINED is used (#36135)
FIX: sql syntax error (#35588)
FIX: Status if thirdparty not synchronized with status WON of
FIX: substitutions on subject of the sent email reminder of the event (#35621)
FIX: The IBAN into EPC qr code must use the default bank account if not
FIX: The order closing date was not filled in during the shipment validation (workflow module). (#36235)
FIX: The status of customer was not synchronized with opportunity status
FIX: thirdparty was never notified. Passing of contact ID information was not coherent. (#35590)
FIX: To have only the sender's entity when sending mail (#31053)
FIX: when creating a ticken on backend and adding a linked file, the 'notify thirdparty at creation' chackbox disappears. (#35595)
FIX: when display in view mode HTML extrafeilds content doubled (#36127)
FIX: Wrong cast on TVA rate when updating supplier order lines (#36106)
FIX: wrong check of hook return
FIX: wrong entity alias (#35821)
FIX: wrong entity filter (#35691)
FIX: wrong field name (#35728)
FIX: wrong getEntiy element name (#35771)
FIX: wrong number of categories by entity (#36111)
FIX: wrong socpeople id when multiple assigned + avoid php warnings (#35878)
***** ChangeLog for 22.0.2 compared to 22.0.1 *****
FIX: ContratLigne::fetch() returns 1 even if the line doesn't exist (#35324)
FIX: #34678
FIX: #35142 FIX: #35143
FIX: #35154 - Massaction createbills in reception list don't mind about order and/or thirdparty currency (#35156)
FIX: #35181 Cancelled purchase orders now shown as such in Project Overview (#35186)
FIX: #35407 After updating to version 22, local taxes were no longer applied (#35408)
FIX: #35425 (#35426)
FIX: accountancy general ledger: bad handling of hook return (#34029)
FIX: Add security test for show terminal selection if no terminal selected when invoice.php is call (#34717)
FIX: allow to create First Situation Invoice (#35228)
FIX: api orders : forward database error on failure (backport commit d9e81cb) (#35478)
FIX: Can't edit tags of a user.
FIX: can't reset intracomm transport mode
FIX: can't save setup of odt template for stock
FIX: check commande liste validate (#35479)
FIX: color of late warning for nb of bank account reconciliation lines
FIX: Correct the calculation of the amount of the current period between the period provided (#35083)
FIX: Date planned of delivery is not propagated from order to shipment
FIX: Edit of email in emailing. Property messtype not set.
FIX: extra field list depend on parent list when editing a card (#35165)
FIX: fallback of "from" email when sending email in member module
FIX: missing token to disable custom group category for compta report (page /htdocs/accountancy/admin/categories_list.php) (#35084)
FIX: Generation of member cards (file not found and substitution broken)
FIX: invoice not set to closed when we add a credit note to close it
FIX: missing check constant PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS (#33277)
FIX: missing entity filter (#35461)
FIX: missing quick edit for extrafields (backport commit 4fc66c6) (#35160)
FIX: Missing sentence part (#35144)
FIX: Remove perms to access commerce tab when the only active permission is fournisseur:lire (#35467)
FIX: Restore decimal quantity for stock correction/transfer
FIX: save the packaging qty on update buying price (#35234)
FIX: set global mysoc and load langs in API access (#35041)
FIX: Societe - Problem of date on outstanding opened late (#35266)
FIX: vat detection when country of buyer is unknown.
FIX: wrong extrafield template in create mode (#35241) (#35470)
***** ChangeLog for 22.0.1 compared to 22.0.0 *****
FIX: #34843 (#34875)
FIX: #34936
FIX: a Fatal error when a trigger files is not correctly named.
FIX: array for arrayofkeyval is lost in module builder edit of property
FIX: asset: could not select invoice in disposal pop-in (#34725)
FIX: avoid php warning with "$forceFullTextIndexation" (#34881)
FIX: bad consistency on test on permission to disable service
FIX: Can edit status of tasks
FIX: Create public ticket if email need exist. (#34965)
FIX: DA026536: missing <br> in automatic e-mail (#34895)
FIX: extrafields of type "int" not displayed on `projet/tasks.php` (#34896)
FIX: Filter on the balance of leave
FIX: Logo on company is no more visible.
FIX: mailing destination list title (#34929)
FIX: main checkbox left column was before global conf (#34858)
FIX: Missing a column on group permissions
FIX: several minor troubles with modulebuilder
FIX: Test on mandatory product or thirdparty barcode
FIX: trigger mailmanspip when un/linking categories
FIX: Security when using Advanced Target page of emailing (feature hidden in v21, default in v22+). Possible
SQL injection by users with permission to make and send mass emailing.
***** ChangeLog for 22.0.0 compared to 21.0 *****
For users:
----------
NEW: Module WebPortal is moved as stable
NEW: Subtotal module (#33502) - development
NEW: shipment kits with dispatcher v2 (#33750)
NEW: ticket : display files linked to actioncomm (#32325)
NEW: Support of monthly or weekly recurring events
NEW: AI feature to autofill extrafields
NEW: Introduce the view "Kanban Grouped By" opportunity status in projects
NEW: #32706 - Treasury accountancy (#33701)
NEW: #33506 Add a constant to apply a ratio to resize images in ODT templates (#33543)
NEW: Accountancy - Add centralized account (SQL & migration part) (#33384) (#33577)
NEW: Accountancy - Add filter on chart of accounts (#33656)
NEW: Accountancy - Centralized account are highlighted (#33648)
NEW: Accountancy - Define fiscal year by default
NEW: Accountancy - Show subledger account in thirdparty
NEW: Add a delay to be sure that any Stripe action from webhooks are executed after interactive actions
NEW: Add also start date fill buttons for salary clone
NEW: Add a test mode for AI setup
NEW: Add DateMaxPayment option on selectDate (#33601)
NEW: Add/enhance the popup for preview of icons
NEW: Add field usenewcurrencyrate
NEW: Add globale MAIN_DISABLE_PDF_AUTO_DOWNLOAD_AFTER_CONVERT_FROM_ODT to disable the auto download after auto convert odt to pdf (#33511)
NEW: add home box mrp (#33549)
NEW: Add invoice tags
NEW: Add ip into table of website accounts
NEW: Add knowledgebase info on box_dolibarr_state_board.php (#33960)
NEW: Add link to create shipment on picto
NEW: Add link to picto help page on module builder
NEW: Add management of date begin/end and discount for a customer price (Code + SQL)
NEW: add new permissions to read supplier prices (#33598)
NEW: Add option MAIN_ALLOW_DOUBLE_COLON_IN_DOL_EVAL
NEW: Add option MAIN_MAIL_EMAIL_FROM_PASSWORDRESET
NEW: Add options on intervention clone popup to clone or not contact and notes
NEW: Add options PDF_XXX_SHOW_PRICE_INCL_TAX into PDF setup
NEW: add option to not prefill qty line at shipment creation
NEW: Add page list for categories.
NEW: Add parameters for the hook selectProductsListWhere (#33718)
NEW: add phone_mobile to export of thirdparty (#33893)
NEW: Add public page for donation module (#33978)
NEW: add setasnumber for forms (#33845)
NEW: Add Shared links on links in attachments (#33459)
NEW: Add tags / category on supplier invoice (#33490)
NEW: Add the possibility to merge PDF from the product list (#33723)
NEW: allow stock management by product (#32326)
NEW: attendee status "Showed up" - to ensure that only one attendee gets in on a ticket (#33987)
NEW: auto-detect country from code in creation (follow-up)
NEW: autofix mysqldump command for backup when path is wrong
NEW: Better presentation of list of user approver.
NEW: Can define a different PDF for concatenation for proposal, order and invoices
NEW: Can filter on field "Refuse emailing" in list of thirdparties.
NEW: Can filter on public/private notes in list sale orders thirdparties
NEW: Can filter on string with spaces if search criteria is inside quote.
NEW: Can force the tooltip before the text on column title.
NEW: Can link member subscription/contribution with proposal, order and invoice (#33647)
NEW: Can set a specific permission on an extrafields
NEW: cash control: add hidden setting to show total including taxed in detail by vat rate
NEW: Closing task
NEW: CONSTANT: ORDER_TYPE_CONTACT_DEFAULT
NEW: const PREVIEW_PICTO_ON_LEFT_OF_NAME for icon to preview documents (#33519)
NEW: Dictionary - Manage countries of SEPA Area
NEW: Dolibarr#22848 Add order tags
NEW: Filter on date creation/date modification in invoice list
NEW: fix #33456 (#33458)
NEW: force Extrafields values when constants THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_(ORDER|INVOICE) are set (#33954)
NEW: input reason for customer invoice (#33599)
NEW: Invoice - Add constant to prevent modification of an invoice (#33455)
NEW: Loan - Add total on each payment to see the global amount off the reimbursement
NEW: login page: button to toggle the visibility of the password (#33698)
NEW: Look and feel - Checkboxes and radio buttons are larger
NEW: Allow user to define the number of email sent by batch directly from mailing config page (#32750)
NEW: Mass action delete on donation list
NEW: Merge surface and volume in one line on product card.
NEW: Module external website is deprecated. Replaced with menu editor.
NEW: Move right from advance to normal for thirdparty information payment page (#33885)d
NEW: delays conf for supplier proposals (#33800)
NEW: new option in invoice setup to limit options of deposit invoice (#33468)
NEW: No auto open keyboard on smartphone when opening list of columns
NEW: On list, see complete ref customer/supplier with constant MAIN_SHOW_GLOBAL_REF_CUSTOMER_SUPPLIER (#33373)
NEW: Option MAIN_RESTRICTHTML_ONLY_VALID_HTML and MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY are on by default
NEW: Option MAIN_SECURITY_MAXFILESIZE_DOWNLOADED become official
NEW: Order - Add drag & drop file (#33848)
NEW: reopen for interventions API (#33982)
NEW: Rounding unit price - line discount before applying quantity - option MAIN_APPLY_DISCOUNT_ON_UNIT_PRICE_THEN_ROUND_BEFORE_MULTIPLICATION_BY_QTY (#33690)
NEW: shipment with product in cache
NEW: shipment with warehouse in cache
NEW: Show code of stripe hooks supported in setup page
NEW: Show country flag in list of chart of account
NEW: Show IP of previous connection and date of last password change in the "Connection" widget.
NEW: Some trans keys to prepare a new website template (#33886)
NEW: SUBMIT_FOR_ALL_MARK_RESPAWN (#32101)
NEW: Supplier orders - Add tags/categories (#33386)
NEW: takepos cash control: add vat taxless total
NEW: The closing reason of invoice appear on tooltip of invoice status
NEW: The link "In accountancy" is now clickable to reach bookkeeping
NEW: The public media browser is now a stable feature
NEW: The signature is on the good page even if another module add pages
NEW: Toggle Display of Supplier Invoices and Credit Notes on Payment Page (#33856)
NEW: Try to set the tooltip as ajax call by default.
NEW: Update of currency supports also apilayer (not only currencylayer)
NEW: use specific landing page to home menu entry
NEW: Use the packaging feature to round the quantities to some given multiples for the sale
NEW: Use the PhpZipProxy handler to generate ODT files (avoid corrupted ODT with recent version of Libre Office).
NEW: vcard (vcf) download for third party (#31957)
NEW: Web pages of websites are protected by the WAF
NEW: Add constant to show stock in products combo
NEW: Can edit the module_source and pos_source field.
NEW: Accountancy - Add actions on entries (Cloning, assigning, returning)
NEW: Add conf PDF_HIDE_LINKED_OBJECT_IN_PUBLIC_NOTE to hide linked object in public note of pdf.
NEW: Add MULTICURRENCY_SHOW_ALSO_MAIN_CURRENCY_ON_PDF for legal requirement that need both currencies on PDF
NEW: Add note public and private on order export
NEW: Finish dev for API_ENABLE_COUNT_CALLS (count of API use is visible on user API key field)
For developers:
---------------
NEW: Add an API endpoint to get properties of a single line of an order (#34045)
NEW: add const to not include default CSS in top_htmlhead with DISABLE_CSS_DEFAULT_THEME
NEW: add const to not include default lib_head.js in top_htmlhead with DISABLE_LIB_HEAD_JS
NEW: add const to not include JQuery UI in top_htmlhead DISABLE_JQUERY_UI
NEW: add create category project link via api (#34016)
NEW: add creditnotelist var in fetch
NEW: add hook 'addMoreInformationsBlock'
NEW: Add hook on API call (#33501)
NEW: add hooks to modify select_produits_fournisseurs_list sql query
NEW: Adding API endpoints for event attendee handling (#33932)
NEW: Add internal contact of proposal, order and invoice on api call (#34009)
NEW: Add option to create simple shipment of non origin. SQL part (#34071)
NEW: add settodraft to the supplier invoice API (#34064)
NEW: Can set isMandatory property in generic setup framework
NEW: endpoints DELETE event atteendee by ID or REF (#33986)
NEW: endpoints GET event attendee by ID or REF (#33984)
NEW: endpoints PUT (update) event atteendee by ID or REF (#33985)
NEW: hidden conf for api contrat putLine endpoint to only return the line (#33809)
NEW: introduce method dolSetCookie
NEW: Invoice - Document - Add hook on action
NEW: Pagination data for intervention APi
NEW: Add experimental Website Template for Association
NEW: expense report API deny
WARNING:
--------
The following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* The use of GETPOST function is not allowed inside extrafields conditions or any strings that contains dynamic code evaluated with dol_eval().
* The deprecated variable $trigger_name (duplicate of variable $triggersendname) has been removed. You must use $triggersendname everywhere now.
* The behavior of constant STOCK_ALLOW_NEGATIVE_TRANSFER has been reversed. It has been renamed into STOCK_DISALLOW_NEGATIVE_TRANSFER.
* Method Categoie->getObjectsInCateg() is deprecated. Try by using instead: getListForItem() or containing().
* Global variables $bctag, $conffiletoshowshort, $type2label has been removed.
* Deprecatedproperty ->fk_departement that was replaced by ->state_id has been completely removed.
* If you setup the API to update multicurrency rate from internet, you may need to re-enter your API key (so API key will be crypted in database).
* The signature of API get for intervention has been modified to match other get api on other objects.
* The directory /build has been moved into /dev/build.
* The API to create a website account /idthirdparty/accounts/site is now POST (instead of PUT) and to update is PUT (instead of PATCH).
* Debug v22 - Invert option TICKET_DO_NOT_INCLUDE_LINK_TO_CUSTOMER (that add link to backoffice interface link when it should remain private)
into TICKET_INCLUDE_LINK_TO_PUBLIC_INTERFACE_IN_MESSAGE. It also avoid often emails marked as SPAM due to suspicious link.
* The property ->price_ht of an object line that was a duplicate of ->subprice has been standardized. Use ->subprice everywhere now.
***** ChangeLog for 21.0.4 compared to 21.0.3 *****
FIX: #35147 SQL Error on Beluga Export when ExpenseReport is enabled (#35149)
FIX: error when using a code too large in dictionary
FIX: Security when using Advanced Target page of emailing (feature hidden in v21, default in v22+). Possible
SQL injection by users with permission to make and send mass emailing.
***** ChangeLog for 21.0.3 compared to 21.0.2 *****
FIX: #34843 (#34875)
FIX: #34936
FIX: #35005
FIX: #35006 SQL error when using external user
FIX: a Fatal error when a trigger files is not correctly named.
FIX: array for arrayofkeyval is lost in module builder edit of property
FIX: asset: could not select invoice in disposal pop-in (#34725)
FIX: avoid php warning with "$forceFullTextIndexation" (#34881)
FIX: bad consistency on test on permission to disable service
FIX: Can edit status of tasks
FIX: Create public ticket if email need exist. (#34965)
FIX: DA026536: missing <br> in automatic e-mail (#34895)
FIX: extrafields of type "int" not displayed on `projet/tasks.php` (#34896)
FIX: Filter on the balance of leave
FIX: Logo on company is no more visible.
FIX: mailing destination list title (#34929)
FIX: main checkbox left column was before global conf (#34858)
FIX: Missing a column on group permissions
FIX: several minor troubles with modulebuilder
FIX: Test on mandatory product or thirdparty barcode
FIX: trigger mailmanspip when un/linking categories
SEC: Remove functions accepting callable params - Reported by phdwg1410 - CVE-2024-40137
***** ChangeLog for 21.0.2 compared to 21.0.1 *****
FIX: 21.0: $height and $width can be ints, but also 'auto' (#34636)
FIX: #33030 (#34460)
FIX: #33727 Sec
FIX: #33774 #34214
FIX: #33854
FIX: #34313 Accountancy - Export with sources no longer works (#34324)
FIX: (#34448)
FIX: #34541 (#34597)
FIX: #34564 (#34590)
FIX: #34591 FIX: #34692
FIX: #34618 (#34621)
FIX: #34654
FIX: accountancy: bad filter on custom account groups (#34205)
FIX: accountancy balance: keep subtotals when sorting (#34001)
FIX: accountancy closure: if subledger_label is not found, PHP8.2 throws an error. (#34736)
FIX: accountancy: create new french PCG25-DEV accounting system in upgrade (#34036)
FIX: accountancy expensereport journal: php 8.1 warning (#34457)
FIX: accountancy fec export: remove dol_print_date warning (#34363)
FIX: accountancy general ledger: last total not shown if last account group shown has only one entry (#34251)
FIX: accountancy lettering: php8.1 warning (#34469)
FIX: Accountancy - Problem with constant ACCOUNTANCY_COMBO_FOR_AUX (#34414)
FIX: accountancy sales/purchases journal: sql error logged when no invoice in journal (#34339)
FIX: accountancy: warning when account not found in plan (#34030)
FIX: a comment without after a comma create a sql error (#33752)
FIX: Add others allowed tags (table, tr, td) for the prices history table displayed in the link url of the supplier product in supplier product prices list (#34532)
FIX: add payment to bank (#34263)
FIX: allow double colon and string obfuscation in dol eval for computed extra fields (#34015)
FIX: API expense report line comments (v18+) (#34297)
FIX: Approver must be able to approve even if user not in hierarchy.
FIX: asset depreciation: division by zero (#34218)
FIX: asset depreciation: php warnings (#34219)
FIX: avoid sql error when a comment is after without comma (#33758)
FIX: Backport fix of substitution of thirdparty info in notification
FIX: backport of replaceement of thirdparty information on notification
FIX: bad value for company ref crashes canvas feature (#34331)
FIX: bank payment rejection on SEPA (backport commit 100a657) (#33838)
FIX: BankTransfer information in line.php (#34425)
FIX: BankTransfer link in list.php (#34513)
FIX: BankTransfer link in rejets.php (#34424)
FIX: Bug filters (#34546)
FIX: Can set default value of the nature of member
FIX: Can set the default value of nature of thirdparty
FIX: cash control report: php warning (#34358)
FIX: common fields: php warning with select input field (#34495)
FIX: constant PAYMENTBYBANKTRANSFER_ADDDAYS was never saved (#33799)
FIX: creating acredit note from the remain to pay was always 0
FIX: DetecHTML on upload file from filemanager fails due to need to lock
FIX: Disallow special char in name of oauth entries
FIX: do not add a filter on status when doing a global search on project
FIX: Do not allow to force amount for online payment of order
FIX: do not forget extrafields for BOM in export lines (#34020)
FIX: Edition of target of menu entries
FIX: element must be visible to set focus on select input when using default values (#34406)
FIX: email collector: php 8 warning (#34496)
FIX: encoding issues with underscores in mb_convert_encoding functionality (#34411)
FIX: ensure dir exists before trying to move something in it (#34211)
FIX: event info tab: php 8.1 warning (#34458)
FIX: expense report card: mail notifications not sent (#34556)
FIX: expensereport payment list: php warning (#34453)
FIX: expensereport: php warning when generating pdf with multilangs (#34492)
FIX: files lib: multiple php 8.1 warnings (#34462)
FIX: filter agenda on user and resource SQL error (#34580)
FIX: HTML broken by the trunc.
FIX: html title when using custom value
FIX: if filter is set on export for Duree type filed, then there is SQL error (#34616)
FIX: interventions: sql error when signed_status not set (#34515)
FIX: js warning (Backport commit 84d982c) (#34555)
FIX: local taxes text in object line view mode (#34103)
FIX: local taxes text in PDF (#34343)
FIX: mandatory extrafelds on lines are not checked (#34228)
FIX: manufacturing orders: php 8.1 warnings on agenda tab (#34475)
FIX: mass assignment of sale representative
FIX: Missing ol in no escape tags (#34261)
FIX: modification de dates de pièces comptables sur plusieurs entités différentes (#34226)
FIX: oauth: php 8 warnings (#34027)
FIX: online propal sign: double header with logo when custom logo set (#34504)
FIX: Order error translation (#33834)
FIX: page of bom when only bom module is on
FIX: partial result on timespent list (#33855)
FIX: pgsql: boolean fields correctly defined in creation but not in migration (#34215)
FIX: pgsql: case sensitivity in select queries (#34028)
FIX: pgsql: error when creating sequences in migration scripts (#34021)
FIX: PHP 8 Error 500 (#34545)
FIX: prelevement order list: handle case of use by banktransfer module (#33801)
FIX: pre-send mail mass action: keep __EMAIL__ substitution (#34522)
FIX: prevent log warning with online signature url (#34361)
FIX: Product batch series - Title, help url et picto (#34560)
FIX: product multiprices: fatal error on vat update on php 8.2 (#34444)
FIX: product suplier tab: last modif date column was wrongly dependent of module barcode (#34170)
FIX: product translation: redirect after successful action (#34403)
FIX: projects: go back to edit view after cloning (#34221)
FIX: receptions: crash from api because of classes not found (#34523)
FIX: Remove useless amp; after & (#34288)
FIX: select supplier when creating object from project (#33766)
FIX: social contribution payment: correct error reporting (#34002)
FIX: stock control condition in reception delete (#33952)
FIX: Tmparray string not array (#34287)
FIX: Too heavy sql query (#34371)
FIX: try to fix v18 github action workflow (#34439)
FIX: Various payment - List - Can't see payment with subledger account (#34101)
FIX: warehouse list: broken status filter (#33667)
FIX: warnings when printing start/end date on line tpl (#34359)
FIX: wrong multicompany filter (#34714)
FIX: ws detection
***** ChangeLog for 21.0.1 compared to 21.0.0 *****
FIX: #33360
FIX: #33365 Global search for single shipment (#33401)
FIX: #33404 - to keep the method findNearest an agnostic method.
FIX: #33435 Warnings
FIX: Accountancy simplified - with multiple entities, amount of the entry is multiplied by the number of entities (#33370)
FIX: Add a new email for notification
FIX: Bad link to download tax vat document
FIX: Blank page on agenda event per user
FIX: blank page on smartphone for bank SEPA direct transfer page
FIX: close all services on contract will close all lines (#33466)
FIX: Count on supplier invoice list does not match count in DB (#33351)
FIX: CR on script output
FIX: CSS center end CSS in total
FIX: Duplicate load of extrafield ->fetch_optionals()
FIX: fatal error in notification sending email when error array is empty
FIX: Link to country setup on company setup page
FIX: Loading of deliveries in shipping card was loading everything
FIX: Missing ref_ext in group by in list of product
FIX: Must make different redirect in paymentok/ko according to frame or not.
FIX: PAIEMENT Wrong field displayed for DateChequeReceived (#33390)
FIX: picto for unknown mime type
FIX: Replace compromised tj-actions/changed-files (#33481)
FIX: Report by custom group was empty
FIX: Responsive
FIX: shipment dispatch origin line (#33415)
FIX: Show the default duration of a membership type.
FIX: Sort and search Ref Project column was missing (#33539)
FIX: syntax error on list of intervention for external users
FIX: text in tooltip on buttons when pb is not a permission problem
FIX: Translation of column in list of invoice
FIX: warnings (#33423)
FIX: Warning when getNomUrl is called before top_httphead
FIX: we must retrieve linked order_supplier and no other object (#33602)
SEC FIX: Reflected XSS reported by 柏天浩
***** ChangeLog for 21.0.0 compared to 20.0 *****
For users:
----------
NEW: NEW Module - help to setup OpenID Connect (#30317)
NEW: Module AI moved from experimental to stable
NEW: Add hidden option CONTRACT_HIDE_MYCOMPANY_SIGNATURE_SECTION_PDF
NEW: Add a tab on recurring invoice card to see the list of invoices generated from this recurring invoice (customer and supplier invoices) (#31463)
NEW: #28871 signed_status to commande (#30359)
NEW: #30269 linked project in column of last record tables (#30344)
NEW: Accountancy - Add general account on thirdparty
NEW: Accountancy - Add partial reconcile on subledger (#30027)
NEW: Accountancy - Option to select the label of operation (#31200)
NEW: Accountancy - Allow grouping taxes with primary line price (#26732)
NEW: Activate PHPUnit with tests on permission on $action ==...
NEW: Add advice for max size on list for better performance
NEW: Add an advanced permission to validate knowledge (#30855)
NEW: Add a test mode into the setup of AI module to test the AI prompts.
NEW: Add a tool to decrypt data encrypted in database.
NEW: Add auto generate document when reception is created (#30688)
NEW: Add badge for generate invoice client tab (#31559)
NEW: Add caldav on fichinter (#30582)
NEW: Add column agenda_id to implement the link between files and event
NEW: Add column "comment" in list of payment
NEW: Add constant to hide version (#30865)
NEW: Add country in search of project
NEW: add duration extrafields (#31595)
NEW: Add export for thirdparty bank accounts (#30807)
NEW: Add export profile to export MO and lines of consumption/production
NEW: Add option to store the text content of uploaded files into database (with conversion with pdftotext)
NEW: Add Filter Assistance for Filling Filters Field (#31646)
NEW: add last stock movement and product nature to StocksWithBatch export (#30578)
NEW: Add member title to the labels (#31710)
NEW: Add mode Customer price + level price (#31091)
NEW: add option to add external billing contact on the supplier_proposal pdf (#30298)
NEW: Add option to clone its default BOM when cloning a product (#30088)
NEW: Add option to enable PDF frame rounded corners
NEW: Add option to round weight and volume on shipment PDF
NEW: add pdf regeneration to mass action for shipments (#29970)
NEW: Add picto on list of notification email templates
NEW: add recurring supplier invoice on supplier tab #30945 #30949
NEW: Add sort by ref warehouse/product or ref product/warehouse on inventory product list (#31639)
NEW: Add some improvement for ODT Contracts (#31715)
NEW: Add terms of sale on documents (#24846)
NEW: Add thirdparty state in substitution array (#31549)
NEW: Add tooltip on closing accounting setup
NEW: add trigger for linking and unlinking invoices (#30182)
NEW: Add Unit price on supplier order stat product (#31055)
NEW: add warehouseId parameters in select_produit to limit result to existing product in select (#30477)
NEW: allow link feature to task (#30235)
NEW: Authorize modification of a partially shipped order (#31423)
NEW: autogenerate project reference in API (#30638)
NEW: automatically change status on answering a ticket (#30556)
NEW: Browser notifications use now jnotify (fix browser compatibility)
NEW: can add extrafields with dol_move (#30574)
NEW: Can change the type of a social contribution if no payment
NEW: can delete a category translation (#31396)
NEW: Can link an object to another using the ref. Close #31001
NEW: Can set a class on the tr lines of form setup lines
NEW: Can set border radius of list and tables
NEW: Can set date of transmission in 1 click when validating SEPA
NEW: Can set parameters with setup type yesno.
NEW: Can set the contact type for the autoassigned user that creates a project (#30444)
NEW: Can show raw value of oauth token
NEW: Can use a specific profile to send email for password forgotten
NEW: option to care grandchild (#31314)
NEW: Look and feel - checkbox to choose thirdparty nature (#30192)
NEW: Color line total and sub total (#26172)
NEW: Constant to hide user login times (#29815)
NEW: Const ASSET_ROUND_INTEGER_NUMBER_UPWARDS for ASSET Module. Compatibility to migrate from other accounting solutions. (#31615)
NEW: Content of tab "attached files" is more compact.
NEW: Contract signed status update (#30779)
NEW: Create thirdparty notification by action code (#30541)
NEW: Customer price and level price together
NEW: default configuration for event reminder (#31407)
NEW: determine multi-currency price on object line create tpl (#28021)
NEW: Display for socialnetworks admin
NEW: display mark rates in objectLineCreate (#30872)
NEW: due date in accounting bookkeeping list and card (#30061)
NEW: enhance the OAUTH2 token manager. Can refresh a token from page.
NEW: EPC QR CODE - Use bank owner account name instead of company (#31735)
NEW: fichinter list disable details option (#30884)
NEW: filter on invoice dates in product margin tab (#29997) and thirdparty margin tab (#29998)
NEW: FIX: Display invoice widgets by amount instead of number (#30215)
NEW: Add the Clone of company (#29755)
NEW: function for Preview In CKeditor products
NEW: FY Changed Period handle in Module Asset (#31618)
NEW: hidden option MAIN_TE_PRIVATE_FIRST_AND_LASTNAME_TO_UPPER (#31143)
NEW: Hide completed items in Link to (#31329)
NEW: Iban is saved encrypted
NEW: if a user is associated with the expense report, then that user will get an associated credit line ($tabtp) generated.
NEW: Implementing Billable tasks on projects using new attribute "billable" (#30092)
NEW: Include a protection into check update of module to detect malware
NEW: intervention signed status update (#30629)
NEW: INTRA VAT ID field optionally mandatory and/or invoice mandatory in thirdparty module setup (#31663)
NEW: Invoice - Generate payment information - Structured communication (#31376)
NEW: Invoice line import - fk_product can be a ref (#30795)
NEW: Look and feel v21 - Can have rounded border on tables
NEW: Look and feel v21 - Toolbar for WYSIWYG editor is short on smartphone
NEW: Management of extrafields on customer prices, level prices and default prices (#31313)
NEW: manage several type of dangerous goods for a same parcel (#30238)
NEW: Member - Can upload a file with drag and drop (#30265)
NEW: Move the picto in the first tab label always visible
NEW: ODTSubsitution for date_start_real / Contracts
NEW: Look and feel - Opacity for finished lines (#30219)
NEW: option: assign default roles to "individual" third-party contacts (#30499)
NEW: option to allow freezing qty in BOM service's line (#29990)
NEW: Add a page to list the lines of orderse (#31521)
NEW: pagination in product margin tab
NEW: payment term and mode on creating supplier (#31166) and third-party (#31067)
NEW: PDF Add Customer accountancy code (#31544)
NEW: PDF Add discount total if line discount exists (#31483)
NEW: PDF Add option to print rounded corner frames (#31172)
NEW: PDF Add shipping address in sales orders (#31293)
NEW: PDF Add total discount if line discount exists
NEW: PDF frame rounded corners
NEW: Prelevement - Use structured payment data for Belgium (#31383)
NEW: Preview product list when we choose model email layout Commerce (#30185)
NEW: Can upload a file with drag and drop: Thirdparty (#30263) - Product/Service (#30250) - Project (#30276) - Propale (#30315)
NEW: Public and private note options in thirdparty list (#31062)
NEW: redirect to expedition card if global search has unique result (#30108)
NEW: replenishment if the warehouse is set to the default selected user (#31229)
NEW: retrieve Thirdparty by account (#31283)
NEW: Share msg "not found" for widgets and add a button to add new record when none exists (#31309)
NEW: shipment signed status update (#30928)
NEW: Show detail of each multicurrency amount in popup of price
NEW: show holidays at bottom of activity/permonth.php page (#31550)
NEW: Show tooltip on number of qualified records
NEW: Signature or proposal from the Web portal (#30062)
NEW: Star Field Type for Extra Fields (#31348) and for for Module Builder (#31216)
NEW: Support option PDF_ADD_POSITION on shipment espadon template
NEW: Auto-suspend facture rec when nb gen max is reached (#31623)
NEW: The margin section can now be shown/hidden
NEW: Deal change in fiscal year period adjustments to shortened or extended periods (e.g., fiscal years of 9 or 15 months)
NEW: (ticket, admin): More options entries (#30548)
NEW: Update warehouse product list to add another sorting option (#30971)
NEW: Can set blacklist of words into answer of AI (#30385)
NEW: user list country filter (#30770)
NEW: vat rate with department in dict (#31628) (#31627)
NEW: When we export data of unlaterable log, we add an unalterable line in logs
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.
SEC: security avoid RCE using -'- sequence to pass --checkpoint-action parameter in tar command.
SEC: FIX Security path transversal with modulepart=medias (viewimage.php and download.php)
PERF: Reduce nb of requests into num_public_holiday
PERF: Reduce size for VCF files and virtualcard qrcode
PERF: Reduce time to show the page of unalterable logs with high data
For developers:
---------------
NEW: translation with action triggers API (#30595)
NEW: more complete stock product API call (#30567)
NEW: Projet - Add hook formconfirm (#31408)
NEW: Can choose the zip handler to build ODT.
NEW: Can force ip into log file name using a define('SYSLOG_FILE_ADDIP')
NEW: Can force log file name using a define('SYSLOG_FILE_ADDSUFFIX')
NEW: Can define the text on tooltip on a yesno check.
NEW: Introduce value 'password' for mode of sanitization in GETPOST.
NEW: Add getImageFromHtmlContent() method
NEW: Add gitleaks into pre-commit
NEW: Add hook after the line is processed in the sell journal page (#31439)
NEW: add hook dolibarrDelConst (#30672)
NEW: Add hook getLoginPageExtraContent, getPasswordResetPageExtraContent
NEW: add hook in dolibarr_set_const admin.lib.php (#30605)
NEW: Add hook on sell journal page for overwrite the processed journal data after the SQL request (#31033)
NEW: force_install_noedit : add value 3 to block all technical parameters excepted main_url (#30080)
NEW: Add a new hook on order list (#31315)
NEW: Add ID of the line in the trigger context for addLine(), updateLine() and deleteLine() on contract (#30343)
NEW: Add more log information
NEW: Add pagination data to some api routes (#29895)
NEW: Add test to forbidden NOW() SQL function.
NEW: API call to re-generate a users password. (#30590)
NEW: API close proposal now supports both private and public note (#30659)
NEW: API_LOGINS_ALLOWED_FOR_GET_EXTRAFIELD (#30562)
NEW: API /setup endpoint for getting action triggers (#30538)
NEW: HOOK FORMCONFIRM IN TICKET (#31321)
NEW: hook on expensereport added (#31380)
QUAL line classes for various business object classes have been moved to individual files.
QUAL: #30122 (#30131)
QUAL: AccountancySystem: maintenance work to uniformize and clean up (#31391)
QUAL: All $conf->global->module->enabled are replaced with isModEnabled()
QUAL: bankline category table name (#30419)
QUAL: Clean code
QUAL: conformity PR for data structure of #29964 (#30014)
QUAL: Edition of currency is shared in a common tpl file
QUAL: Ergo btn and fix (#30947)
QUAL: Move function csvClean into functions2.lib.php