Skip to content

CLI Release Notes ​

insider 2026-10-14 JSON ↗
  • Added Initial release of Niksphere CLI
  • Added Require explicit server URL for environment authentication login (env auth login)
  • Added Centralized authentication handler with explicit 127.0.0.1 loopback binding for OAuth logins
  • Added Add nik env actor and nik env client commands for managing actors and OAuth clients
  • Added Add nik dev mcp enable|disable|show commands to register or remove the Niksphere MCP server (nik mcp) in AI client configuration files (Claude Code, Cursor, Antigravity, VS Code), with --client to target specific clients and --json on show for machine-readable client discovery
  • Added Add a token configuration value (settable as the NIKSPHERE_CLI_TOKEN environment variable, or in the CLI''s own configuration file) to supply a Personal Access Token directly for headless/CI environments, bypassing the OS keyring and any interactive login flow
  • Added Add cloud_url and cloud_token configuration values (settable via NIKSPHERE_CLI_CLOUD_URL and NIKSPHERE_CLI_CLOUD_TOKEN environment variables, or in the CLI''s configuration file) to support custom Cloud targets and Personal Access Token authentication in headless/CI environments
  • Added Show in nik cloud auth status when a Personal Access Token override (NIKSPHERE_CLI_CLOUD_TOKEN or cloud_token in configuration) is in effect
  • Added Generate a CycloneDX JSON Software Bill of Materials (SBOM) for each platform binary during the build, listing every dependency''s exact version, cryptographic hash, and license
  • Added Generate a JSON configuration schema (config.json) during the build, documenting every configuration key, its environment variable, type, default value, and description
  • Added Add nik self release-notes to show release notes for the currently installed version, and nik self update release-notes to show release notes for every version a nik self update would install
  • Added Add nik env session list (showing session id, connected-at timestamp, and the authenticated actor''s id and name) and nik env session terminate <id> commands to list active Client Runtime sessions on a Niksphere Environment and to forcibly terminate one, for developers debugging or scripting against active app sessions
  • Added Add full Business Central AL preprocessor support (#if, #elif, #else, #endif, #define, #undef, and safe skipping of #region, #endregion, #pragma) to nik dev convert bc, including boolean expression evaluation (not, and, or, parentheses), automatic symbol resolution from app.json, and --define / -D flag for custom preprocessor symbols
  • Changed Remove the artificial 30-second client-side HTTP timeout on Environment and Cloud SDK requests; operations now run until completed by the server or cancelled by the user via Ctrl+C, preventing premature timeouts during long-running tasks such as large app installations or schema migrations
  • Changed Improved CLI --help layout: displayed commands prior to options and unified flags under a single Flags section
  • Changed Render --help descriptions as formatted Markdown (bold, italic, inline code, lists, syntax-highlighted code blocks) under clear Usage/Description/Flags sections, including clickable links in supporting terminals
  • Changed Pressing Ctrl+C now cleanly cancels an in-progress command or login instead of showing a confusing error
  • Changed Unified wording of success and error messages with the Engine and VS Code Extension across all env app, env actor, env client, and env idp external commands
  • Changed Add detailed --help descriptions to nik mcp and nik dev lsp clarifying they are started by an AI client or editor as a subprocess, not meant to be run manually
  • Changed BREAKING: Move nik dev integrate lsp to nik dev lsp and remove the now-empty nik dev integrate command group
  • Changed Show in nik env auth status when a Personal Access Token override (the NIKSPHERE_CLI_TOKEN environment variable, or token in the CLI''s own configuration file) is in effect; it silently took priority over any logged-in session for every environment, previously indistinguishable from a normal login
  • Changed BREAKING: Remove the server configuration key/NIKSPHERE_CLI_SERVER environment variable, a fallback alias for the target Engine server URL; use server_url/NIKSPHERE_CLI_SERVER_URL instead
  • Changed BREAKING: Rename the server_url configuration key/NIKSPHERE_CLI_SERVER_URL environment variable to engine_url/NIKSPHERE_CLI_ENGINE_URL, so it reads unambiguously as the Engine URL rather than the generic "server" also used elsewhere for the Cloud; rename the server_url field in nik env auth status/nik cloud auth status --json output to target_url (holding the Engine or Cloud URL depending on which command produced it), and the engineUrl field in nik cloud env list --json output to engine_url for consistency with the rest of the CLI''s snake_case JSON output
  • Changed nik self update/--check now shows a short summary of how many new versions are available in the channel instead of their full release notes; run nik self update release-notes to see what changed
  • Changed BREAKING: Split the app manifest author field into publisher and developer; nik env app list now shows separate PUBLISHER/DEVELOPER columns instead of AUTHOR, nik dev init scaffolds both fields in the generated nikapp.yaml, and the Business Central AL importer maps app.json''s single publisher field onto both (Business Central itself has no separate developer field)
  • Changed BREAKING: Remove deprecated root-level compatibility fields (app_id, app_version, app_package_path, and msgs) from compilation and validation JSON output (nik dev compile --json, nik dev validate --json); consumers must read these structured properties from the nested data object (data.app_id, data.app_version, data.app_package_path, and data.diagnostics)
  • Changed BREAKING: Rename the engine_url and token configuration keys (and NIKSPHERE_CLI_ENGINE_URL / NIKSPHERE_CLI_TOKEN environment variables) to env_url and env_token (NIKSPHERE_CLI_ENV_URL / NIKSPHERE_CLI_ENV_TOKEN) for consistency with the nik env and nik cloud command hierarchy
  • Changed Format Cloud SDK errors across all nik cloud commands using the centralized error formatter to display server error messages and actionable login hints on authentication failures
  • Changed Optimize Model Context Protocol (MCP) server execution architecture to execute CLI commands in-process instead of spawning separate subprocesses, eliminating process spawn latency on tool invocations
  • Changed Enforce non-interactive execution for all MCP tool calls with automatic confirmation for confirmation flags (such as --yes) and fail-fast validation for missing required arguments, preventing deadlocks on standard input
  • Fixed Fix project path validation in dev commands by rejecting paths with null bytes across all platforms and returning filesystem access errors on failure
  • Fixed Fix Model Context Protocol (MCP) server initialization reporting a static version string instead of the dynamic CLI build version
  • Fixed Fix nik dev init referencing the legacy CLI command name in its completion message, updating it to nik dev compile
  • Fixed Fix WebSocket connection URL generation in telemetry monitoring by replacing silent fallback schemes with strict URL validation and unified ticket acquisition
  • Fixed Fix nik env inspect data sending unauthenticated requests and silently swallowing HTTP errors by validating user sessions before launch, attaching authorization tokens to Data Explorer requests, and failing fast with descriptive messages on HTTP errors
  • Fixed Fix Cloud SDK client sending Bearer authentication tokens to unvalidated hosts by applying strict host validation for Cloud endpoints
  • Fixed Fix Business Central AL conditional compilation directives being treated as comments, which caused all conditional branches to be parsed unconditionally and resulted in duplicate member collisions and conflicting property overrides
  • Fixed Fix Business Central AL parser silently overwriting duplicate property assignments within the same declaration block; duplicate properties on tables, table extensions, enums, enum extensions, pages, page extensions, fields, enum values, and page controls are now rejected with a descriptive parser error
  • Fixed Fix duplicated or reworded success/error messages on admin commands (e.g. "Successfully installed. App X ... successfully installed" or "failed to edit actor: Actor not found.") by relaying the Engine''s own message verbatim
  • Fixed Centralized server URL resolution across environment commands (nik env ...) to avoid silent fallback to localhost
  • Fixed Fix login and token refresh failing due to a retired, unregistered OAuth client ID
  • Fixed Rename the positional argument of nik env client edit|delete|enable|disable from <client-id> to <id>, matching the ID column from nik env client list; the Engine resolves it against the client''s internal id, not its client_id slug, so passing the slug previously failed with "Client not found."
  • Fixed Fix silent session-refresh failures (missing refresh token, unreachable Engine, revoked refresh token) reusing the stale, already-expired access token instead of failing outright; commands now report a clear error pointing at nik env auth login instead of a bare 401 Unauthorized
  • Fixed Fix nik env auth status reporting "Logged in" for a session whose access token had already expired; it now applies the same expiry check a real command would, and reports whether a refresh token is available to silently renew it
  • Fixed Fix env app/env actor/env client/env idp external commands showing a generic "no error factory is registered for this code: 401" instead of the Engine''s actual reason (e.g. "actor is suspended or inactive") on a 401 response; requires a paired Engine release with the matching OpenAPI documentation
  • Fixed Fix Cloud commands silently reusing a stale, already-expired access token when a session refresh failed (missing refresh token, unreachable identity provider, revoked refresh token) instead of failing outright; they now report a clear error pointing at nik cloud auth login instead of a bare 401 Unauthorized
  • Fixed Fix nik cloud auth status reporting "Logged in" for a session whose access token had already expired; it now applies the same expiry check nik env auth status does, and reports whether a refresh token is available to silently renew it
  • Fixed Fix var/out parameters not being passed by true reference; changes made to them inside a routine could silently fail to reach the caller
  • Fixed Fix records passed to a routine by value not being copied; modifying such a parameter inside the routine could unexpectedly change the caller''s original record
  • Fixed Fix overloaded routines (same name, different parameter types) sometimes being registered twice, which could break compilation or resolve to the wrong overload
  • Fixed Fix debugger call stack frames showing "anonymous" instead of the actual routine name
  • Fixed Fix debugger not showing global variables while stepping through code, and show them in their own "Globals" section separate from local variables
  • Fixed Fix nik dev convert bc silently skipping enums without values, table extensions without new fields, and enum extensions without values, which made the converted app fail to compile with "unit ... not found"; these objects are now converted, and any AL object that still cannot be converted is listed with its file and reason and makes the command fail
  • Fixed Fix nik dev convert bc generating bogus empty enums (e.g. type UnknownField = partial enum ();) from Enum "..." variables declared inside report extensions, interfaces, control add-ins, profiles and page customizations; these object types are now skipped as a whole
  • Fixed Fix nik dev convert bc converting every AL enum without an Extensible property into an extensible partial enum, although Business Central enums are not extensible by default; such enums are now converted as non-extensible enums, and an enum that has no values and is not extensible is reported as a conversion failure
  • Fixed Fix nik dev convert bc producing apps that fail to compile with "unit ''....Enum.pas'' not found" when AL objects extend or use enums that are built into the Business Central platform (e.g. "Copilot Capability", "Event Category"); these platform objects are now declared in a generated Source/Platform.pas unit, and a reference to a table or enum that exists neither in the AL sources nor in the platform makes the conversion fail, naming the AL file, object and missing target
  • Fixed Fix nik dev convert bc emitting duplicate member declarations for fields moved across apps; fields marked with ObsoleteState = Moved or ObsoleteState = Removed are now excluded during conversion, preventing member collisions when target extensions declare active counterparts
  • Fixed Fix nik dev convert bc emitting [UID] attributes instead of [Table] on entities and [Field] on fields, and placing table attributes after the class header where the compiler ignored them, which caused the Engine''s schema generator to detect zero tables and skip database table creation
  • Fixed Fix nik dev convert bc exiting with code 0 instead of reporting an error when no valid AL table or enum definitions are found or converted
  • Fixed Fix CLI commands bypassing central error handling and process termination on errors, ensuring consistent human-readable and JSON (--json) error formatting and clean deferred cleanup
  • Fixed Fix confirmation prompts, warning banners, and progress messages in nik env app drop-data, nik self uninstall, and nik self update being printed to standard output instead of standard error, ensuring standard output remains clean for pipeline scripting and data redirection
  • Fixed Fix nik dev compile emitting misleading static progress events before the compiler starts, ensuring console and JSON output strictly reflect actual compilation diagnostics and results
  • Fixed Fix compiler file reads incurring redundant mutex synchronization and in-memory document cache resolution during non-LSP operations (such as nik dev compile), improving compilation performance
  • Security Close several security vulnerabilities in the CLI''s networking and login/authentication components

Release v1.0.0-build.67-channel.insider