Skip to content

News

0.11.29 New checks and web ui enhancements

check_battery

Monitor battery status on Windows laptops and mobile devices. This command provides comprehensive battery health and status information using both the Windows Power API and WMI.

  • Charge Level Monitoring: Track battery charge percentage with warning/critical thresholds
  • Power Source Detection: Determine if system is running on AC or battery power
  • Battery Health: Calculate battery health as a percentage of design capacity
  • Status Tracking: Monitor charging, discharging, critical, low, and high states
  • Time Remaining: Estimate remaining battery life when on battery power
  • Detailed Metrics: Access charge/discharge rates and capacity information via WMI

Basic battery check with default thresholds (warn < 20%, crit < 10%):

check_battery
OK: system: 85% (ac, charging)

Check if battery charge is above 50%:

check_battery "warn=charge < 50" "crit=charge < 25"
OK: system: 85% (ac, charging)

Alert if running on battery power:

check_battery "warn=power_source = 'battery'"
WARNING: system: 72% (battery, discharging)

Show detailed battery information:

check_battery "detail-syntax=${name}: ${charge}% (${power_source}, ${status}, health: ${health}%, time: ${time_remaining}s)"
OK: system: 85% (ac, charging, health: 95%, time: -1s)

check_process_history

Track all processes that have been seen running since NSClient++ started. This command maintains a history of process executions, allowing you to verify that certain processes have (or haven't) run.

  • Process Tracking: Records every unique process seen since service start
  • Execution Counting: Tracks how many times each process has started
  • Timestamp Recording: Records first and last seen timestamps
  • Current State: Shows whether each process is currently running
  • Selective Filtering: Check specific processes by name

Use Cases - Compliance Monitoring: Verify that backup software, antivirus scanners, or other required applications have run - Security Auditing: Detect if unauthorized applications have been executed - SLA Verification: Confirm that scheduled maintenance tasks have executed

As checking processes is expensive it is disabled by default. You need to enable it by setting:

[/settings/system/windows] 
process history=true

List all processes in history: Check if a specific backup application has run:

check_process_history --process backup.exe "warn=times_seen = 0" "crit=times_seen = 0"
CRITICAL: backup.exe (false) - never seen running

Check if a process is currently running:

check_process_history --process important-service.exe "crit=running = 'false'"
CRITICAL: important-service.exe (false) - not currently running

Alert if a forbidden application has ever run:

check_process_history --process forbidden-game.exe "warn=times_seen > 0"
WARNING: forbidden-game.exe (seen 3 times, not running)

Show detailed history for a process:

check_process_history --process notepad.exe "detail-syntax=${exe}: first=${first_seen}, last=${last_seen}, count=${times_seen}, running=${running}"
OK: notepad.exe: first=2026-04-06 08:15:32, last=2026-04-06 14:22:45, count=5, running=false

check_process_history_new

Detect processes that have been started recently within a configurable time window. This is useful for security monitoring to detect unexpected process launches.

  • Time-Based Detection: Find processes first seen within a configurable window
  • Flexible Time Windows: Support for seconds (s), minutes (m), hours (h)
  • Security Focused: Ideal for detecting new/unexpected process launches

Use Cases - Security Monitoring: Detect newly launched processes that might indicate compromise - Change Detection: Monitor for new software installations or unauthorized programs - Incident Response: Identify what processes started around the time of an incident

As checking processes is expensive it is disabled by default. You need to enable it by setting:

[/settings/system/windows] 
process history=true

Check for any new processes in the last 5 minutes (default):

check_process_history_new
OK: No new processes found.

Check for new processes in the last hour:

check_process_history_new --time 1h
WARNING: suspicious.exe (first seen: 2026-04-06 14:15:32)

Check for new processes with detailed output:

check_process_history_new --time 30m "detail-syntax=${exe} started at ${first_seen} (running: ${running})"
OK: updater.exe started at 2026-04-06 14:10:00 (running: false)

Beware that depending on if you are looking for wanted or unwanted processes you likely want to change empty-state to ok, or critical.

check_service overhaul

Fixed a reported bug as well as overhauled the check with some new features and modernized the checks.

This is technically a breaking change, in that it will classify some services as "ok" which was not before. But I doubt that anyone relied on the default checking of all services

  • state_is_perfect() now treats auto-start services with triggers as OK when stopped (trigger-start services legitimately remain stopped until their trigger fires)
  • state_is_ok() now treats auto-start services with triggers as OK when stopped (same as delayed services were already treated)
  • state_is_ok() now treats auto-start services that stopped with exit code 0 as OK (services like WslInstaller that start, complete their task, and stop cleanly no longer trigger CRITICAL)
  • Added new filter keyword 'exit_code' exposing the Win32 exit code of a service. Allows users to write custom filters like 'exit_code != 0' to detect failed services
  • Improved error logging in trigger detection. fetch_triggers() previously swallowed all errors silently; now logs unexpected failures
  • check_service: Updated service classification list for Windows 11 24H2 / Server 2025
  • Added modern services: WslInstaller, WaaSMedicSvc, UsoSvc, DoSvc, CoreMessagingRegistrar, SecurityHealthService, SystemEventsBroker, vmcompute, HNS, sshd, LxssManager, and others
  • Removed obsolete services no longer present in modern Windows: Browser, NtFrs, IISADMIN, TlntSvr, napagent, IEEtwCollectorService, UI0Detect, SMTPSVC, aspnet_state, and others
  • Reclassified: COMSysApp (essential → ignored), SystemEventsBroker (supporting → system), WerSvc/wercplsupport (role → ignored)
  • Fixed casing: Eventsystem → EventSystem, systemEventsBroker → SystemEventsBroker
  • Changed default detail-syntax to include exit_code. From ${name}=${state} (${start_type})into ${name}=${state}, exit=%(exit_code), type=%(start_type)
  • Removed warning messages for excluded services. If a service is excluded we will not try to enumerate it.

Improvements to web-ui

web-disk-widgets

This version adds some new dashboard widgets that showcases system statistics as well as a network graph and disk stats. I also fixes and issue relating to calculating network measurements.

test-client test-client

It also changes the tools bar slightly to make them a bit less intense:

test-client

Other changes:

  • three new metrics which contains the refresh times of metrics, system metrics and network metrics so you can see this in the web UI.
  • Removes unnecessary scientific notations for number in the metrics api so now you will get 1 instead of 1E1. Both are valid json so this should not impact anyone as long as your not using grep or some such to parse the json.

Download

You can download the new version from GitHub

// Michael Medin

0.11.25 New Linux support and installer fixes

This release includes significant, but experimental, Linux support. While it has always been possible to use and build NSClient on Linux we now build official packages which are ready to be installed. In addition to this there are a lot of fixes and enhancements to make running on Linux much more viable.

🐧 Experimental Linux Support

The Linux version is now complete and mirrors the Windows experience more closely than ever before.

  • Unified Commands: CheckSystemUnix has been renamed to CheckSystem. Linux users can now use the same configuration as Windows users.
  • Distribution-Specific Binaries: We now provide optimized builds for Debian, and Rocky Linux (redhat).
  • Scripting Parity: Full support for Python and Lua scripts is now available on Linux, including proper script-folder routing.
  • Permission Improvements: Default logging on Linux is now directed to the console, allowing the agent to run without sudo when testing. Also now certificates are generated when you run nscp web install to prevent sudo requirements when running as a service.

🛠️ Installer & Core Stability

After a series of regression tests in the 0.11.x branch, the installer has been hardened.

  • Fixed Upgrade Logic: Resolved a critical issue where a DLL name change caused the WiX installer to fail or leave files missing during upgrades in some instances.
  • Configuration Protection: Added safeguards to prevent the installer from overwriting or wiping existing .ini configurations during an upgrade.
  • Silent Install Flags: Reintroduced and documented ALLOW_CONFIGURATION=0 for msiexec, allowing admins to deploy the MSI without touching existing config files.

🏗️ Architectural Refactoring

  • Modular Codebase: Significant internal refactoring of nscapi and protobuf functions to improve long-term maintainability.
  • Windows Core Cleanup: Reorganized Windows-specific code into a dedicated internal directory structure to separate it from cross-platform logic.
  • Enhanced Testing: Many unit tests as well as a new Azure-based automated integration test.

⚠️ Upgrade Note for ALLOW_CONFIGURATION=0

If you use ALLOW_CONFIGURATION when upgrading from an old version the configuration might be deleted. This is an issue which is in the old installer and thus not possible to fix. This has however been fixed in future upgrades.

Download

You can download the new version from GitHub

// Michael Medin

0.11.6 New interactive client

New check_nsclient client

This new release adds a new check_nsclient client tool. This is a stand-alone application you can use to connect to and interact with NSClient. This new client can:

  • Run queries/checks
  • Change configuration
  • Show logs
  • Load/unload modules

It also have an interactive client you can use which is aimed as a replacement for "test mode".

To connect to NSClient you need to have the web server enabled and then you can login with the same username and password as you use in the web-ui:

$ check_nsclient nsclient auth login --password PASSWORD --ca %LOCALAPPDATA%\mkcert\rootCA.pem
Successfully logged in

Credentials are securely stored in store in credential manager.

The reason there is a nsclient command line option is that soon this will also support NRPE and other protocols as well becoming a universal monitoring tool.

After this you can show logs:

$ check_nsclient nsclient logs list
╭────────┬───────────────────────┬──────────────────────────────────────────────────────────────────╮
│ level │ date                 │ message                                                         │
├────────┼───────────────────────┼──────────────────────────────────────────────────────────────────┤
│ debug │ 2026-Jan-11 12:36:26 │ NSClient++ 0.4.0 2026-01-11 x64 booting...                      │
│ debug │ 2026-Jan-11 12:36:26 │ Booted settings subsystem...                                    │
│ debug │ 2026-Jan-11 12:36:26 │ Archiving crash dumps in: C:\src\build\nscp/crash-dumps         │
│ debug │ 2026-Jan-11 12:36:26 │ Found: CheckExternalScripts                                     │
│ debug │ 2026-Jan-11 12:36:26 │ Found: CheckSystem                                              │
│ debug │ 2026-Jan-11 12:36:26 │ Found: Checkhelpers                                             │
│ debug │ 2026-Jan-11 12:36:26 │ Found: LuaScript                                                │
│ debug │ 2026-Jan-11 12:36:26 │ Found: NRPEServer                                               │
│ debug │ 2026-Jan-11 12:36:26 │ Found: WEBServer                                                │
╰────────┴───────────────────────┴──────────────────────────────────────────────────────────────────╯

Or to load and enable a module you can:

$ check_nsclient nsclient modules use CheckHelpers
Successfully loaded and enable module CheckHelpers

Or you can execute queries:

$ check_nsclient nsclient queries execute-nagios check_cpu
OK: CPU load is ok.|'total 5m'=10%;80;90 'total 1m'=10%;80;90 'total 5s'=7%;80;90

As well as launch the new interactive client:

check_nsclient nsclient client

image

The client is included in the installer or it can be downloaded separately below as check_nsclient

One benefit of this client is that it can output everything as text, json, yaml or csv making it easy too integrate in any system:

$ check_nsclient --output json nsclient queries execute check_cpu
{
  "command": "check_cpu",
  "lines": [
    {
      "message": "OK: CPU load is ok.",
      "perf": {
        "total 1m": {
          "value": 12.0,
          "unit": "%",
          "warning": 80.0,
          "critical": 90.0,
        },
        "total 5s": {
          "value": 21.0,
          "unit": "%",
          "warning": 80.0,
          "critical": 90.0,
        },
        "total 5m": {
          "value": 11.0,
          "unit": "%",
          "warning": 80.0,
          "critical": 90.0,
        }
      }
    }
  ],
  "result": 0
}

You cal also have multiple profiles (foo) and connect to remote systems (--url):

check_nsclient nsclient auth login foo --url https://127.0.0.1:8443 --password PASSWORD --insecure
# ...
check_nsclient --output json nsclient --profile foo queries execute check_cpu

Once your are done you can log out (and remove credentials from credential store);

check_nsclient nsclient auth logout

Download

You can download the new version from GitHub

// Michael Medin

0.9.14 New release

REST API updates

Removed some old (deprecated) rest API endpoints so hence forth use the versioned apis under /api. The main goal here was to remove the outdated json library and the protobuf to json conversion.

The old check endpoints have NOT been removed to retain compatibility with Icinga and similar tools.

In addition to this I have also added numerous integration test to help to keep the APIs stable.

Installer improvments

The installer has been updated a lot to behave more predictably and in general work better. I have also added numerous tests to the installer to ensure less accidental breaking changes in the future.

Should not impact anything but instead of a dedicated Json library we now use boost to reduce number of dependencies. Removed sample config from installer (as you can easily generate the config i removed it from the installer).

Web UI improvements

The web interface has gotten a medium overhaul improving settings and queries.

  • You can now change setting under modules.
  • Settings now have widgets for boolean settings
  • Settings view now show all settings not just changed ones.
  • You can now use " in queries when executing from the Web UI so "filter=1 > 2" is now possible,

Modern TLS Support for remote settings

Remote settings via https (TLS) has been improved to now support TLS 1.3 as well as certificate validation. This is configure in boot.ini (NOT nsclient.ini as that's the file loaded remotely).

Sensitive keys

Added the ability to mark keys as sensitive which can then be configured to be stored in Windows credential manager. Meaning you now have a way to keep secrets and passwords out of the config file.

Restored Linux builds

While Linux support is a work in progress it is now possible to build on windows and piplines for building on windows. "Soon(TM)" I will add some packages and config files and such to make it more usable.

Bug-fixes

Numerous bug fixes and minor enhancments.

Download

You can download the new version from GitHub

// Michael Medin

0.7.0 Improved support for modern Windows

Changes since 0.6.9 (last official release).

Modern Windows detection for check_os_version

We now use the build number to detect OS versions above Windows 10. This means if you want to actually check that a version is above Windows 10 you need to include build number in your check.

check_os_version warn="version lt 10 or build lt 26100"
L        cli OK: OK: Windows 11 24H2 (10.0.26100)

Enhancements and experimental support for Pdh based check_cpu.

This version has some PDH (Performance data Helpers) fixes and improved error handling and introduces an experimental new option to switch check_cpu to use PDH instead of APIs. This is experimental and intended to solve the issue with incorrect, negative or zero values on some machines with more than 12 cores. The main issue is that PDH is messy. It is localized and has historically been prone to strange issues and errors such as counter index getting corrupted and similar issues so lets ee how this works before making it the default.

To switch change the following configuration:

[/settings/system/windows]
use pdh for cpu=true

Check CPU load values now uses more standard keywords: * idle * user * system

Old keywords are still retained for compatibility, so this is a non-breaking change.

We also added a short-hand option cores for expanding all cores:

check_cpu cores
L        cli OK: OK: CPU load is ok.
L        cli  Performance data: '0 5m'=58%;80;90 '1 5m'=47%;80;90 '10 5m'=56%;80;90 '11 5m'=42%;80;90 '2 5m'=59%;80;90 '3 5m'=49%;80;90 '4 5m'=56%;80;90 '5 5m'=45%;80;90 '6 5m'=57%;80;90 '7 5m'=43%;80;90 '8 5m'=57%;80;90 '9 5m'=39%;80;90 'total 5m'=51%;80;90 '0 1m'=65%;80;90 '1 1m'=52%;80;90 '10 1m'=65%;80;90 '11 1m'=48%;80;90 '2 1m'=64%;80;90 '3 1m'=52%;80;90 '4 1m'=62%;80;90 '5 1m'=65%;80;90 '6 1m'=70%;80;90 '7 1m'=51%;80;90 '8 1m'=61%;80;90 '9 1m'=46%;80;90 'total 1m'=58%;80;90 '0 5s'=65%;80;90 '1 5s'=46%;80;90 '10 5s'=56%;80;90 '11 5s'=42%;80;90 '2 5s'=70%;80;90 '3 5s'=57%;80;90 '4 5s'=52%;80;90 '5 5s'=45%;80;90 '6 5s'=70%;80;90 '7 5s'=40%;80;90 '8 5s'=48%;80;90 '9 5s'=41%;80;90 'total 5s'=53%;80;90

Lua

The biggest new change here is the re-added Lua support. The Lua support has been changed a bit so it might not be 100% compatible with old scripts. As there is not much documentation for Lua scripting, I plan to add that soon. And doing that I will highlight the main differences.

One thing still missing in Lua is protocol buffer support This means you can only create "simple function" is returning code, string and performance data. But given the nature of Lua I think this is acceptable for the time being.

But in general "optional parameters" to functions are no longer optional. So for instance:

local reg = Registry()
reg:simple_function('lua_test', test_func_query)

local settings = Settings()
str = settings:get_string('/settings/lua/scripts', 'testar')

local core = Core()
code, msg, perf = core:simple_query('lua_test')

Will now require to be written as:

local reg = Registry()
reg:simple_function('lua_test', test_func_query, '')

local settings = Settings()
str = settings:get_string('/settings/lua/scripts', 'testar', '')

local core = Core()
code, msg, perf = core:simple_query('lua_test', {})

The other change is that construction object is now generally done with new where before it was done with various functions like Core() here however I have retained backwards compatibility so both should be possible.

But in general the quality of error handling and such is much better and I will as I said expand the documentation and add some more examples and such.

check_mk

As a side note experimental check_mk support was also added back. This is experimental in so far as I have only verified it with NSClient++ not actual check_mk so will need to look into that next. Also note that check_mk is experimental currently it only provides the version and agent name. If there is genuin interest, this could easily be extended so please do let me know...

The way check_mk works is that the module only provides the communication layer and the data provided is provided by a Lua script (hence requiring Lua support). So the current script looks like so:

function server_process(packet)
    s = section.new()
    s:set_title("check_mk")
    s:add_line("Version: 0.0.1")
    s:add_line("Agent: nsclient++")
    s:add_line("AgentOS: Windows")
    packet:add_section(s)
end

reg = mk.new()
reg:server_callback(server_process)

So here we need to extend the packet to include more data and other sections for proper check_mk support.

Installer:

  • Removed padded version numbers from installer (this caused issues with upgrade)
  • Installer is now built with openssl presumably fixing remote config via https (have not verified this yet)
  • Enabled WebUI by default in installer (open can still be used to disable)
  • Added option to disable installing the service in installer

Security:

  • Added option to configure ciphers in the web server (default is TLS 1.2 but now you can set 1.3 if you prefer)
  • Default TLS (NRPE et al.) is now 1.2+ instead of only 1.2
  • Improved some options and added docs for using NRPE with certificates and Nagios…
  • Installer now installs the NRPE 2048 bit DH key

Other changes

  • Fixed check_nscp_verison parsing new semantic version
  • Added error messages for login failure via web browser
  • Updated build instructions
  • Fixed integer overflow in check_files.vbs script
  • Fixed status in summary text not matching actual summary when no results were found in filters (see UNKNOWN: OK in this example)
    check_drivesize "filter=drive='foobar'"
    L        cli UNKNOWN: OK: No drives found
    L        cli  Performance data:
    
  • Fixed numerous spelling and grammar issue in the documentation.
  • Removed breakpad (replaced by restart watchdog and log files, but wont create and submit crash dumps (instead windows creates dumps which can be used))
  • Bumped dependencies

Dependencies

Library Version
Boost 1.82.0
Cryptopp 8.9.0
Lua 5.4.7
OpenSSL 1.1.1w
Protobuf 21.12
TinyXml2 10.1.0

Download

You can download the new version from GitHub

// Michael Medin

0.6.9 Fix installer bug

New versions out

As you probably notice, I do not always update the news section when new versions are released. If you want to know about new versions, you can always check the GitHub releases page Instead here I post when there are new and important updates.

And the latest release fixes an important installer issue where upgrading from 0.4.x or 0.5.x would wipe the existing configuration. So be sure you do not upgrade to any of the older versions unless you want to reconfigure. Other changes include some more installer issues and WEB server issues as well as new signature for the MSI files.

Changes

  • Fixes config is overwritten by installer when upgrading from 0.4.x or 0.5.x
  • Makes TLS default for web server (so enabled web server will now be exposed on https://localhost:8443)
  • Fixed broken TLS support in the WEBServer
  • Added signatures to MSI (currently using a "personal signature" as I haven't managed to get Microsoft to cooperate)
  • Metrics added to the WebUI and new welcome screen
Dependency Version Date
Boost 1.82.0 2023-04-15
OpenSSL 1.1.1w 2023-09-11
Python 3.11.0 2022-10-24
Crypto++ 8.8.0 2023-05-25
Protocol Buffers 21.12 2022-12-22

There are some other dependencies as well that will be isolated and versioned soon.

There is a forum thread for this release here

Download

You can download the new version from GitHub

Next version

There is also a pre-release of the next version available on the GitHub releases page. This includes: * Some security improvements * Some installer improvements * documentation about using certificate-based authentication with NRPE and Nagios * Along with the usual minor bug fixes and improvements.

// Michael Medin

0.6.4 First release of 2025

New versions out

For the early adopters there are not a lot of changes in this version (from version 0.6.3). As this is the first official release in a very long time, this post is focused on more changes since earlier version 0.4.x and 0.5.x.

Breaking changes

  • Versioning is now semantic this means 3 digits (0.6.4) instead of 4 (0.4.3.2).
  • dot-net support removed.
  • lua support removed (I am not sure if anyone used it, so let me know if so and I can probably add it back).
  • CheckPowerShell is removed (You can still use powershell scripts with the external scripts module).
  • The Web UI is a bit more limited than it was before, but all basic functionality like updating config and checking status is still there. This is something that will be restored soon.
  • Secondary installer has been removed (as we now have GitHub build pipelines you can easily build your own installer if you need it).
  • Automatic crash reporting has been removed, instead we build and publish symbols to GitHub so you can debug crashes yourself or send me the crash dump files.

Dependency updates

All dependencies have been updated to recent versions, I say recent here as this is a project that has been ongoing for over a year, so some dependencies are not the latest versions. This has been very time consuming, and I think the versions we have now are recent enough to be useful for most people. There are still some dependencies where we have not updated to the latest version, but I think we are in a good place now. And the focus will be on making some architectural changes to allow removing some dependencies, and then in a little months time we will update the dependencies again.

Going forward here, we need to be realistic. NSClient++ works on All versions of Windows since Windows XP, and not many dependencies support such as an old version of Windows. So likely at some, we will have to create two versions; 1. one with limited support for old Windows and more modern dependencies. 2. one with limited feature support b ut support for old Windows.

Likely this will be done with specific module early on and then later on we will have two separate versions.

Dependency Version Date
Boost 1.82.0 2023-04-15
OpenSSL 1.1.1q 2022-09-15
Python 3.11.0 2022-10-24
Crypto++ 8.8.0 2023-05-25
Protocol Buffers 21.6 2022-09-14

There are some other dependencies as well, but most of them are "copied" and as such hard to version... This will also be resolved going forward.

New features

  • NRPE 3 and 4 is now supported
  • TLS 1.3 is now supported

Future plans

(This list is not ordered)

  • Improve the new Web UI (add wizards to simplify configuration).
  • Upgrade checks to for modern Windows.
  • Code cleanups and modernizations.
  • Automatic updates (or possibly a check to check for new versions)
  • More Unit tests
  • Overhaul and deprecating/removal of outdated features
  • Rewrite some modules and libraries in RUST

Please do let me know any specific things you would like to see!

There is a forum thread for this release here: 0.6.4 First release of 2025

Download

You can download the new version over on GitHub: 0.6.4

// Michael Medin

NRPE version 4 support added

Hello,

Sorry for lack of updates but as always, things took longer than expected...

New versions out

Last year I spent a lot of time updating all dependencies and created automated pipelines for building NSClient++. This is a massive benefit as it means that anyone can (more) easily build NSClient++ without a lot of effort and configuration (just clone the repo, and your done).

The culmination of this work was 0.6.0.0 that was released a few months ago over on GitHub. Which was essentially just "the same version" as before but with a lot of dependency updates.

There is still some feature missing (which is why I still say "Pre release") but as I have now added the first new feature, I thought iot was time to let more people know about these versions.

The new version 0.6.0.1 can be downloaded from GitHub

Use NRPE 3/4 to check NSClient++

So to use NRPE 3/4 (not 100% sure if anyone uses NRPE 3 as it seems like NRPE 4 is a bug fix for a protocol alignment issue) you just need to upgrade to the new version. It will automatically detect new versions of the protocol so everything should just work as before.

As we now use a modern version of openssl, it is now also possible to configure which version of TLS to support. This is a bit awkward currently as I am just using the same options as before, so you have to disable each version manually (likely I will add a tlsv1.2+ option in the future)

[/settings/NRPE/server]
ssl options=no-sslv2,no-sslv3,no-tlsv1,no-tlsv1_1

But at least it is possible to configure this.

Check remote NRPE servers with version 4

Lastly you can also check remote servers with NRPE then you have two new options:

  • version which can be set to either 2 or 4 to specify which NRPE version to use.
  • tls version which can be set to tlsv1.3, tlsv1.2, tlsv1.1, tlsv1.0 as well as tlsv1.3+, tlsv1.2+, tlsv1.1+, tlsv1.0+

Future plans

(This list is not ordered)

  • Reenable missing features (i.e. upgrade some more things and ensure we have pipeline builds)
  • Build a new Web UI (web frameworks change so much it does not make sense to try to upgrade the old).
  • Upgrade checks to for modern Windows.
  • Investigate "old Windows" support (I expect the new builds will not run on Windows XP)
  • More Unit tests
  • Overhaul and deprecating/removal of outdated features
  • Code cleanups
  • Rewrite some modules and libraries in RUST

Please do let me know any specific things you would like to see!

// Michael Medin

New version coming soon

Great news is that I have finally managed to resolved the issues I had with Python 3 and thus we have take a massive leap towards the new version. I had hoped for it to be released during the x-mas holiday this year but the Python issue took way longer then I had anticipated. I will now start on getting GitHub Action pipelines in place which when done will drastically reduce thr amount of effort to build and maintain NSClient++. After this I expect to either fix dot net pretty quickly or I will release the first version without it. There are some issues with NRPE as modern version of OpenSSL will not accept the "old Nagios hardcoded keys". So most likely you will initially have to rely on either custom keys (with stronger ciphers) or use REST.

I have plans to run a fundraiser to raise funds to add NRPE 3 support in the next few weeks.

So the overall current status is that I have now a working version built with modern libraries and most "integration tests" have passed with flying colors, so hopefully new builds will start arriving in the next week or so.

I have also updated the web-site to be a bit more modern and easier to maintain.

Core functionality

  • Boost libraries upgraded
  • Google Protocol Buffers library upgraded
  • OpenSSL upgraded
  • Python upgraded
  • NSClient++ core functionality
  • Basic Check Plugins work
  • NRPE works (Though default NRPE ciphers are no longer supported)
  • WEB Server works
  • Automated GitHub builds
  • dot-net support
  • dot-net modules work
  • Lua upgraded
  • NSCA Works

Additional things

  • Crash Pad library (Might remove this as it was not used much)
  • New WEB UI (Might remove this and instead only support REST API)

Donations needed

  • NRPE 3 support (Please donate)

Other plans

  • Upgrade checks to for modern Windows.
  • Investigate "old Windows" support (I expect the new builds will not run on Windows XP)
  • More Unit tests
  • Overhaul and deprecating/removal of outdated features
  • Code cleanups