Changelog¶
15.06 Oct 16 2025¶
fix: Backwards compatibility issue related to older versions of Webmin control panel. Specifically v2.111 and Authentic theme v21.10. Webmin detected as "Generic" installation; header icon missing; generic footer loaded.
15.05 Oct 16 2025¶
fix: Correct HTML escaping in the Firewall Configuration page to ensure settings are processed safely and correctly.refactor: Refactoredcsf.shinit.d script; POSIX compliant.
15.04 Oct 15 2025¶
feat: Added new settingUI_LOGS_REFRESH_TIME- How frequently CSF automatically refreshes the displayed logs
feat: Added new settingUI_LOGS_START_PAUSED- Define if automatic log refreshing on page load starts off running 0 or paused 1
fix: Corrected an issue in the Webmin control panel where the log textbox height was set incorrectly on page loaddocs: Update Webmin installation
15.03 Oct 15 2025¶
feat: Reduced the minimum font size allowed for FontMinus / FontPlus from 12px to10pxrefactor: Rewrote the JavaScript librarycsfajaxtail.jsfor improved optimization and maintainabilityfix: Restored missing Module Config and Help buttons in the Webmin headerdocs: Release blogs now support comments integrated from Github
15.02 Oct 14 2025¶
feat: New login page for Generic installations- Light & Dark theme
- New csf.conf setting:
UI_RETRY_SHOW_REMAINING
feat: New footer design for improved consistency and navigation- Added logout button to footer for Generic installations
feat: Integratedcsfpre.shandcsfpost.shdirectly into CSF for native pre/post script supportfeat: Configuration files now include headers visible in the GUI for easier file identification; called withHEADER:feat: New codename detection helper func for conditional statements depending on the installer used by end-userfeat: Added an official help page to the download servicefeat: Implemented Light/Dark mode toggle in the footer for better theme controlfeat: Added optionalContent Security Policy (CSP)protection to web interface- New csf.conf settings:
UI_CSP_ENABLEDUI_CSP_ADVANCED_ENABLEDUI_CSP_ADVANCED_RULE
- New csf.conf settings:
style: Rewrote configuration file comments for clarity; now more descriptive, organized, and include practical examplesrefactor: re-writeports-blacklistto be POSIX compliantrefactor: Download service now fetches version from Github repo; no longer requires manual bumpsrefactor: Overhauled the baseinstall.shscript- Ensured full POSIX compliance
- Added support for both absolute and relative execution paths
- Introduced new flags:
--dryrun,--detect,--help,--version
chore: Update CSF SSL certificate and keyperf: Implement CSS optimization to pre-load required stylesheetsdocs: Completed several pages, including:- Installation instructions for: vestacp, cyberpanel, cpanel, interworx, centos web panel (cwp)
- Revised package / depenency commands to fix inconsistencies
fix: Resolved missing VestaCP header on the/list/csfadmin pagefix: Restored CyberPanel integration functionalityfix: Resolved regex pattern issues when dealing with strict conditions
15.01 Oct 06 2025¶
feat: Register new domain https://configserver.devfeat: New blocklist service at https://blocklist.configserver.devchore: Bring new update server online at https://download.configserver.devrefactor: Changed csf update server code to point to new csf domainfix: Invalid sessions still being able to access backend web interface assets
15.00 Aug 28 2025¶
chore: Download and update servers taken offlinechore: Disabled automatic updates within csfchore: Added country code validation and warning outputrefactor: Updated regex to extract client ip from logsdocs: Changed license to GPLv3
14.24 Aug 02 2025¶
fix: regression bug in v14.23 "Modified UI HTTP header checks to be case agnostic"
14.23 July 21 2025¶
change: Modify Apache regex to detect "remote" or "client" as the IP triggerchange: Mdified UI HTTP header checks to be case agnostic
14.22 Sep 20 2024¶
build: Updates ConfigServer Firewall to v14.22remove: session IP match check from DA loginadded: example spamassassin temp file regex to csf.fignore for new installations
14.21 Aug 30 2024¶
change: add header animations, app name returns user homechange: clicking app logo or name now returns user to home pagechange: add faviconchange: silence curl in openvpn patchchange: removal ofNETWORK_MANUAL_MODE,NETWORK_ADAPT_NAMEchange: new animated checkbox input for firewall profileschange: clicking logo in header now re-directs user to homechange: enhanced login screen animationschange: enhanced mobile viewbuild: update main source release to CSF v14.21build: dark theme now compatible with CSF v14.21fix: docker inspect error when container has more than one network #1fix: extended sized buttons with text cutting offdocs: removal of manual mode values no longer needed
14.20 Aug 28 2024¶
feat: add new patchopenvpnfeat: add new command-line arguments:- add
-d, --devfor advanced logging - add
-f, --flushto completely remove iptable rules - add
-r, --reportto display dependency stats, app information, etc. - add
-v, --versionto display patcher version
- add
feat: added new login page to dark themefeat: add dark themefeat: add traefik integrationfeat: add authentik integrationchange: docker patch now allows for multiple ip blocks to be whitelistedchange: optimizations to load orderchange: updated toggle switches for various setting pageschange: start migration of in-line style properties over to stylesheetchange: new ruleset for openvpn integrationchange: auto disable csf TESTING mode when patch ranchange: add-r, --reportto display status of dependencies and setuprefactor: re-write of scriptrefactor: merge all scripts into onefix: interface bug which existed in light theme which caused certain divs to breakfix: openvpn ip detectionfix: issue with manual mode being disabled - #1fix: error"docker network inspect" requires at least 1 argument.- #1fix: errorinvalid port/service '-j' errorci: dark theme now included with all releases as .zipci: auto-update /docs/ on push to repoci: add workflow to automatically grab latest version of ConfigServer Firewall and append to each releasedocs: update to include traefik and authentic integrationdocs: rewrite documentation to include better instructions
14.19 May 06 2024¶
change: switch to using iptables-nft if it exists in/usr/sbin/iptables-nftadded:IO::Handle::clearerr()call before reading data from a log fileadded: "Require all granted" to the MESSENGER .htaccess fileaddedUID/GID rules to IPv6 if enabledmodified: dovecot regex to look for "failed: Connection reset by peer"