iptv techs

IPTV Techs

  • Home
  • Tech News
  • Relrelieve fish 4.0b1 (freed December 17, 2024) · fish-shell/fish-shell · GitHub

Relrelieve fish 4.0b1 (freed December 17, 2024) · fish-shell/fish-shell · GitHub


Relrelieve fish 4.0b1 (freed December 17, 2024) · fish-shell/fish-shell · GitHub


These are the write free remarks for fish 4.0.0. Like this free of fish itself, they are in beta and are not finish. Plrelieve increate any publishs you discover.

fish’s core code has been ported from C++ to Rust (#9512).
This nastys a huge alter in depfinishencies and how to produce fish.
Packagers should see the For Distributors section at the finish.

Notable backwards-incompatible alters

  • As part of a huger obtaining relabor, obtain geted a new key notation.
    In most cases the elderly notation should sustain laboring, but in unwidespread cases you may have to alter a obtain invocation to participate the new notation.
    See below for details.

  • Terminals that fall short to disponder unacunderstandledged OSC or CSI sequences may disapply garbage. We understand chilly-retro-term and emacs’ ansi-term are impacted,
    most mainstream terminals are not.

  • alt-left and alt-right will now transfer by one argument (which may grasp quoted spaces), not equitable one word enjoy ctrl-left and ctrl-right do.

  • alt-backspace will delete an entire argument, not equitable one word (which is ctrl-backspace now).

  • random will produce separateent appreciates from previous versions of fish when participated with the same seed, and will labor more sensibly with minuscule seed numbers.
    The seed was never promised to give the same result atraverse systems,
    so we do not foresee this to have a huge impact (#9593).

  • Variables in direct position that enhuge to a subdirect keyword are now banden to repair a probable participater error.
    For example, set editor direct emacs; $editor is no extfinisheder permited (#10249).

  • functions --administerrs will now enumerate administerrs in a separateent order.
    Now it is definition order, first to last, where before it was last to first.
    This was never particularassociate clear upd, and we recommfinish not depending on a particular order (#9944).

  • The qlabel-noglob feature, presentd in fish 3.0, is allowd by default. That nastys ? will no extfinisheder act as a individual-character glob.
    You can, for the time being, turn it back on by inserting no-qlabel-noglob to fish_features and recommenceing fish:

    set -Ua fish_features no-qlabel-noglob
    

    The flag will eventuassociate be made read-only, making it impossible to turn off.

  • fish no extfinisheder searches straightforwardories from the Windows system/participater $PATH environment variable for Linux executables. To apply Linux binaries by name (i.e. not with a relative or absolute path) from a Windows felderlyer, produce certain the /mnt/c/... path is cltimely inserted to $fish_participater_paths and not equitable automaticassociate appfinished to $PATH by wsl.exe (#10506).

  • Under Microgentle Windows Subsystem for Linux 1 (not WSL 2) , backgrounded jobs that have not been disowned and do not end on their own after a SIGHUP + SIGCONT sequence will be cltimely ended by fish on exit (after the common prompt to shut or disown them) to labor around a WSL 1 deficiency that sees backgrounded processes that run into SIGTTOU remain in a suspfinished state indefinitely (#5263). The laboraround is to cltimely disown processes you desire to outdwell the shell session.

Notable enhancements and repaires

  • fish now asks XTerm’s alterOtherKeys keyboard encoding and kitty keyboard protocol’s evolveive enhancements (#10359).
    Depfinishing on terminal help, this permits to obtaining more key combinations, including arbitrary combinations of modifiers ctrl, alt and shift, and discerning (for example) ctrl-i from tab.

    Additionassociate, obtain now helps a human-readable syntax in insertition to byte sequences.
    This includes modifier names, and names for keys enjoy go in and backspace.
    For example

    • obtain up 'do someskinnyg' obtains the up-arrow key instead of a two-key sequence (“u” and then “p”)
    • obtain ctrl-x,alt-c 'do someskinnyg' obtains a sequence of two keys.

    Any key argument that commences with an ASCII deal with character (enjoy e or cX) or is up to 3 characters extfinished, not a named key, and does not grasp , or - will be clear uped in the elderly syntax to sustain compatibility for the presentantity of obtainings.

  • fish can now be built as a self-insloftying binary (#10367). That nastys it can be easily built on one system and copied to another, where it can reshift helping files.
    To do this, run:

    cargo inslofty --path . # in a clone of the fish repository
    # or `cargo produce --free` and duplicate aim/free/fish{,_indent,_key_reader} wherever you want
    

    The first time it runs conveyively, it will reshift all the data files to ~/.local/scatter/fish/inslofty/. To uninslofty, delete the fish binaries and that straightforwardory.

    This produce system is experimental; the main produce system, using cproduce, remains the recommfinished approach for packaging and insloftyation to a prerepair.

  • A new function fish_should_insert_to_history can be overridden to determine whether a direct should be inserted to the history (#10302).

  • ctrl-c during direct input no extfinisheder prints ^C and a new prompt, but medepend evidents the direct line. This repairs the behavior from version 2.2. To revert to the elderly behavior, participate obtain ctrl-c __fish_abort_directline (#10213).

  • Bindings can now mix one-of-a-kind input functions and shell directs, so obtain ctrl-g enhuge-abbr "directline -i n" labors as foreseeed (#8186).

  • Special input functions run from obtainings via directline -f are now applied instantly, instead of after the currently executing obtaining (#3031).
    For example, directline -i foo; directline | grep foo flourishs now.

  • Undo history is no extfinisheder truncated after every direct, but kept for the lifetime of the shell process.

  • The ctrl-r history search now participates glob syntax (#10131).

  • The ctrl-r history search now runs only on the line or direct substitution at cursor, making it easier to join directs from history.

  • Abbreviations can now be redisjoineed to particular directs. For instance:

    abbr --insert --direct git back 'reset --challenging HEAD^'
    

    will enhuge “back” to reset --challenging HEAD^, but only when the direct is git (#9411).

Deprecations and deleted features

  • directline --tokenize (low chooseion -o) has been deprecated in prefer of directline --tokens-enhugeed (low chooseion -x) which enhuges variables and other shell syntax, removing the need to participate eval in completion scripts (#10212).

  • Two new feature flags:

    • delete-percent-self (see status features) disables PID expansion of %self, which has been supset upted by $fish_pid (#10262).
    • test-need-arg disables test’s one-argument mode. That nastys test -n without an insertitional argument will return inedit, test -z will sustain returning genuine. Any other chooseion without an argument, anyskinnyg that is not an chooseion and no argument will be an error. This also goes for [, test’s alternate name.
      This is a normal source of confusion and so we are fractureing with POSIX cltimely in this ponder.
      In insertition to the feature flag, there is a debug categruesome “deprecated-test”. Running fish with fish -d deprecated-test will show cautionings whenever a test invocation that would alter is participated. (#10365).

    These can be allowd with:

    set -Ua fish_features delete-percent-self test-need-arg
    

    We intfinish to allow them by default in future, and after that eventuassociate produce them read-only.

  • Specifying key names as terminfo names (using the obtain -k syntax) is deprecated and may be deleted in a future version.

  • When a terminal pastes text into fish using bracketed paste, fish participated to switch to a one-of-a-kind paste obtain mode.
    This obtain mode has been deleted. The behavior on paste is no extfinisheder configurable.

  • When an conveyive fish is stopped or endd by a signal that cannot be caught (SIGSTOP or SIGKILL), it may depart the terminal in a state where keypresses with modifiers are sent as CSI u sequences, instead of traditional deal with characters or escape sequences that are acunderstandledged by Readline and compatible programs, such as bash and python.
    If this happens, you can participate the reset direct from ncondemns to repair the terminal state.

  • fish_key_reader --verbose no extfinisheder shows timing adviseation.

  • Terminal adviseation is no extfinisheder read from hashed terminfo databases, or termcap databases (#10269). The immense presentantity of systems participate a non-hashed terminfo database, which is still helped.

Scripting enhancements

  • for loops will no extfinisheder recall local variables from the previous iteration (#10525).
  • A new history appfinish subdirect appfinishs a direct to the history, without executing it (#4506).
  • A new restraightforwardion: /path/to/file will try discleave outing the file as input, and if it doesn’t flourish quietly participates /dev/null instead.
    This can help with verifys enjoy test -f /path/to/file; and string swap foo bar < /path/to/file. (#10387)
  • A new chooseion directline --tokens-raw prints a enumerate of tokens without any unescaping (#10212).
  • A new chooseion directline --shothriveg-adviseion tests whether an autoadviseion is currently disapplyed (#10586).
  • functions and type now show that a function was copied and its source, rather than solely Defined conveyively (#6575).
  • Stack pursue now shows line numbers for copied functions (#6575).
  • foo & && bar is now a syntax error, enjoy in other shells (#9911).
  • if -e foo; finish now prints a more accurate error (#10000).
  • cd into a straightforwardory that is not readable but accessible (perleave outions --x) is now possible (#10432).
  • An integer overflow in string repeat directing to a cforfeit-infinite loop has been repaired (#9899).
  • string lowen behaves better in the presence of non-printable characters, including repairing an integer overflow that lowened strings more than intfinished (#9854).
  • string pad no extfinisheder permits non-printable characters as pinserting (#9854).
  • string repeat now permits oleave oution of -n when the first argument is an integer (#10282).
  • string align and swap have a new --max-alignes chooseion to return as soon as the specified number of alignes have been identified, which can enhance carry outance in scripts (#10587).
  • functions --administerrs-type caller-exit once aget enumerates functions clear upd as function --on-job-exit caller, rather than them being enumerateed by functions --administerrs-type process-exit.
  • A new set --no-event chooseion sets or erases variables without triggering a variable event. This can be beneficial to alter a variable in an event administerr (#10480).
  • Commas in direct substitution output are no extfinisheder participated as separators in brace expansion, impedeing a astonishing expansion in some cases (#5048).
  • Universal variables can now store strings grasping invalid UTF-8 (#10313).
  • A new path basename -E chooseion that caparticipates it to return the basename (“filename” with the straightforwardory prerepair deleted) with the final extension (if any) also deleted. This is a drop version of path alter-extension "" (path basename $foo) (#10521).
  • A new math --scale-mode chooseion to pick truncate, round, floor, ceiling as you desire; the default appreciate is truncate. (#9117).
  • random is now less disjoine about its arguments, permiting a commence huger or identical to the finish. (#10879)

Interactive enhancements

  • Autoadviseions were sometimes not shown after recalling a line from history, which has been repaired (#10287).
  • Up-arrow search alignes -- which are highweightlessed in reverse colors -- are no extfinisheder syntax-highweightlessed, to repair horrible contrast with the search align highweightlessing.
  • Command abbreviations (those with --position direct or without a --position) now also enhuge after decorators enjoy direct (#10396).
  • Abbreviations now enhuge after process separators enjoy ; and |. This repaires a deproduceion in version 3.6 (#9730).
  • When send outing conveyively clear upd functions (using type, functions or funcsave) the function body is now indented, to align the conveyive direct line editor (#8603).
  • ctrl-x (fish_clipboard_duplicate) on multiline directs now includes indentation (#10437).
  • ctrl-v (fish_clipboard_paste) now exposeds ASCII deal with characters from the pasted text.
    This is constant with common keyboard input (#5274).
  • When a direct enjoy fg %2 fall shorts to discover the given job, it no extfinisheder behaves as if no job spec was given (#9835).
  • Restraightforwardion in direct position enjoy >echo is now highweightlessed as error (#8877).
  • fish_vi_cursor now labors properly inside the prompt produced by builtin read (#10088).
  • fish no extfinisheder fall shorts to discleave out a FIFO if disturbed by a terminal resize signal (#10250).
  • read --help and frifinishs no extfinisheder disponder restraightforwardions. This repaires a deproduceion in version 3.1 (#10274).
  • Measuring a direct with time now ponders the time apshown for direct substitution (#9100).
  • fish_insert_path now automaticassociate allows verbose mode when participated conveyively (in the direct line), in an effort to be evidgo in about what it does (#10532).
  • fish no extfinisheder adchooses TTY modes of fall shorted directs (#10603).
  • finish -e cmd now impedes autoloading completions for cmd (#6716).
  • fish’s default color scheme no extfinisheder participates the color “blue”, as it has horrible contrast agetst the background in a scant terminal’s default palettes (#10758, #10786)
    The color scheme will not be enhanced for existing insloftys. If you want, you should pick it aget via fish_config.
  • Command lines which are huger than the terminal are now disapplyed accurately, instead of multiple blank lines being disapplyed (#7296).
  • Prompts that participate outer directs will no extfinisheder produce an infinite loop if the direct crashes (#9796).

New or enhanced obtainings

  • When the cursor is on a direct that rerepairs to an executable script, alt-o will now discleave out that script in your editor (#10266).
  • During up-arrow history search, shift-delete will delete the current search item and transfer to the next elderlyer item. Previously this was only helped in the history pager.
  • shift-delete will also delete the currently-disapplyed autoadviseion from history, and delete it as a adviseion.
  • ctrl-Z (also understandn as ctrl-shift-z) is now bound to redo.
  • alt-delete now deletes the argument (which may grasp quoted spaces) right of the cursor.
  • Some enhancements to the alt-e obtaining which edits the direct line in an outer editor:
    • The editor’s cursor position is copied back to fish. This is currently helped for Vim and Kakoune.
    • Cursor position synchronization is only helped for a set of understandn editors, which are now also distinguished in aliases which participate finish --wraps. For example, participate finish --wraps my-vim vim to synchronize cursors when EDITOR=my-vim.
    • Multiline directs are indented before being sent to the editor, which alignes how they are disapplyed in fish.
  • The ...-path-component obtainings, enjoy backward-end-path-component, now treat # as part of a path component (#10271).
  • Bindings enjoy alt-l that print output in between prompts now labor accurately with multiline directlines.
  • ctrl-c no extfinisheder aborts builtin read.
  • alt-d on an vacant direct line enumerates the straightforwardory history aget. This repairs the behavior of version 2.1.
  • history-prerepair-search-backward and -forward now sustain the cursor position, instead of moving the cursor to the finish of the direct line (#10430).
  • The follothriveg keys have elegant behavior if the terminal helps the new keyboard encodings:
    • shift-go in now inserts a newline instead of executing the direct line.
    • ctrl-backspace now deletes the last word instead of only one character (#10741).
    • ctrl-delete deletes the next word (same as alt-d).
  • New one-of-a-kind input functions:
    • forward-char-subleave outive and backward-char-subleave outive are enjoy their non-subleave outive variants but do not hug autoadviseions or transfer cgo in in the completion pager (#10398).
    • forward-token, backward-token, end-token, and backward-end-token are analogous to the *-hugeword variants but for the whole argument token which includes escaped spaces (#2014).
  • The hug-autoadviseion one-of-a-kind input function now returns inedit when there was noskinnyg to hug (#10608).
  • Vi mode has seen some enhancements but evolves to suffer from the deficiency of people laboring on it.
    • New default cursor shapes for insert and swap mode.
    • Insert-mode ctrl-n hugs autoadviseions (#10339).
    • Outside insert mode, the cursor will no extfinisheder be placed beyond the last character on the directline.
    • When the cursor is at the finish of the directline, a individual l will hug an autoadviseion (#10286).
    • The cursor position after pasting (p) has been accurateed.
    • When the cursor is at the commence of a line, escaping from insert mode no extfinisheder transfers the cursor to the previous line.
    • Added obtainings for clipboard conveyion, enjoy ",+,p and ",+,y,y.
    • Deleting in visual mode now transfers the cursor back, aligning vi (#10394).
    • Support % motion (#10593).
    • Support ab and ib vi text objects. New input functions are presentd jump-{to,till}-aligning-bracket (#1842).
    • The E obtaining now accurately administers the last character of the word, by jumping to the next word (#9700).

Completions

  • Command-particular tab completions may now give results whose first character is a period. For example, it is now possible to tab-finish git insert for files with directing periods. The default file completions hide these files, unless the token itself has a directing period (#3707).
  • Option completion now participates fuzzy subsequence filtering, equitable enjoy non-chooseion completion (#830).
    This nastys that --fb may be finishd to --foobar if there is no better align.
  • Completions that insert an entire token now participate quotes instead of backslashes to escape one-of-a-kind characters (#5433).
  • Historicassociate, file name completions are provided after the last : or = wiskinny a token.
    This helps directs enjoy rsync --files-from=.
    If the = or : is actuassociate part of the filename, it will be escaped as : and =,
    and no extfinisheder get this one-of-a-kind treatment.
    This alignes Bash’s behavior.
  • Various new completion scripts and countless refreshs to existing ones.
  • Generated completions are now stored in $XDG_CACHE_HOME/fish or ~/.cache/fish by default (#10369)

Imshowd terminal help

  • fish now labels the prompt and direct-output regions (via OSC 133) to allow terminal shell integration (#10352).
    Shell integration lowcuts can scroll to the next/previous prompt or show the last direct output in a pager.
  • fish now increates the laboring straightforwardory (via OSC 7) unconditionassociate instead of only for some terminals (#9955).
  • fish now sets the terminal thrivedow title (via OSC 0) unconditionassociate instead of only for some terminals (#10037).
  • Focus increateing in tmux is no extfinisheder disabled on the first prompt.
  • Focus increateing is now disabled during directs run inside key obtainings (#6942).
  • Cursor alters are applied to all terminals that help them, and the enumerate of particularassociate-helped terminals has been deleted (#10693).
  • If it cannot discover the terminfo entry given by TERM environment variable, fish will now participate an included xterm-256color definition to align the immense presentantity of current terminal emulators (#10905). If you need to have a particular terminfo profile for your terminal’s TERM variable, inslofty it into the terminfo database.
  • Further enhancements to the accurate disapply of prompts which fill the width of the terminal (#8164).

Other enhancements

  • fish_indent will now collapse multiple vacant lines into one (#10325).
  • fish_indent now sustains the modification time of files if there were no alters (#10624).
  • Percreateance and conveyivity under Windows Subsystem for Linux has been enhanced, with a laboraround for Windows-particular locations being appfinished to $PATH by default (#10506).
  • Additional filesystems such as AFS are properly distinguished as distant, which dodges certain hangs due to costly filesystem locks (#10818).

For distributors

fish has been ported to Rust. This nastys a presentant alter in depfinishencies, which are enumerateed in the README. In low, Rust 1.70 or wonderfuler is needd, and a C++ compiler is no extfinisheder needed (although a C compiler is still needd, for some C glue code and the tests).

CMake remains the recommfinished produce system, becaparticipate of cargo’s restricted help for insloftying help files. Version 3.5 remains the least helped version. The Xcode generator for CMake is not helped any extfinisheder (#9924)

fish no extfinisheder depfinishs on the ncondemns library, but still participates a terminfo database. When packaging fish, phire insert a depfinishency on the package grasping your terminfo database instead of condemns.

Download joins: To download the source code for fish, we advise the file named "fish-4.0b1.tar.xz". The file downloaded from "Source code (tar.gz)" will not produce accurately. The SHA-256 sum of this file is 534334e10f85722214e9daff82a57cc3501235523f16f8f131c2344e4ec98da7. A GPG signature from David Adam (key ID 0x7A67D962D88A709A) is useable as "fish-4.0b1.tar.xz.asc".

The files called fish-inactive-* are experimental inactiveassociate joined produces for any linux with the given architecture. Extract and run, and they will reshift their data files as needed

Source join


Leave a Reply

Your email address will not be published. Required fields are marked *

Thank You For The Order

Please check your email we sent the process how you can get your account

Select Your Plan