--- develop ---
-
issue#317: Expire partitions by their actual UTC upper boundaries instead of partition count, preserving cutoff-spanning partitions and supporting legacy TO_DAYS layouts.
-
issue#317: Defer automatic partition reorganization when overflow estimates exceed 100,000 rows or 128 MiB, or cannot be read; preserve the safety partition and report the reason through maintenance health.
-
issue#317: Make incoming transfers transactional, lock overlapping slices, and skip existing source identities on retry to prevent duplicate local archival.
-
issue#317: Preserve unarchived incoming messages regardless of age, retry crash-stranded rows, and require a matching history or durable outbox identity before removing incoming data.
-
style: Keep all SonarCloud-reported lines within the 120-character limit by reflowing long SQL calls, ternaries, mappings and misaligned PHPDoc comment blocks, and associate the Device Alert Rule filter controls (Search, Enabled, Rules) with accessible labels
-
bug: Suppress automatic schema repair during plugin lifecycle operations and while Syslog is disabled or uninstalled; stop stale processor launches before they can recreate removed tables
-
bug: Repair missing tables automatically on the main collector as well as remotes, and skip processing when schema repair fails
-
bug: Resolve Cacti 1.2.x main-poller default database connections explicitly for Syslog rule replication
-
bug: Automatically repair collector-local schema before remote Syslog queries and processing after reinstall; keep failed message queries from disabling the plugin with a return-type error
-
bug: Remove all plugin-owned tables from remote collectors through Cacti's native API when uninstalling all Syslog data
-
security: Escape stored removal and report rule names in all bulk-action confirmations
-
bug: Route rule imports to the configured Syslog database and publish complete remote rule snapshots with source-aware schema transfer and failure-safe replacement
-
bug: Bound digest backfill to the registered master and a fixed migration range, retaining the last durable cursor when a batch or progress write fails
-
bug: Report dashboard write failures and roll back partial deletes, copies and panel ordering changes
-
bug: Count equal retained and removed log totals correctly and remove all plugin-owned tables during uninstall-all
-
test: Repair the schema CLI fixture and add dedicated-database, rule synchronization, migration, output escaping and dashboard rollback regression coverage
-
test: Measure lib/QueryBuilder.php in the patch-coverage gate and cover the QueryBuilder availability guards, the timeseries dashboard panel branch, invalid-database partition guards, retroactive removal-rule field maps, dMaxValue metadata extraction and the metadata label/filter button renderers
-
bug: Restore the incoming-to-syslog archive INSERT so its outer SELECT no longer redeclares a second unbound poller_id placeholder (SQLSTATE HY093 "Invalid parameter number" made every transfer fail with "Unable to archive incoming records") and reads the derived table's columns instead of the out-of-scope syslog_incoming alias
-
feature: Add an optional Recovery command to threshold alert rules, with correlated breach/clear script context and durable collector-owned clear retries
-
feature: Add poller-driven pipeline health alerts for stalled processing, incoming backlogs, remote synchronization failures or delays, and blocked partition maintenance; expand the existing Status health card with check results and email delivery status, with optional problem, reminder, and recovery notifications
-
bug: Treat an empty incoming queue as drained rather than missing data, and evaluate stale queued messages even when new messages continue arriving
-
feature: Add an auto-refresh interval dropdown and a manual refresh glyph to the Syslog Status toolbar (mirroring the intropage refresh concept); the interval persists through the page's auto-reload and the refresh glyphs spin while their cards reload
-
bug: Show the Syslog Status card refresh glyph again by using Font Awesome's fa-sync-alt (the bundled Font Awesome 6 no longer renders the Font Awesome 4 fa-refresh alias)
-
change: Repaint the Syslog Status card headers with the active theme's native html_start_box title bar (sampled from the live cactiTableTitle at runtime) instead of a flat surface tint so they match Cacti on every theme, widen the card grid from 6 to 8 columns, drop the card corner radius, and give each header one of four translucent severity overlays - a neutral grey "no severity" default plus intropage's good / warning / error palette (#94b36b / #ff8f1e / #cc0000)
-
feature: Manage the Syslog Status cards like intropage panels: per-card header tools show more / show less (only for cards that support it), open the card in a large dialog, refresh its data in place, or remove it; an "Add card" catalogue lists any cards not on the page and injects them back on demand, and the whole layout (which cards are present, their order and expanded state) is saved per-user in a single settings_user row
-
feature: Let users drag the Syslog Status cards by a header handle to reorder them; the chosen order is saved per-user in the settings_user table and restored on the next visit
-
dev: Give the Syslog Status cards a 6-column span layout: a card rendering API that sets how many of the 6 columns each card occupies (most span 2, while Partition health, Recent partition maintenance activity and Processing phases span 4), reflowing to fewer columns and then a single column as the viewport narrows; also add an optional status-coloured header variant (good / warning / in-trouble) to the card API for callers to flag anomalous cards
-
dev: Render the Syslog Status tab as a responsive flex grid of theme-aware cards (a Bootstrap-style card layout without Bootstrap) with a differentiated card surface and rounded corners, replacing the stacked Cacti boxes; the card-layout CSS is kept inside the plugin for now and is ready to hold charts per card later
-
bug: Make the Dashboard tab theme-aware so its labels and the empty-state and panel cards follow the active Cacti theme instead of a baked light palette (unreadable on dark themes), order the Add Panel and Dashboard Name dialog buttons so Save sits to the right of Cancel, and rebuild the Syslog Status tab with native Cacti sub-header boxes and cactiTable rows
-
bug: Make the System Logs view theme-aware across the Cacti theme fleet by moving the dark-surface row, label, details, and search-panel palette out of the shared css/search.css and into each dark theme's css/.css (dark, deepness, midwinter, sunrise), so themes beyond dark and midwinter no longer render light row tints under the theme's light text; correct paper-plane to the light palette to match its light data tables and add css/.css for the remaining packaged themes (cacti, carrot, hollyberry, raspberry)
-
change: Collapse the System Logs filter panel by default and recoup vertical space with tighter result-row padding and message line-height; a saved expanded preference or an active search error still opens the panel
-
dev: Make the severity-legend chips actually fill the row by giving each chip
box-sizing: border-box; width: 100%; min-width: 0(so a severity class's leaked width no longer keeps it small) and the legend footer a full-width table wrapper, across every per-themecss/<theme>.cssand thecss/legend.cssfallback (matching the thold legend) -
bug: Pass a boolean (not the integer 1) to api_plugin_register_hook()'s $enable argument so the hook registration stays type-correct under Cacti 1.3's strict bool type-hint (the int only coerces while the file lacks declare(strict_types=1))
-
feature: Add Remote Data Collector processing, rules-sync, and record-storage options to the setup advisor; reject Aria selections whenever any collector option is enabled
-
change: Use TEXT for message columns previously limited to VARCHAR(2048), including existing installations
-
dev: Size the severity-legend chips to the longest label and lay them out as a CSS grid so every chip stays equal width as the legend wraps (matching the thold/monitor/servcheck/mactrack legends)
-
ci: Drop Ruby from the CodeQL language matrix; the plugin ships no Ruby source, so the Ruby database build failed with "no source code seen"
-
dev: Move the shared function and database libraries to includes/ and point the entry-point includes, coverage source, and tests at the new path
-
feature: Restyle the System Logs and Alert Logs severity legends as rounded, evenly spaced, solid-colour chips that line up with the Thold status legends, with theme-appropriate backgrounds loaded from a per-theme css/.css file (falling back to a theme-neutral css/legend.css)
-
dev: Keep the severity-legend chips equal width (sized to the longest label) as the legend wraps responsively
-
dev: Measure CI coverage with xdebug instead of pcov so the plugin's own sources are instrumented (pcov auto-scopes to the Composer root and skipped cacti/plugins/, leaving the patch-coverage gate with nothing to measure)
-
dev: Enforce patch coverage of changed lines in CI and remove the inert COMPOSER_ROOT_VERSION env from the Pest step
-
dev: Pin the CI database image and shared test dependencies, disable persisted checkout credentials, and limit workflow permissions and runtime
-
feature: Add a Syslog-owned durable replication outbox for configured Remote Data Collectors; processed events are delivered idempotently to the Main Collector for centralized viewing, retained through outages, and retried during recovery, while intentionally discarded records remain unreplicated
-
feature: Add Device Alert Rules for device-wide alert handling: administrators can pause a device's non-exempt alerts until a selected time or indefinitely, choose a priority threshold that always passes through device pauses and maintenance windows, and allow all device alerts during maintenance for critical devices
-
feature: Extend the Syslog Status tab with per-table partition date coverage, estimated dMaxValue occupancy and size, last successful maintenance, recovery progress, and a bounded recent-maintenance history
-
feature: Add a fail-safe for partition maintenance: when the partition metadata for the syslog or syslog_removed table is invalid or incomplete, or a required partition cannot be created, all partition creation and retention pruning stops, the dMaxValue safety partition is never dropped, and the blocked condition with its remediation step is logged and shown on the Syslog Status page
-
feature: Add bounded multi-day partition recovery: a new 'Partition Recovery Limit' setting caps how many missing partitions are created per table per poller run so large gaps heal over several cycles; retention pruning stays deferred until the future write horizon is restored, and each blocked run reports the remaining gap, the stop reason, and whether writes are accumulating in dMaxValue
-
feature: Add collector health metrics to the Syslog Status tab: last received log timestamp, oldest unprocessed incoming message age, current incoming backlog, records processed in the latest run, and a warning when data looks stale or the backlog exceeds the new 'Collector Staleness' and 'Collector Backlog Threshold' settings; unavailable metrics read as Unavailable instead of invented values
-
feature: Add per phase processing telemetry: the poller records start time, end time, duration, and processed count for partition maintenance, reference updates, removal rules, alert evaluation, incoming transfer, and report processing through the syslog_status table; the Syslog Status tab shows the latest phase timings and highlights the slowest phase
-
feature: Add a 'Test rule' action to the Alert and Removal rule editors: a read-only preview compiled through the existing QueryBuilder and parameterized SQL paths returns the matching count plus a bounded sample of escaped messages, without saving, enabling, deleting, alerting, emailing, executing commands, or altering any data; the action respects realms and CSRF protection
-
feature: Add JSON export and a matching Import form to the Saved Search Templates and Dashboards admin pages, and give both pages the same filter/header bar (search, rows, Go, Clear, Import) used on Alert Rules, Removal Rules, and Reports
-
issue: Fix upgrade-time "Unknown column 'hash' in 'WHERE'" errors by guarding hash backfill queries with syslog_db_column_exists(); existing saved searches, dashboards, alerts, removal rules, and reports now get hash values backfilled before later upgrade steps reference the column
-
feature: Add an All Users / All Groups option to the Shared With Users and Shared With Groups selects of the admin Dashboards and Saved Search Templates pages: a single stored "all" grant makes the item visible to every signed-in user, instead of selecting each account one by one
-
feature: Let administrators reassign the owner of a dashboard or saved search template from the admin edit pages through an owner dropdown instead of the read-only owner display
-
feature: Replace the inline Delete buttons on the admin Dashboards and Saved Search Templates pages with Cacti's standard selection checkboxes and bulk actions dropdown, matching the Alert Rules page: deleting now asks for confirmation, lists the selected items, and runs through the shared selected-items dispatch helper
-
feature: Add per-user and per-group dashboard and saved-search sharing to the admin Dashboards and Saved Search Templates pages with Cacti's jQuery multiselect widget: grants are stored in new syslog_dashboards_perm and syslog_saved_searches_perm tables, granted dashboards and searches appear to their users in a new "Shared With Me" group of the viewer's selects, and share rows are cleared when their item is deleted
-
change: Group all syslog permission realms under their own "Syslog" section on the User and Group Permissions pages, as the audit plugin does, instead of the generic Plugin Permissions section; this also moves the Share Saved Templates and Share Dashboards realms, which previously fell under the generic section
-
feature: Add dashboard sharing, gated by a new "Share Dashboards" user and group permission realm: owners with the permission can share a dashboard with all syslog users, shared dashboards are view-only for other users and offer "Save as my copy" to clone one into their own list, and administrators manage every dashboard (including those of deleted users) from a new Console page under Syslog Settings
-
feature: Add drag-and-drop panel reordering: drag a panel header and drop it above or below another panel; the placement line previews the target and the server renumbers positions gaplessly
-
feature: Add a right-edge resize strip so panel width can be dragged directly (ew-resize) instead of only the small corner grip
-
feature: Make dashboard panels resizable: drag the corner handle to span up to three grid columns and set the chart height; sizes persist per panel and dialog saves keep a user's custom sizing
-
feature: Add a Dashboard tab with per-user dashboards of chart panels: timeseries (line/area/bar) and breakdown (donut by host, program, facility, or priority) panels chart System Logs and Alert Logs through the same logical search DSL as the log viewer; panels can start from a saved search and every write re-verifies dashboard ownership
-
feature: Log per worker SYSLOG STATS lines in the boost poller style (Time, ProcessNumber, Records, Resolved) so parallel processing work is attributable per process in the Cacti log
-
feature: Show parallel worker activity on the Syslog Status tab: worker processes currently running and the records and hostnames each worker handled during the last parallel run
-
feature: Add parallel syslog processing: a new 'Maximum Syslog Processing Processes' setting splits hostname resolution and incoming message transfer across worker processes on disjoint seq ranges, following Cacti's boost poller model, with signal-safe teardown and single-process fallback
-
issue: Compute syslog and reference-table retention cutoffs in UTC with gmdate() so they agree with the integer UTC epoch partition boundaries and cannot drift with the server timezone or DST transitions (issue#317)
-
bug: Fix a fresh install with "Indefinite" retention (days = 0) never creating today's concrete partition, since the off-by-one fix in the historical loop bound would otherwise start the loop one day before today; the starting bound is now clamped so today's partition is always created
-
bug: Fix an off-by-one in partitioned syslog table creation that over-provisioned one extra historical partition, causing the first retention prune after install to immediately drop a freshly created partition
-
bug: Drop the syslog_saved_searches table during a full uninstall; it was previously left behind
-
feature: Deprecate traditional (non-partitioned) tables: new installs always create partitioned tables and only offer InnoDB and Aria storage engines; existing traditional installs keep working with a notice advising migration
-
feature: Bring the visual Filter Builder to Removal Rules with the same styling as Alert Rules; legacy string, host, program, and facility match types plus SQL Expression remain unchanged
-
ci: Rebuild the CI workflow around a single integration-test job that runs the test suite with Pest against Cacti's own Composer-managed vendor tree, matching the plugin_evidence workflow; standalone tests/regression/*.php scripts are replaced by tests/Security and tests/Unit Pest test suites
-
feature: Deprecate the Statistics tab and remove statistics data collection and database setup
-
security: Require POST and CSRF validation for unused-host purge operations
-
security: Escape HTML and JavaScript output contexts and restrict callback dispatch to bare identifiers
-
security: Defuse spreadsheet formulas in CSV output while retaining
fputcsv()quoting -
security: Limit pasted and uploaded XML rule imports to 5 MiB before parsing
-
issue: Use integer UTC partition boundaries and preserve
dMaxValueas a fail-safe write partition -
test: Add standalone security regressions and Docker/Playwright end-to-end coverage
-
ci: Validate the plugin on Linux with PHP 8.1-8.3 and pinned Cacti
release/1.2.31 -
feature: Add saved searches: store named filter definitions (conditions plus record type and grouping), apply them from a dropdown, and manage them with New/Edit/Delete/Save As; a new 'Syslog Saved Searches Admin' realm gates Make Global. Saved searches keep the date range dynamic (last day by default)
-
feature: Allow users to share saved searches with each other, gated by a new 'Syslog Saved Searches Share' realm; admins get a Console search admin page to manage all saved searches, and the delete button for global searches is hidden from unauthorized users (new realms added to upgrade)
-
feature: Rebuild the search area: support custom searches, allow users to hide/show the search box, add date range presets, and move the row limit into the search area; redirect-only buttons (Alerts, Removals, Reports) removed
-
feature: Allow filtering the log view by clicking a device or program in the results
-
feature: Improve message readability: label facility, host, and program columns,
-
issue: Fix PHP 8.2+ compatibility
-
issue: Fix date filter not being respected when searching
-
issue: Correct validation error when creating an Alert Rule
-
issue: Fix Statistics page redirecting to logs
-
issue: Fix DOM race condition and dropdown rendering in modals
-
issue: Make HTML escaping behavior explicit across PHP 8 versions
-
issue#199: Duplicate Partition name errors
-
issue#250: Fix date filter persistence by validating before shift_span detection
-
issue#252: hardening: escape device hostname output in syslog view; parameterize alert API functions
-
issue#256: hardening: prevent CSV formula injection and malformed CSV output in exports
-
issue#258: Execute CREATE TABLE SQL correctly during replication sync
-
issue#259: hardening: require POST and a CSRF token for the purge syslog devices utility
-
issue#260: hardening: replace eval-based callback execution in syslog autocomplete JS
-
issue#262: Harden CSV exports and XML import payload handling
-
issue#278: Extract duplicated alert command execution paths in syslog_process_alerts
-
issue#278: Extract alert command execution into shared helper in functions.php; command tokenization now uses preg_split (handles tabs and consecutive spaces); /bin/sh fallback for non-executable command templates removed (use absolute paths with execute bit set)
-
issue#298: syslog poller: lock timeout, signal handler, and earlier partition rotation
-
issue#300: Syslog table drop with no apparent reason
-
issue: Repair plugin integration CI, execute regression tests, and reject empty import files safely
-
issue: Making changes to support Cacti 1.3
-
issue: Don't use MyISAM for non-analytical tables
-
issue: The install advisor for Syslog was broken in current Cacti releases
-
feature: Allow the use of Aria Storage Engine for MariaDB databases
-
feature: Add message grouping functionality to collapse duplicate syslog messages and display occurrence counts
-
feature: Add Refresh button to reload the current results page without resetting the filter or pagination
-
feature: Refactor JavaScript by consolidating inline code from PHP files into centralized js/functions.js
-
feature: Enhanced hostname validation to resolve against Cacti host table when DNS lookup fails, replacing hostname with Cacti host description
--- 4.2 ---
- issue#184: Unable to remove messages by expression from 'program' column
- issue#208: Uncaught ValueError: escapeshellarg()
- issue#211: Device Filter missing devices
- issue#216: Documentation correction for rsyslogd config for version above 2.4
- issue#217: Fixing Removal Rule SQL issue
- issue#218: SQL errors when deleting messages
- issue#220: Error when creating an Alert Rules based on program name
- issue#222: PHP Deprecation Errors in PHP 8.2
--- 4.1 ---
- issue#185: Wrong column specification on cleanup query
- issue#186: Wrong connection in functions.php
- issue#189: Issues with undefined variable in traditional table maintenance
- issue#193: Fix command execution
- issue#196: Undefined variable $ignore
- issue#205: function syslog_strip_incoming_domains($uniqueID)
- feature: Provide better messaging if the Data Collector is in offline mode
--- 4.0 ---
- issue: Removal of partition issues incorrect message
- issue: Make the syslog processing routine more readable
- issue: Fix oversight in database connection handling around default values identified in PHP 8.1.2 testing
- issue#65: MySQL failures due to large amount of syslog data
- issue#108: Add Body Text to Alert email
- issue#135: Syslog plugin will break remote collectors if DB is not present
- issue#146: Support Email address distribution lists
- issue#151: Syslog 3.1 has a hardcoded path for sh which causes issues running other scripts
- issue#160: PHP 8 Support
- issue#166: Allow Syslog to pass hostname for the threshold type reporting
- feature#181: For Regex Message Processing Rules test the regex at save time and inform user if it's syntactically correct
- feature: Support a local Syslog config file when Syslog is designed to work independently from the main Cacti server.
- feature: Support the replication of the main Cacti Syslog rules to Remote Data Collectors
- feature: Support process interlocking using the Cacti process registration functions
- feature: Support both system and host level re-alert cycles and command execution
- feature: Support using the Thold notification lists if Thold is installed on the system
- feature: Support using Cacti Format CSS files to construct Alert and Report messages.
--- 3.2 ---
- issue#114: Message Column missing
- issue#154: When removing a rule, wrong database connection is used
- issue#155: Wrong database connection is used resulting in missing table errors
- issue#159: Sync 'syslog' schema cross Traditional/Partitioned mode to avoid audit issue
- issue#161: Message column does not follow RFC 5424
--- 3.1 ---
- issue#140: The indicator is not removed upon completion when export syslog
- issue#141: Import syslog - Alert rule has error
- issue#142: Syslog save button can not work well
--- 3.0 ---
- issue#122: Apply Cacti#3191 for XSS exposure (CVE-2020-7106)
- issue#124: Feature request: Syslog Search for message NOT containing something
- issue#128:The syslog alert email is not sent if the Reporting Method is set to threshold.
- issue#132: Cacti log shows syslog error when setting the "Re-Alert Cycle" in Alert Rules settings
- issue#133: Saving Settings on the Syslog Tab are not retained in latest Cacti
- feature#134: Syslog Search to include Program column - Reports
- feature: Migrate all Syslog Images to Fontawesome Glyphs
--- 2.9 ---
- issue#120: SQL syntax error for syslog when click browser back button
- issue: Syslog stats not reporting properly
- issue: Internationalization issues on console
--- 2.8 ---
- issue#115: Some field where not corrected following the version change
- issue#116: Background process fail to operate syslog_coming table; syslog_process.php fail if current workdir is not CACTI_TOP
- issue#117: Export of rules does not work when using db other than Cacti
--- 2.7 ---
- issue#110: Syslog Alerts cause DB errors
- issue#111: Can not load host table when use different syslog server
--- 2.6 ---
- issue#104: When filtering, syslog incorrectly thinks the Cacti hosts table does not exist
- issue#107: Removal rule not using correct DB when using $use_cacti_db = false;
- issue#109: Should merge CVE-2020-7106 solution to syslog plugin
- issue: Massive performance improvement in statistics page rendering
--- 2.5 ---
- issue#103: Allow syslog to use rsyslog new tizezone sensitive timestamps instead of legacy date/time
- issue#102: Syslog statistics filter problem - select program
- issue#101: Alert rule SQL Expression not working as expected
- issue#100: Fix odd/even classes generation in report
- issue#99: Re-Alert Cycle (Alert Rules) is wrong in case of 1 minute poller interval
- issue#96: Syslog filtering does not work with some international characters
- issue#88: Provide text color to indicate device status in Cacti
- issue#87: Program data is not sync with syslog_incoming under PHP 7.2
--- 2.4 ---
- issue: Resolving issues with nav level cache being set incorrectly
--- 2.3 ---
- issue#90: Can not show correct info when choose device filter in Syslog > Alert Log page
- issue#91: Page become blank after collecting multiple host syslog info
- issue#94: Stored XSS in syslog_removal.php
- issue#95: Syslog Hosts and Syslog Programs table looses sync with data
--- 2.2 ---
- feature: Allow for reprocess message per rule
- issue#66: Filter for All Programs can not work well
- issue#67: SQL error after choose device
- issue#69: Cirtical and Alert filter can not work well
- issue#71: Export alert log has sql error
- issue#72: Graph Template not workable after import by cli/import_template.php
- issue#73: Gap to Cacti 1.x: Syslog missed to support database ssl
- issue#74: New Requirement: another new hook 'syslog_update_hostsalarm'
- issue#76: New Requirement: background install syslog plugin with pre-defined options
- issue#77: Fixed: PHP Notice undefined variable
- issue#78: Misc issue about syslog_alerts->log->host
- issue#79: PHP 7.2 supporting to remove deprecated each()
- issue#80: Syslog plugin auto disabled after import an alert rule
- issue#81: php error when enter a value in Program filter and click go
- issue#82: Syslog can not deal with with single quotation
- issue#83: Change device filter can not return correct value in syslog- alert rule page
- issue#84: All Programs not show anything using Classic theme
- issue#86: No color for emergency item
- issue#89: plugins/syslog/syslog_reports.php:89: Undefined variable '$id'
--- 2.1 ---
- issue#18: Issues with syslog statistics display
- issue#17: Compatibility with remote database
- issue#19: Removal rules issues
- issue#20: Issues viewing removed records
- issue#23: Threshold rule alert format issues
- issue#30: Syslog page slows when too many programs are in the programs table
- issue#32: Export of Syslog records not functional
- issue#38: Enhance the documentation to discuss config.php.dist and doco site
- issue#40: Adds hostname column to emailed reports
- issue: SQL for matching Cacti host incorrect
- issue: Syslog Reports were not functional
- issue: Cleanup formatting of Threshold messaging and viewing
--- 2.0 ---
- feature: Compatibility with Cacti 1.0
--- 1.30 ---
- feature: Allow Statistics to be disabled
- feature: Allow Processing of Removal Rules on Main Syslog Table
- feature: Cleanup UI irregularities
- feature: Allow purging of old host entries
- issue: Remove syslog 'message' from Log message to prvent deadlock on cacti log syslog processing
--- 1.22 ---
- issue: Upgrade script does not properly handle all conditions
- issue: Strip domain does not always work as expected
- issue: Resizing a page on IE6 caused a loop on the syslog page
- issue: Correct issue where 'warning' is used instead of 'warn' on log insert
- issue: Issue with Plugin Realm naming
--- 1.21 ---
- issue: Fix timespan selector
- issue: Reintroduce Filter time range view
- issue: Syslog Statistics Row Counter Invalid
- feature: Provide option to tag invalid hosts
--- 1.20 ---
- feature: Provide host based statistics tab
- feature: Support generic help desk integration. Requires customer script
- feature: Support re-alert cycles for all alert type
- feature: Limit re-alert cycles to the max log retention
- feature: Make the default timespan 30 minutes for performance reasons
- issue: sort fields interfering with one another between syslog and alarm tabs
- issue: Message column was date column
--- 1.10 ---
- feature: Allow Syslog to Strip Domains Suffix's.
- feature: Make compatible with earlier versions of Cacti.
- feature: Allow Plugins to extend filtering
- issue: Minor issue with wrong db function being called.
- issue: Legend had Critical and Alert reversed.
- issue: Syslog filter can cause SQL errors
- issue: Wrong page redirect links.
- issue: Partitioning was writing always to the dMaxValue partition
- issue: Emergency Logs were not being highlighted correctly
- issue: Can not add disabled alarm/removal/report rule
--- 1.07 ---
- issue: Rearchitect to improve support multiple databases
- issue: Don't process a report if it's not enabled.
- issue: Don't process an alert if it's not enabled.
- issue: Don't process a removal rule if it's not enabled.
--- 1.06 ---
- issue#0001854: Error found in Cacti Log
- issue#0001871: Priority dropdown labels in syslog.php for "All Priorities" set to incorrect priority id
- issue#0001872: Priorities drop drown to show specific value
- issue: Only show one facility in the dropdown
- issue: Hex Errors Upon Install
--- 1.05 ---
- issue: Remove poorly defined security settings
- issue: Don't show actions if you don't have permissions
- issue: Fix page refresh dropdown bug
- feature: Re-add refresh settings to syslog
--- 1.04 ---
- issue#0001824: Syslog icon is not shown in graph view
- issue: Link on Alarm Log does not properly redirect to 'current' tab
- issue: Unselecting all hosts results in SQL error
- issue: Exporting to CSV not working properly
- compat: Remove deprecated split() command
--- 1.03 ---
- feature: Add alarm host and counts to sms messages
- issue: Fix issue with individual syslog html messages
- issue: Fix creating alarms and removals from the syslog tab
- issue: Fix syslog removal UI with respect to rule type's
--- 1.02 ---
- feature: Add syslog database functions to mitigate issues with same system installs
--- 1.01 ---
- feature: Add alert commands by popular demand
- issue#0001788: missing closing quote in syslog_alerts.php
- issue#0001785: revision 1086 can not save reports when using separate syslog mysql database
--- 1.0 ---
- feature: Support SMS e-mail messages
- feature: Support MySQL partitioning for MySQL 5.1 and above for performance reasons
- feature: Normalize the syslog table for performance reasons
- feature: Allow editing of Alerts, Removal Rules and Reports
- feature: Priorities are now >= behavior from syslog interface
- feature: Move Altering and Removal menu's to the Console
- feature: Allow specification of foreground/background colors from UI
- feature: Add Walter Zorn's tooltip to syslog messages (www.walterzorn.com)
- feature: Allow the syslog page to be sorted
- feature: Add Removal Rules to simply move log messages to a lower priority table
- feature: Use more Javascript on the Syslog page
- feature: Add HTML e-Mail capability with CSS
- feature: Display Alert Log history from the UI
- feature: Allow Removal Rules to be filtered from the UI
- feature: Add Reporting capability
- feature: Add Threshold Alarms
- feature: Add Alert Severity to Alarms
- feature: Turn images to buttons
--- 0.5.2 ---
- issue: Fixes to make syslog work properly when using the Superlinks plugin
- issue: Fix a few image errors
--- 0.5.1 ---
- issue: More 0.8.7 Compatibility fixes
--- 0.5 ---
- feature: Modified Message retrieval function to better make use of indexes, which greatly speeds it up
- feature: When adding a removal rule, only that rule will execute immediately, instead of rerunning all rules
- feature: Alert email now uses the Alert Name in the subject
- feature: Add ability to create Reports
- feature: Allow access for the guest account
- feature: Change name to syslog, from haloe
- feature: Use mailer options from the Settings Plugin
- feature: Add option for From Email address and From Display Name
- feature: Use new "api_user_realm_auth" from Plugin Architecture
- issue#0000046 - Event text colors (black) when setup a event color in black
- issue#0000047 - Change the Priority and Levels to be in Ascending order
- issue: Fixes for errors when using removal rules
- issue: Minor fix for error that would sometimes cause Syslog to not be processed
- issue: Update SQL to include indexes
- issue: Fix pagination of Alerts and Removal Rules
- issue: Lots of code / html cleanup for faster pages loads (use a little CSS also)
- issue: Fix for improper display of html entities in the syslog message (thanks dagonet)
- issue: Fix Cacti 0.8.7 compatibility
--- 0.4 ---
- issue#0000034 - Fix for shadow.gif file error in httpd logs.
- issue#0000036 - Syslog plugin causes duplicates if multiple log processors are running at once
- issue#0000037 - Option for max time to save syslog events
- issue: Removed some debugging code
--- 0.3 ---
- feature: Move Processing code to its own file
- feature: Add Debugging to the Processing Code (/debug)
- issue: Fixed an issue with "message" being hard coded
- issue: Fixed a typo in the removal code
--- 0.2 ---
- issue#0000010 Remove use of CURRENT_TIMESTAMP so that Mysql 3.x works again
- issue#0000013 - Fix issues with database names with uncommon characters by enclosing in back-ticks
- issue: Fixed a minor error that caused the graphs page to not refresh
- issue: Modified SQL query in syslog processor to speed things up greatly
--- 0.1 ---
- Initial release
Copyright (c) 2004-2026 - The Cacti Group, Inc.