Skip to content

Releases: sayanarijit/xplr

v1.0.0

21 Mar 21:36
22968fa
Compare
Choose a tag to compare

πŸ“’ Announcement

This is not really a breaking change, but a declaration of the first stable release. You can set version = "1.0.0" in your config file without any concern. With this release, xplr v1 can be considered feature complete.

As of now, there is no plan for xplr v2, and so, the project will enter cleanup and maintenance mode. Thank you everyone, who directly or indirectly contributed to xplr, for all your effort, support and feedback. Looking forward to more such collaborations in the future.

What's Changed

Full Changelog: v0.21.10...v1.0.0

Upgrade Guide: https://xplr.dev/en/upgrade-guide

v0.21.10

30 Jan 09:40
e766a98
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.21.9...v0.21.10

v0.21.9

16 Jun 10:25
a82ea6a
Compare
Choose a tag to compare

Changes & fixes

  • Limit scroll padding dynamically based on screen size.
  • Fixed crashing on small screen. Thanks, @abhinavnatarajan, for investigating.
  • Upgrade deps.

v0.21.8

05 May 18:13
e0b0466
Compare
Choose a tag to compare

Changes & fixes

  • Added vim-like scrolling as the default scrolling method. Set xplr.config.general.paginated_scrolling = true to disable ~ by @ElSamhaa & @sayanarijit.
  • Added xplr.config.general.scroll_padding config option to set the padding in vim-like scrolling ~ by @ElSamhaa & @sayanarijit.
  • Fixed some color rendering issues ~ by @har7an.
  • Added feature flag so that xplr can be built with system Lua ~ by @nekopsykose.
  • Fixed ScrollUpHalf behavior.
  • xplr.util.lscolor() won't return nil anymore.
  • Arguments passed to the custom dynamic layout Lua function will include scrolltop field.
  • Fixed node_type resolution for directories with . in their name ~ by @abhinavnatarajan.
  • Dependency updates.

v0.21.7

18 Mar 10:46
0285f08
Compare
Choose a tag to compare

Changes & fixes

  • Added new key bindings c and m in default mode to quickly copy and move files, without using the selection ops mode.
  • Added xplr.util.debug() to see and debug Lua values.
  • Fixed ScrollUpHalf operation.
  • Dependency and docs updates.

v0.21.5

03 Jan 11:52
cc578aa
Compare
Choose a tag to compare

Changes & fixes

  • Added new messages to make it easier to jump between the deep level directories from history (as an alternative to runtime bookmarking).
    • PreviousVisitedDeepBranch
    • NextVisitedDeepBranch
  • New key bindings ( and ) bound to the new messages.
  • Added support for function keys upto F24.
  • Added selection count indicator in Input/Logs panel, so that selection panel can be hidden without losing the indicator.
  • Dependency updates.

v0.21.3

07 Aug 18:36
8af1647
Compare
Choose a tag to compare

Changes & fixes

  • xplr will respect $XDG_CONFIG_HOME if set (thanks to @SolitudeSF and @noahmayr)
  • Fixed "Illegal format character q" error seen on non GNU (including macOS and BSD) systems (thanks to @lcook).
  • Fixed a UI issue causing lower priority styles being fully ignored (thanks to @duganchen).
  • Press f1 to see the global help menu from any mode, without leaving the mode.
  • Current mode help menu will be displayed on top of the global help menu.
  • Added build targets (including direct download links) for Apple Silicon, aarch64 Linux, Android, arm Linux (thanks to @khvzak, author of mlua, for his help).
  • Added hook: on_selection_change.
  • Documentation improvements.

v0.21.2

22 May 05:02
2cc8e0c
Compare
Choose a tag to compare

Changes & fixes

  • Added CustomLayout, a new custom panel type to allow nesting other layouts inside a static or dynamic layout. This will allow switching between different layouts dynamically, without having to switch modes.
  • $LS_COLORS will have lesser priority than xplr.config.node_types.*.style.
  • Now, there's no default color set in xplr.config.node_types.*.style, so xplr will default to $LS_COLORS.
  • xplr -m now uses jf to render and pass messages. This allows for a more flexible template syntax.
  • xplr will now ask before delete.
  • For copy, move or symlink operations, xplr will ask what to do if a file with the same name exists.
  • CLI help menu improvements
  • Several fixes and improvements in documentation. Thanks to @kianmeng and @hensg for contributing.

v0.21.1

25 Mar 06:08
Compare
Choose a tag to compare

Fixes

  • SelectAll and ToggleSelectAll (i.e. ctrl-a) in a new directory will extend, instead of replace, the existing selected paths.
  • Fixed a UI bug causing random characters to turn bold.

v0.21.0

19 Mar 19:43
e0d683b
Compare
Choose a tag to compare

Changes & fixes

  • IMPORTANT FIX: Fixed panic on permission denial on macOS.
  • BREAKING: Some UI plugins might stop rendering colors. Wait for them to update.
  • BREAKING: xplr.config.general.sort_and_filter_ui.search_identifier has been
    renamed to xplr.config.general.sort_and_filter_ui.search_identifiers.
  • BREAKING: Resolved Node API will not contain the permissions field anymore.
    Use the utility function xplr.util.node to get its permissions.
  • Layout CustomContent has been undocumented. It will stay for compatibility,
    but you should prefer using the following new layouts, because they support
    custom title:
    • Static
    • Dynamic
  • Improved the builtin search operation using the following new messages:
    • Search
    • SearchFromInput
    • SearchFuzzyUnordered
    • SearchFuzzyUnorderedFromInput
    • SearchRegex
    • SearchRegexFromInput
    • SearchRegexUnordered
    • SearchRegexUnorderedFromInput
    • ToggleSearchAlgorithm
    • EnableSearchOrder
    • DisableSearchOrder
    • ToggleSearchOrder
  • Builtin fuzzy search will now support skim's search syntax.
  • Default search algorithm: xplr.config.general.search.algorithm = "Fuzzy".
  • Default search ordering: xplr.config.general.search.unordered = false.
  • Improved selection operations:
    • BREAKING: Selection list will be retained after each operation unless the
      paths are renamed, moved, deleted, or cleared manually (ctrl-u).
    • :sl to list selection in a $PAGER.
    • :ss to create softlink of the selected items.
    • :sh to create hardlink of the selected items.
    • :se to edit selection list in your $EDITOR.
    • Better conflict handling: add suffix rather than overriding/skipping.
  • Navigate between the selected paths using the following messages:
    • FocusPreviousSelection (ctrl-p)
    • FocusNextSelection (ctrl-n)
  • Added support for LS_COLORS, along with the following utility functions for
    applying better styling/theming.
    • xplr.util.lscolor
    • xplr.util.paint
    • xplr.util.textwrap
    • xplr.util.style_mix
  • By default colors will only be applied to the file name column in the table.
  • File paths will be properly quoted.
  • Column Renderer Argument will contain additional fields:
    • style
    • permissions
  • Selection list will display the paths in shorthand format, based on the
    current location.
  • Use the following config to specify how the paths in selection list should be
    rendered:
    • xplr.config.general.selection.item.format
    • xplr.config.general.selection.item.style
  • Improved working with file permissions using the following utility functions:
    • xplr.util.permissions_rwx
    • xplr.util.permissions_octal
  • Type :p to edit file permissions interactively.
  • More utility function for QOL improvement:
    • xplr.util.layout_replace
    • xplr.util.relative_to
    • xplr.util.shorthand
    • xplr.util.clone
    • xplr.util.exists
    • xplr.util.is_dir
    • xplr.util.is_file
    • xplr.util.is_symlink
    • xplr.util.is_absolute
    • xplr.util.path_split
    • xplr.util.node
    • xplr.util.node_type
    • xplr.util.shell_escape
  • Fixed mime type detection for executables: application/x-executable.
  • Added workaround for compatibility with macOS legacy coreutils.
  • Fixed history navigation for non-existent paths.
  • Optimized navigation with long list of selected items.
  • Minor improvements in batch operations.
  • Minor improvements in logging.

Thanks to @noahmayr for contributing to a major part of this release.