Skip to content

Developer release notes


  • q linter results start at line 1, previously 0-indexed
  • Symlinks resolved when detecting start directory
  • Add Ctrl+E hotkey and option to display result to Python editors


  • A default username can now be provided when creating connections to pre-fill the Authentication dialog
  • Error messages longer than the status bar would previously be truncated, can now print the error to the Console
  • Pre-set environment variables not overwritten during install
  • Optional Ctrl+E/Ctrl+Enter keybindings to display results to the IDE console
  • Optional environment variables for configuring default hostname and authentication for new connections
  • Running the q linter on the current directory with . would previously error, now resolved
  • Running the q linter with an empty lint.config file would previously error, now resolved
  • .qdate.resolve fix for parsing months with leap years using %b or %B


  • kdb+ 4.0 support added


  • Remote Editor connection search, favorite, and filter
  • Ability to toggle the Sidebar within the IDE (Windows > Toggle Sidebar)
  • Accessibility improvements throughout
  • General fixes and performance improvements

Development tooling:

  • Linter configuration improvements from within Developer (Right click > Code > Lint > Config)
  • Repository changes printed to the console on Pull


  • Conditional feature skip with skip if block in qcumber
  • qcumber.q_ unit testing library reporting and usability improvements
  • qlint.q_ linting library now checks for lint.config files on disk
  • qlint.q_ exits with code 1 if there are error class issues


  • Error Bar geometry added to Grammar of Graphics (.qp.errorbar, .qp.herrorbar)

Upgrade considerations

  • The qcumber.q_ script now always prints a summary of test results to stdout, even if writing results to a file. To recreate the old behavior where no results were printed in this case, use the new -quiet flag.
  • The qcumber.q_ script now prints only the failing tests to stdout by default. To recreate the old behavior where it printed all test results, use the new -showAll flag.
  • The operating systems within the ws/lib/<os> directory have the architecture appended. For example, ws/lib/rhel7/ has been renamed ws/lib/rhel7_x64.


  • Added installer option on osx for Developer to use OpenSSL 1.0 or 1.1


  • Connect any editor to a remote q process without loading Developer in the remote process (Tools > Remote Scratchpad)
  • Git tag support in Developer workspace
  • Drag-and-drop files and other artifacts between modules, folders, and repositories
  • Improved Workspace Browser, showing last accessed time for each workspace
  • 3D point geometry added to Grammar of Graphics (.qp.point3D)
  • Shared/linked scaled in Grammar of Graphics (.qp.s.share)
  • Added RHEL 8 Linux support

Upgrade considerations

  • A new installer option has been added to optionally set the process directory to the workspace, only if Developer is started in a new process. The directory of existing processes will not be changed.
  • With the introduction of Remote Editors, a new .z.pc handler was added to Developer to track ports being closed. This calls out to any already defined .z.pc in the process. See the for more information.


  • Fix for failing csv encoding when linting when results contain CANNOT_PARSE errors
  • Remove dependency on libpng from qlint and qcumber
  • Importing q file as a module could fail if file did not have context switches
  • Add example of loading .dat output to command line script -help output



  • All internal namespaces prefixed with .ax to mitigate namespace collisions
  • Load Google Maps key from env var in Inspector
  • Increased performance and efficiency of Grammar of Graphics library and Inspector charts
  • Improved workspace load and clone performance
  • Improved Coverage performance
  • Support for new OpenSSH key format when cloning over SSH (macOS and Linux only)

UI improvements:

  • Repositories are now collapsible
  • Support for collapsible folders added
  • Rename workspaces within the workspace selection dialog
  • Improved rendered Markdown windows:
    • Improved styling
    • q/Python code highlighting
    • Code block execution
  • Sample data panel in Inspector charts

Development tooling:

  • "Script-like" evaluation using "display" - no semi-colons required
  • Load/run q scripts by right clicking editor or sidebar
  • Disable lint warnings from UI by clicking lint gutter icon
  • Added in-tab Inspector for quick interactive grids and visuals
  • Git Configuration Defaults added to File > User Settings
  • Added a grid view option within the Console tab
  • Added option in Console to display the expression generating each result
  • Improved public function reference style and usability
  • Default user git configuration settings can be set in File > Settings

Python (requires embedPy):

  • Run Python scripts by right clicking editor or sidebar
  • In a file ending in .py or .p, highlight and display/execute Python commands printing results in the Console tab
  • Enable the following Python integration from File > Settings > Python Integration
    • Move data between kdb+ and Python through UI (editor context-menu and Process View)


  • Added top-level scripts for qcumber, qlint, qdoc, and axrepo
    • i.e., q qcumber.q_ -src s.q -test ./tests -out results.csv
  • Added JUnit output format for qcumber results for Jenkins integrations
  • Added axrepo.q_ library to convert kxscm repositories on disk to q scripts
  • qdoc mkdocs mode - generate mkdocs-compatible documentation from q
    • i.e., q qdoc.q_ -src ./src -out ./doc -render
  • Many qdoc improvements and additional tags

Upgrade considerations

  • Loading previous workspaces will prompt to upgrade the workspace for folder support
  • qdoc
    • API defaults changed to match command-line options
    • pandoc mode support deprecated in favour of new mkdocs mode
  • All internal namespaces prefixed with .ax to avoid clashes
  • Google Maps API key moved to environment variable rather than HTML key
  • When evaluating code, new expressions start in column 0 (semi-colons no longer required to separate expressions)


  • Support for older q versions of 3.4, 3.5, and 3.6
  • Support for versions of osx back to 10.10
  • More tolerant to q startup time due to q.k changes
  • Added optional DEVELOPER_LOCALREPO_PORT env var which can be used if issues due to changes in q.k persist


  • Added Ubuntu 18 support
  • Q Reference now points to
  • Fix possible buffer overflow when cloning repositories