✨ Feature
- Preview PDF files on macOS and Windows with the system PDF renderer: pages fit the editor width, only the pages near the view are rendered and cached, a page counter shows the current page, and the wheel, arrow keys, Page Up/Down, Space and Home/End scroll
- Preview Word documents (.docx, .docm, .dotx, .dotm) as a read-only reading view with multi-level heading numbering, inline styles, lists, tables, images, links, footnotes and comments; pie charts become Mermaid pie charts, small category charts become tables, and other charts list their series
- Add an outline section below the file tree that lists functions, types and Markdown headings (with their
#levels) as a foldable tree, highlights the symbol at the cursor, jumps on click or Enter, remembers folded symbols per file, and can be turned off in Settings (#52) - Add a heading indicator beside the Markdown preview: one mark per heading, with the current section highlighted; hovering opens the heading list, and choosing a heading jumps to it and briefly highlights it
- Restyle Mermaid diagrams with colours taken from the theme, route edges through the subgraphs they cross, keep edge labels on smooth curves, and add a full-screen viewer with zoom (buttons, keys, pinch and ⌘-scroll) and pan
- Support projects inside WSL on Windows (experimental) (#66):
- Open WSL Folder lists the installed distributions
- Git, the terminal and formatters run inside the distribution
- A bundled watcher reports file changes from inside the distribution
- Saving keeps Linux permissions and ownership
- When a distribution is unavailable, documents are kept and autosave pauses
- Add per-project run configurations (#45):
- Read from
.winc/run.json, or detected from project files when there is none - Run, stop and rerun from the terminal tab bar, F5 and ⇧F5
- Ask before running a command from a repository, and again when the command changes
- Read from
- Add a shell picker to the terminal panel that lists the shells on this machine, including PowerShell, cmd and WSL distributions on Windows; each tab remembers its shell across restarts
- Move terminal find to a floating bar with match case, whole word and regex options; it searches across wrapped lines, follows new output and marks results on the scrollbar
- Add a Terminal page in Settings: default shell, panel position (bottom or right), font, font size, copy on select, confirmation before closing, the Winc prompt, shell integration and the Meta key on macOS; Git Bash is detected on Windows
- Redesign the commit view:
- The commit card sits below the changes
- The last unpushed commit has an inline Undo
- Stashes are listed in a collapsible group with apply, pop and drop, and their files open in a preview diff
- When there is nothing to commit, the view shows how the branch relates to its upstream, with one next step: Push, Pull, Sync or Publish
- Holding ⌥ turns Commit into Commit and Push
- Commit single lines or hunks from the diff
- Add interactive rebase and a three-way merge view for conflicts, and rework the two-way diff
- Add clone, init, branch rename, tag and remote management, and Git commands in the command palette, including Pull with Rebase
- Ask for Git credentials, SSH key passphrases and host key confirmation in a dialog, and keep the full Git output for review (Git: Show Output)
- Pull and sync with uncommitted changes: they are stashed and restored afterwards; if restoring conflicts, the conflicts are marked in the working tree and the original changes stay in the stash
- Carry uncommitted changes across branch switches by stashing, switching and restoring when Git refuses a plain switch; the stash is kept whenever the changes cannot be restored cleanly
- Add a searchable branch picker with Pull, Push and Fetch and a New Branch button, opened from the branch row or the status bar
- Add a
wincshell command (#77):- Install it from the command palette on macOS and in the Linux AppImage; the Windows installers add it to the Path
- The command returns to the shell immediately on Unix
- Unreadable targets are reported with exit status 1
- Add
-vand--version
- Open files single-clicked in the file tree in a preview tab, with the name in italics. Clicking another file replaces the preview tab, and double-clicking or editing keeps it. Turn it on with the Preview Tabs setting (#87)
- Add Open Recent Folder on Ctrl+R (⌃R on macOS) (#73):
- The current folder is left out, so Enter returns to the previous folder
- Type to filter by name or location
- ⌥Enter opens a folder in a new window
- × removes a folder from the list
- Add a UI zoom setting (70%–200%) with its own shortcuts, separate from the editor font size; the terminal now has its own font and size and no longer follows the editor font size
- Add Settings search across all pages, wrap long setting descriptions, and redesign the About page with the app icon, links and a click-to-copy version
- Turn the status bar update hint into a button with Update, download progress, Restart and Retry states; the version, progress and failure reason appear in its tooltip
- Remember whether the sidebar is open for each folder (#51)
- Delete empty bracket and quote pairs together on Backspace, with undo restoring both halves and every cursor following the same rule
- Offer to move Winc to the Applications folder on macOS when it runs from a disk image or a translocated location; the original copy is moved to the Trash, or the disk image is ejected
⚡ Optimization
- Remove wheel lag and stutter: each notch scrolls immediately on Windows and Linux, and on macOS the scroll animation adapts to the wheel speed
- Follow the system's lines-per-notch setting on Windows, scroll 120 px per notch on Linux, and pace frames to the display on Windows and Wayland (#72)
- Release the idle frame buffer on Windows and X11, about 32 MB at 4K
- Add
WINC_FRAME_LOG=1to print drawing-time statistics for performance reports - Draw strokes only near each shape, cutting the cost of scrolling past diagrams by about 60%
- Improve terminal rendering:
- Scroll by pixels
- Draw block elements without gaps
- Keep the input method's composition on screen
- Keep styles and combining marks under the block cursor
- Size emoji sequences consistently
- Follow the colour scheme
- Refine terminal interaction:
- Typing clears the selection, and ⇧-click extends it
- Dragging past the edge keeps scrolling
- ⌥-click moves the shell cursor at the prompt
- Tabs running a program are marked, and the + button stays in place
- Animate commit view refreshes, long change names, the commit button width and the amend toggle; long names expand on hover and fade at the cut instead of ending with an ellipsis; Reduce Motion skips these animations
- Simplify the commit view: checkboxes only decide what goes into a commit, and the separate staging controls are removed
- List up to three of the affected files when a pull fails
- Keep mouse hover separate from the keyboard selection in pickers, and give the branch picker's default row a soft highlight until the keyboard is used, so it is not mistaken for the current branch
- Strengthen diff colours so deletions stand apart from folded and current lines, use the standard checkbox in the commit view, and align focus rings to device pixels at fractional scales
- Keep middle dots and closing punctuation off the start of wrapped lines in Markdown
- Name the app Winc in system menus, installers and interface text, and reword Git messages and dialogs consistently in both languages
- Lay out the macOS app icon on Apple's icon grid so it matches other apps in the Dock
🐛 Fixed
- Fix new windows opening off screen when the window that opens them is minimized; a new window now cascades from that window's last normal position (#95)
- Fix diffs treating whole files as changed when only their line endings differ under
core.autocrlf(#89) - Fix terminal start-up and display problems with some programs, reverse video hiding default text, and scrollback, prompt and process tracking in WSL terminals (#65)
- Fix the terminal panel not being restored when the first window opens
- Fix run configurations not pinning their command line like a typed command
- Fix the refresh button in the Git log having no effect (#57)
- Fix the Settings scrollbar, including on the Shortcuts page, not being draggable (#70)
- Fix the traffic lights, title bar inset and sidebar toggle shifting when entering or leaving fullscreen and while zooming on macOS (#54)
- Fix shortcut symbols rendering as boxes on Linux; shortcuts are now shown in each platform's notation (#64)
- Fix docks, taskbars and window rules not recognising the Linux window on Wayland and X11, and raise the existing window on Wayland when a second launch hands off to it (#74)
- Fix an old copy of Winc from the installer disk image appearing under Open With on macOS (#75)
- Fix punctuation committed by input methods, such as Pinyin
,。:, being replaced by ASCII characters on macOS - Fix .bat and .cmd files no longer running after installing Winc on Windows, and stop installing Winc from making file types ask which app to use; Winc is now offered under Open With > Choose another app
- Fix the Windows portable ZIP storing settings and state in the user profile; it now keeps them in its data folder, imports existing settings on first run and runs as a separate instance
- Fix hunks with identical content being checked together
- Fix the sync control sharing the refresh icon
⏬ Download
| Platform | Download |
|---|---|
| macOS · Apple silicon | Winc-0.1.571-macos-arm64.dmg
|
| macOS · Intel | Winc-0.1.571-macos-x64.dmg
|
| Linux · x86_64 | Winc-0.1.571-linux-x64.AppImage or .deb
|
| Windows · x86_64 | Winc-0.1.571-windows-x64-setup.exe
|
| Windows · x86_64 · MSI | Winc-0.1.571-windows-x64.msi
|
| Windows · x86_64 · Portable | Winc-0.1.571-windows-x64-portable.zip
|
Checksums are in SHA256SUMS. The signed appcast-*.xml files are the in-app update feeds deployed to winc.si.