tik4net 5.0.0-alpha
Full release notes and version history: Wiki → History
What's new in 5.0
- RoMON — reach a router you have no IP route to, through a neighbouring MikroTik, over Telnet, SSH, MAC-Telnet or any WinBox transport; RoMON discover and ping included
- One codebase from RouterOS 6.49 to 7.24 — the same entities read and write correctly on each version, tested on 7.24.5, 7.21.5 and 6.49.13
TikField<T>— a property knows whether the router printed the field; it never invents a default, and a value from a newer RouterOS does not break the readDescribeMenu— ask the router what a menu takes: sub-menus, commands, arguments, readable and clearable fields, accepted words, from the router's own grammar- Connection string —
TikConnectionSetup.FromConnectionString: router, credentials and transport come from config - Negated matchers and value lists —
src-address=!10.0.0.0/8is a negated address;dst-port=22,8291,tcp-flags=syn,!ackare typed, immutableTikValueList<T> - Analyzers TIK001 / TIK002 — compile-time warnings for
TikFieldcomparisons that can never be true, with a code fix - SSH private-key login, list sync with the fewest moves, and filtered CLI reads that run on the router
Breaking changes (from 4.x)
Full guide, with before/after code: Upgrading from 4.x to 5.0 — and a ready-to-paste prompt for an AI coding agent: with an AI agent
Package IDs, namespaces and the connection API are unchanged. What changed:
- Every entity property except
.idis aTikField<T?>— the compiler finds most of it; read What compiles but changed meaning in the guide, above all if you merge or diff entity lists - Adds and singleton saves send only what you assigned — a property's
DefaultValuedocuments the router's default without acting on it - Multi-value fields are
TikValueList<T>; timeouts and command durations areTimeSpan; dates areDateTime - A filter on a field the menu does not have throws, and a CLI read the router refuses with a parse error throws
TikCommandTrapException - A refused or unreachable port throws
SocketException;GuardandLinqExare internal; a few entities changed shape (see the guide)
NuGet packages
| Package | Install |
|---|---|
tik4net (core + O/R mapper)
| dotnet add package tik4net --version 5.0.0-alpha
|
tik4net.ssh (satellite, opt-in)
| dotnet add package tik4net.ssh --version 5.0.0-alpha
|
tik4net.testing
| dotnet add package tik4net.testing --version 5.0.0-alpha
|
tik4net.mcp (dev/debug helper tool)
| dotnet tool install -g tik4net.mcp --version 5.0.0-alpha
|
Full Changelog: v4.0.0...v5.0.0-alpha