Changelog
Oct 29, 2024 - 0.19.3
Added two new features:
The zoom to fit feature, which allows you to quickly set your viewport to view all editors on the canvas
Auto-updating, which allows you to update to the newest version of Haystack without needing to redownload the application
We're still working on this for Linux!
Also, made three important fixes:
Some extensions did not work in the sidebar (e.g. Snowflake, Supermaven chat, etc.). This is now fixed and every extension that makes use of the sidebar should work
Using go to definition on an external library (e.g. System) would not work. This is now fixed and it should be possible to navigate to any external library using go to definition
Reverted "go back" and "go forward" arrows to have the same behavior as in VS Code i.e. it always navigates to the previous selection, both within the same and editor and between different editors
Other fixes:
Fixed code folding not working inside of symbol editors
Tuned down how aggressively symbols are opened in new editors
Fixed issue with restoring editors or opening a canvas workspace where symbol editors could drift from their original position
Fix multiple issues with merge editors, including being unable to close a merge editor
Fixed issue where the navigator view would not correctly update when editors are added/closed
Fixed bug where CMD/CTRL+OPT/ALT would not trigger the "move editor" behavior
Oct 20, 2024 - 0.19.2
Some more fixes:
Fixed multiple issues with spatial sorting (i.e. the ordering of editors on the canvas)
Fixed bug where hiding/showing dots would not update the canvas immediately
Changed dark mode canvas background to make it easier to distinguish between the editor and the canvas background
Fixed issue with opening a webview/image files where you could open multiple of the same file and where renaming the file would break the webview
Fixed the editor minimap being unusable
Fixed issue with restarting Haystack while on WSL or Ubuntu corrupting editors
Fixed editor undo not working correctly on non-QWERTY keyboards
Fixed some slowness in dependency arrows
Fixed dependency arrows sometimes changing colors unnecessarily
Fixed bad focusing and selection when going to a definition or reference
Fixed go to definition not working for imports (and other small cases)
Oct 6, 2024 - 0.19.1
Some minor fixes:
Fixed issue where saving/loading canvas workspaces with different scales would cause editor locations to be incorrect
Fixed bug where loading a canvas workspace would sometimes not create an editor
Fixed rename not working inside of symbol editors
Fixed folding not working inside of symbol editors
When you unpin an editor, it will now use the same top-left position instead of finding a possible location in the viewport
Fixed a bug where pressing "enter" in the references editor would not close it
Fixed a bug where pressing "esc" would sometimes not close the references editor on the canvas
Oct 3, 2024 - 0.19
We made Haystack source-available at https://github.com/haystackeditor/haystack-editor.
We've also made some much needed fixes and improvements:
Fixed symbol dependencies for Solidity, PHP, etc.
Now arrows should appear for these languages
Webview editors can now be pinned/unpinned
Resizing pinned editors at a low scale works correctly
Renaming an editor no longer closes the editor and opens a new one, but reuses the same editor
Fixed bug where hover information could appear at awkward positions when the scale was not 1
Editors now remember their pinned size if you unpin and repin them
Symbol dependencies at file selection is now automatically enabled
This means we automatically draw arrows to/from your selection in a file now
Fixed adding breakpoints in symbol views
Created merge editors
These can be used to resolve merge conflicts
Stopped editors from swallowing CMD/CTRL+S inputs when CMD/CTRL+S is remapped to do something other than save
Added the ability to show/hide the Haystack navigation bar
Changed the navigator view shortcut to be CMD/CTRL+SHIFT+J
Fixed "showHover" action to work in symbol views
Sep 16, 2024 - 0.18
We made the following fixes and improvements:
Added an app image for Linux users that can be run more easily
Added a Windows installer for Windows users
Fixed many references editors bugs
Fixed hopefully all bugs with editors that have webviews
This includes Jupyter notebooks, SQL viewers/editors, HTML preview, and more!
Fixed bug where middle mouse clicking to close would paste text
Fixed bug where middle mouse clicking to close an unsaved editor would cause the Linux "are you sure you want to close with unsaved changes" dialog to be non-interactable
Fixed bug where restarting Haystack with a symbol editor would break the symbol editor
Removed the "Editor Layout" menu item in the "View" Menu
Sep 10, 2024 - 0.17
Most important updates:
Added dependency arrows to/from files (see screenshot below)
The dependencies are based on the symbol that encloses the selection e.g. if your selection is inside testFunction(), Haystack will draw dependency arrows to/from testFunction
Since this is experimental and can cause performance degradation, this is hidden behind the "Haystack Editor: Enable Symbol At File Selection" setting
Added an easy way to fullscreen editors by pinning them
Either use the "pin editor" floating toolbar action or use the OPT/ALT+Enter shortcut
This is still in development, so please give any feedback on the usability of this feature and we'll be sure to fix it!
Other fixes/improvements
Closing an editor will focus the next most-recently active editor
Fixed issue with the title bar colliding with other editor UI elements
Fixed issue where if you middle clicked on an editor at a low zoom level, you would move the editor instead of panning the canvas
Added a setting to disable the behavior where middle-mouse-clicking an editor closes it
Fixed a bug where changing the theme required the user to restart Haystack for the canvas to have the new color
Fixed a bug where creating a new file via File > New would not actually create a new file
Added shift+click and shift+enter to dependency list navigation. This adds a new editor without closing the dependency list
Fixed a bug where dragging and dropping a file into the canvas would not open it
Added a confirmation dialog to the “close all editors button”
Fixed unable to go down a level in a describe code block
Added circles to the beginning of dependency arrows to designate where they’re actually coming from
Fixed bug where hitting a breakpoint while debugging would not show the active variables
Fixed some misc bugs with the references editor
More to come in the next update!
Sep 7, 2024 - 0.16
Headliners:
WSL works for Haystack now!
SSH works for Haystack now!
Added a Haystack keybindings helper that can be accessed through the “Keybindings and Help” button on the bottom right or the “See Haystack key bindings” quick action
Added history stack navigation
Using the “Go Back” and “Go Forward” buttons in the main toolbar allows you to go back/forward through the editors you’ve accessed
Using the “Jump to previous/next selection” buttons in the floating toolbar allows you to go to the last/next selection. This is useful if you jump to a different part of the same file and want to go back!
Added the ability to pin editors!
This pins the editor to the viewport, and allows you to use an editor similar to more traditional IDEs e.g. VS Code
Everything else:
Added a way to focus on an editor’s container (e.g. so you can move it via arrow keys)
The shortcut CMD/CTRL + Escape. This is adjustable.
Made editor header slightly larger so it’s easier to click
Fixed Git Lens bug where in-line blame at the top of the file would be displaced to the text below
Fixed extension text colliding with the editor UI
Fixed editor flickering issues
Fixed issue where left sidebar’s focus would be stolen by an editor
This in turn fixes issues like shortcuts not working in the file explorer (e.g. F2 to rename)
Fixed issue where going to deepest symbol at the last line of a symbol does not work
Fixed issue where adding a newline to the last line of a symbol while in a symbol editor would cause the line to disappear
Fixed a bug with autosaving clashing with the navigational copilot
Added keyboard navigation to incoming/outgoing call buttons
These are CMD/CTRL + K followed by I/O for incoming/outgoing respectively
Added shortcuts to everything in the floating toolbar
Hover over each button to discover it’s new shortcut!
Added CTRL tab to allow navigation between editors in history
Made the references editor a pinned editor that only takes up half of the viewport by default and only dismissed if a user presses ESC or clicks on a reference
Aug 28, 2024 - 0.15
We made the following fixes (bolded items being the most important):
Fixed arrows being slow/not appearing at all
Fixed Haystack having bad resolution with editors
Fixed a bug where moving text up/down via alt+arrow keys would make symbol editors freeze
Fixed numerous bugs with editing in symbol editors that could cause symbol editors to become corrupted, including copy+pasting inside of them
Fixed a bug where dragging editor headers or clicking on the close editor (X) button would cause the camera to pan/zoom
Aug 24, 2024 - 0.14
We've majorly changed the way extensions work in Haystack, and you should now be able to access pretty much any extension you could get in VS Code!
Please let us know if you have any issues with extensions in Haystack.
In addition, we made the following fixes:
Fixed a bug with clicking on a part of the outline view
You can click and drag an editor from anywhere using CMD/CTRL + OPT/ALT
Laying out all editors in the canvas now adjusts the node size as well
Fixed the hover UI blocking the cursor when the canvas is too zoomed out
Fixed an ugly bug when the user selects an editor while zoomed in and the canvas tries to pan/zoom in a very distracting way
Added the ability to hide/show canvas dots. Just type “hide canvas dots” or “show canvas dots”
Made major fixes to extensions. You can now download pretty much any extension you want on Haystack!
Aug 20, 2024 - 0.13
Added the ability to import settings and extensions from VS Code:
Upon launching Haystack, you will be met with dialog below
You can also import settings + extensions at any time by opening up the quick command bar (CMD/CTRL+SHIFT+P) and running the "Import VS Code Settings and Extensions" action
Unfortunately we can't cleanly import every extension from VS Code. If Haystack fails to import an extension, you must manually download it from VS Code's extension marketplace and import it into Haystack. We're working on making this better!
Aug 16, 2024 - 0.12
Added zoom controls, the ability to clear and organize your canvas, and more!
Added zoom controls at the bottom right of the canvas so the zoom level on the canvas can be adjusted via UI. You can also use CMD/CTRL+scroll to zoom as well!
See image below
Added a main navbar on the top of the canvas as well as buttons to clear or reorganize your canvas
See images below
Your current canvas workspace can be saved more easily, either by:
A new "overwrite current canvas workspace" button on the main toolbar
The "overwrite workspace" button in the canvas workspaces view
See images below
Some fixes and minor changes
You can now middle click on editor headers to close them
Clicking anywhere on a window with a zoom level of less than 25% will allow you to move it
Aug 10, 2024 - 0.11
Added a canvas workspaces view, where you can save and load entire workspaces!
See the gif below:
Aug 8, 2024 - 0.10
Keyboard navigation, a new navigator view, a revamped references editor, and more!
Added highlights to callsites and colors to dependency arrows to better show dependencies
See image below
Instead of always creating new editors, we pan to an existing editor when possible (e.g. an existing file or symbol was opened)
Added a quick action to reset the canvas zoom level (search for reset canvas zoom level)
Added pinch to scroll on trackpads
Added a new "find references editor" that floats on top of other editors
See image below
When you go to definition, we also include possible implementations in the list of definitions
Added a navigator view that shows all opened editors and allows you to navigate to an editor with a single click
See gif below
Added keyboard navigation for Haystack
CTRL+Tab to go to next editor (with SHIFT+CTRL+Tab to go back)
Added a way to quickly go to an editor in the viewport:
Press CMD/CTRL+{0-9} to quickly jump to an editor in the viewport
See gif below
Added notification prompting user to join our new email list
Added feedback button to the canvas so you can contact us for complaints!