Skip to content

Releases: y3owk1n/fude

v0.3.0

Choose a tag to compare

@y3owk1n y3owk1n released this 24 Oct 05:22
a964831

0.3.0 (2026-10-24)

⚠ BREAKING CHANGES

  • api: a window's height is its text rows, without its status line

Features

  • api: a module's message may be an alert, which the window notifies of while away (1c41ca5)
  • api: the tabline module lists the tab pages on the top row, beside the buffers (4b22ad3)
  • cli: --gui shows fude, a share, an attach or a join in a native window (1742db9)
  • client: a frontend may place windows, and frames carry the layout (36c52d6)
  • follow: a follower copies zoom and tab pages, and says whom it follows (3d86a18)
  • gui: --gui on Linux opens a GTK 4 window (3e60623)
  • gui: --gui on Windows opens a Win32 window (73e9836)
  • gui: a native title bar and status bars on macOS (679a4f0)
  • gui: a word under Command is a link to its definition (9dfef1a)
  • gui: assistive apps read the window on Linux (5a6e1f1)
  • gui: assistive apps read the window on macOS (c70e318)
  • gui: assistive apps read the window on Windows (966dca2)
  • gui: fude gui opens files in a native macOS window, through AppKit with purego (17adad4)
  • gui: fude-gui.exe and a Start menu entry on Windows (0231d70)
  • gui: Fude.app, built by just app, in macOS releases and oku installs (0ee0f16)
  • gui: gui.font and gui.font_size set the window's text font (c0234ba)
  • gui: hover shows at the word the mouse rests on (100aaa9)
  • gui: images and scroll bars on Linux (c85adda)
  • gui: images and scroll bars on Windows (6b20952)
  • gui: input methods and notifications on Windows (573bcad)
  • gui: input methods type into the window, and the menus give Command keys their usual meanings (95fe65d)
  • gui: input methods, notifications and a launcher on Linux (0d984b2)
  • gui: long documentation and floats scroll on macOS (c3b8859)
  • gui: menus carry their items, and the window shows them as native lists (2d151c2)
  • gui: menus pick, scroll and close by mouse, and a dragged selection moves its text (3bd9607)
  • gui: menus, key hints and floats show in boxes placed by their anchors (a30bc48)
  • gui: right-click menus, scroll bars, smooth scrolling, a blinking caret, and lists that scroll and light under the mouse (36a9f2b)
  • gui: splits are native split views with status bars, and the title bar holds the buffers as tabs (6e529cd)
  • gui: tabs close, move and show changes under the mouse, files drop in, and :bmove moves a buffer (9d28498)
  • gui: terminals, text styles and images draw in the window, and the spinner turns (098b114)
  • gui: the chrome takes the system's materials, colours, font and symbols (747eb3c)
  • gui: the command line, finder, messages and questions show in native boxes and sheets (2afc828)
  • gui: the finder's preview and floats scroll on Windows (4e6bdd8)
  • gui: the header bar's own title and status bars of GTK labels on Linux (c083a79)
  • gui: the mouse clicks, drags, scrolls and picks tabs, and frontends give it to the session by cell (3fd34d3)
  • gui: the mouse on Linux, with panes, boxes and the mouse's logic shared (104ab12)
  • gui: the mouse on Windows (40c09e6)
  • gui: the palette's, the finder's and menus' lists are GTK lists on Linux (8c9d9e7)
  • gui: the palette's, the finder's and menus' lists are list views on Windows (130d590)
  • gui: the palette's, the finder's and menus' lists are system tables on macOS (4f1ac00)
  • gui: the right-click menu shows what the window's servers offer (90a0c7d)
  • gui: the system's own title bar without tabs on Windows (37e0fa1)
  • gui: the tab strip, title and text size on Linux (3120718)
  • gui: the tab strip, title and text size on Windows (5f8f4dd)
  • gui: the tab's × has a hover of its own, and the current page is raised (e83475b)
  • gui: the window takes the theme's look, shows unsaved changes and the file's icon, and sizes its text (8d4eaae)
  • gui: the window's own text takes gui.font's family (512510d)
  • vim: tab pages, with gt, gT, <C-w>T and the :tab commands (473a5c4)
  • wire: a frame's menu says where it goes (6eb91e4)

Bug Fixes

  • finder: a file's folder drops its trailing separator on Windows (f56c894)
  • gui: a closed window no longer leaves Linux's theme colours to a freed widget (ceaf3a5)
  • gui: a drag starts once the mouse reaches another cell (64d810b)
  • gui: a glyph wider than its cell shows whole (469f1d4)
  • gui: a scroll bar's fade no longer crashes once its pane is gone (b81f78b)
  • gui: a triple click keeps the line it selects (102600a)
  • gui: closing a window with its right-click menu open no longer crashes on Linux (25afa2c)
  • gui: no crash on Linux without an accessibility bus (0234c87)
  • gui: no system title bar over the strip on Windows (5f8044d)
  • gui: the status bars match on every system (f782c1d)
  • mouse: a click closes the float and the menu at the cursor (c01c5ee)
  • **o...
Read more

v0.2.1

Choose a tag to compare

@y3owk1n y3owk1n released this 22 Oct 12:23
d343148

0.2.1 (2026-10-22)

Features

  • api: :w !cmd pipes the lines, and :! expands % (265054b)
  • api: <C-n>, <C-p> and <C-x> complete in insert mode (3f0d70b)
  • api: a key waits briefly for its busy plugin (601ce86)
  • api: agents propose changes a user reviews (708dfc5)
  • api: ghost text of several lines at the cursor (9dd511e)
  • api: key hints show a page at a time (8c986dc)
  • api: modules run the client commands a server names (b2f583c)
  • api: talk to a program a stream job runs (627883b)
  • api: windows that scroll together (e0138c3)
  • diff: diff mode (a59a501)
  • file: :file and :saveas make the old name the alternate file (01832ac)
  • filetype: a #! line and :set filetype give a buffer its filetype (27de0f3)
  • fold: fold.column marks folds in the sign column (6916938)
  • fold: zo and zc go a level at a time, zO and zC every level (16bfa1b)
  • open: fude open takes path:N (7e24123)
  • options: [list_chars] and [fill_chars] set what list and fillers draw (09f0f4b)
  • options: cursor_column shades the cursor's column (4c33dc6)
  • options: menu_height caps the completion menu's rows (2c629be)
  • options: side_scroll_off keeps columns beside the cursor (2b7cdfb)
  • options: title shows the file's name in the terminal's title (31c895a)
  • places: :colder and :cnewer go between the last ten lists (6e65b54)
  • plugin: sdk.Now reads the time of day (52698a8)
  • protocol: ask servers for the diagnostics they do not publish (c04afa0)
  • protocol: format as text is typed (29d4328)
  • protocol: go to a symbol's declaration (a77cfdc)
  • protocol: language servers hear of saves (909164b)
  • protocol: light up the references to the symbol under the cursor (65102fd)
  • protocol: list call and type hierarchies (3344ed0)
  • protocol: modules hear and answer what a server sends fude does not handle (be46134)
  • protocol: semantic tokens colour text over syntax highlights (6f60be4)
  • protocol: server tables cover root groups, requires, excludes, fallback, command candidates, capabilities and connect (36ea029)
  • protocol: server tables take placeholders, root patterns, env, a language id and answers (1b0cd2c)
  • protocol: show a server's inline completion, which <Tab> takes (705fae9)
  • protocol: show code lenses and run them with grx (8302896)
  • protocol: tell servers of the files fude changes (b44d803)
  • protocol: typing in a linked range types in each (7b0d214)
  • start: open a file at path:N and run +cmd as a command (7ec034b)
  • storage: list and clean what fude keeps (4aff8b9)
  • timeline: delete the logs of changed and unused files (10f1b3c)
  • vim: abbreviations (eb26ffb)
  • vim: break_indent and show_break start wrapped rows in (3591bb5)
  • vim: file marks A to Z (2d3474e)
  • vim: gcgc takes the gc object, so it uncomments the block (022c650)
  • vim: more marks, ex commands and command-line keys (92857b1)
  • vim: multicursors (f668250)
  • vim: registers, file marks and histories outlive a run (c40ada0)
  • vim: text_width breaks typed lines, line_break wraps at words (513b7bc)
  • vim: U puts back the line last changed (39bec8a)
  • vim: virtual_edit lets the cursor past a line's end (1aa39cd)
  • vim: window and buffer keys, :file, :saveas, :cquit and <C-z> (25b6fff)
  • vim: wrap_scan and hl_search turn off wrapping and lit matches (adcce78)
  • window: a count sizes <C-w>n's window, and <C-w>w, W and p reach floats (612b2dd)

Bug Fixes

  • api: do and dp map only in diff mode (4ca02f3)
  • buffers: :b matches a file's own name before its directories (e98dbde)
  • clipboard: yanks in terminals, floats, panels and the finder reach the clipboard (a4af910)
  • cmdline: <CR> on a path that exists opens it, not the first entry (7650acf)
  • core: count timeline nodes without copying them (61fd96c)
  • diff: :diffget matches a file's own name before its directories (27330a1)
  • file: <C-g> and :file say what they show in words (822948c)
  • finder: a panel that opens while a finder shows leaves it the keys (8bcb044)
  • lsp: a code action's command says nothing when the server answers null (35692d9)
  • open: fude open keeps a:2 a path on Windows (745ae17)
  • protocol: declare publishDiagnostics so servers such as vtsls send diagnostics (fe4de22)
  • syntax: copy the text once a parse, not once an edit (dcba08f)
  • syntax: move parse results through each change once ([43c3407](https://github.com/y3owk1...
Read more

v0.2.0

Choose a tag to compare

@y3owk1n y3owk1n released this 20 Oct 11:20
743b025

0.2.0 (2026-10-20)

⚠ BREAKING CHANGES

  • these options moved, and every window now shares them.
  • these config.toml keys moved.
  • vim.Host's Unhandled returns an error. A host that embeds vim.Defaults gets one that returns nil.
  • vim: vim.Host has FileName. A host that embeds vim.Defaults gets it, and one that does not must write it.
  • vim: vim.Host has Sideways and SetLeft. A host that embeds vim.Defaults gets them, and one that does not must write them.

Features

  • a command that fails returns why, so :cdo, :g and macros stop (B112, B257, B372) (040f73a)
  • api: modules and plugins write help: Doc and guide pages (B375, B376) (e1a8bb7)
  • finder: :pick resume opens the last finder again (B374) (d5dda40)
  • floats are windows (B364) (520bd89)
  • help: every key and command explained at length, with examples (B162) (c0b557c)
  • help: motions explained at length, with examples a test runs (B162) (79383bf)
  • lsp: the :lsp panel moves and scrolls as any window (B159) (92bcfea)
  • modules declare options, which :set changes (B377) (8c6f634)
  • plugin: disabled keeps a plugin from loading (B378) (5e87073)
  • sticky context and indent guides are modules (B153, B217, B379, B380) (830fe42)
  • terminal: a shell's window closes when it exits (B205) (46ee230)
  • terminal: complete :terminal with the session's shells (B205) (22de59d)
  • the first file is buffer 1, and a view may take no number (B89, B373) (489c5f1)
  • ui: a focused float shows its status line in its bottom border (B364) (1906f3a)
  • Vim's insert keys, digraphs and the command-line window (B29, B142, B371) (ac549a1)
  • vim: the motions, marks and tag objects Vim has (B6, B10, B13, B20, B27) (6b69f54)
  • vim: the operators, puts and registers Vim has (B14, B15, B17, B22, B25, B26, B85, B156, B224, B234) (c3cb64b)
  • windows hide, and :terminal toggles a shell (B364, B205) (001d9e0)
  • windows open where modules, [open] and :window say (B365, B366, B367) (9a8f7f6)
  • zoom a window, and bring every window back (B370) (105fa3b)

Bug Fixes

  • an ended terminal and a closed window let go of what they hold (e4ad1ba)
  • closed views and refreshed panels free their text (B133, B381) (c2fb001)
  • explorer: an explorer keeps its icons when another one is read (B128) (cff4617)
  • help: headings nest under one title (63f1b86)
  • terminal: a terminal opened from a file shows no line numbers (cfb7c83)
  • ui: clip a float's title to its border (6032846)
  • ui: draw over a modal box in styles on its ground (09fe71a)
  • vim: <Esc> after <C-k> types nothing (B29) (230c181)
  • vim: g& keeps the flags, counts around a register multiply, visual # and <C-g>u (B7, B14, B22, B28) (2be3485)
  • what writing help's reference turned up (7b01c8f)

v0.1.1

Choose a tag to compare

@y3owk1n y3owk1n released this 19 Oct 15:08
994f9ed

0.1.1 (2026-10-19)

Features

  • cmd: name oku's source builds in fude version (d333734)

Bug Fixes

  • build: pin the program's dependencies for go install (c404e7f)

v0.1.0

Choose a tag to compare

@y3owk1n y3owk1n released this 19 Oct 14:12
b378c3c

0.1.0 (2026-10-19)

Features

  • version: print the release fude was installed as (9e2f00f)

Bug Fixes

  • vim: scroll in visual mode (afc1981)