Yori Changelog

What's new in Yori 2.20

Apr 30, 2024
  • Support for CMD-like "cd.." evaluation
  • Fix recent regression handling of HTML clipboard
  • Edit support for overwriting readonly files
  • Disable whitespace trimming in edit by default, and add debug code to detect stray whitespace
  • Shutdn support for remote desktop disconnect
  • Fix bar graph display to non-console output
  • Improve error reporting when a user does not have privilege in mount
  • Code refactoring to allow for more reuse with 16 bit DOS environments
  • Yui rendering updated to be much more traditional
  • Initial support for multiple monitors in Yui
  • Improvements for high DPI devices in Yui
  • Support for Windows Installer shortcuts in Yui
  • Shift+click to relaunch in Yui taskbar
  • Ability to launch shortcuts requesting elevation in Yui
  • Drag over Yui taskbar button to activate window
  • Calendar view in Yui
  • Yui ability to perform simple Wifi configuration
  • New tool: speak for text to speech

New in Yori 2.10 (Jan 3, 2024)

  • Change click-to-focus behavior in TUI programs. This has some subtle effects and I wouldn't be shocked if there are more bugs.
  • The bar graph from df is now used in battery, mem, cpuinfo
  • Fixes for various memory handling errors in Edit.
  • Prompt for save before opening a new file in Edit, clear selection when opening new file
  • Support for Edit to expand tabs, registry configuration
  • Replace in hexedit
  • Hexedit can regenerate PE checksums
  • Mini-HTTP support that allows ysetup to run where wininet is not installed (NT 3.1, NT 4 without IE, RISC NT 3.x)
  • Rework completion scripts to fit in 8.3 names, sort files and directories in dialogs, and other NT 3.1 FAT support
  • Internal implementations of %__CD__% and %__APPDIR__% since the OS version on XP is broken. As a bonus, this means they work everywhere.
  • Fixes for Alpha. Builds are not provided because I don't have access to hardware, but they worked at one point :)
  • Rework a lot of code so that it doesn't assume the maximum allocation size is 32 bit.
  • New tool: base64 for encoding or decoding base64
  • New tool: airplan for enabling, disabling or querying airplane mode. This doesn't work well yet since wifi is independent of airplane mode :(

New in Yori 2.0 (Jul 1, 2023)

  • Fix for parser regression in 1.90 where the first argument after an equals is not quoted when it should be
  • Fixes for multiple memory handling errors in yedit
  • Fixes for memory leaks in make and direnv
  • Attempt to save and restore QuickEdit state across TUI programs. This can never be perfect, but is generally effective.
  • Allow contool to change full screen state of the console
  • lsof is renamed to ylsof to avoid clashes with other lsof implementations
  • Find and Go To support in hexedit
  • Yui support to launch elevated with shift key
  • Optional support for tee to write to the console and stdout as opposed to a file and stdout, so stdout can be further processed
  • Yui use window manager notifications without polling
  • Yui taskbar improvements including to add icons, bold fonts, flash windows
  • Yui start menu improvements including shortcut icons
  • Yui take over explorer taskbar if it's already running
  • Yui battery display
  • Initial support for Yui to hide taskbar if a fullscreen window is active
  • Allow wininfo to report accurately on high DPI systems
  • New tool: ybattery to monitor battery usage and status

New in Yori 1.90 (Jan 3, 2023)

  • Parser changes to support common if commands
  • Parser fixes for trailing caret and backslash at the end of a quoted argument
  • Tests for argument parsing
  • Edit support for auto-indent
  • More support for searching multiple strings with different highlights
  • Petool support for modifying the minimum OS version in a binary
  • Date can modify system time
  • AUTORESTART support for saving window positions
  • AUTORESTART support for periodically deleting stale restart files
  • Avoid displaying characters which are control characters on Terminal
  • Support linking against kernelbase rather than kernel32 for running on very small versions of Windows
  • New tool: hexedit for interactively editing binary data
  • New tool: objdir for enumerating object manager namespace
  • New tool: regedit for interactively editing registry in console

New in Yori 1.80 (Jul 5, 2022)

  • Support for color scheme files, including applying to open window, console defaults, specific program, or shortcuts
  • Ctrl+B now creates a waitable job when sending a process to the background
  • Support for displaying performance and efficiency cores, and optimizations for building with them
  • Substantial rewrite of libwin (TUI) code, hopefully with few visible changes
  • Support for UTF8 file names in cab
  • Osver support for displaying information about specified builds or versions
  • Ps displays how long processes have been running
  • When displaying executable versions use three digits since popular software has three digit major versions now
  • Setup creates shortcuts with CGA color palette which looks much nicer with Yori tools
  • Touch supports modifying links as well as targets
  • Support for hexdump and cut on block (non file) devices
  • Fixes for trailing slashes and double leading backslashes in paths
  • New tool: contool for displaying console properties

New in Yori 1.70 (Jan 9, 2022)

  • Many changes so edit works better on Nano server, including no background colors and clipboard
  • Better support for edit detecting character encodings
  • Optional support for POSIX move and delete on recent versions of Windows 10
  • Detect console processes so Ctrl+C on a GUI process won't wedge the console
  • lsof support for dumping handles from all processes
  • ypm support for creating Terminal fragment and path updates post-install
  • ypm support for setting default shell to yori or yui
  • ystart to optionally start processes elevated
  • yshutdn on Nano server
  • ypm/ysetup on Nano server using winhttp and TUI dialog
  • ysetup command line interface with feature parity to UI
  • ysetup on MIPS
  • yhash support on NT-2003
  • Install program manager item on NT 3.x
  • New tool: petool for generating PE header checksums
  • Many minor tweaks and bugfixes

New in Yori 1.60 (Aug 30, 2021)

  • Add support in setup to integrate with Windows Terminal
  • Many enhancements in ymake to move closer to nmake compatibility
  • Escape backslashes before quotes, fixing YORICOMPLETEWITHTRAILINGSLASH behavior
  • Support for enumerating process handles in procinfo
  • Performance enhancements rendering colored text
  • Support for extracting CAB files without cabinet.dll
  • Many minor tweaks and bugfixes

New in Yori 1.51 (Apr 4, 2021)

  • Fix bug that terminates the first script to execute, resulting in no aliases

New in Yori 1.40 (Nov 11, 2020)

  • Many redraw fixes where characters don't render correctly
  • Echo, intcmp and strcmp are true builtins to improve performance with AV products
  • Improved handling of Alt+nnn keycodes
  • Undo/redo in edit
  • Lots of new edit key shortcuts including Ctrl+A, Shift+Ctrl+Home/Shift+Ctrl+End, Ctrl+left/Ctrl+right, Ctrl+Y
  • Support searching backwards in edit
  • Allow drive selection in edit (sorry!)
  • Fix crash in timethis (thanks Robert!)
  • Fix crash in edit with negative tab width (thanks Pyroman!)
  • Fix crash in edit opening empty files (thanks Pyronman!)
  • Improvements to sleep countdown (thanks Pyroman!)
  • Support for octal and binary in expr (thanks Pyroman!)
  • Various hexdump correctness fixes
  • Ydbg support for live kernel dumps or full dumps (when kernel debugging enabled)
  • ps display parent process
  • New tool - ymake for efficient parallel compilation of nmake makefiles

New in Yori 1.30 (Jul 18, 2020)

  • Add support for process times in ps
  • Add support for line ending conversions in iconv
  • Common Ctrl+key combinations from bash
  • Improved completion script capabilities and simple git completion script
  • Pushd with no arguments swaps current directory and most recently pushed directory
  • Many improvements for NT 3.5 and 3.51
  • Fix uninstall option in setup
  • New tool - assoc (and ftype) for editing file associations
  • New tool - edit for editing files similar to MS-DOS edit

New in Yori 1.21 (Mar 21, 2020)

  • Uninstall support is optional in ysetup
  • Various minor bugfixes and help updates

New in Yori 1.20 (Jan 15, 2020)

  • Uninstall support in ysetup
  • History -u (aliased to F7) to interactively select previous commands
  • Add support for bash-style tab completion with YORICOMPLETELISTALL=1
  • Add support for trailing backslashes in tab completion with YORICOMPLETEWITHTRAILINGSLASH=1
  • Support scroll lock and pause in ymore for suspending display
  • Allow mem to group processes with the same name
  • New tool - charmap for displaying ranges of characters
  • New tool - co for interactively moving, copying and deleting files
  • New tool - kill for terminating processes
  • New tool - stride for writing input lines periodically

New in Yori 1.11 (Oct 16, 2019)

  • Fix tail -f
  • Use correct color to display directory headers in sdir
  • Fix memory leak
  • Fix alt+nn handling again
  • Fix crash in more on 32 bit systems
  • Fix handling of undefined environment variables in set and if
  • Fix mouseover handling after completion scripts
  • Add new OS build string
  • Allow dir to hide hidden and system files

New in Yori 1.10 (Aug 27, 2019)

  • Support spaces between redirect operator and file name
  • Tab completion of environment variables
  • Tab completion of intermediate path components
  • Tab completion of special directory names
  • YORICDPATH environment variable for deterministic chdir to common directories
  • Support for displaying symbolic link target in dir
  • Strcmp support for matching substrings as well as exact strings
  • Change recursive copy behavior when given a directory to copy the directory rather than its contents
  • Heuristically avoid creating selections when clicking inside the console window
  • Support redirecting stdout to stderr
  • YORIPRECMD and YORIPOSTCMD for invoking commands before and after user entered commands
  • Scut support for removing console properties from shortcuts
  • Repl support for replacing text with nothing
  • Date support for returning monotonically increasing clocks
  • Improve YORIAUTORESTART to save in a background thread and to cap the size of the saved buffer
  • Ysetup support for installing from local package directory
  • Ypm support for downloading entire package repository
  • Finfo fixes to work with files correctly
  • Ypm support for displaying version and architecture of installed packages
  • Copy support for devices that CopyFile does not support natively
  • Ypm support for manipulating mirrors or sources
  • Vol support for more volume properties
  • Type support for displaying line numbers
  • Sleep command support visual countdown
  • Fix alt+nn codes for nn values less than 32
  • New tool - cpuinfo for displaying processor topology
  • New tool - direnv for updating environment when current directory changes
  • New tool - env for launching a process with a custom environment
  • New tool - err for translating Windows error codes to text
  • New tool - mem for displaying memory usage
  • New tool - procinfo for displaying counters of process utilization
  • New tool - ps for enumerating executing processes
  • New tool - shutdn for shutting down or rebooting a system
  • New tool - sponge for buffering and replaying output to eliminate temporary files
  • New tool - timethis for measuring process execution time
  • New tool - vhdtool for creating and manipulating VHD files
  • New tool - yui minimal start menu and taskbar for server core
  • ...plus plenty of small fixes and performance improvements

New in Yori 1.00 (May 1, 2019)

  • ~AppDir special directory which contains the shell binary
  • Execute ~YoriInit.d and ~AppDirYoriInit.d scripts on start
  • Support 1> redirection (but still no 1>&2 support)
  • Better support for named streams including tab completion
  • -- support in more commands
  • Support for $+$ in prompt
  • Expose the YORIQUICKEDITBREAKCHARS variable so users can see what it's doing
  • Support returning the number of elements in a pushd or setlocal stack
  • Support repeating in echo
  • Fix piping builtin commands
  • Fix installer shortcuts on XP
  • Performance improvements

New in Yori 0.98 (Nov 28, 2018)

  • Shift+arrow to navigate commands, Ctrl+A to move to the start, Ctrl+E to move to the end, Ctrl+L to clear the screen
  • Ctrl+Del to remove a command from history
  • Many fixes and enhancements in more, including ability to select text and copy as rich text
  • Enhancements to the start command to allow it to start processes in the background
  • Enhancements to the history command to load history from a file or clear history
  • Nice command can be used as a builtin for executing builtin commands at low priority
  • New tool - hexdump for formatting a text stream as binary
  • New tool - lsof for displaying which processes are using a file
  • New tool - sync for flushing files to disk
  • New tool - wininfo for obtaining information about a window
  • New tool - winpos for setting window positions
  • New tool - ydbg for generating crash dumps from processes