We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Update docs for internal connection constructors and new MAC-native factory Connection transport constructors (RestConnection, TelnetConnection, MacTelnetConnection, WinboxCliConnection, WinboxCliMacConnection, WinboxNativeConnection, WinboxNativeMacConnection, SshConnection) are now internal — direct `new XxxConnection(...)` no longer compiles. Replace all such examples across the wiki with the TikConnectionSetup equivalents (CreateXxxConnection / configure callbacks), and document the new TikConnectionSetup.CreateWinboxNativeMacConnection factory (with its RouterMac/ConnectTimeout/CatalogCachePath/session-mapping configure callback) which previously did not exist.
Document AllowInvalidCertificate / CertificateValidationCallback for API-SSL and REST-SSL
Show UseGuiNames being toggled per command The GUI-label section implied the flag is set once for the session. Add a "Turning it on and off per command" subsection: the resolvers are built per operation, so label addressing can be scoped to a single call while the rest of the session stays strict. Covers the execute-time-not-create-time detail and the thread-safety caveat. Samples compiled against the library. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a GUI-label-only addressing sample to WinBox Native Shows driving the connection without knowing any RouterOS API identifier: UseGuiNames plus a path spelled as the menu tree shows it and fields spelled as the window captions read. Notes the three limits that matter — input-only (output stays canonical), verbatim names win, and the normalizer only folds separators, so irregular labels still need an alias/override. Also spells out why this is not CreateRawCommand: raw pass-through is a CLI feature carrying RouterOS CLI syntax, and WinBox Native reports no RawCommand capability at all (M2 is binary key-value with no textual raw form), so a raw call there fails closed. Label addressing skips the API-name step, not the mapping. Sample compiled against the library before committing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Document WinBox native mapping by GUI label, add PathAlias The mapping story was told correctly but the samples contradicted it: every example reached for PathOverride(path, new[]{27,101}), and "Session overrides" claimed both overrides "are keyed on stable text so they survive router upgrades" — which is false for a pinned handler number. - WinBox-Native-connection: new "The three names of one thing" section with a diagram of GUI label vs API name vs M2 number, and a table showing how a menu breadcrumb becomes a menu-label path. - "Session overrides" -> "Session mappings": leads with PathAlias and UseGuiNames, demotes the numeric overrides to escape hatches, states plainly which of them survives an upgrade and which needs re-verifying, and spells out the full resolution order. - Update the TikConnectionSetup sample, the unresolved-path error text, the alpha-preview banner and the coverage-limits list to match. - WinBox-Native-MAC, Command-translation, History: same correction, linking to the new Session mappings section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add release chores section to the 4.x roadmap Records the tik4net.entities deprecation as a maintainer checklist item. It cannot be scripted -- nuget.org exposes deprecation through the web UI only -- so it needs somewhere durable to live, and it has to wait until 4.0.0 stable so the alternate-package pointer does not resolve to an alpha. Also notes the alpha2 packaging change under shipped items. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Document the 4.0 package merge The O/R mapper is now part of the tik4net package. Updates the install instructions, adds a 4.0.0-alpha2 history entry, and adds a dedicated upgrade page covering the one step that actually matters: removing the stale tik4net.objects package reference. Namespace and assembly names are unchanged, so all code samples stay as they are. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Update docs: /tool/torch is now supported over all CLI transports too Corrects the previous doc update (which said CLI transports reject torch outright): a dedicated freeze-frame-interval + proplist builder makes torch's plain terminal output into discrete, parseable frames, confirmed working live over Telnet, SSH, MACTelnet and WinBox CLI in addition to the binary API and WinBox native transports. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Correct torch capability docs: CLI truly can't parse it, WinBox native can - Command-translation-on-non-API-transports.md: replace the "torch emits nothing" claim with the confirmed-live reality — plain terminal output has real rows, but isn't reliably machine-parseable (missing tx-packets/rx-packets, embedded spaces, self-adjusting column widths). - Connection-types-and-capabilities.md: split Listen (async monitor pattern, broadly supported incl. WinBox native torch) more clearly from Streaming (blocking sync ExecuteListWithDuration, API only). - WinBox-Native-connection.md: note that /tool/torch is confirmed working live over WinboxNative/WinboxNativeMac. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Restore History 4.0.0 section; move version references out of other pages History is the page that tracks versions — restore the '4.0.0 (in development)' section removed in the previous cleanup. Elsewhere, drop 'since tik4net X' / 'new in 4.0' style sentences and defer to History instead: - transport pages: 'New in tik4net 4.0 — first released as…' banners reduced to a status-only alpha note - WinBox Native pages: merged the resulting duplicate alpha banners, removed the version tag from the page titles - Connection types: same banner rewording - Change-tracking: dropped the '4.x feature' banner and the 3.x round-trip comparison in the intro (the migration section stays — it is actionable upgrade guidance, not just history) - Getting-started / Testing-high-level / Home: removed inline '4.0' / '4.x' version tags - login-versions: 'unified in tik4net 3.5.0' now defers to History RouterOS version requirements (6.43+, 7.1+, 7.18+) are functional prerequisites and are kept everywhere. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JS3W4HV6uDZiSDtZ4Tajkv
Remove historical-record-only content - History: drop the pre-release '4.0.0 (in development)' section — it duplicated the released 4.0.0-alpha entry; its Save-mode breaking change note moved to the Roadmap-4x breaking-changes list - Roadmap-4x: collapse the shipped-feature sections (transports, change tracking, raw commands, GUI names) into a compact 'Shipped in 4.0.0-alpha' link list — each feature has its own page now; drop the stale 'REST API transport' future item (REST shipped); add a Documentation section with remaining doc work - SSL-connection: remove the 'since tik4net 1.7.0.0' claim (History shows API-SSL arrived in 1.8.0.0; version note was wrong and historical-only) - Communication-debugging: reword 'Since v 3.5' note to present tense Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JS3W4HV6uDZiSDtZ4Tajkv
Wiki audit: fix invalid info, broken samples and markdown, dedupe Home Verified every page against the current source code: - LoadById/LoadByName throw TikNoSuchItemException (were documented as returning null) - REST SafeMode* throws TikConnectionCapabilityNotSupportedException (not NotSupportedException) - WinboxNative reports Crud|Listen|SafeMode; M2 error fallback is TikCommandTrapException - CLI transport pages (MacTelnet, WinboxCli, WinboxCliMac) now show SafeMode|RawCommand capabilities - History: raw pass-through API is CreateRawCommand (not ExecuteRaw) - login-versions: unification happened in tik4net 3.5.0, not 'RouterOS 3.5.0' - Testing pages: entity samples now use WithId/WithValue (Id setters are private, old samples did not compile); ToolTorch fields are Tx/Rx; Save-update section rewritten for 4.x change tracking - Removed stray tool-call artifact at end of Getting-started - Fixed ##Heading-without-space markdown (rendered as literal text, broke anchors) - Normalized Connection./connection. casing in samples; typos; TikListMerge missing brace - Home: removed duplicate Documentation link list - MCP-server: clarified one-shot commands and unsupported transports (Ssh, WinboxNativeMac) - MNDP: completed TikInstanceDescriptor field table Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JS3W4HV6uDZiSDtZ4Tajkv
Document WinBox Native coverage (current state) Add a "Coverage — what native maps today" section to WinBox-Native-connection describing what the native M2 mapping resolves out of the box (common paths, board-gated singletons, scalar/IP/MAC/enum/interface-ref types, list/number-range fields, opt/not-wrapped fields) and what genuinely needs an override or another transport (interface-reference list fields, sub-type interface creation, hardware-only/API-only fields, exotic tables, M2-model gaps). Link the comparison-table coverage row to the new section, and reference it from the MAC twin page which single-sources mapping detail from here.
Add Getting-started tutorial page Step-by-step first project (NuGet -> connect -> typed read -> filter -> CRUD -> next steps). Linked from Home (intro + Documentation) and How-to-use. Complements the reference-style Home and the API-level chooser. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.0.0-alpha: update released banners, add tik4mcp links, add History entry
Wiki: link transport pages from the capability tables The Api/ApiSsl and Telnet rows were the only transports not referencing their docs. Link every row in both the connection-types table and the capability matrix to its page (Api -> usage guide, ApiSsl -> SSL connection, plus the existing per-transport pages), so the capabilities page points at all of them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Wiki: add REST connection page Document the Rest / RestSsl HTTP transport (RouterOS 7.1+): router www/www-ssl setup, ConnectionFactory + TikConnectionSetup usage, CRUD-only capability (no Listen/Streaming/SafeMode), Basic-auth/TLS notes. Mark as 4.x alpha preview. Link it from the Home and Connection-types tables and the History changelog. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Wiki: beginner-focused restructure, fix samples, mark 4.x alpha-preview transports - Home: restructure for beginners (install -> quick start -> typed read -> CRUD -> async); move feature/transport lists below; tag 4.x-only features. - Mark every non-API transport as "alpha preview in 4.x" (Home + Connection-types tables and per-page banners); add note that only Api/ApiSsl are stable. - Fix outdated samples: obsolete Api_v2 -> Api (Home, How-to-use, CRUD-examples, VB); CRUD =.id= literal -> $"=.id={id}"; ADO.NET cmd/command name mismatch. - Add missing Telnet-connection page (was a broken link from SSH page). - Fill login-versions page (was a "TBD" stub). - Expand History 4.0.0 with new transports, Safe Mode, capability model, raw command, GUI-name addressing, MCP server. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Roadmap 4.x: add breaking-changes list for release notes (exception model, targets) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add Exception handling page (tree + per-type description); link from Home Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Document raw command pass-through + WinBox GUI-name addressing Both features now ship on 4.x; move them from "under consideration" to shipped. - Command-translation-on-non-API-transports: rename "Proposed extensions" -> "Escape hatches"; document CreateRawCommand (per-transport dialect table, wrapAsValue) and UseGuiNames (opt-in, separator folding, override precedence) with real usage examples. - Connection-types-and-capabilities: add RawCommand to the capability list and matrix. - Roadmap-4x: mark both entries as shipped (✅). - Home: (existing) link to the command-translation page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add "Connection types & capabilities" page with capability matrix Brief description of every TikConnectionType, the TikConnectionCapability flags, and the per-transport capability matrix. Documents the fail-closed runtime checks (Supports / Require / TikConnectionCapabilityNotSupportedException). Linked from Home. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Document SSH connection (tik4net.ssh, chapter F) - New SSH-connection page: usage (new SshConnection / setup.CreateSshConnection / ConnectionFactory after Tik4NetSsh.Register), capability, Safe Mode notes, separate tik4net.ssh package. - Home: add the Ssh transport to the transport list. - Roadmap-4x: SSH moved from exploratory to shipped. - Safe-Mode: add the Ssh row (unroll via scriptable /safe-mode/unroll on 7.18+, because Ctrl+D is the SSH EOF convention). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Roadmap: mark WinBox Native and WinBox Native over MAC as shipped Add ✅ sections for the WinBox Native (M2) transport (structured CRUD over TCP 8291, .jg-driven mapping, Crud|Listen|SafeMode) and WinBox Native over MAC (WinboxNativeMac, same engine over UDP 20561). Update the WinBox CLI note that previously listed native-M2 as a planned follow-up. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add WinBox-Native-MAC-connection wiki page Dedicated page for the WinboxNativeMac transport (structured native M2 CRUD over the MAC layer, UDP 20561): router prerequisites, basic usage, RouterMac / MNDP bypass, the shared API-to-M2 mapping (by reference to WinBox-Native), the catalog-load-over-MAC caveat, capability (Crud|Listen|SafeMode) and Safe Mode. Linked from Home and cross-linked with the sibling WinBox-Native and WinBox-CLI-MAC pages. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Document Safe Mode and WinboxNativeMac transport New Safe-Mode.md page (take/release/unroll/get, per-transport support table, Ctrl+X/Ctrl+D mechanics, commit / auto-rollback / explicit-unroll examples, RouterOS behaviour and the stuck-lock workaround). Home.md gains the Safe Mode feature bullet and the WinboxNativeMac transport bullet; How-to-use gains a Safe Mode section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Document Listen capability for CLI + native transports All CLI transports (Telnet, WinBox CLI, MAC-Telnet, WinBox-CLI-MAC) and the WinBox native transport now report Crud | Listen: ExecuteAsync / LoadAsync / LoadListenAsync work, emulated by polling a one-shot snapshot on a background worker (no server push over a terminal / WinBox channel). Rewrites each Capability section with the three async call shapes (streaming monitor, finite ping/traceroute, change listen, async list), notes that Streaming (ExecuteListWithDuration) is still API-only, and that interactive-only commands such as /tool/torch have no as-value snapshot to poll over a terminal.
Mark WinboxNative transport as alpha-preview
Add MCP server wiki page; link from Home, debugging & WinBox-Native pages Document Tools/tik4net.mcp: the mikrotik_call tool, all 9 transports, the parameters format, and the per-transport RAW trace (incl. the WinboxNative M2 message format and how to read it). Cross-link from logical places: Features list on Home, the OnReadRow/OnWriteRow debugging page, and the WinBox-Native See-also.
Add WinBox Native (M2) connection page Documents the WinboxNative connection: the API-name <-> WinBox-key mapping problem and the three-layer solution (live .jg catalog + normalizer/built-in dictionary + FieldOverride/PathOverride session overrides, with samples and the TikConnectionSetup.CreateWinboxNativeConnection factory), the error-type mapping table, and a Native-vs-CLI comparison pointing to WinboxCli as the fallback. Linked from Home and the WinBox CLI page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>