-
Rust로의 포팅: fish의 핵심 코드가 C++에서 Rust로 포팅됨. 이는 종속성과 빌드 방식에 큰 변화를 가져오지만 사용자에게 직접적인 영향은 없음.
-
비호환 변경 사항:
-
bind 명령어의 새로운 키 표기법 도입.
-
ctrl-c가 이제 clear-commandline을 호출하며, 이전 동작은 cancel-commandline으로 사용 가능.
-
random 함수의 시드 값에 따른 결과가 이전 버전과 다르게 나올 수 있음.
- 명령어 위치에 있는 변수는 이제 서브커맨드 키워드로 확장될 수 없음.
-
functions --handlers가 이제 정의된 순서대로 핸들러를 나열함.
-
qmark-noglob 기능이 기본적으로 활성화됨.
개선 사항 및 수정
-
키보드 프로토콜: XTerm의 modifyOtherKeys와 kitty의 키보드 프로토콜 지원.
-
자체 설치 바이너리: fish를 자체 설치 가능한 바이너리로 빌드 가능.
-
명령어 히스토리: fish_should_add_to_history 함수로 히스토리에 추가할 명령어 결정 가능.
-
되돌리기 기능: 명령어 실행 후에도 히스토리가 유지됨.
-
약어 제한: 특정 명령어에만 약어 확장 가능.
비추천 및 제거된 기능
-
commandline --tokenize가 commandline --tokens-expanded로 대체됨.
-
bind -k 구문을 통한 키 이름 지정이 비추천됨.
- 붙여넣기 모드가 제거됨.
스크립팅 개선
-
새로운 히스토리 명령어: history append로 명령어를 실행하지 않고 히스토리에 추가 가능.
-
새로운 리다이렉션: `