Skip to content

Releases: rhysd/Shiba

v2.0.0-alpha.4

28 Mar 11:18

Choose a tag to compare

  • Support multiple windows so that multiple documents can be previewed at the same time. Now a single Shiba process can open multiple windows. When the last window is closed, or 'Quit' menu item or key action is selected, the process exits.
    • Implement the following ways to open new windows in several situations.
      • Clicking a link to local markdown file with pressing Shift key opens the file in a new window.
      • Clicking a hash link (e.g. [link](#hash)) with pressing Shift key opens the current document in a new window and automatically scrolling to the linked element.
      • 'New Window' menu item or NewWindow key action opens a new empty window.
      • 'Duplicate Window' menu item or DuplicateWindow key action duplicates the current window.
        • This key action is assigned to Ctrl+N by default.
      • 'Open in New Window' menu item or OpenFileInNewWindow key action picks files in a file dialog and opens them in respective new windows.
      • In the history palette, hit Enter or click a history item with pressing Shift to open the selected item in a new window.
      • In the outline palette, hit Enter or click a section with pressing Shift to open the current document in a new window and automatically scroll to the selected section.
      • Click a section in the side bar to open the current document in a new window and automatically scroll to the selected section.
      • --open (or -o) option in the command line arguments opens a given path with a new window. See --help output for more details.
    • Add the following menu items and key actions related to multiple windows.
      • 'Close Window' menu item and CloseWindow key action to close the current window.
        • This key action is assigned to Ctrl+W by default.
      • 'Close All Other Windows' menu item and CloseAllOtherWindows key action to close all windows except the current one.
      • 'Bring all to front' window menu item on macOS.
  • Return non-zero exit status when at least one unexpected error was caused.
  • Fix notifications are included in a printed pages.
  • Update wry to 0.55 and tao to 0.35.
  • Don't set 'pre-release' on GitHub release page so that the latest alpha release is linked from the repository page.

v2.0.0-alpha.3

11 Mar 02:36

Choose a tag to compare

  • Breaking change: Rename key actions Forward and Back to more clear names GoForward and GoBack.
  • Breaking chagne: There were two key shortcut systems in Shiba; (1) our own key shortcut system configurable in config.yml and (2) platform-specific menu items. However two systems existing in one app was confusing and the behavior of menu item key shortcuts depended on the platforms. This release removes platform-specific key shortcuts in menu items and unifies all key actions into our own key shortcut system which is configurable at the keymaps section of the configuration file. The following key actions are newly introduced for this change.
    • MaximizeWindow
    • MinimizeWindow
    • ToggleAlwaysOnTop
    • ToggleMenuBar
    • ShowMenu
    • EditConfig
  • Breaking change: Following the above change, the default key mappings are overhauled. The new mappings are as follows. If you want to update your existing configuration to the new mappings, overwrite it by --generate-config-file command line option.
    Keys Action
    j ScrollDown
    k ScrollUp
    h ScrollLeft
    l ScrollRight
    g ScrollTop
    G ScrollBottom
    d ScrollPageDown
    u ScrollPageUp
    space ScrollPageDown
    down ScrollDown
    up ScrollUp
    left ScrollLeft
    right ScrollRight
    pagedown ScrollPageDown
    pageup ScrollPageUp
    ctrl+down ScrollPageDown
    ctrl+up ScrollPageUp
    ctrl+shift+down ScrollBottom
    ctrl+shift+up ScrollTop
    ctrl+j ScrollNextSection
    ctrl+k ScrollPrevSection
    ctrl+b GoBack
    ctrl+f GoForward
    ctrl+o OpenFile
    ctrl+shift+o OpenDir
    ctrl+h History
    ctrl+r Reload
    o Outline
    s Search
    plus ZoomIn
    - ZoomOut
    ctrl+m MaximizeWindow
    mod+q Quit
    ? Help
  • Apply the Mica material to the window background on Windows 11 or later, which is the modern dynamic material based on your desktop wallpaper.
    • window with mica material
  • Support max keyword at the width and hight of window size in the window.default_size configuration. For example the following configration creates a window with fixed 800 pixels width and maximized height.
    window:
      default_size:
        width: 800
        height: max
  • Add new window.vibrant configuration. When this is set to true, Shiba applies platform-specific vibrant effects to the window; NSVisualEffectView on macOS and Mica material on Windows, no effect on Linux. Setting false disables the dynamic effects by using solid colors. It may slightly improve the performance of the application rendering and launch. The default value of this configuration is true.
    window:
      vibrant: true  # Apply vibrant effect to the window
  • Set the default window size to 600x800.
  • Add 'Delete History' menu item in the 'History' menu to delete the history.
  • Add GoTop key action and a new menu item to go to the top of the history. It quickly opens the most recent document in the history.
  • Add no-debug-log cargo feature to disable the debug log statically. It can slightly reduce the binary size and application performance.
  • Fix 'Print' menu item only prints the current window. Now it prints all pages and doesn't include the side bar.
  • Fix applying the system's theme setting to the webview on Windows.
  • Implement platform-agnostic window maximization/minimization so that 'Maximize Window' and 'Minimize Window' menu items are available on all platforms.
  • Efficiently receive menu item events instead of polling them at every window events.
  • Update npm dependencies including some security fixes.

v2.0.0-alpha.2

21 Feb 14:23

Choose a tag to compare

  • BREAKING CHANGE: Rename preview.recent_files setting to preview.history_size. This needs fix in the configuration file. Please fix it manually or re-generate it by the --generate-config-file command line option.
     preview:
    -  recent_files: 100
    +  history_size: 100
  • Move the reopened history item to the top of the history so that it can be easily accessed later.
  • Set the application icon in dock when Shiba is run from terminal on macOS.
  • Avoid a white screen flicker when opening the application with a large Markdown file in dark mode.
  • Remove file paths which don't exist while navigating the history with Forward/Back.
  • Set the parent window to the dialogs.
  • Let OS determine the default current directory of file dialogs unless dialog.default_dir setting is specified. Note that Shiba launched from terminal still prioritizes the terminal's current working directory on macOS.
  • Shiba is now released on crates.io. Shiba can be installed via cargo command.
    cargo install shiba-preview@2.0.0-alpha.2
  • Add categories and keywords to Cargo.toml.
  • Fix webview is not rendered on Linux because the webview panel is inserted to an incorrect box.
  • Avoid app crash when creating two Shiba processes on Linux by removing the application ID.
  • Fix the latest history item is skipped when navigating with Back from the welcome page.
  • Fix titles of file dialogs.
  • Update cargo dependencies including wry v0.54 and the security fix for time crate.
  • Update npm dependencies including mermaid security fix.

v2.0.0-alpha.1

31 Jan 13:24

Choose a tag to compare

  • Compress the bundled JavaScript source with Zstandard algorithm for release builds. This made the binary size 1.45x smaller.
  • Allow selecting multiple files and directories at once via dialogs.
  • Upgrade MathJax to v4, which is the culmination of several years of work.
  • Support physics notations in math expressions.
  • History implementation was refactored with index map data structure.
  • Migrate from commonjs to ESM. This made the bundle size about 6% smaller.
  • Change the environment variables for debug logs
    • RUST_LOGSHIBA_LOG
    • RUST_LOG_STYLESHIBA_LOG_STYLE
  • Fix the saved history items can be truncated.
  • Fix file paths passed via command line arguments are not registered to the history
  • Fix watching the same path multiple times.
  • Fix error messages output to a terminal are discarded in release builds on Windows.
  • Fix app crashes when the document contains U+0000 inside math expressions due to MathJax parser.
  • Update cargo dependencies including rfd v0.17
  • Update npm dependencies

v2.0.0-alpha.0

31 Jan 13:15

Choose a tag to compare

This is the first experimental release of Shiba v2. Shiba v2 is the complete rewrite of v1 using Rust and platform-specific WebView. Please read the README.md file for more details.

Warning

Shiba v2 is a work in progress

For v1, please go to the v1 branch.

Version 1.2.1

28 May 15:15

Choose a tag to compare

  • Update dependencies
    • Use the latest Electron v2.0.2
    • Build with the newest TypeScript compiler
    • Some other packages are updated

Version 1.2.0

17 Mar 10:21

Choose a tag to compare

  • Improved sanitizatioin
    • All HTML elements were banned in v1.1.1, but it was too strict
    • As of GitHub, now Shiba allows some non-harmful HTML elements in documents (e.g. <a name="..."></a>
    • Please see the full list to know the details
  • Update dependencies (Electron v1.8.4)

Version 1.1.2

01 Feb 10:33

Choose a tag to compare

Version 1.1.1

28 Nov 16:58

Choose a tag to compare

  • Add new 367 emojis 👯
  • Enable to choose rules in remark-lint config
  • Fix sanitize issue of marked parser
  • Update dependencies

Version 1.1.0

03 Nov 16:21

Choose a tag to compare

  • Large dependencies updates. All packages are up to date
    • Electron v1.7.9
    • Polymer v1.11
    • ...
  • Also accept config.yaml as well as config.yml
  • Improve CLI options and handling arguments
  • Stop following symlinks by default because it may cause performance issue on a directly containing so many files and directories
  • follow_symlinks and default_path config option are added
  • Show window after app contents are loaded in order to avoid whole white screen
  • Now markdown linter checks only consistency by default
  • Fix links on Windows (#37)
  • Fix links which contain images (#38)
  • Fix watching path is broken when unsupported kind of file is D&Ded