github danikf/tik4net v4.0.0-alpha2

pre-releaseone day ago

tik4net 4.0.0-alpha2

Full release notes and version history: Wiki → History

What's new in 4.0

9 new connection types — all implement the same ITikConnection / LoadAll<T>() / Save<T>() interface:

Type Transport Port Notes
Rest / RestSsl HTTP/HTTPS 80/443 RouterOS 7.1+, CRUD only
Telnet TCP 23 plain-text terminal
MacTelnet UDP broadcast 20561 Layer-2, no IP needed
WinboxCli TCP 8291 WinBox terminal over TCP
WinboxCliMac UDP 20561 WinBox terminal over MAC
WinboxNative TCP 8291 native M2 binary protocol, full CRUD + streaming
WinboxNativeMac UDP 20561 native M2 over MAC
Ssh (satellite) TCP 22 requires tik4net.ssh NuGet

Other additions:

  • Change tracking — the O/R mapper tracks which properties changed; Save<T>() sends only the diff
  • Safe ModeTakeSafeMode() / ReleaseSafeMode() across all transports; auto-rollback on disconnect
  • Streaming monitorsExecuteAsync / LoadListenAsync for live data (WinBox Native; listen poll+diff on other transports)
  • TikConnectionSetup — unified connection builder with all transport-specific options
  • Connection capability modelconnection.Supports(TikConnectionCapability.Listen) etc.
  • Raw command pass-throughExecuteRaw for commands not covered by the O/R mapper
  • WinBox GUI-name addressing — address entities by their WinBox display name on WinboxNative

Breaking changes (from 3.6)

  • The O/R mapper is now inside the tik4net package — it used to ship as tik4net.objects (3.x), then tik4net.entities (4.0 alphas). Remove any PackageReference to those or you get an assembly conflict. No source changes: namespaces and assembly names are unchanged. See Upgrading from 3.x to 4.0
  • Exception hierarchy unifiedTikCommandException subtypes restructured; review catch blocks that catch specific exception types
  • SSH is now a satellite package — add tik4net.ssh and call Tik4NetSsh.Register() at startup (the old TikConnectionType.Ssh stub is still in the enum but now routes to the satellite)
  • TikConnectionType.Api_v2 / ApiSsl_v2 — already [Obsolete(error)] in 3.6, unchanged in 4.0; remove any remaining usages

NuGet packages

Package Install
tik4net (core + O/R mapper) dotnet add package tik4net --version 4.0.0-alpha2
tik4net.ssh (satellite, opt-in) dotnet add package tik4net.ssh --version 4.0.0-alpha2
tik4net.testing dotnet add package tik4net.testing --version 4.0.0-alpha2
tik4net.mcp (dev/debug helper tool) dotnet tool install -g tik4net.mcp --version 4.0.0-alpha2

Tools (in zip asset)

  • tik4net.entitygenerator.exe — generate entity code from a live router
  • tik4net.entityWikiImporter.exe — generate entity code from MikroTik wiki

Full Changelog: v4.0.0-alpha...v4.0.0-alpha2

Don't miss a new tik4net release

NewReleases is sending notifications on new releases.