- XMas key column option added to the Settings panel
- Credential functionality was redesigned to support easier IDEA versions migration:
- the plugins folder changed from /KdbInsideBrains to <user.home>/.kdbinb
- the plugin file can be copied to <user.home>/.kdbinb for auto-installation alongside UI settings
- Connection Settings dialog supports dynamic plugins reloading (by "Apply" button) now
- Symbol is parsed as a variable if used in any 'set' expression, like:
myvariable set ..._ or _set[
myvariable;...] - Symbols declared as a variable in any form support cross-links to/from the declaration and can be renamed
- Structure view performance improved
- Loading Authentication plugin restored
- IDEA 2024.3 Internal API dependency usage resolved
- Issue #104: In 2024.2, instances do not split console history
- Idea 2024.3 added into the supporting list with deprecated code refactoring
- Various typos fixed
- Width of "Port" field in "Instance Editor" dialog fixed to show five numbers.
- Idea 2024.2 added into the supporting list with deprecated code refactoring
- Context menu for TableResult is visible now
- Issues 101: mode highlighting is used for a variable at the end of line sometimes
- Issue 99: The Inspector fails if a namespace contains inner namespace with a dot in the name
- The Inspector query and navigation performance improved
- Masking underscore in 'Execute file' action name.
- Execute Q File action added (mapped to Ctrl + Alt + F10 by default) that sends and executes content of a whole file till 'exit the script' command ().
- Execute action doesn't block reading thread now and runs in the background instead.
- Execute On TP action removed. See no real use-case. Never used.
- Docking deprecation API resolved
- IDEA 2024 @ApiStatus.OverrideOnly issues resolved
- In TableView new line char is shown as '"↵" U+21B5 Downwards Arrow with Corner Leftwards' char.
- 'Export to JSON' has been added
- In 'Send Data Into' active connection is always at top with a separator
- Any 'Export' action uses the tab name for the file name
- IDEA 2024.1 is the default dev version. Deprecation errors removed. Grammar Kit upgraded to 2022.3.2.2.
- Floating point precision sessions lost at unclear conditions (precision settings will be lost if you are updated from any version before 5.4)
- Tabs binding doesn't work in NewUI
- Editors to connection binding stored in settings now
- issue #96: floating point precision Exception
- Call Hierarchy functionality added: https://www.kdbinsidebrains.dev/features/navigation
- Structure View doesn't display a loading file for import system function.
- Issue #91: Support for scientific notation in table output (disabled by default. Can be enabled in the Settings)
- Decimal Rounding Mode added with Half-Even by default as before (can be changed in the Settings)
- Numerical Format settings moved into a separate configuration section in the Settings
- IDEA 2024.1 added to supported versions
- All libs upgraded to the latest versions.
- Table View scroll doesn't work in NewUI when row number column is enabled.
- Create new connection from Quick Search actions causes NullPointerException (issue #89)
- KdbInspector doesn't allow to execute executable items, like historical tables.
- Minor code improvements
- CodePage added to InstanceOption that allows to specify which charset encoding should be used for encoding/decoding text data.
- Searching text is highlighted in ResultTable
- 'And' search (comma separator) introduced in ResultTable searching. Enabled by default.
- Search&Replace by Parameters added for InstancesView with ability to group instances update
- Base testing version is 2023.3.1
- Updating KdbInstance name updates the tab name in KdbConsole
- Updating KdbInstance connection details forces reconnection in KdbConsole
- RegEx and WholeWord search fixed in TableResult view
- Line/Inline comments processing has been changed to support code style formatting (issue #82). New formatting option added: "Trim spaces before inline comment"—enabled by default.
- Search in InstancesTree not cancelled by Esc (issue #83)
- PyCharm as well as other Platforms supporting has been added. All ToolWindows are always enabled and no additional IDEA features, like external source code, run KDB instance, and so on, are available on these platforms.
- EAP 2023.3 added into supported platforms
- Adding and removing Facet to a project causes many issues in ToolWindows manipulation
- CredentialProvider redesigned to process hostname/port along with credentials as username/port is required for some authentication methods.
- Connection URI can be dropped into InstanceTree from any place
- Send Data Into... splits connected and disconnected instance with connected at the top.
- Testing version is 2023.2.5
- HDB table raises an error: the table is returned in format
col1...
colN!` and can't be cast to Flip so returned as Dict now instead.
- Code Completion causes deadlock from time to time: issue #76
- Shortcuts added for Copy/Save active chart
- All overlays/instruments are copied/saved into clipboard as well
- Chart SVG library changed to the latest one
- IDEA Save dialog is used to save a chart as PNG or SVG
- Charting takes into account local timezone for drawing the correct scale
- Measure charting tool shows temporal values for domain
- Inactive console tab with a running query marked with an execution icon as well as finished query with notification icon that allows track state of simultaneously running queries.
- Running query icon size fixed for coloured elements in InstanceView
- Supporting of sorted dictionaries (type 127) added
- Table Result tab is not visible in slat few for the first result.
- New Watches functionality has been introduced. Please check more details here: https://www.kdbinsidebrains.dev/features/watches
- KdbConsole restores last state after restart, including all open connections
- Expanding the value of a dictionary uses the key name (if it's a string) for new tab name instead of default "Expanded Result"
- 2023.2 EAP version checked and added to a supported list
- Show "Thousands Separator" functionality added to a Table Result View. It allows showing thousands' comma separator for any number. "Thousands separators" only shown in the Table Result View and copied to clipboard but not added to any exporting data, like Excel or CSV: https://www.kdbinsidebrains.dev/features/tables#thousands-separator
- Filters and Show Index Column as well as new Thousands Separator moved to inner popup 'View Settings' menu for space optimization.
- Moving an Instance Tree item to a wrong position causes an exception.
- The lowest IDEA version is 2022.3 to support the latest changes and get rid of some errors.
- Libs upgrade to required versions
- QuickInstance toolbar for NewUI
- Function Dependency Analysis introduced: https://www.kdbinsidebrains.dev/features/analysis
- IDEA 2023.1 release version added and set as default for testing.
- 'Execute ...' menu only is visible for Q/K files.
- 'Table Result' is opened even there is no table result.
- Active instance style changed to bold underline.
- 2023.1 EAP version checked and added to a supported list
- Asynchronous connection has been added: a message sent with messageType=0 (asynchronous) and asynchronous response is expected as a result.
- Active Instance is underlined in the Instances View
- Changing active connection in the toolbar or via Kdb Console selects the instance in KDB Instances View (configuration option. Enabled by default).
- If a query returns not a table, 'Table Result' view is cleaned (configuration option. Enabled by default)
- Backward capability of 2020.* restored for charting
- KDB SDK supporting for macOS added
- Parsing and formatting of cumulative forward iterator (,/:) fixed
- Block comment adds new line after and before commented code
- Remove Unused Variable action takes into account context and removed only var definition inside conditions and controls.
- Show a dictionary size and key/value types in the Inspector
- Introduce Variable/Field refactoring actions have been added
- Namespace reference is ignored if there is at least one variable/lambda or another namespace is defined in it
- Not spaces between cascading arguments at invocation
- Empty list is not shown in TableView
- Connect/disconnect actions in InstancesTree moved to the left
- Reference resoling performance was improved to resolve Execution actions slow preparation
- IndexColumn updated after filtering in TableView
- Charting templates have been introduced: https://www.kdbinsidebrains.dev/features/charting#templates:
- Save/Restore a chart configuration
- Quick charting by template
- Templates manager
- Changelog fixed
- Dedicated Live Templates context (KDB+ Q) added with a few templates:
- sel - create a simple select query: select ... from ... where
- td - today: .z.d
- yd - yesterday: .z.d-1
- l10s - time within the last 10 seconds by time column
- l5m - time within the last 5 minutes by time column
- Code Completion improved for queries:
- suggest a table name after 'from' keyword
- the selection from a table, when columns are extracted and suggested in 'select', 'be' and 'where' sections
- completion works for defined tables as well as loaded from the Inspector
- Keys are loaded from KDB Instance at inspection time, NOTE: The Inspector query was changed
- Indexer identifies and parses correctly tables and lambdas. Correct type and parameters are shown in suggestions now.
- Variables defined in the Inspector are ignored by UndefinedVariableInspection now
- Issue #61 fixed - the inspection is ignored for complex system "l ",... constructions
- Copy formatted/rich text from history console (was plain only before)
- Index Column in a Table View enabled by default.
- Inspector scan on a connected option enabled by default.
- Search by canonical name in the Inspector
- Inspector has been improved and more functionality added:
- Scroll to source
- Diff with the source for a function
- Restore expanded/selected item between connection change/refresh
- NewUI support removed for now as causes more errors
- memory leak error for InstancesTree fixed (disposed via Disposer now)
- XMas Tree for key columns from 14 to 31 Dec (enabled by default but can be disabled in configs).
- Tabs memory leak in InstancesTree fixed.
- IDEA 2022.3 supported now but without 'New UI': the toolbar isn't shown in the mode somehow
- Finally, a new website with all the features and uses has been launched: https://www.kdbinsidebrains.dev
- The version increased to 3.0.0 just to synchronize new site with the current state as there are a lot of small changes
in
the
plugin:
- Split logs by months introduced: https://www.kdbinsidebrains.dev/settings/options#log-queries
- Ability to change the background of the console for colored instances: https://www.kdbinsidebrains.dev/features/instances#highlighting-severity
- IDEA 2022.3 supporting added
- Many typos and minor issues fixed
- An ability to run a *.q file from the project tree has been added.
-
All major features have been finally implemented, so the version changed to major 2.x.x from now.
-
Library and Module dependencies have been added. Please select 'KDB+ Q Source' library type to add external source code to a project (like core files) for navigation and indexing.
- InstanceTreeView memory leak fixed and the structure is correctly disposed now
- Some names in usages' dialog fixed
- Upload a file to an instance has been added. You can select a local file and assign its content to a variable
- Export to CSV uses comma separator from now with appropriate escaping logic
- All possible deprecated and marked for removal warnings were resolved.
- issue #58: charting time values are offset - wrong timezone is used for date/time axis
- Code completion takes the Inspector result into account: if the KdbInspector is active when code completion takes variables. function and tables from loaded structure with 'inspector' location.
- New KdbInspector tool windows has been added that discovers dynamic structure of an instance.
The function is still experimental, so please use carefully. Auto-discovery (discovery after connection) can be
enabled
in options but disabled by default.
the Related Q query for discovery can be found in Git: https://github.com/kdbinsidebrains/plugin/blob/main/src/main/resources/org/kdb/inside/brains/inspector.q
- All KDB Plugin services moved to DumbAware and the plugin can be used at indexing time.
- Unary primitive functions formatting incorrect. All added into grammar logic as UnaryFunction. They are an inner implementation of some functions
- Table declaration annotations added:
- tailing semicolon marked as an error
- set of semicolon (empty declarations) marked as an error
- even expressions are allowed without column names, they are marked as a warning if it's not declaration
- in TableResult filter Copy action copies component full id instead of text: fixed. Copies column name instead.
- Hidden columns copied to buffer anyway: fully redesigned and works as expected now
- Selection by index column does nothing if table is not in focus: the focus is grabbed now
- Expand a list/dict/table by double-click in TableResult (can be disabled in options)
- Columns filter added to TableResult view on the right side: particular columns can be hidden/shown based on the filter.
- TableResult takes almost all space in right spit.
- 'Flip Selected Rows' is opened as a new tab like new expand action instead of a window now. Ctrl+Dbl Click is hot-click for the action.
- "Open TableResultView in separate frame" action has been removed and replaced by DragAndDrop/Docking. You can now drag out a Table Result tab anywhere to detach it or drag it back, if required.
- Supporting of IDE 2020.3.x will be removed soon due to high volume of marked for removal APIs.
- Average/Count/Sum in TableResult for selected cells: for all numerical cells in selection average and sum is calculated as well as the number of total selected cells
- Show dictionaries with a table as keys or values in TableResult view
- The plugin icon has been changed to resolve conflict with another plugin
- Show row indexes column in a TableResult has been added. Can be individually enabled per TableResult and enable/disabled on the KDB+Q Settings panel. Disabled by default.
- Typos in some labels
- An exception at 'Flip Table' action
- Symbol references introduced
- Open TableResultView in separate frame actin added
- Flip selected rows in separate table view action added
- Open In Editor action added to TableResultView. You can open the content of any cell in a separate editor tab by Alt+Enter or Alt+double left click. It can be used to open JSON, XML or any text content for quick view or edit.
- Import/Export Scopes and instances added
- Context naming convention checks added: leading dot, one level depth and spaces are checking
- Clipboard XML exporting fixed for XML text in a cell
- Removing items from the Instances Tree requires additional approval
- Default InstancesToolWindows type is Tabbed instead of Combo as requested by many users
- Items are auto-expanded at search in InstanceTree
- Max decimal precisions are 16 digits now, and size is limited by the spinner in the settings
- Export to Excel and CSV ignores symbol and string wrapping options and exports only raw data
- Nulls in Excel exported as empty value
- Copy/Paste takes into account symbol and string wrapping options
- CredentialsPlugin functionality redesigned:
- plugins copied into Idea System folder (current approach will be auto-migrated)
- duplicate plugins are not allowed and adding a new version replaces exist one
- plugin version and description added (plugins must be recompiled)
- Credential plugin structure has been improved and redesigned a bit but backward compatible: the plugin version has been added with "undefined" default value for now.
- Global and Scope credential changes show the appropriate error if something is wrong
- Credentials plugin completely destroyed when removed and releases all resources
- Idea 2022.2 supporting added
- Show public and private assignments in the StrictureView
- Show the current element in the NavigationBar, based on the StructureView
- Only console settings are restored: #36
- Not all iterators shown in the console result: #37
- Ability to split Console and TableResults views in Instance Console View: vertically or horizontally. You can set the default split type in configuration (by default - no split) or set required for each Instance Console View.
- Tooltip for a TableResult has been removed - was added for debug and contains irrelevant information
- Closing last Instance Console View doesn't close the Kdb Console tool window
- Quick definition of an unknown function (quickfix) has been added
- A function's arguments/parameters suggestion has been fixed
- Key columns showed wrong after moving around in TableResult
- New 'Execute Global Assignment' action has been added: by pressing 'Ctrl + Shift + Enter' or from the context menu, you can send the whole global definition for current context into an instance. For example, if you have a function definition, then 'Execute Global Assignment' will execute the definition wherever the cursor is inside the function. It also works for global multiline expressions.
- Long query overlays query time and rows count in a table result view. The query is truncated to available size now.
- Freezes at cascading parentheses parsing has been fixed
- Code formatting has been added. Warning: it's not recommended to reformat all code at once
- Type suggestions added for a column definition
- Idea 2022.1 integration fixed (search in a TableView)
- a string shown in a TableView
- chart fails if there is no time/float columns
- Hovering for striped tables is not shown.
- TableView background is not correct if 'stripe table' is disabled for keyed tables.
- Disabling 'wrap string' option also disables 'Stripe table' option.
- Key column symbol is not shown for keyed table but dictionary.
- a list shown in a TableView (can be disabled in options. Enabled by default.)
- a dict in a TableView can be disabled in options
- a string inside a string parsing fixed
- Dark icons set added with IntelliJ Idea colors
- Charting is ready now:
- A New Magnet/Snap tool has been added with the ability to snap to line, vertex or disable the tool (default)
- The Values Tool shows only series values and no range values anymore
- Measure Tool has a context menu with remove/clear ability
- If a TableResult has more than 200K rows*cols - a 300ms timeout for filtering update has been added after the search field change. That allows writing the full search text before do the real search work to reduce freezes for a huge table result. Can be disabled in the search toolbar for the current search session.
- Console behaviours changed:
- Closing a console tab closes the connection as well now
- Changing active console tab changes active connection, so it's the same as select active connection from the toolbar
- Table Result search's been fixed and can process strings now.
- EPA 2021.1 supporting added
- Table Result supports search by words and regex with or without case match
- Right side toolbar in charts view has been added instead of the context menu
- Charting tools have been introduced:
- Crosshair tool - to show current values for the mouse position
- Measure tool - draw measuring rectangles on the chart with values diff: left mouse click to start, move, left mouse click to finish. Esc to cancel current drawing.
- Points collector - save any chart clicked values into the points' collector table with the ability to export or send into another KDB instance.
- resolved #20: QDocs doesn't work for variables
- Charting configuration has been redesigned
- Candlestick chart has been added
- Line charts have been updated:
- Spline, Steps, Bar, Area, Diff and Scatter line charts have been added
- Ability to change line width and show shapes added
- Transparent colors and axes orders added
- KdbInstances color selection doesn't work in 2021.3.x versions
- Connection state notifications are not shown after the plugin update without a restart
- Line Chart can't draw not double numbers
- Line Charting has been added to the Table View
- Icon colors changed for dark theme
- Restart is not required anymore for the plugin
-
Excel exporting format changed to xlsx (Excel 2007) instead of xls (Excel 95)
- 1,048,576 rows instead of 65,536 and 16,384 cols instead of 256
- Streams worksheet is used to reduce memory footprint
-
Export actions run as a background task to reduce UI freeze
- Supporting of Idea 2021.3 (build 213.*) has been added
- GrammaKit upgraded to 2021.2.1, IdeaPlugin to 1.3.0, Changelog to 1.3.1
- Grammar has been fully redesigned and performance has been significantly improved for nested expressions
- StructureView has been updated as well: a variable type is show based on assignment expression
- Files importing has been redesigned and improved. The 'system l' construction supports files refactoring now.
- Supporting version upgraded to 2021.2.3
- Auto-Reconnection logic executes the query, not just does reconnection
- auto-completion has been disabled for parameter names
- Symbols indexing has been added but not injected in dependency logic yet
- Auto-popup has been added for importing files for both, '\l ' and 'system l' constructions
- Auto-Reconnection option has been added: when a query is executed and connection's been lost, it's auto-restoring first and notification is raised is it can't be restored. Enabled by default.
- 'Reconnect Instance' options have been added in connection lost notification. The notification is moved to Warning from Error.
- Linux 'Run Configuration' fixed (thanks to zvenczel-kx)
- The latest IDE version is supported now (2021.2.2). Many compatibility issues have been fixed as well.
- Local variables added into the completion list
- Quick Documentation format has been fixed
- Missed keyword docs have been added
- Queries logging functionality has been added: each finished query is logged into .kdbinb folder into daily files (can be disabled in settings).
- Copy/Paste issue in the console has been fixed: market is not copied anymore.
- Documentation for all keywords and system (.Q, .h, .j and .z namespaces) functions have been added. Press Ctrl+Q on a function.
- Dynamic documentation based on comments with qdoc-tags supporting: https://code.kx.com/developer/libraries/documentation-generator/#qdoc-tags. Press Ctrl+Q on a variable.
- TypeCast to hh, mm, ss has been fixed. Lower and upper (parse from a string) casting is supported now.
- Issue with files renaming/moving (files refactoring) has been fixed.
- Global/Local variables inside a lambda defined in a namespace are detected correctly now.
- Variable references work inside a table definition
- Arguments for .z, .j, .h and commands have been described in the completion
- Lambda parameters info has been added (Ctrl+P)]
- Arguments for keywords and .Q namespace have been described in completion
- The correct variable type is shown in the completion popup
- Lambda parameters are shown in the completion popup
- StructureView for Q files is ready
- A toolbar to a table result view has been added
- Variable references have been updated and work fine inside global/local and query contexts.
- MixinLambdaVarDeclaration added - minix local and global scope of a variable is shown as an error with quick fix ( changing scope into initial one).
- Inline comment parsing has been finished and appropriate code doesn't blink anymore
- Psi tree elements slightly redesigned to reduce complexity
- Export rows/columns fixed
- Nulls are exported into Excel instead of wrong Q values
- Export re-uses current TableResultView formatting options (string escaping and so on) instead of the default one.
- QInplaceRenameHandler removed from the project
- system "l " added to an import pattern
- UnresolvedImport moved from an Annotation to an Inspection
- UnusedLocalVariable moved from an Annotation to an Inspection
- QImportReferenceProvider optimized
- QVariableReferenceProvider - much better but shows global variables in local scope
- The plugin description has been updated
- Grammar has been redesigned to remove lags and issues. The complexity of q.flex was reduced and partly moved to q.bnf
- All KdbInstance related stuff (toolwindow, services) are DumbAware now.
- Gradle plugin has been updated to get changelogs from this file and release with publishPlugin
- Dicts processing was removed from flex/bnf - too complex and takes ages for parsing
- Initial public version of the plugin