Observium Changelog

Community Edition — Since 26.01

166
commits
27,262
lines added
11,434
lines removed
15,828
net change

Changes Since CE 26.01

166 commits since CE 26.01 (r14545)
These changes are available now in Observium Professional and Enterprise editions. Community Edition releases do not follow a fixed schedule. Some changes listed below may only apply to Professional/Enterprise editions.
๐ŸŽฏ Major Features:
  • r14589: RANCID config search with regex pattern management, history search, and export +2,367/-184
  • r14648: Sensor auto-calibration system with individual/bulk updating UI, discovery-time autocalibration UI config entries. +2,619/-49
โœจ New Features:
  • r14685: Added expired scheduled maintenance cleanup to Housekeeping (OBS-4330). +109/-39
โšก Improvements:
  • r14547: Added discovery additional APC pdu and ups power sensors by PowerNet-MIB. +102/-8
  • r14556: Moved list of ignored vlans to os/group definition, added option for ability global ignore list of vlans. Fixed discovery cisco reserved vlans on other platforms. +46/-26
  • r14559: Added autodiscovery option to limit SNMP versions used. +9/-2
  • r14560: Function test_condition() regex condition detect if test string already pattern with delimiters. +331/-313
  • r14564: Added parse_condition_string() for simplified condition syntax in MIB and http test definitions. Refactor key 'test_and' for replace hidden 'and' flag with explicit key. +831/-153
  • r14571: Added get_network_start(). Removed direct calls to IPLib from main code parts. +28/-22
  • r14573: Reset opcache directly on fatal error handler. +6/-40
  • r14574: Convert device fields last_polled and ignore_until to unittime in db query. +51/-27
  • r14580: Added DEVICE_NAME and DEVICE_IP tyo message tags for alert notigications. +40/-7
  • r14591: Improved generate querybuilder save/reset buttons. Unified js scripts generate for querybuilder. +209/-325
  • r14597: Dashboard: make ownership permissions configurable, fix editability rules, and add the widget picker UI +368/-168
  • r14598: Overhaul platform stats and poller/partition telemetry, rename /pollerlog/ to /platform/, and centralize default poller_id=0 row creation for CE/non-CE +1,682/-956
  • r14604: Added safe_pattern() to simplify detection of regex pattern delimiters when a pattern is passed without them. +53/-52
  • r14605: Added actions json_encode, id and password to string_transform(). Added missing unit tests and descriptions. +159/-37
  • r14607: string_transform(): use safe_split_space() for explode/split actions when delimiter is not set. +42/-6
  • r14624: Improved discovery dom sensors and vlans by FIBERSTORE-MIB (OBS-5174). +124/-50
  • r14625: Autodiscovery: add configurable XDP IP correlation modes +138/-73
  • r14630: Scheduled maintenance: fix UI update handling, idempotent associations, selective syslog reload, schema consistency, and implement API/tests +499/-38
  • r14639: Update BGP VRFs names for duplicate peer entries. +43/-25
  • r14652: Rewrite Cytoscape traffic map with AJAX refresh, dark mode, and utilisation labels and other additions +527/-100
  • r14657: Harmonisation of sensor/status/counter entity type code, Addition of better entity linking, many general bug/inconsistency fixes. +379/-77
  • r14662: Sync LDAP user to local users table on login and add live LDAP re-validation for API tokens +177/-12
  • r14665: BFD: Improve polling and UI across Cisco and Juniper modules +249/-53
  • r14667: BFD UI improvements: fix global stats WHERE filter, stacked session table cells (discriminators/VRF/auth/detect time), sort support, IP search, flaps filter, device sessions filter form +352/-318
  • r14668: Added convert Juniper hex IP addresses to hex2ip(). +7/-1
  • r14670: Fixed display default poller wrapper graphs. Improved display long list of devices as expandable list. +78/-34
  • r14673: BFD: Multiple fixes to poller and UI code. Improve port/device matching, local/remote address inference. +333/-253
  • r14676: Forced migrate legacy entity asociations on re-enable alert checker. +216/-172
  • r14678: Improved display styles on API tokens page. Use native mysql functions for time conversion. Use common form generate function. +177/-95
  • r14680: Improved auth logging and display. Improved housekeeping clean for authlog. +354/-198
  • r14682: Improved housekeeping cleanup log tables with delete by chunks. Added helper function dbDeleteChunks(). +62/-75
  • r14683: Optimized is_cli()/is_cron()/is_ssl()/is_ajax()/is_iframe()/cli_is_piped(). Removed unnecessary constants, add SSL detection methods, systemd timer support. +145/-58
  • r14690: Improved detect more distro without distro script, like NixOS, Kali, Suse. Moved distro detection to separate function poll_device_unix_distro(). +446/-349
  • r14703: Rename alert_check pages to alert_test, standardise UI terminology to Alert Test +2,144/-2,137
  • r14705: Improved port association for ENTITY-MIB inventory entries by ifDescr. +21/-10
๐Ÿ› Bug Fixes:
  • r14548: Fixed js openLink() function do not trigger open url on selecting text. +9/-9
  • r14551: Fixed generate status form for status type field. +83/-69
  • r14552: Fixed open links in new tab with Meta/Ctrl key click.
  • r14567: Fixed Add probe form user level. +1/-1
  • r14572: Fixed snmp community string validation for non-standard lengths exceeding 32 characters. +18/-4
  • r14576: Fixed display device down time in status widgets. +7/-2
  • r14579: Removed call to get_entity_group_names() in CE. +79/-73
  • r14582: Fixed fdb local port association for vlans with null in vlan name. +4/-1
  • r14586: Fixed display error messages in ajax requests. +45/-15
  • r14587: Prevent infinite loop for display critical errors on dashboard.
  • r14592: Fixed display devices/ports count for groups in navbar. +35/-31
  • r14594: Correctly count ignored ports in cache data. +4/-2
  • r14601: Correct conditional_map condition handling and add regression tests +239/-64
  • r14613: Harden graph dashboard add/edit permissions and preserve group selector vars +28/-12
  • r14620: Fixed update CBQOS values in db by CISCO-CLASS-BASED-QOS-MIB. +16/-10
  • r14621: Fixed OSPF polling db update warnings. +8/-12
  • r14627: Fixed override neighbour ip address from LLDP by MIKROTIK-MIB. +3/-3
  • r14628: Fixed hardware replace action by UBNT-UniFi-MIB. +4/-2
  • r14636: Alert duration - use pre-update last_ok for recovery notifications +12/-2
  • r14642: Dashboard: restore legacy starter visibility and fallback generation +9/-3
  • r14643: Dashboard: robust starter bootstrap and fallback for stale default ids +109/-1
  • r14644: Navbar - show map and traffic map for Global Read users +2/-2
  • r14653: Fix some poller list population and fix device poller perf page to use rrd step as poller interval. +69/-21
  • r14654: Guard entity iteration against non-array config entries in add/group UI +2/-2
  • r14658: Remove erroneous duplicate discover_entity() function. +0/-78
  • r14659: Traffic accounting historical usage graph - add PB/EB/ZB/YB units to formatBytes() +2/-2
  • r14660: API tokens page - add missing requesttoken CSRF field to revoke form +1/-0
  • r14666: Additional BFD cleanups and fixes +21/-5
  • r14671: Fixed display vlan links on global vlans page. Improved display expandable list of VLANs. +21/-28
  • r14674: Fixed request token param name. Fixed set user settings.
๐Ÿ”ง Minor Changes:
  • r14557: Moved process-specific (alerter/poller/discovery) includes to common observium include. Moved unix-agent specific functions to separate include. +220/-187
  • r14563: Added safe_split_space() for safely splitting strings by whitespace with a minimum parts guarantee. Added unit tests. +120/-14
  • r14568: Email transport - add optional custom subject template using {{TAGS}} syntax +5/-2
  • r14584: Added unit tests for value_to_units() and value_unit_convert(). Fixed square and qubic unit aliases. +517/-2
  • r14610: Improved exclude incorrect DOM sensors for UTP/Cooper ports by CISCO-ENTITY-SENSOR-MIB (OBS-5175). +23/-3
  • r14612: Add selector-based group aggregate graphs for PUE and port bits compare +413/-7
  • r14635: Added display summary duplicate BGP peers in VRFs. +27/-5
  • r14649: validate widget id and enforce dashboard view permission; enable widget render mode +10/-1
  • r14650: Add preg_last_error_msg polyfill, use routing icon for BFD, and optimize maintenance association rendering +37/-5
  • r14663: Add web config definition for ldap/api auth options +13/-0
  • r14681: Added option to enable auth logging to file for use with system blockers like fail2ban (disabled by default). +15/-11
  • r14686: Updated distro script. Improved detect os version by os-release. +6/-3
  • r14688: Improved detect parallels and oracle virtual without systemd-detect-virt in distro script. +14/-5
  • r14693: Improved detect distro version for IPFire. Distro script updated to latest. +12/-8
  • r14695: Added polling distro with NET-SNMP-EXTEND-MIB. Improved detect OpenWrt with distro script. +60/-13
  • r14697: Dashboard status widget changes to add probe warnings and alerts +44/-1
  • r14707: More port associations for ENTITY-MIB inventory entries by ifDescr. +15/-6
  • r14710: Fixed runtime scales by BETTERBE-KOELMODULE-MIB. +3/-3
๐Ÿ“‹ MIB Updates:
  • r14553: Updated APC mib files.
  • r14554: Updated HP mib files.
  • r14637: Update Gude ETS8801 MIB
  • r14700: Moved GBN and related mib files to separate dir. +106/-106
  • r14701: Reorganised FS.COM mib files for NMS cloned mib files. +692/-638
๐Ÿ—„๏ธ Database Changes:
  • r14631: Add scheduled maintenance schema changes. +4/-0
  • r14633: Updated initial db schema to version 518. Added script for generate schema dump. +2,137/-855
๐Ÿ˜ PHP 8 Fixes:
  • r14664: Fix PHP 8.0 not-an-array issue in includes/entities/port.inc.php +10/-3
  • r14698: Prevent possible fatal error in generate_querybuilder_filters(). +13/-4
๐Ÿ“ Trivial Changes:
  • r14546: Improved error messages on try load python modules natsort and impacket for wmic script. +30/-11
  • r14550: Use icon definition when exist in generate_element_select(). +5/-2
  • r14558: Moved mempool and db functions from common include to correct places. +125/-119
  • r14565: Added debug warnings for malformed conditions in parse_condition_string(). Prefer explicit type prefix in MIB definitions. Added unit tests for incorrect test definitions. +132/-32
  • r14577: Added error message when trying run poller with host 'new' keyword. +12/-3
  • r14581: Added debug messages for false email notification send. +19/-14
  • r14588: Prevent return possible empty in get_local_id(). +16/-9
  • r14599: Removed unnecessary check for pollers table exist in ensure_default_poller_row(). Renamed is_poller_main() to is_poller_default(). +23/-16
  • r14600: Fixed validate forward geo api request for ArcGIS. +185/-184
  • r14606: Fixed runtime sensor scale by COMAP-InteliLite4-30. +3/-2
  • r14608: Fixed safe_split_space() padding for empty string. +6/-5
  • r14617: Display full path to snmpdump. +7/-4
  • r14623: Reduced default uptime max for 64 bit system. +9/-2
  • r14626: Simplified polyfill for array_last(). +2/-2
  • r14629: Prevent fatal error in string_trasform() for regex actions with array in from/to arguments. +8/-0
  • r14634: Added debug message about duplicate bgp peer in vrf table. +90/-40
  • r14651: Harden include paths with __DIR__ +21/-21
  • r14672: Correctly detect default poller wrapper graphs. +5/-4
  • r14675: Prevent resubmit vars on ajax response. +13/-16
  • r14677: Clean legacy alert associations after migrate. +13/-7
  • r14679: Show message when X-API-Token or Query Parameter API auth is disabled in config. +11/-5
  • r14684: Removed calls to OBS_AJAX constant. +7/-12
  • r14687: Added option -l to snmpdump script for make dump locally without db connect. +12/-2
  • r14708: Missed case insensitive pattern modificator. +1/-1
๐Ÿ“š Library Updates:
  • r14569: Added IPLib v1.22.0
  • r14575: Removed unused pear Net_IPv4 and Net_IPv6 files.
  • r14595: Updated Parsedown and ParsedownExtra libs to latest.
  • r14596: Restored own prevent xss check in Parsedown lib.
๐Ÿงน Code Cleanup:
  • r14549: Removed debug in js console log. +2/-13
  • r14566: Use explicit pattern delimiter in regex test conditions for mib definitions. +16/-16
  • r14590: Removed unused doT js lib. +3/-7
  • r14602: Moved FS-SWITCH-MIB and FIBERSTORE-MIB definitions to common include. +364/-338
  • r14603: Removed duplicate definition for FIBERSTORE-MIB. +0/-1
  • r14609: Removed hack for generate ports where array in build_ports_where_array_ng(). +19/-52
  • r14632: Removed an accidental change in initial db schema. +1/-6
  • r14640: Fixed div close in data-pick. +1/-0
  • r14691: Moved unix os group definition to unix include. +42/-42
  • r14702: Removed unused mib files. +0/-35
๐Ÿšง Development:
  • r14622: Added ability for store all device uptimes for troubleshoot device rebooted metric. +17/-10
๐Ÿ“ฆ Other Changes:
  • r14585: Add alert checker enable/disable support across UI, API, processing, and styling +130/-16
+27,262 added -11,434 removed 15,828 net