This release brings major new features, including video and PDF preview support, multi-column file panels, and configurable navigation, alongside significant code refactoring and comprehensive bug fixes.
Install:
Click me to know how to install
Highlights
- Added video and PDF preview support via loading the first frame/page as an image. Thanks @Yassen-Higazi for the implementation
- Multi-column file panel view with date/size/permission columns. Thanks @xelavopelk for the implementation
- Configurable fast navigation in the Filepanel. See this PR for more details: #1220
- You can now configure
spfto open files with specific extensions with your choice of editor application. Thanks @litvinov-git for the implementation See this PR for more details: #1197 - Terminal stdout support for shell commands
- Allow launching with the filename.
spf /a/b/c.txtwill launch in/a/bwithc.txtas the selected file. - Various bug fixes, including modal confirmations, layout issues, and race conditions. See 'Detailed Change Summary'
Internal Updates
- Separated FilePanel and FileModel into a dedicated package for better code organization
- Comprehensive end-to-end testing with layout fixes
- Enhanced dimension validation and sidebar fixes
- Updated multiple dependencies including Astro, Go toolchain, and linters
- Added gosec linter and MND linter with magic number cleanup
Detailed Change Summary
Details
Update
- allow hover to file
#1177by @lazysegtree - show count selected items in select mode
#1187by @xelavopelk - Add icon alias for kts to kt
#1153by @nicolaic - link icon and metadata
#1171by @xelavopelk - user configuration of editors by file extension
#1197by @litvinov-git - add video preview support
#1178by @Yassen-Higazi - Add pdf preview support
#1198by @Yassen-Higazi - Add icons in pinned directories
#1215by @lazysegtree - Enable fast configurable navigation
#1220by @lazysegtree - add Trash bin to default directories for Linux
#1236by @lazysegtree - add terminal stdout support for shell commands
#1250by @majiayu000 - More columns in file panel (MVP)
#1268by @xelavopelk
Bug Fix
- only calculate checksum on files
#1119by @nikero41 - Linter issue with PrintfAndExit
#1133by @xelavopelk - Remove repeated os.ReadDir calls
#1155by @lazysegtree - Disable COPYFILE in macOS
#1194by @lazysegtree - add missing hotkeys to help menu
#1192by @lazysegtree - Fetch latest version automatically
#1127by @lazysegtree - Use async methods to prevent test race conditions
#1201by @lazysegtree - update metadata and process bar sizes when toggling footer
#1218by @lazysegtree - File panel dimension management
#1222by @lazysegtree - Layout fixes with full end-to-end tests
#1227by @lazysegtree - Fix flaky tests
#1233by @lazysegtree - modal confirmation bug with arrow keys
#1243by @lazysegtree - small file panel optimization
#1241by @xelavopelk - use ExtractOperationMsg for extraction
#1248by @lazysegtree - skip open_with from missing field validation
#1251by @lazysegtree - border height validation fixes
#1267by @lazysegtree - fix case with two active panes
#1271by @xelavopelk - help model formatting
#1277by @booth-w
Optimization
- simplify renameIfDuplicate logic
#1100by @sarff - separate FilePanel into dedicated package
#1195by @lazysegtree - File model separation
#1223by @lazysegtree - Dimension validations
#1224by @lazysegtree - layout validation and sidebar dimension fixes
#1228by @lazysegtree - user rendering package and removal of unused preview code
#1245by @lazysegtree - user rendering package for file preview
#1249by @lazysegtree
Documentation
- update Fish shell setup docs
#1142by @wleoncio - fix macOS typo
#1212by @wcbing - stylistic and linguistic cleanup of config documentation
#1184by @ninetailedtori
Dependencies
- update astro monorepo
#1010by @renovate[bot] - update starlight-giscus
#1020by @renovate[bot] - bump astro versions
#1138,#1157,#1158by @dependabot[bot], @renovate[bot] - bump vite
#1134by @dependabot[bot] - update setup-go action
#1038by @renovate[bot] - update expressive-code plugins
#1189,#1246by @renovate[bot] - update sharp
#1256by @renovate[bot] - update fontsource monorepo
#1257by @renovate[bot] - update urfave/cli
#1136,#1190by @renovate[bot] - update astro / starlight / ansi / toolchain deps
#1275,#1278,#1280by @renovate[bot] - update python and go versions
#1276,#1191by @renovate[bot] - update golangci-lint action
#1286by @renovate[bot]
Misc
- update CI input names
#1120by @nikero41 - Everforest Dark Hard theme
#1114by @fzahner - migrate tutorial demo assets to local
#1140by @yorukot - new logo asset
#1145by @nonepork - mirror repository to codeberg
#1141by @yorukot - sync package lock
#1143by @yorukot - bump golangci-lint version
#1135by @lazysegtree - add gosec linter
#1185by @lazysegtree - enable MND linter and clean magic numbers
#1180by @lazysegtree - skip permission tests when running as root
#1186by @lazysegtree - release v1.4.1-rc
#1203by @lazysegtree - 1.5.0-rc1 housekeeping changes
#1264by @lazysegtree
New Contributors
- @fzahner made their first contribution in #1114
- @sarff made their first contribution in #1100
- @nicolaic made their first contribution in #1153
- @Yassen-Higazi made their first contribution in #1178
- @ninetailedtori made their first contribution in #1184
- @litvinov-git made their first contribution in #1197
- @wcbing made their first contribution in #1212
- @majiayu000 made their first contribution in #1250
Full Changelog: v1.4.0...v1.5.0


