WIP: release notes for 0.4.0

This commit is contained in:
CJ van den Berg 2025-07-16 20:40:31 +02:00
parent 30c6ac0e82
commit f4b0869ce1
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

251
release_notes.md Normal file
View file

@ -0,0 +1,251 @@
cj feat: BREAKING make highlight_columns a list of integers
cj feat: allow arrays of scalar values as config options
cj feat: add limit_auto_save_file_types config option
cj feat: save file if changed if auto save is enabled
cj feat: save and restore enable_auto_save in editor state
cj feat: add toggle_auto_save command
cj feat: add enable_auto_save configuration option
cj feat: save and restore enable_format_on_save in editor state
cj feat: add toggle_format_on_save command
cj feat: create parent directories if needed when saving new files
cj feat: add support for configuring the file type syntax parser
cj feat: merge configured and static file type lists
cj feat: port file type palette to use configurable file types
cj feat: port list_languages command to use configurable file types
cj feat: make project_manager use configurable file types
cj feat: port editor to use configurable file types
cj feat: complete loading of configurable file types
cj feat: add support for arrays of config values
cj feat: update cbor to add support for allocating extraction of arrays
cj feat: add command to edit file type configuration files
cj feat: more improvements to panic handling
cj feat: add support for arrays and hex color values in config files
cj feat: add functions for converting colors to/from hex values
pranavrk7 feat: add ctrl-c keybind to exit insert mode
cj feat: smart delete leading whitespace to indent_size
cj feat: add follow_cursor_on_buffer_switch option (default false)
cj feat: install signal crash handler to reset terminal before dumping stack traces
cj feat: add powershell language support
cj feat: add hurl language support
cj feat: add support for ~ expansion to open_file command and file_browser
cj feat: add csharp formatter
cj feat: add legacy input encoding compatible undo keybinding in emacs mode
cj feat: add highlight_columns_enabled config option and store it on toggle_highlight_columns
cj feat(completion): store received completions in a buffer
cj feat(completion): forward completion entries to current editor
cj feat: add home/end keybindings to palette
cj feat: add flow mode keybind to insert full iso date and time
cj feat: update flow-themes to add base16 theme collection
cj feat: add vim mode command to reload_file (:e!)
cj feat: add flow mode keybinding to reload_file
cj feat: add initial basic visual block vim mode
cj feat: add support for binding '<' and '>' in vim mode
cj feat: add rpmspec support
cj feat: add protobuf support
cj feat: update tree-sitter for uxntal, rpmspec and protobuf support
notchoc feat: support uxntal syntax
dr.slate2 add vim bindings for swapping tabs
dr.slate2 fix compile error
dr.slate2 removed mark related code
dr.slate2 added * command in vim mode
dr.slate2 add vim bindings for setting and goto'ing global marks
dr.slate2 begin supporting global marks
dr.slate2 add bindings for the rest of the mark manipulation commands
dr.slate2 began support vim mark system
dr.slate2 added join line binding for vim
dr.slate2 added cut_buffer_begin command and vim binding
dr.slate2 added goto buffer begin/end keybinds for vim mode
dr.slate2 added dG vim binding
cj feat(flicker): avoid triggering initial render from branch widget
cj feat: stop rendering on panic
cj feat: add toggle_highlight_columns command (shift+f11)
Single line fix for palette crashing when its items's length is exceeded.
cj feat: add restore_last_cursor_position config option (default true)
Fixed broken shifted keybinds for Helix mode
cj feat: do a full reparse if tree-sitter reports syntax errors
cj feat: add syntax.count_error_nodes function
cj feat: add support for pre-generated tree-sitter error queries
cj feat: display mini git status in branch widget
cj feat: add status command to git client module
cj feat: add support for init/deinit functions in Button context values
cj feat: add branch widget to default config
cj feat: add some whitespace to branch widget
cj feat: load project file list from git if available
cj feat: make logview include precision for small tdiff values
cj feat: add git.workspace_ignored_files function
cj feat: query project files via git (part 1)
cj feat: add config option to enable jit-in-time debugging
cj feat: check we have a git repo in the branch widget
cj feat: add git.workspace_path function
cj feat: add git branch widget
cj feat: start git client module
cj feat: enable hightlight columns by default
cj feat: dynamically allocate highlight_columns
cj feat: use solid alpha dimmed background color for highlight column
cj feat: add copy_file_name command
ivel.santos Helix: fixing c keymap behavior
ivel.santos Helix: normal mode after delete
ivel.santos Fix insert_line
ivel.santos Fix pasting line
ivel.santos Correcting selection after paste
ivel.santos copy and paste improvs and inclusive selection correction
cj feat: add reload_file command
ivel.santos goto_line_vim: integer parameters
ivel.santos Extend_line_below: integer parameter
ivel.santos add helix mode keybindings for setting integer argument
cj feat: add highlight_columns initial basic implementation
ivel.santos feat: Vim mode: till_char (#224)
ivel.santos fix: move_next_word_end (#225)
ivel.santos feat: Helix mode: move_next_word_end (#223)
cj feat: add vim mode keybindings for setting integer argument
cj feat: add emacs mode keybindings for setting integer argument
cj feat: add support for repeat integer arguments to many commands
cj feat: add flow mode keybindings for setting integer argument
cj feat: display pending integer argument in keybind widget
cj feat: re-add support for integer command arguments
ivel.santos feat: Helix & Vim mode: adding more commands (#218)
cj feat: call pause/resume_undo_history on entering/exiting insert modes
cj feat: add per input mode init_command and deinit_command support
ivel.santos fix(helix): Making `d` and `c` work as expected in normal mode
ivel.santos Helix mode: find_file
ivel.santos Helix mode: move_cursor_word_left
ivel.santos Helix mode: move_next_word
ivel.santos Helix mode: move_to_char
ivel.santos Helix mode: adding file_picker_in_current_directory
ivel.santos Helix mode: adding extend_line_below
cj feat: add `Customise theme` command
cj feat: add debug build warning to home screen
cj feat: add log as an extension for the conf file type
cj feat: add support for string args in --exec separated by colons
cj feat: add build version to home screen
cj feat: close results pane if find_in_files mode is cancelled
cj feat: add clock widget digit style parameter
cj feat: add status bar widget parameter support with parameters for linenumber and spacer widgets
cj feat: use explicit error handling for all startup errors
cj feat: add command palette bindings to vim visual modes
cj feat: queue messages to LSP while waiting for initialize response
cj feat: make LSPs fully async
cj feat: output total size of binary queries
cj feat: use binary tree-sitter queries created at compile time
cj feat: allow parallel loading of tree-sitter query cache entries
cj feat: add caching of tree-sitter query objects
cj feat: add some home screen customization
cj feat: re-organize home screen
cj feat: improve some command description strings
cj feat: add find_file command as an alias for open_recent
cj feat: add config options to disable scrollbars and/or file icons
cj feat: also add extra new line and indent for () and []
cj feat: indent and insert extra new line in smart_insert_line between braces
cj feat: toggle inputview if showing in toggle_panel
cj feat: add smart_delete_backward command for improved smart pair handling
cj feat: improve smart_insert_pair and add smart_insert_pair_close
cj feat: detect and auto open file links in selection in open_file command
cj feat(version): add timestamp of last commit to version info
cj feat: add save_file_with_formatting command
gero.schwaericke feat: save file without formatting
gero.schwaericke fix: open recent file ignoring page up/down
cj feat(keybind): add keybind mode config setting to disable default bindings
cj feat: add smart_insert_pair command
cj feat: add hypersubatomic theme
cj feat: make join_next_line collapse whitespace
cj feat(keybind): add `inherits` keybind config option for multiple inheritance
cj feat: make mru file position lookup synchronous
cj feat: toggle gutter symbols along with inline diagnostics
cj feat: improve shell_execute_stream_output to follow output tail only if cursor is at buffer end
ingo.lohmar mv alt+R binding from project to normal
ArianDehghani feat: allow .cmd along with .exe for Windows paths (#187)
cj feat: let mini modes inherit gutter line number modes
cj feat(vim): add N vim mode binding for goto_prev_match
arianxdehghani Set php's default LSP to intelephense
cj feat(vim): add f and F keybindings for move_to_char
kekwm8 fix(vim): Remove 'jk' keybinding again and make select_line_vim work on multiple cursors
cj feat: add --new-file command line parameter
cj feat: add --scratch command line parameter
cj feat: don't ask for file type in create_new_file if we have a language override
cj feat: allow calling create_scratch_buffer with no parameters
kekwm8 fix(vim): Removed unnecessary cancel commands in vim mode cut functions
kekwm8 feat(vim): Add word movement for visual mode, and complete vim mode cut to end of line
lunalght8 fix: remove 'jk' keybinding in insert mode
kekwm8 feat(vim): implement cut to end of line functionality in vim mode
kekwm8 feat(vim): enhance cut and delete commands in vim mode (still missing cut functionality in delete to end)
kekwm8 feat(vim): Add VISUAL line mode to vim mode, fix vertical movement behaviour
cj feat: add configuration and command to toggle display of inline diagnostics
cj feat: add line number styles
cj feat(tui): add explicit width support
cj feat(home): add build version info to home screen
cj fix: restoring of last_find_query from editor state
cj fix: bitrot in syntax.FileType.guess_static
cj fix: make keybind module respect command.suppressed_errors list
cj fix: allow font names longer than 31 characters in win32
cj fix: add parser parameters to prettier formatters
cj fix: don't try to call thespian debugger signal handler on macos
cj fix: update thespian to fix windows builds
cj fix: don't error loop if the configured file type parser is not found
cj fix: file_type_config should not use syntax.FileType.get_all()
cj fix: incorrect string encoding of color config values
cj fix: allow editing the current editor's file type
cj fix: panic on extra long plane names
cj fix: panic in color.to_string
cj fix: don't stop unindenting on blank or full unindented lines
cj fix: add back missing windows check for crash handler
cj fix: make sure to show_home if no files are opened via command line
cj fix: add workaround for LSPs sending junk null messages (omnisharp)
cj fix: don't truncate scratch buffer names in tabs and terminal title
cj fix: prevent unexpected message errors on missing LSP binary
cj fix: replace std.unicode.utf8Decode with safe function that cannot panic on invalid UTF-8 input
cj fix: nudge_delete should handle cursor moving to same line as delete
cj fix: minor home screen fixes
cj fix: remove multithreaded buffer access in background async differ
cj fix: remove multithreaded buffer access in project_manager
cj fix: word/line wise dragging should keep the original word/line selected
cj fix: remove prefix from paths in ripgrep results
cj fix: use iso date format for default date instert keybind
cj fix: workaround broken dir.statFile on WSL1
cj fix: left an right movements jump to selection boundary
cj fix: prefer targetSelectionRange over targeRange if both are provided by LSP
cj fix(flicker): home screen should not load if we have a file to open
cj fix: update thespian to fix subprocess file descriptor race
cj fix: force ripgrep to never try search stdin
cj fix: add missing bin_path module
cj fix: re-render on branch widget update
cj fix: bracketed paste should check for ctrl+j and insert \n
cj fix: render control codes in mini buffer input with unicode control code symbols
cj fix: date keybinding should instert
cj fix: proactive close subprocesses on early exit in shell module
cj fix: remove git.current_branch_cache
cj fix: add missing logger clean-up in shell module
cj fix: paste in goto mode
cj fix: check target
cj fix: side scrolling of highlight_columns
cj fix: insert right char on move failure in smart_insert_pair_close
cj fix: merge build failure in helix.move_next_word_end and add repeat support
cj fix: call configured init_commands for all mode types
cj fix: don't match against legacy unshifted keys when we have extended input text
cj fix: pause_/resume_undo_history should correctly store/restore an undo point
cj fix: win32 build
cj fix: remove blocking project manager call on startup
cj fix: never double free LSP init queue
cj fix: ts_bin_query_gen should be built for host for cross-compiling
cj fix: destroy QueryCache.CacheEntry objects on clean-up
cj fix: remove arbitrary limit to command buffer size
cj fix: don't reverse insert pairs when selection is reversed
cj fix: do not parse tree-sitter queries twice
cj fix: remove ctrl+p command palette binding
cj fix: merge build failure
cj fix: stop after removing widget in Widget.remove (fixes ReleaseFast crash)
cj fix: potention dangling pointer in mainview on view list realloc
cj fix: add Meta declarations post-merge
cj fix: mru position should not override line numbers on command line
cj fix: don't restore editor view rows and cols
cj fix: add missing Meta types
cj fix(tasks): prevent task palette from being too short to show palette label
cj fix(tabs): refresh hover on tab changes
cj fix: add workaround for conpty ul color escape sequence parser bug
cj fix: get_mru_position should not hang if file not found in project
cj fix: row & column in get_mru_position
cj fix: remove initial empty frame render on startup
cj fix: make move_cursor_up/_down fallback to move_begin/_end
cj fix: add missing Meta declarations pulled in by last master merge
cj fix: don't get stuck in an overlay mode if it is triggered from the command line
cj fix(editor): update cursor target column after nudge_insert/_delete