-
-
Notifications
You must be signed in to change notification settings - Fork 406
/
CHANGELOG
4153 lines (4025 loc) · 287 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
Cacti CHANGELOG
1.3.0-dev
-issue#2205: Allow admins to disable RRDtool watermark
-issue#3066: Enable the secure flag on cookies when HTTPS is enabled.
-issue#3074: ss_net_snmp_disk_bytes.php and ss_net_snmp_disk_io.php do now report mmcblk data.
-issue#3141: Fix FreeBSD IPv6 ping
-issue#3547: Database Audit utility does not check database permissions
-issue#3559: When a developer uses backtracing, HTML output can be seen from command line
-issue#3560: When using `input_validate_xxx`, calls to `die_html_input_error()` do not pass variable name
-issue#5019: Install SQL Statements with Database name should be quoted
-issue#5216: 1.3.0 - QA DSSTATS does not use the RRDtool Proxy stateful socket connection
-issue#5221: ss_fping.php script times out when there is a lot of packet loss
-issue#5264: The Net-SNMP Disk I/O Templates are not Cluster Aware
-issue#5481: Attempting to edit a Data Query that does not exist throws warnings and not an GUI error
-issue#5511: Allow automation network to be saved when the IP Addresses to ignore box is empty
-issue#5517: Cacti 1.3.x will not support 'Remember me' functionality without using https
-issue#5567: Incorrect variable name in change_device cli script
-issue#5570: RRDChecker is started very often
-issue#5573: Incorrect URL for editing graph template
-issue#5639: Add tooltip info about IPv6 address
-issue#5680: Fix Spikekill not following correct time in schedule
-issue#5776: Undefined array key "description" in file settings.php
-issue#5844: Automation fails when using MySQL 8
-issue#5885: Fix Fortigate and Aruba OSCX switch template, improve Clearpass template
-issue#5899: Tooltip remain on page after page is refreshed
-issue#5900: Please add the ability to select compiled RRDtool v1.9+
-feature#412: Import Export for Graph and Tree rules
-feature#1214: Move Tree Create/Remove/Modify Functions to lib/api_tree.php
-feature#1442: Add validation to GUI inputs
-feature#1523: Value above RRD maximum value
-feature#1987: Plugins should be able to be downloaded, installed, and upgraded from Plugin Management
-feature#2166: LDAP configuration should only use 'user_domains_ldap'
-feature#2437: Create system-wide Proxy settings for plugins
-feature#2439: Allow CDEF to be used as a filter for Graph/Graph Templates
-feature#2474: Enable better version reporting for GitHub/Source/Package editions
-feature#2550: Enable use of authenticator codes for Two-Factor Authentication
-feature#2572: Support Sorting of Tree or Graph View by Data Source
-feature#2607: Allow adding sites from command line
-feature#2738: Set cache rebuild process indicator for the Cacti UI
-feature#2767: Plugins should be temporarily disabled if a required plugin is also disabled
-feature#2959: Add multi threading for push out hosts (cli)
-feature#3048: Allow different log settings for remote pollers
-feature#3139: Added option in CLI tool remove_graphs for deletion of single graph
-feature#3187: Feature: rra path should be configurable
-feature#3192: Add ability to change options in AUTOM8 networks
-feature#3260: When a device is added, populate the created date/time
-feature#3332: Remove files graph_items.php and graph_templates_items.php
-feature#3333: Allow sequential network scans via AUTOM8
-feature#3417: Add worst poller hosts to support page, log and email warning when poller time reached defined threshold
-feature#3419: Automation should show network in discovered devices
-feature#3430: Automation should report on devices added
-feature#3513: Add hooks for plugins to show customize graph source and customize template url
-feature#3558: Allow copy_user cli script to set various additional fields
-feature#3568; Allow exclusion of snmp fields / value(s) when adding graphs via CLI
-feature#3584: Verify passwords against Pwned databases using API
-feature#3585: CLI script to show database permissions that Cacti has
-feature#3677: Relocate the delete button for collectors to the edit page
-feature#3679: Allow searching logs by name, not just id
-feature#3724: Create Spikekill method to kill values over an absolute maximum
-feature#3725: Create the ability for Spikekill to modify only certain DSes within an RRD
-feature#3738: Ability to see MySQL permissions associated with current database user
-feature#3740: Ability to disable a site
-feature#3749: Clone a network automation
-feature#3832: Exclude IP addresses in Automation Networks
-feature#3833: Dry-run Automation Device Rule
-feature#3845: Allow non-standard Remote Agent port to be used
-feature#3904: Enhance automation to allow someone to view all recently discovered devices
-feature#3943: Add hooks for plugins to show customize graph source and customize template url (List View)
-feature#4157: Allow admin emails to utilise CLOG-style ID to name/link replacements
-feature#4202: Editing State=Down device - mark online when editing device when responding by all required probes
-feature#4296: Add hyperlink from graph edit page to graph-view
-feature#4300: Allow GPrint/CDef/VDef to be visibile in graph template item lists
-feature#4339: Change CLI progress output for rebuilding poller cache
-feature#4778: Add devices sysName and sysLocation name as a Device description
-feature#4811: Performance Issues on Template and Presets Pages on Large Installs and Drilldowns
-feature#5020: Introduce script timeout for cmd.php
-feature#5021: Allow form input validation to be reported to GUI
-feature#5025: Add Least Squares Special Data Types to Cacti
-feature#5027: Add Service Check Filter and Column and Device Thread Column
-feature#5039: Add host_poller_id replacement variable
-feature#5083: Make user log ask for confirmation on purge
-feature#5120: Define cacti system paths as constants for better code checking
-feature#5129: Add an option to skip table sync to remote pollers during upgrade process of Cacti
-feature#5148: Allow theme-based include paths with master location
-feature#5149: Allow CSS files to be loaded async #5149
-feature#5163: DSSTATS - Add Additional Data Source Statics to Cacti
-feature#5165: DSSTATS - Change data_source_stats_hourly_cache from Memory to INNODB
-feature#5178: DSSTATS - Allow Retention of Daily, Weekly, Monthly and Yearly data for varying periods
-feature#5215: DSSTATS - Cache the RRDtool Logic in a table to speed calculation of the staticis gathering
-feature#5225: When your Database server has TB of memory, memory calculation returns incorrect data in Cacti
-feature#5231: When editing a Device show in state/uptime as a date in the header
-feature#5273: Add support for RRD --left-axis-format Options
-feature#5278: Enhance Cacti's ping to use fping if it's installed to take advantage of sub-second timeouts
-feature#5294: Allow Ignored Errors to be Logged such as 'No Route to host'
-feature#5305: Remove files aggregate_items.php and color_templates_items.php and consolidate into their parents
-feature#5316: Allow for searching in settings/menu
-feature#5321: cli/push_out_hosts.php is deprecated, redirect to rebuild_poller.cache.php
-feature#5368: Allow all key searching calls to be delayed by defined amount
-feature#5406: Cacti connection handling should forcibly close connections to work around PDO uncertainty
-feature#5407: Add last_updated column to the boost table to increase diagnostics in Cacti
-feature#5416: Display device class before package import
-feature#5463: When building Automation Rules, show the 'effective sql' on the page for users who know SQL
-feature#5578: Provide new templates for Aruba switch, Aruba wifi controller and HPE iLO to be available during install
-feature#5596: Add template Aruba OSCX switch 6x00
-feature#5601: Order Graph Item Inputs Naturally (MariaDB 10.7++, no MySQL support)
-feature#5681: Add poller information to graph-variables
-feature#5717: Add Aruba Clearpass template
-feature#5804: Remove the Classic Theme in Cacti
-feature#5833: Add button for remove all data and configuration/settings
-feature#5838: Reduce the number of default log from automation
-feature#5849: Separate Logging related settings to a new settings tab
-feature#5855: Replace Plugin Images with FontAwesome Glyphs
-feature#5860: When Cacti is running on MariaDB move the Data Source statistics partitions to the ARIA table format
-feature#5861: In Cacti Utilities, be able to view the MariaDB/MySQL processeslist and active background tasks
-feature#5862: Change logging message around remote agent timeout
-feature#5866: Add 'database' to the permission structure in db_get_permissions() function
-feature#5871: Make it possible for splice_rrd.php to run from outside of Cacti
-feature#5889: Make it so that Cacti does not share sessions between browser tabs
-feature#5892: Enable Authentication Cookies by Default in New Installs
-feature#5907: Add Filter for Data Input Method on Data Templates
-feature#5908: Add Searching of Notes and External ID when Searching for a Device
-feature#5920: Remove the use of tables for alignment on graphs page and move to flex alignment
-feature#5922: Add HPE Nimble/Alletra template
-feature#5923: If RRDtool crashes due to a segmentation fault, report that and retry a few times
-feature: Allow messages to be popup notifications
-feature: Upgrade billboard.js to version 3.14.1
-feature: Upgrade jQueryUI to 1.14.1
-feature: Upgrade d3.js to version 7.8.2
-feature: Upgrade ua-parser.js to version 1.0.35
-feature: Add parsedown to vendor library for plugin CHANGELOG and README viewing support
-feature: Add year display to get_daysfromtime function
1.2.29
-issue#5843: Issue with temporary tables with use of microtime
-issue#5847: Presets Time in Cacti 1.2.28 Not Automatically Updating...
-issue#5848: RRDfile Auto Clean not working
-issue#5856: Help HTML file is incorrect for Automation Networks
-issue#5867: Disabling a Tree does not function as expected
-issue#5868: Error when remove Orphaned Graphs from GUI
-issue#5870: CLI utility splice_rrd.php generates an error in PHP8+
-issue#5874: IPV6 address colon format causes the snmp query to not work
1.2.28
-security#GHSA-49f2-hwx9-qffr: XSS vulnerability when creating external links with the consolenewsection parameter
-security#GHSA-fgc6-g8gc-wcg5: XSS vulnerability when creating external links with the title parameter
-security#GHSA-gxq4-mv8h-6qj4: RCE vulnerability can be executed via Log Poisoning
-security#GHSA-wh9c-v56x-v77c: XSS vulnerability when creating external links with the fileurl parameter
-issue#5636: When using LDAP authentication the first time, warnings may appear in logs
-issue#5754: When installing, a replication loop for plugin_realms may occur
-issue#5759: When installing, remote poller may attempt to sync with other pollers
-issue#5768: When a Data Query has a space, indexes may not be properly escaped
-issue#5771: Boost does not always order data source records properly
-issue#5772: Add IP address to the login audit for successful logins by xmacan
-issue#5773: Undefined variable error may sometimes occur when dealing with RRD output by MSS970
-issue#5777: When export to CSV, only the first line of notes is included
-issue#5780: When rendering forms, missing default value can cause errors
-issue#5782: Allow hosted content to be executable for the links page
-issue#5783: When closing database connections, some may linger incorrectly
-issue#5785: When changing passwords, an infinite loop may occur by ddb4github
-issue#5790: When using Cacti Daemon, a "Cron out of sync" message may be reported
-issue#5791: Add ability to filter/sort users by group or last login time
-issue#5792: When using List View, unable to add Graphs to a Report
-issue#5797: When using SNMPv3, some devices may show polling issues
-issue#5802: Limit table conversion to Cacti core tables
-issue#5806: Fix issues with posix-based kills on Windows
-issue#5813: When installing, password changes may fail on new installations
-issue#5814: When using structured RRD folders, permission issues may be flagged incorrectly
-issue#5823: When unable to locate a valid theme, new default will be Modern
-issue#5824: Properly cache the data source information for dsstats processing
-issue#5840: Reindex Method 'Verify all Fields' does not work for OID/INDEX parse method
-feature#5784: Add ability to log database connections/disconnections
-feature#5796: Add Ping Method where connection refused assumes host is up
-feature#5819: When displaying graphs, default end time does not show full 24 hour period
-feature#5825: Add --id to remove_device.php
-feature#5828: Add Location and Site to Graph List View
-feature#5830: Add more verbose logging to Boost
-feature: Update jQuery to 3.7.1
-feature: Update jQueryUI to 1.14.0
-feature: Update Purify.js to 3.1.6
-feature: Update billboard.js to 3.13.0
-feature: Improve the performance of the repopulation of the poller cache
1.2.27
-security#GHSA-37x7-mfjv-mm7m: Authentication Bypass when using using older password hashes
-security#GHSA-7cmj-g5qc-pj88: RCE vulnerability when importing packages
-security#GHSA-cx8g-hvq8-p2rv: RCE vulnerability when plugins include files
-security#GHSA-gj3f-p326-gh8r: SQL Injection vulnerability when using tree rules through Automation API
-security#GHSA-grj5-8fcj-34gh: XSS vulnerability when using JavaScript based messaging API
-security#GHSA-jrxg-8wh8-943x: SQL Injection vulnerability when using form templates
-security#GHSA-p4ch-7hjw-6m87: XSS vulnerability when reading tree rules with Automation API
-security#GHSA-rqc8-78cm-85j3: XSS vulnerability when managing data queries
-security#GHSA-vjph-r677-6pcc: SQL Injection vulnerability when retrieving graphs using Automation API
-issue#5622: Improve PHP 8.3 support
-issue#5628: When importing packages via command line, data source profile could not be selected
-issue#5629: When changing password, returning to previous page does not always work
-issue#5636: When using LDAP authentication the first time, warnings may appear in logs
-issue#5638: When editing/viewing devices, add IPv6 info to hostname tooltip
-issue#5645: Improve speed of polling when Boost is enabled
-issue#5648: Improve support for Half-Hour time zones
-issue#5649: Improve support of ping on Windows
-issue#5655: When user session not found, device lists can be incorrectly returned
-issue#5660: On import, legacy templates may generate warnings
-issue#5661: Improve support for alternate locations of Ping
-issue#5662: Improve PHP 8.1 support for Installer
-issue#5669: Fix issues with number formatting
-issue#5677: Improve PHP 8.1 support when SpikeKill is run first time
-issue#5693: Improve PHP 8.1 support for SpikeKill
-issue#5696: When using Chinese to search for graphics, garbled characters appear.
-issue#5701: When importing templates, preview mode will not always load
-issue#5720: When remote poller is installed, MySQL TimeZone DB checks are not performed
-issue#5723: When Remote Poller installation completes, no finish button is shown
-issue#5725: Unauthorized agents should be recorded into logs
-issue#5726: Poller cache may not always update if hostname changes
-issue#5727: When using CMD poller, Failure and Recovery dates may have incorrect values
-issue#5731: Saving a Tree can cause the tree to become unpublished
-issue#5732: Web Basic Authentication does not record user logins
-issue#5733: When using Accent-based languages, translations may not work properly
-issue#5743: Fix automation expressions for device rules
-issue#5748: Improve PHP 8.1 Support during fresh install with boost
-feature#5692: Add a device "enabled/disabled" indicator next to the graphs
-feature#5710: Notify the admin periodically when a remote data collector goes into heartbeat status
-feature#5716: Add template for Aruba Clearpass
-feature#5730: Add fliter/sort of Device Templates by Graph Templates
1.2.26
-issue#5464: PHP warning when view Data Source Info mode with new Data Source
-issue#5481: Attempting to edit a Data Query that does not exist throws warnings and not an GUI error
-issue#5483: cacti 1.2.25 ubuntu server 22.04.3 php8.1 add device error
-issue#5485: Selecting a host device in System Utilities - View Data Query Cache raises error in cacti log
-issue#5489: remove_graphs.php does not handle "--preserve" option
-issue#5490: Database failure causes infinite recursion in cacti_log() followed by machine lockup
-issue#5492: Cacti 1.2.25 ss_host_cpu.php CPU graphs not updating anymore on Windows servers
-issue#5493: Multi select drop down list box not rendered correctly in Chrome and Edge
-issue#5494: typo error in name used in inserts array for selective_plugin_debug
-issue#5495: Upon upgrade, cacti falsely assumes that a plugin is not compatible, when it could simply not be present
-issue#5496: Plugin Management CLI does not work when multiple plugins are specified
-issue#5502: Errors related to php 8.3 and page generation including a checkbox
-issue#5503: Note, we could not process all your actions. Details are below
-issue#5514: DS Stats issues warnings when the RRDfile has not been initialized
-issue#5527: Upgrade from 0.8.8 to 1.2.25 (latest) fails on db upgrade due to missing data source profile id
-issue#5534: When deleting a single Data Source the table data_debug is not purged
-issue#5542: When a form element does not include a 'value' column, provide a more helpful warning message
-issue#5554: Interface description with equal sign (=) in ifAlias does not show Alias
-issue#5555: Aggregate graph does not show other percentiles
-issue#5561: Settings table custom size reverted by database repair
-issue#5572: RRD Checker timeouts to low
-issue#5573: Incorrect URL for editing graph template
-issue#5581: Due to previously never completed upgrade, future upgrades fail due to missing color table keys
-issue#5583: On install ensure Default Device is either Net-SNMP or Cisco Router or allow user to define during install
-issue#5585: Refix Issue #4649 using more appropriate method
-issue#5586: CSV export displays data shifted by rrd step interval
-issue#5589: When a graph has a real long cdef in graph debug mode, it forces an undesirable scroll
-issue#5590: Secondary LDAP server not evaluated when the first one has failed
-issue#5602: When adding a device, using the bulk walk option can make version information appear
-issue#5609: When parsing a Data Query resource, an error can be reported if no direction is specified
-issue#5612: Database reconnection can cause errors to be reported incorrectly
-issue#5613: Fix returned value if $sau is empty
-issue#5641: Cmd poller - add availability test for devices without poller items
-feature#5577: Add Aruba switch, Aruba controller and HPE iLO templates
-feature#5597: Add OSCX 6x00 templates
1.2.25
-security#GHSA-77rf-774j-6h3p: Protect against Insecure deserialization of filter data
-security#GHSA-gx8c-xvjh-9qh4: Protect against Cross-Site Scripting vulnerability when creating new graphs
-security#GHSA-6r43-q2fw-5wrg: Protect against Unauthenticated SQL Injection when viewing graphs
-security#GHSA-6jhp-mgqg-fhqg: Protect against SQL Injection when saving data with sql_save()
-security#GHSA-g6ff-58cj-x3cp: Protect against Authenticated command injection when using SNMP options
-security#GHSA-q4wh-3f9w-836h: Protect against Authenticated SQL injection vulnerability when managing graphs
-security#GHSA-gj95-7xr8-9p7g: Protect against Authenticated SQL injection vulnerability when managing reports
-security#GHSA-v5w7-hww7-2f22: Protect against SQL Injection when using regular expressions
-security#GHSA-4pjv-rmrp-r59x: Protect against Open redirect in change password functionality
-security#GHSA-rwhh-xxm6-vcrv: Protect against Cross-Site Scripting vulnerability with Device Name when managing Data Sources
-security#GHSA-24w4-4hp2-3j8h: Protect against Cross-Site Scripting vulnerability with Device Name when administrating Reports
-security#GHSA-5hpr-4hhc-8q42: Protect against Cross-Site Scripting vulnerability with Device Name when editing Graphs whilst managing Reports
-security#GHSA-vqcc-5v63-g9q7: Protect against Cross-Site Scripting vulnerability with Device Name when managing Data Sources
-security#GHSA-9fj7-8f2j-2rw2: Protect against Cross-Site Scripting vulnerability with Device Name when debugging data queries
-security#GHSA-6hrc-2cfc-8hm7: Protect against Cross-Site Scripting vulnerability with Data Source Name when managing Graphs
-security#GHSA-hrg9-qqqx-wc4h: Protect against Cross-Site Scripting vulnerability with Data Source Name when debugging Data Queries
-security#GHSA-r8qq-88g3-hmgv: Protect against Cross-Site Scripting vulnerability with Data Source Information when managing Data Sources
-security#GHSA-rf5w-pq3f-9876: Protect against Privilege escalation when Cacti installed using Windows Installer defaults
-issue#2959: When rebuilding the Poller Cache from command line, allow it to be multi-threaded
-issue#4045: When searching tree or list views, the URL does not update after changes
-issue#5254: When creating a Data Source Template with a specific snmp port, the port is not always applied
-issue#5255: When a Data Query references a file, the filename should be trimmed to remove spurious spaces
-issue#5258: THold plugin may not always install or upgrade properly
-issue#5259: RRD file structures are not always updated properly, if there are more Data Sources in the Data Template than the Graph Template
-issue#5263: When reindexing devices, errors may sometimes be shown
-issue#5272: Boost may loose data when the database server is overloaded
-issue#5275: Boost can sometimes output unexpected or invalid values
-issue#5277: Boost should not attempt to start if there are no items to process
-issue#5279: Rebuilding the poller cache does not always work as expected
-issue#5282: Host CPU items may not work poll as expected when on a remote data collector where hmib is also enabled
-issue#5283: When creating new graphs, invalid offset errors may be generated
-issue#5291: When importing packages, SQL errors may be generated
-issue#5298: When managing plugins from command line, the --plugin option is not properly handled
-issue#5299: When automating an install of Cacti, error messages can be appear
-issue#5300: When performing automated install of a plugin, warnings can be thrown
-issue#5315: Automation references the wrong table name causing errors
-issue#5317: Data Source Info Mode produces invalid recommendations
-issue#5319: Data Source Debug 'Run All' generates too many log messages
-issue#5323: The description of rebuild poller cache in utilities does not display properly
-issue#5324: When reindexing a device, debug information may not always display properly
-issue#5329: Upon displaying a form with errors, the session error fields variable isn't cleared
-issue#5333: MariaDB clusters will no longer support exclusive locks
-issue#5336: RRDtool can fail to update when sources in Data Template and Graph Template data sources do not match
-issue#5338: Compatibility improvements for Boost under PHP 8.x
-issue#5342: When searching the tree, increase the time before querying for items
-issue#5347: Device Location drop down does not always populate correctly
-issue#5354: When viewing Realtime graphs, undefined variable errors may be reported
-issue#5355: SNMP Uptime is not always ignored for spikekills
-issue#5356: Improve detection of downed Devices
-issue#5360: When reporting missing functions from Plugins, ensure messages do not occur too often
-issue#5364: When starting the Cacti daemon, database errors may be reported when there is no problem
-issue#5366: When reporting from RRDcheck, ensure prefix is in the correct casing
-issue#5371: Improve Orphaned Data Source options and display
-issue#5372: Parsing the PHP Configuration may sometimes produce errors
-issue#5376: Security processes attempt to check for a user lockout even if there is no user logged in
-issue#5377: When attempting to edit a tree, the search filter for Graphs remains disabled
-issue#5381: When reindexing, a Data Source that could be un-orphaned may not always be unorphaned
-issue#5382: When parsing a date value, there could be more than 30 chars
-issue#5384: Untemplated Data Sources can fail to update due to lack of an assigned Graph
-issue#5386: When processing items to check, do not include disabled hosts
-issue#5390: When saving a Data Source Template, SQL errors may be reported
-issue#5392: When importing a Template, errors may be recorded
-issue#5402: Some display strings have invalid formatting that cannot be parsed
-issue#5403: When filtering with regular expressions, the 'does not match' option does not always function as expected
-issue#5409: When enabling a plugin, sometimes it can appear as if nothing happens
-issue#5413: Ensure the Rows Per Page option shows limitations set by configuration
-issue#5414: Plugins are unable to modify fields in the setting 'Change Device Settings'
-issue#5417: When reporting emails being sent, ensure BCC addresses are also included
-issue#5420: Improve compatibility of SNMP class trim handling under PHP 8.x
-issue#5426: When importing legacy Data Query Templates, the Template can become unusable
-issue#5427: Provide ability to raise an event when extending the settings form
-issue#5434: Prevent unsupported SQL Mode flags from being set
-issue#5439: The DSStats summary does not always display expected values
-issue#5440: When performing a fresh install, device classification may be missing.
-issue#5446: Duplication functions for Graph/Template and Data Source/Template do not return and id
-issue#5447: Duplication of Device Templates should be an API call
-issue#5450: Unable to convert database to latin1 instead of utf8 if desired
-issue#5451: When creating Graphs, the process may become slower over time as more items exist
-issue#5452: When a bulk walk size is set to automatic, this is not always set to the optimal value
-issue#5453: Update copyright notice on import packages
-issue#5454: When viewing Orphan Graphs, SQL errors may be reported
-issue#5457: When reindexing hosts from command line, ensure only one process runs at once
-issue#5458: When a Data Query has no Graphs, it may not be deletable
-issue#5459: When duplicating a Graph Template, provide an option to not duplicate Data Query association
-issue#5460: When duplicating a Data Template errors can appear in the Cacti log
-issue#5462: When importing a Package, previewing makes unexpected changes to Cacti Templates
-issue#5466: When enabling boost on a fresh install, an error may be reported
-issue#5467: Improve compatibility for backtrace logging under PHP 8.x
-issue#5475: Improve compatibility for Advanced Ping under PHP 8.x
-feature#5375: Provide new templates for Fortigate and Aruba Cluster to be available during install
-feature#5393: Provide new template for SNMP Printer to be available during install
-feature#5418: When importing devices, allow a device classification to be known
-feature#5442: Extend length of maximum name in settings table
-feature#5444: Extend length of maximum name in user settings table
-feature#5448: Data Queries do not have a Duplication function
-feature#5252: Upgrade d3.js v7.8.2 and billboard.js v3.7.4
-feature#5358: Upgrade ua-parser.js to version 1.0.35
-feature#5397: Update Cisco Device Template to include HSRP graph template
-feature: New hook for device template change 'device_template_change'
1.2.24
-issue#5127: Unable to import Local Linux Machine template
-issue#5134: Maximum Memory shows -1 instead of Unlimited
-issue#5135: RRDcleaner and RRDcheck share the same filter details causing errors
-issue#5136: When passed a null value, number_format_i18n() can return a invalid number
-issue#5137: When attempting to update structured paths, SQL errors can occur
-issue#5140: Compatibility changes for SNMP under PHP 8.2
-issue#5142: Fix issues with permission model and warnings
-issue#5143: When a Device has zero Graphs or Data Sources, it does not display a value
-issue#5145: Changing SNMP settings to None leaves Bulk Walk Maximum Repititions visible
-issue#5147: Language handlers may not always be loaded properly
-issue#5150: Wrong parameters are shown for the Import Package script
-issue#5151: Templates appear to lose their suggested name values
-issue#5159: When editing a tree, the tree can not be set to published
-issue#5160: Translations on debian 'bookworm' systems may cause server errors
-issue#5161: Switching language in the settings does not immediately become active
-issue#5166: Plugin permissions may sometimes appear in the wrong section
-issue#5167: Graph template for NetSNMP lmsensors missing
-issue#5168: Import Package is misleading when reviewing Device Template Changes
-issue#5169: Device failure and recovery dates can be misleading
-issue#5170: Prevent remote polling functionality from running on main poller
-issue#5174: When adding a new device, location is not being saved
-issue#5180: Audit Database has issues with storage engine compare
-issue#5181: When working with remote data collectors, some errors may be logged
-issue#5182: Graph Image does not have check for Remote Agent
-issue#5184: When a user has been deleted, checking permissions can cause errors
-issue#5185: Repair Database does not prune old Poller Item Records
-issue#5187: When calling plugin functions, errors can appear if they are not present
-issue#5188: When filtering Device Templates, valid matches are not always shown
-issue#5190: When using Gradient Support GPRINT Text Format is misaligned
-issue#5194: CSRF directory needs to be writeable for creating the csrf-secret.php file
-issue#5195: When removing spikes, errors can be recorded for NaN samples
-issue#5196: Gradient support can break Graphs containing special characters
-issue#5197: Unable to obtain realtime graph from remote poller
-issue#5198: Compability Improvements for PHP Diff under PHP 8.x
-issue#5199: When trying to obtain data, cacti should not long Transport Read errors
-issue#5200: Compatibility improvements for Classic Tab images under PHP 8.x
-issue#5201: Weathermaps can have issues rendering with some themes
-issue#5202: When importing packages, Graph Size does not get updated to Graph Templates
-issue#5203: Host Mib Device package can cause errors with NetSNMP scripts
-issue#5204: Compatibility improvements for Audit Database under PHP 8.x
-issue#5205: When using Diff Viewer, rendering is not always correct under certain themes
-issue#5207: Compatibility improvements for Installer under PHP 8.x
-issue#5208: Some i18n strings are not properly translated
-issue#5209: When disabling a user, no log is recorded
-issue#5211: When creating a new graph, undefined variable errors may be recorded
-issue#5214: Basic Auth is timing out and logging users off automatically
-issue#5223: When using callback form functions, name and id field may not be correctly set
-issue#5224: When poller runtime is exceeded, time should be display as a rounded number
-issue#5227: When debugging a data source, errors may be shown if no RRDfile created yet
-issue#5232: Polling can appear delayed due to early statistics gathering
-issue#5236: When viewing a graph, Edit Graph Template link may open wrong url
-issue#5238: Searching for Poller Items can generates SQL Errors
-issue#5239: Bulk Walk Maximum Repetitions may sometimes be ignored
-issue#5241: Balance Process Load does not always apply properly
-issue#5243: Template Export missing Graph Template columns `multiple` and `test_source`
-issue#5245: Add additional security to the unserialize function
-issue#5247: Rebuilding Poller Cache from Utilities does not respect poller interval due to lack or ordering
1.2.23
-security#4920: Add .htaccess file to scripts folder
-security#5119: CVE-2022-46169 Unauthenticated Command Injection in Remote Agent
-issue#4418: When using Single Sign-on Frameworks, revocation is not always detected in callbacks
-issue#4682: New templates are not installed during the update
-issue#4738: Improve PHP 8.1 support for Installer CLI
-issue#4888: The database audit script fails to run properly on MySQL 8.0.29
-issue#4889: Increase host query performance by removing check for NULL
-issue#4892: When many hosts go offline, Recache Event can be constantly logged
-issue#4893: Real Time Counter can become stuck and does not count down
-issue#4896: When remote poller is in offline mode, GUI can become inaccesible and poller can timeout
-issue#4897: Technical support page on remote poller shows max connections of Main poller
-issue#4903: Correct incompatibility between MySQL 8.x and Automation regular expressions
-issue#4904: The recommendation for innodb_buffer_pool_instances is incorrect for MySQL 8 and MariaDB < 10.5
-issue#4905: Using colons in labels can break graphs with gradients
-issue#4917: Real Time Counter can become stuck and does not count down
-issue#4921: Some Aggregate graphs can be denied access incorrectly
-issue#4923: Unable to duplicate a Graph template
-issue#4927: Unable to audit the database if database password contains a bracket
-issue#4934: Upgrade phpseclib to 2.0.37
-issue#4935: The 'Net-SNMP - Device I/O' template incorrectly sets a maximum value of zero
-issue#4940: When sorting by hostname, database errors can be reported
-issue#4941: When boost is running, graphs can appear broken
-issue#4944: Packages should be signed with SHA256 as SHA1 is considered deprecated
-issue#4947: When creating a Data Template, ensure that the default max value is always 'U' and not '0'
-issue#4951: Plugins may not work correctly with Multi-Poller setups
-issue#4960: Setting context for connections throws error in PHP 8.x
-issue#4963: Wen calculating 95th percentile, floor() maybe used instead of ceil() incorrectly
-issue#4964: Tree search does not correct hide non-matching tree objects
-issue#4966: Device Template filters should show on used templates
-issue#4971: MIB Parser can sometimes cause errors in later PHP versions
-issue#4978: Boost may sometimes lose the Time Zone unexpectedly
-issue#4980: Setting business hours can cause PHP errors
-issue#4988: When creating RRD File, more data sources than expected may be defined
-issue#4990: When viewing Links, errors can be generated
-issue#4991: Updating a Data Template does not switch rrd_heartbeat properly for all sources leading to empty graphs
-issue#4993: Data Debug Troubleshooter does not pick up invalid RRD_heartbeat settings
-issue#4996: When managing graphs, Graphs can be listed multiple times incorrectly
-issue#5001: Data Debug troubleshooter reports false positives with Missing Data Sources
-issue#5006: Errors can occur when attempting to remove items from CDEF or VDEF's
-issue#5012: When upgrading database at command line, some PHP errors may be seen
-issue#5013: Automatically set Bulk Walk size when missing on a host
-issue#5015: Upgrade for 1.2.21 reporting unknown status
-issue#5017: SNMP Agent can cause unexpected errors due to implicit rounding
-issue#5018: When using 'Remember me', session can still be forced to end unexpectedly
-issue#5024: Escape char not properly replaced in snmp strings
-issue#5028: Cacti User Stats script can throw errors unexpectedly
-issue#5029: Searching for a plugin by name does not always work
-issue#5030: Installer shows innodb unset in MariaDB 10.10+
-issue#5033: Improve PHP 8.1 support with Installer
-issue#5034: RRD Proxy Server not supported by CLI script "structure_rra_paths.php"
-issue#5041: Custom themes may cause errors if they do not contain all required CSS/JS files
-issue#5057: When adding a device rule in automation, depreciated filters may be reported
-issue#5066: Graph watermark is not escaped properly, leading to broken graphs
-issue#5068: Improve PHP 8.2 support with Installer
-issue#5084: When viewing trees, runtime errors may be recorded
-issue#5088: When running script host_update_template.php, reindex method may incorrectly be changed to uptime
-issue#5089: When numeric regex validation fails, no backtrace is logged
-issue#5096: When the SNMP Agent is enabled, certain objects can result in errors appearing
-issue#5097: RRDtool Utilities should not appear on Remote Data Collectors
-issue#5101: When a remote poller fails, the recovery process may also fail
-issue#5102: When in Recovery Mode, plugins that are designed to work remotely stop working
-issue#5103: When Remote Data Collector changes status, a full page refresh or logout should occur
-issue#5105: ss_host_disk.php php issue after upgrade PHP 8.1 (from 7.4)
-issue#5107: Block installation if PHP has session.auto_start enabled
-issue#5111: During boost processing, some DS Stats functions can cause errors
-feature#1100: Structured path not created when using remote poller and Update On-Demand
-feature#1392: Notify Admins that page errors exist even when using dynamic callbacks
-feature#2239: Allow Import and Export to be more selective
-feature#2485: Importing Template requires you to upload the same file after previewing
-feature#2548: Add Head/Tail filtering of log for more efficient searches
-feature#2567: The innodb sort buffer should be optimized for large tables
-feature#2747: Allow more sorting options when managing Graphs
-feature#2871: Report when RRA's heartbeat is below the data source profile's interval
-feature#3131: Add utility feature to reindex hosts with bad indexes
-feature#3578: Allow Re-indexing of Devices to be Scheduled
-feature#4025: When importing a Template or Package, allow the user to ignore template and use the system default dimensions
-feature#4239: On "Graph Utility View" add the name of and a link to the graph template which the graph is based on
-feature#4417: Support execution of custom functions at poller bottom for remote pollers
-feature#4754: The script ss_fping.php should timeout based on the host
-feature#4762: Allow Package Import to be selective
-feature#4786: Windows install does not support SVG rendering
-feature#4820: When importing, make it possible to only import certain components
-feature#4841: Move the `cactid` function `db_check_reconnect()` to `lib/database.php` for other service oriented scripts
-feature#4874: Add support for Business Hours
-feature#4890: Add multi threading for Poller recache script
-feature#4899: Allow script server to be told when the main database when offline or in recovery
-feature#4901: Make the script server accept arguments in the standard way
-feature#4902: Increase compatibility with MySQL 8.x
-feature#4907: Add lmSensors to the Net-SNMP Device Template
-feature#4926: Allow the user to override Cacti's built-in Time Zone detection
-feature#4943: Add ability to periodically check RRDfiles for errors in batch
-feature#4948: When security cookie times out, redirection does not always occur properly
-feature#4955: Provide memory tuning based upon MySQL Tuner recommendations
-feature#4956: The function `db_check_reconnect()` should be able to work with any connection
-feature#4957: Add Device Template categories to match the classes of the Package Plugin
-feature#4965: When unlocking a tree, entire page should not need rebuilding
-feature#4967: Make adding Associated Graph Templates and Data Queries easier to use
-feature#4989: Improve table performance by caching 'Total Rows' using a hash
-feature#5009: Allow SNMP Value OIDs to be parsed using regular expressions
-feature: Adding ESXi Device Template
-feature: Upgrade jQuery to version 3.6.1
-feature: Upgrade jQueryUI to version 1.13.2
-feature: Upgrade billboard.js to version 3.6
-feature: Introduce exec() function with timeout
1.2.22
-security#4834: When creating new graphs, cross site injection is possible
-issue#4768: When creating user from template, multiple Domain FullName and Mail are not propagated
-issue#4791: Nectar Aggregate 95th emailed report broken
-issue#4796: Boost may not find archive tables correctly
-issue#4802: Users may be unable to change their password when forced during a login
-issue#4803: Net-SNMP Memory Graph Template has Wrong GPRINT
-issue#4806: Search in tree view unusable on larger installations
-issue#4808: Increased bulk insert size to avoid partial inserts and potential data loss.
-issue#4810: Call to undefined function boost_debug in Cacti log
-issue#4814: When no guest template is set, login cookies are not properly set
-issue#4817: Later RRDtool releases do not need to check last_update time
-issue#4818: Regex filters are not always long enough
-issue#4819: Domains based LDAP and AD Fullname and Email not auto-populated
-issue#4822: Cacti polling and boost report the wrong number of Data Sources when Devices are disabled
-issue#4823: When editing Graph Template Items there are cases where VDEF's are hidden when they should be shown
-issue#4831: Database SSL setting lacks default value
-issue#4837: Update default path cacti under *BSD
-issue#4840: Web Basic authentication not creating template user
-issue#4846: Unable to change the Heartbeat of a Data Source Profile
-issue#4849: Tree Search Does Not Properly Search All Trees
-issue#4850: When structured paths are setup, RRDfiles may not always be created when possible
-issue#4851: When parsing the logs, caching would help speed up processing
-issue#4853: Deprecation warnings when attempting real-time Graphs with PHP8.1
-issue#4860: Custom Timespan is lost when clicking other tree branches
-issue#4863: Non device based Data Sources not being polled
-issue#4865: When Resource XML file inproperly formatted, graph creation can fail with errors
-issue#4866: Update code style to support PHP 8 requirements
-issue#4867: In Graph Management, filtering for "Device: None" shows all graphs
-issue#4871: Realtime popup window experiences issues on some browsers
-issue#4873: Auth settings do not always properly reflect the options selected
-issue#4880: MySQL can cause cacti to become stalled due to locking issues
-issue#4882: Boost process can get hung under rare conditions until the poller times out
-issue#4884: Exporting graphs under PHP 8 can cause errors
-issue#4887: Host table has wrong default for disabled and deleted columns
-feature#4533: RRD storage paths do not scale properly
-feature#4820: When importing, make it possible to only import certain components
-feature#4825: Update change_device script to include new features
-feature#4827: Make help pages use latest online version wherever possible
-feature#4832: Cacti should show PHP INI locations during install
-feature#4833: Detect PHP INI values that are different in the INI vs running config
-feature#4870: Added Gradient Color support for AREA charts
-feature#4872: Update CDEF functions for RRDtool
-feature#4881: When boost is running, it's not clear which processes are running and how long they have to complete
1.2.21
-issue#4531: Correct duplicate keys within database
-issue#4614: Add support for hooks during polling loop or at poller end
-issue#4683: When adding a device, errors may be reported whilst updating templates
-issue#4684: When creating RRD error image, font may not exist
-issue#4685: Correct issues with corrupted Cacti Packages
-issue#4687: Poller output not empty all the time
-issue#4688: When running under PHP 5.4, certain operators are not valid
-issue#4689: Package Import generates errors when you try to import directory or non-file
-issue#4693: Correct issues with Heartbeat definitions under PHP 8.x
-issue#4695: When importing packages, hash types are not properly processed
-issue#4697: Login problem
-issue#4698: When creating a device, unexpected poller down message may be shown
-issue#4701: Editing a new user or user group may cause errors
-issue#4705: Unable to automatically login using Remember Me option
-issue#4707: Unable to duplicate graph templates due to missing column
-issue#4716: Correct issues with Data Source Edit under PHP 8.x
-issue#4719: Browsers may reject CactiTimeZone and CactiDateTime cookies due to SameSite requirements
-issue#4721: Some JavaScript and image files URL are broken under midwinter theme
-issue#4722: When upgrading from pre 1.x, various errors may be seen
-issue#4726: When running under Fedora, issues may be seen with snmp values
-issue#4729: Add ability for Template and Package Installs to update Suggested Name Values/Patterns
-issue#4732: When using audit tool, text/mediumtext columns may not be properly processed
-issue#4735: When changing data source profiles, errors may be shown
-issue#4736: Update PHP recommendations to meet current expectations
-issue#4743: When viewing graphs, fontawesome may not always been found
-issue#4744: When using automation, numeric values may be treated as strings
-issue#4748: When saving a device, errors may be generated
-issue#4756: Importing very old Data Input Methods generate dependency warnings
-issue#4757: Correct issues with Boost running under PHP 8.x
-issue#4763: Unable to login locally when LDAP authentication enabled
-feature#4720: Add a CLI script to install/enable/disable/uninstall plugins
-feature#4740: Add log message when purging DS stats and poller repopulate
1.2.20
-security#4562: When using LDAP, authentication process may be bypassed
-security#4576: Device, Graph, Graph Template, and Graph Items may be vulnerable to XSS issues
-security#4579: Lockout policies are not properly applied to LDAP and Domain Users
-security#4593: When using 'remember me' option, incorrect realm may be selected
-security#4678: User and Group maintenance are vulnerable to SQL attacks
-security#4679: Color Templates are vulnerable to XSS attack
-issue#3816: When replicating data during installation/upgrade, system may appear to hang
-issue#4363: Graph Template Items may have duplicated entries
-issue#4435: Unable to Save Graph Settings
-issue#4449: Script Server may crash if an OID is missing or unavailable
-issue#4451: When system-wide polling is disabled, remote pollers may fail to sync changed settings
-issue#4455: When updating poller name, duplicate name protection may be over zealous
-issue#4457: Titles may show "Missing Datasource" incorectly
-issue#4458: Checking for MIB Cache can cause crashes
-issue#4460: Polling cycles may not always complete as expected
-issue#4461: When viewing graph data, non-numeric values may appear
-issue#4472: Utilities view has calculation errors when there are no data sources
-issue#4475: Add support for PHP 8
-issue#4477: Remote pollers do not force connection when online
-issue#4479: Rebuild Poller Cache CLI script should have filter options
-issue#4480: Saving a bad Data Template can damage Data Sources
-issue#4481: Reports still use Legacy attributes, despite having a format file
-issue#4482: Graph Automation slowed by in-efficient index selection
-issue#4491: When rebuilding poller cache, SNMP settings do not properly update
-issue#4492: When an OID starts with space, SNMP returns undefined data
-issue#4495: Datasource Statistics may obtain invalid data for some rebooted devices
-issue#4498: When attempting to calculate width, some input elements may cause console errors
-issue#4500: Datasource Statistics may not scale properly on larger systems
-issue#4508: Changing Multi-Device SNMP settings may not work as expected
-issue#4509: Updating Items for a Graph Template may be slow on larger systems
-issue#4511: When using the time-based view, SVG Graphs may not resize properly
-issue#4512: When using API calls, graphs without data sources may be unremovable
-issue#4516: Add additional information to help when creating graphs from templates
-issue#4519: When remote host poll fails, poller ID may not be found and cause errors
-issue#4521: Backtraces Logged in Cacti 1.2.x Branch - Gettext Translation
-issue#4522: When entering custom input, layout issues may be seen
-issue#4528: When creating a device, default setting for Device Threads may be ignored
-issue#4529: Primary Admin account notifications may not work in certain cases
-issue#4530: On larger systems, user interface for reporting may become unusable
-issue#4536: When using Web Basic Authentication, user is always mapped as guest.
-issue#4539: When handling plugin dependancies, notices may not be displayed properly
-issue#4540: Certain account types should not allow their enabled status to be changed
-issue#4543: Emails sent multiple times to the same address can be rejected
-issue#4545: Reports Tab always shows 'Administration' despite a users permissions
-issue#4546: When unauthorized, user may be redirected instead of notified
-issue#4547: Add debug options to LDAP for diagnostic purposes
-issue#4548: Rounding causes errors with variable substitution
-issue#4549: Boost may become disabled due to an invalid path
-issue#4551: Add support for PHP 8
-issue#4552: Error messages are not always cleared, resulting in duplicated messages.
-issue#4554: Add support for Automation under PHP 8
-issue#4557: When selecting a Consolidation Function, errors may be reported
-issue#4563: Breadcrumbs not always display the correct path
-issue#4564: When clicking tabs, page may not always respond
-issue#4567: Editing current user should prevent changes of account status
-issue#4568: Authentication cache does not always use the correct realm
-issue#4569: When editing users or groups, template permissions may not work as intended
-issue#4571: When changing authentication method, unneeded settings may not be hidden
-issue#4572: When basic authentication is used, login screen should not be seen
-issue#4573: On larger systems, permission checks may render system unusable
-issue#4575: When you delete a user, cookie data is not automatically removed
-issue#4577: When editing current user, last administrator may be removed
-issue#4578: The Cacti login algorithm is complicated to understand due to too much strait line code
-issue#4580: When using Web Basic Authentication, users may be seen as guests
-issue#4586: When viewing graphs, excess database queries may occur
-issue#4587: Settings may be read more often than required
-issue#4588: Unable to save host with multi-byte characters
-issue#4589: When updating tables, ensure engine, row_format and charset
-issue#4594: When selecting font, attempt to use system-based font before internally supplied version
-issue#4597: Selective Device Debug does not work with Remote Data Collectors
-issue#4598: Plugin tab does not stay visible when main poller is offline
-issue#4603: When failing back to PHP GetText, module is not always selected
-issue#4607: Configuration file may be improperly moved into the resource cache
-issue#4609: When handling sessions, user agent may not always be present
-issue#4610: When hiding disabled devices, some may still be shown
-issue#4611: When replicating to remote pollers, plugins are not always properly sync'd
-issue#4612: When using cookie authentication, Same Site support does not always work properly
-issue#4613: Newer versions of MySQL/MariaDB may prevent structure replication changes
-issue#4614: Add support for hooks during polling loop or at poller end
-issue#4615: Plugin status on a Remote Data Collector may not always be detectable
-issue#4616: When performing certain plugin actions, replication should be forced to Remote Collectors
-issue#4617: When removing a plugin, removed tables are not removed from remote pollers
-issue#4618: When plugin exceed runtimes, they should not be automatic disabled
-issue#4620: When using CLI, Remote Data Collector scripts may connect to the wrong database
-issue#4623: Boost does not operate as it should in certain situations
-issue#4624: System uptime may be missing under certain circumstances
-issue#4629: When removing many Graphs and Data Sources, polling cycles may overrun
-issue#4630: Session data is not always started correctly
-issue#4632: When creating a Datasource, Input Field Checking is not always enforced
-issue#4634: When using Basic Authentication, the Logout Everywhere button should not be shown
-issue#4645: When format file does not exist, changing certain settings may result in errors
-issue#4651: Device Description is not consistent in Poller Cache view
-issue#4652: After repopulating graph, navigation to check cumbersome
-issue#4654: When saving a data template, replication may cause errors
-issue#4658: When upgrading from pre-1.0, tree information may not properly update
-issue#4659: When moving a device between pollers, errors may occur
-issue#4666: Add date calculation support for PHP 8
-issue#4671: Add poller sleeping support for PHP 8
-issue#4672: When editing Reports, drag and drop may not function as intended
-issue#4680: When data drive is full, viewing a Graph can result in errors
-feature#4574: On larger systems, permissions may need alternative methods
-feature#4631: When creating a Data Source Profile, allow additional choices for Heartbeat
-feature#4636: Upgrade jQueryMulti-select to 3.0.1
-feature#4637: Change select all options to use Font Awesome icons
-feature#4641: Improve spine performance by storing the total number of system snmp_ports in use
-feature#4663: Prevent Template User Accounts from being Removed
-feature#4664: When managing by users, allow filtering by Realm
-feature#4665: Allow plugins to supply template account names
-feature#4667: When viewing logs, additional message types should be filterable
-feature#4668: When creating a Graph Template Item, allow filtering by Data Template
-feature#4669: Allow language handler to be selected via UI
-feature#4673: Updated Device packages for Synology, Citrix NetScaler, Cisco ASA/Cisco
-feature#4674: Add Advanced Ping Graph Template to initial Installable templates
-feature#4675: Add LDAP Debug Mode option
-feature#4676: Allow Reports to include devices not on a Tree
-feature#4677: Allow Basic Authentication to display custom failure message
1.2.19
-security#4356: Further fixes for grave character security protection
-issue: Over aggressive escaping causes menu visibility issues on Create Device page
-issue#3787: Add SHA256 and AES256 security levels for SNMP polling
-issue#4289: Import graph template(Preview Only) show color_id new value as a blank area
-issue#4341: Editing graphs can cause errors due to missing sequence
-issue#4342: When hovering over a Tree Graph, row shows same highlighting as Graph Edit screen
-issue#4343: When RealTime is not active, console errors may appear
-issue#4347: Race conditions may occur when multiple RRDtool processes are running
-issue#4352: Creating graphs from templates may sometimes result in errors
-issue#4353: When duplicating reports, errors may occur
-issue#4375: Boost may be blocked by overflowing poller_output table
-issue#4378: Template import may be blocked due to unmet dependency warnings with snmp ports
-issue#4381: Newer MySQL versions may error if committing a transaction when not in one
-issue#4382: SNMP Agent may not find a cache item
-issue#4383: Correct issues running under PHP 8.x
-issue#4391: When polling is disabled, boost may crash and creates many arch tables
-issue#4396: When poller runs, memory tables may not always be present
-issue#4400: Removal of redunant code
-issue#4403: Timezones may sometimes be incorrectly calculated
-issue#4404: Allow monitoring IPv6 with interface graphs
-issue#4408: When a data source uses a Data Input Method, those without a mapping should be flagged
-issue#4410: When RRDfile is not yet created, errors may appear when displaying the graph
-issue#4419: Cacti missing key indexes that result in Preset pages slowdowns
-issue#4420: Data Sources page shows no name when Data Source has no name cache
-issue#4421: db_update_table function can not alter table from signed to unsigned
-issue#4422: data remains in poller_output table even if it's flushed to rrd files
-issue#4423: Parameter list for lib/database.php:db_connect_real() is not correct in 3 places
-issue#4424: Offset is a reserved word in MariaDB 10.6 affecting Report
-issue#4425: Rendering large trees slowed due to lack of permission caching
-issue#4428: Error on interpretation of snmpUtime, when to big
-issue#4431: Applying right axis formatting creates an error-image
-issue#4435: Unable to Save Graph Settings from the Graphs pages
-issue#4437: Graph Template Cache is nullified too often when Graph Automation is running
-issue#4438: When Adding a Data Query to a Device, no Progress Spinner is shown
-issue#4439: New Browser Breaks Plugins that depend on non UTC date time data
-issue#4440: Undefined index: timeout_exceed /lib/poller.php on line: 1953
-issue#4442: When testing remote poller connectivity Errors occour
-issue#4443: When renaming poller errors occour
-issue#4444: Removing spikes by Variance does not appear to be working beyond the first RRA
-issue#4445: LDAP API lacks timeout options leading to bad login experiences
-issue#4525: When using CMD for polling, pipes are not properly referenced for PHP scripts
-feature: Add a normal/wrap class for general use
-feature: Limit File Types available for Template Import operations
-feature#1573: Cacti does not provide an option of providing a client side certificate for LDAP/AD authentication
-feature#3113: Support Stronger Encryption Available Starting in Net-SNMP v5.8
-feature#4299: Allow Cacti to use multiple possible LDAP servers
-feature#4344: Add a 15 minute polling/sampling interval
-feature#4385: Provide additional admin email notifications
-feature#4390: Add warnings for undesired changes to plugin hook return values
-feature#4409: When creating a Graph, make testing the Data Sources optional by Template
-feature#4412: Update phpseclib to 2.0.33
-feature#4413: Update jstree.js to 3.3.12
-feature#4414: Improve performance of Cacti poller on heavily loaded systems
-feature#4426: MariaDB recommendations need some tuning for recent updates
1.2.18
-security#4261: Lack of escaping on template import can lead to XSS exposure under 'midwinter' theme (CVE-2020-14424)
-security#4276: Real time graphs can expose XSS issue
-security#4282: Session IDs are not always recreated when logging out under PHP 5
-issue#4250: Unable to create graphs due to Data Source verification failure
-issue#4254: When poller first runs, time since last run produces an error
-issue#4259: Data Template caching does not update and causes errors
-issue#4263: Graphs with multiple data sources can no longer display percenticles
-issue#4266: Incomplete items from a previous polling session may be updated twice
-issue#4267: Unnecessary warnings appear when host name is not resolved
-issue#4269: Installation Wizard can become stuck when creating graphs for default device
-issue#4271: Continued timeout of registered processes
-issue#4272: Unexpected errors may appear when using hostnames without a DNS domain
-issue#4273: When adding a device from command line, testing of data sources can cause errors to be recorded
-issue#4274: When you start to zoom a graph, the auto graph refresh should be disabled
-issue#4279: Default Setting "Device Threads" will not be saved correctly
-issue#4284: Whilst upgrading, errors in upgrade scripts prevent properly execution
-issue#4293: Tree search does not take hosts belonging to a site into account
-issue#4294: Tables outside of pre-built list that need fixing, cause bad unknown column errors
-issue#4295: If a page contains multiple tables, a larger table can cause small ones to lose columns
-issue#4297: Unable to search using regular expressions when trying to filter graphs
-issue#4312: When using CMD.PHP as the poller, warnings can appear if you only use a subset of data input types
-issue#4314: When disabling the snmpagent, you can introduce significant delay to data collection
-issue#4315: Reduce repeatative warnings when resources are exhausted
-issue#4316: Remove Spikes CLI interface is unable to provide localized spike, gap fill or float operations
-issue#4321: Earlier versions of RRDTool do not correctly ignore previous updates
-issue#4324: Date/Time format of replacement field on graph cannot be changed
-issue#4325: When editing graph items, make identifying rows easier
-issue#4326: When using large lists, ensure selection is visible in dropdown menus
-issue#4330: Automation attempts to call undefined debug function
-issue#4333: Under FreeBSD, allow ping to work properly for IPv6
-issue#4367: Report owner - show at least the username when the full name is empty
-feature#4258: Update phpseclib to 2.0.31
-feature#4283: Content Security Policy may block Plugin functionality
-feature#4317: Allow the Cacti administrator to perform bulk gap filling and floating in parallel
-feature#4322: Update pace.js to version 1.2.4
1.2.17
-security#4019: Incorrect handling of fields led to potential XSS issues
-security#4022: SQL Injection was possible due to incorrect validation order (CVE-2020-35701)
-security#4035: Various XSS issues with HTML Forms handling
-issue: CLI scripts should not have a max allowed runtime
-issue: Normalize plugin hooks between user_admin.php and user_group_admin.php
-issue#1052: TimeZones are not handled correctly with Daylight Savings changes
-issue#3392: Allow plugins to customize device listing page
-issue#3879: Allow Graph/Data Source with custom fields to prompt during manual creation
-issue#3908: When poller overruns the script server can throw errors upon shutdown
-issue#3936: Editing a graph created from Aggregate Graph can fail
-issue#3945: CSV export can show NaN for date if TimeZone does not match system
-issue#3969: SNMPv3 Password field does not correctly limit to size of database field
-issue#3976: Font colors are being overridden leading to display issues
-issue#3977: Database upgrade may fail when using upgrade_database.php
-issue#3978: Input Validation was not handled correctly when displaying graph trees
-issue#3981: Missing API include leads to runtime errors in Automation
-issue#3985: Collation was not always handled correctly in the database library
-issue#3988: Automation raises errors when default snmp options is set to none
-issue#3990: PHP Information was not being displayed properly under Tech Support
-issue#3999: Ensure database audit code attempts to use passwordless options before sending credentials
-issue#4001: Ensure Cacti can support PHP 8
-issue#4002: Pollers may sometimes not recover properly once they go offline
-issue#4005: When viewing Realtime Graphs, validation errors may be seen for Size parameter
-issue#4008: Massive decrease in poller performance due to unset variable
-issue#4009: Ensure number format functions are consistent for i18n usage
-issue#4021: Increase maximum number of device threads
-issue#4031: Secondary filters on Data Collectors and Data Profiles do not work as expected
-issue#4033: Action Icons changed to be consistent with admin UI
-issue#4036: During discovery, Automation can throw unexpected errors due to null values
-issue#4038: When creating new graphs, a second click is required even if not needed
-issue#4042: RRD Updates can become disabled when saving performance options
-issue#4043: Boost can become unresponsive when large number of archive tables exist
-issue#4049: Enable sensitive graph information to be hidden from standard users
-issue#4050: When showing table conversion script, the example path can be displayed incorrectly
-issue#4056: Rename "Show Exceptions" checkbox to "Only Show Exceptions" which more actually reflects its function
-issue#4060: When attempting to get client address, incorrect information may be returned
-issue#4061: When getting date format, default options are not always honored
-issue#4066: Enable Boost to utilize multiple processes
-issue#4067: Disable BOOST image caching when using Graph Zoom features
-issue#4068: When viewing graphs, individual graph sizes can be ignored in favour of global default
-issue#4070: Summary data can fail to calculate when the RRDfile lacks the Data Source
-issue#4073: Zoom functionality can fail when a graph has lost focus.
-issue#4074: Realtime Images are not always adhering to defined format
-issue#4075: LDAP Settings lead to confusion when setting up LDAP authentication
-issue#4076: MariaDB tuning link points to a dead URL within System Utilities
-issue#4077: If user has no permissions assigned and tries to login, a redirect loop occours
-issue#4079: When checking current timestamps, make audit replace mysql function usage with preferred CURRENT_TIMESTAMP variable
-issue#4080: Cacti regular expression searching does not quote expressions
-issue#4082: RRDtool version detection not working for RRDproxy setup
-issue#4083: RRDCleaner does not support RRDproxy
-issue#4086: Large system performance negatively impacted due to $spikekill_templates behavior
-issue#4092: On large systems, Primary ID usage on heavily used tables will overflow due to default MySQL variable size
-issue#4095: When viewing Plugins page, icons can sometimes be misaligned
-issue#4098: Graphs and Data Sources lists can become unresponsive on very large systems
-issue#4100: When viewing User Admins, a division by zero error can sometimes be seen
-issue#4105: Allow admins to define bulk walk repetition sizes
-issue#4109: Realtime graphing can sometimes cause gaps in historic data
-issue#4110: Graph Variables are not always parsed correctly leading to errors in log files
-issue#4116: Upgrading large trees from 0.8.x to 1.x is slow
-issue#4117: Script server throws errors if a command line argument includes a backslash
-issue#4119: Implicit flushing is not always enabled, depending on OS, resulting in Script Server result issues
-issue#4121: LDAP search filter cannot be configured if too many OUs or filters are nested
-issue#4122: Automation causes SQL syntax errors when invalid operations are present
-issue#4125: On completing the installation wizard, an internal server error can sometimes be observed
-issue#4126: Deleting a damaged graph can sometimes led to removal of valid graphs too
-issue#4127: When updating Trees, graph titles are calculated too often leading to unresponsiveness
-issue#4130: On large systens, Graph creation can become unresponsive due to large number of data sources
-issue#4131: A design flaw makes importing new Graph Template slow on large systems
-issue#4134: MIB Caching does not always work as expected
-issue#4135: On large Cacti installs, editing Data Templates is slow
-issue#4136: When repairing database at command line, no option exists to skip table checks and force Data Source repair
-issue#4141: Unusually long comments do not wrap when viewing graphs, and haven't in this CHANGELOG entry either
-issue#4143: Prevent some false positive scenarios when detection orphan graphs
-issue#4147: Poller items are evaluated too quickly when mixed polling cycles are used
-issue#4148: Ensure automatic refresh of cacti log view works consistently
-issue#4149: Ensure utilities show correct information when in offline mode
-issue#4161: Data source template names should be shown in the respective "suggested values" sections
-issue#4162: Allow Persistent Connections to MariaDB/MySQL to be configured
-issue#4164: Unable to easily track Cacti login sessions when using database sessions
-issue#4166: Auto-select text when focusing auto complete elements
-issue#4169: Ensure Log Viewer 'Go' and 'Clear' buttons behave as expected
-issue#4170: Enable full name tooltips for Alias/Description columns
-issue#4173: Ensure Console menu icons are properly aligned
-issue#4174: When using replication, ensure binary logging can be disabled
-issue#4175: When syncing Templates, prevent false 'Damaged Graph' notifications from appearing
-issue#4177: Simplify Graph/Template authorization searches when not using restricted mode
-issue#4179: Correct class usage on Graph Sidebar Icons to be consistent
-issue#4180: Remove logoff option when using basic authentication
-issue#4181: Ensure realm names are more consistent
-issue#4182: Allow Automatic Graph Creation to utilise Data Templates with Overriden Values
-issue#4183: Processes can be terminated early due to incorrect timeout calculation
-issue#4184: Ensure error logging is consistent when using CMD processor instead of spine
-issue#4185: Updating Signal Handling to recommended standards for PHP 7.1+
-issue#4186: When editing a Fixed String on Tree Rule it is improperly displayed as "Unknown"
-issue#4187: Provide more direct method fo navigating to Data Source from Graph
-issue#4188: Replacement variable names are difficult to find for Aggregate Graphs and Templates
-issue#4189: Allow links from a page to its specific documentation
-issue#4190: Augmenting roles can incorrectly link to roles instead of realms in rare cases
-issue#4192: Devices search can return a black screen if device name contains the hash/pound # character
-issue#4193: Allow command line reindex to work with disabled devices
-issue#4195: When search text includes # character, filtering does not always work as expected
-issue#4197: When attempting to do a rollback on versions, the installer will not restart
-issue#4199: Allow Cacti administrator to define a min refresh interval to prevent graph gaps
-issue#4205: When removing Data-query Associated Graph Templates, it deletes the graphs Templates from bottom to top
-issue#4206: When a report was delayed, the report's time is incorrectly changed
-issue#4215: Poller recovery starts multiple processes and fails to recover properly
-issue#4223: Parallel boost restart due to timeout can result in errors.
-issue#4227: When remote poller is in offline mode, data is written to more tables than necessary
-issue#4228: Under specific circumstances, redirection issues can occur after login
-issue#4229: When no snmp option is set, automation can incorrectly report a number of issues
-issue#4232: Database TLS configuration requires client certificates as well
-issue#4233: Potential typos and incomplete parameter lists for database connection variables
-issue#4241: Tree sort mechanism does not take sites into account
-issue#4251: Caching of Graph Titles can be incorrect
-feature: Add Theme 'Midwinter'
-feature: Update phpseclib to version 2.0.30
-feature#645: Modify automation to test for data before creating graphs
-feature#3513: Add hooks for plugins to show customize graph source and customize template url
-feature#3572: Missing prompts during automation's device creation leads to blank data
-feature#4012: Allow CSRF security key to be refreshed at command line
-feature#4013: Allow remote pollers statistics to be cleared
-feature#4113: Allow user to be automatically logged out after admin defined period
-feature#4176: When replicating, ensure Cacti can detect and verify replica servers
-feature#4210: Replace c3.js with billboard.js
1.2.16
-issue#3704: When generating a report, the Cascade to Branches function does not as expected
-issue#3859: When viewing graphs, automatic refresh so not always work as expected
-issue#3898: Realtime graph pop up counter bug
-issue#3903: Undefined variable errors may occur when creating a new datasource
-issue#3907: The cli-based installer does not exit with a non-zero exit code when error occurs
-issue#3912: When an export is complete, sometimes the progress bar remains
-issue#3915: When enabling many devices, a threshold can be reached causing a slowdown in the process
-issue#3916: When performing actions against Devices, replicated device information could sometimes be lost
-issue#3917: When using API to rename a tree node, backtrace may be incorrectly shown
-issue#3919: When searching, valid pages can sometimes be shown as empty
-issue#3920: When exporting data from graphs, not all data was properly included
-issue#3924: Graph Templates filter is not updated after new graph created
-issue#3926: Username and password on the login page is not visible in Classic theme
-issue#3929: Improve wording of concurrent process and thread settings
-issue#3930: Location filter should remove blank entries
-issue#3931: When syncing data collectors, a reindex event may be triggered unnecessarily
-issue#3932: Automation Networks allows discovery of invalid IP addresses
-issue#3933: When changing permissions of the current user, they don't take effect immediately
-issue#3935: When reindexing a device, an incorrect page was sometimes displayed
-issue#3942: When repairing database, audit_database.php does not add missing columns
-issue#3948: Spine 1.2.15 - Spine Encountered An Unhandled Exception Signal Number: '6' [11, Resource temporarily unavailable] (Spine thread)
-issue#3949: Log page should not be empty if no log info exists
-issue#3953: During upgrade, there are times when realms can be duplicated leading to SQL errors
-issue#3957: When using ping.php, UDP response times are not interpreted properly
-issue#3960: Improve warning you get when attempting to view a log file you don't have access to
-issue#3962: When replicating files, scripts are not marked as executable
-issue#3963: When creating plugin tables, collation is not set properly
-feature: Update c3.js to version 0.7.20
-feature: Update Chart.js to version 2.9.4
-feature: Update phpseclib to version 2.0.29
-feature: Update PHPMailer to version 6.1.8
-feature: Use LSB shebang notation for cli scripts
-feature: Add support for cactid daemon based launcher
-feature#3923: Add ability to hide the Graph Drilldown icons
-feature#3943: Add hooks for plugins to show custom Graph Source and custom Template URL (List View)
1.2.15
-issue#3643: When editing Maximum OIDs Per Get Request, blank value can cause errors
-issue#3656: Boost may run more often than it should
-issue#3693: Recache Event Loop can cause Interface Graphs to show gaps
-issue#3703: When searching Graph Tree's, non matching devices remain visible
-issue#3711: Page validation errors may occur when opening real time graphs
-issue#3722: External Links do not always open if they are still open from previous usage
-issue#3730: Cultural changes to various word usage
-issue#3741: Replicate deleted device status instead of poller sync
-issue#3743: Description field allows more characters entered than is stored
-issue#3747: When installing or upgrading, LDAP functions may not always be included properly
-issue#3748: Unable to remove discovered device
-issue#3753: When installing or upgrading, PHP recommendations may not always return a valid value
-issue#3755: Graph Templates has duplicate SQL delete statement
-issue#3759: When syncing to remote poller, missing function errors may occur
-issue#3760: When removing devices from remote pollers, devices may reappear without details
-issue#3761: When removing devices, array errors may sometimes be recorded
-issue#3763: Variable injection does not always work as expected
-issue#3764: Editing Data Queries with multiple data templates can give errors about Suggested values