Skip to content

Releases: antonmedv/fx

37.0.0

23 Jun 21:11
d491a7c
Compare
Choose a tag to compare

Fx is terminal JSON viewer & processor.

fx preview

In this release:

🔢 Go To Line (Vim-Style)

Quickly jump to any line using :42 syntax.

image

🧮 JSON Parsing Enhancements

  • Support for special values: Infinity, -Infinity, NaN
  • New --strict flag to enforce standard-compliant JSON only
image

🛠 Fixes & Improvements

  • Corrected object node previews
  • More precise error messages
$ fx .anton/events.json --strict
Unexpected character 'I' on line 290519.

      "confidence": Infinity,
  ..................^

🏃‍♂️ Data Utilities

  • Added walk function for recursive data transformation:
walk(x => typeof x === "number" ? x.toString() : x)
  • The map function now supports object mapping.

GitHub Sponsor

36.0.4

18 Jun 20:23
5dec42b
Compare
Choose a tag to compare

This update introduces several small but meaningful improvements to fx:

  • When opening an empty file, the spinner now stops immediately—making it clear that the file is, in fact, empty.
    No more pointless spinning. 🙂
  • I’ve removed a confusing indexing label from the status bar when loading large files.
  • The spinner has been relocated to the right corner for better clarity.
  • Additionally, in streaming mode, the spinner will now keep spinning until the end of the file is reached.
Терминал 2025-06-18 22 16 38

GitHub Sponsor

36.0.3

25 May 15:16
32d0036
Compare
Choose a tag to compare
  • Added ctrl+z to suspend program.
  • Added v to open JSON in $EDITOR line vim.

36.0.2

16 May 08:20
efa0931
Compare
Choose a tag to compare
  • Improved autocomplete for JSON and YAML in zsh.
  • Added toBase64 and fromBase64 builtins.
  • Added YAML.parse and YAML.stringify builtins.

36.0.1

14 May 10:02
fc06705
Compare
Choose a tag to compare
  • Fixed JSON unmarshal for unquote #337

36.0.0

13 May 06:52
ff1ca3a
Compare
Choose a tag to compare

Fx is terminal JSON viewer & processor.

fx preview

In this release:

  • Added support JSON streaming in interactive mode!
    • Added autoscroll to bottom of new incoming JSON messages.
    Screenshot 2025-05-13 at 07 36 01
  • Improved JSON parsing speed and memory usage!
    • Opening huge JSON files ~4GB now takes half the mem size!
  • Fixed jumps with J/K over wrapped strings.
  • Fixed pageup and pagedown movements. Now they work same as in vim!
  • Added loading spinner for big JSON files.
  • Added better expand/collapse e/E support with multiple JSON objects.
  • Added better previews of collapsed nodes.
  • Fixed support for multiple documents in single YAML file.
  • Added FX_COLLAPSED=1 option to start in collapsed view.
  • Added support to display plain text in interactive mode.
    • Added support for HTTP headers with curl -i ... | fx.
    Screenshot 2025-05-13 at 07 49 29
  • Added base64 images preview.
  • Added jumping back/forward in locations history with [ ] keys.
  • Added goto symbol with @ key.
  • Added s key to show/hide array/object sizes.
  • Added go to ref with ctrl+g.
  • Added line numbers with option FX_LINE_NUMBERS.
    • Added scroll percentage in status bar.
    Screenshot 2025-05-13 at 08 45 10
  • Added edit-in-place save function!
    fx example.json 'x.name = x.name.toUpperCase(), x' save

35.0.0

27 Jun 10:05
dbceea3
Compare
Choose a tag to compare

Fx is terminal JSON viewer & processor.

fx preview

In this release:

  • Fixed a bug with very long arguments 44e7388
  • Fixed a bug with closing profiles properly (#307)
  • Fixed bash autocomplete for files without newline at the end (#304)
  • Fixed a bug with --raw flag reading files without newline at the end e465f7d
  • Updated dependencies 48a9ee9

34.0.0

28 Mar 15:07
21f5833
Compare
Choose a tag to compare

Fx is terminal JSON viewer & processor.

fx preview

In this release:

  • Now fx has a built-in JS engine! So, JSON processing will work everywhere!
  • Added list function to print array as list of strings.
  • Fixed yanking of wrapped object keys.

33.0.0

15 Mar 20:33
b7c4bab
Compare
Choose a tag to compare

fx preview

Terminal autocomplete

This release adds terminal autocomplete for fx command. It's available for bash, zsh, and fish.

fx preview

New configuration options

  • FX_SHOW_SIZE - show the size of the arrays and objects
  • FX_NO_MOUSE - disable mouse support
  • FX_THEME - set the theme for the output

32.0.0

11 Mar 21:03
7b5d446
Compare
Choose a tag to compare

fx preview

YAML support

Now you can use fx to view and process YAML files!

fx example.yaml
# or 
cat example.yaml | fx --yaml

Fx will automatically convert YAML to JSON. The npm version of fx also supports YAML and provides YAML.parse and YAML.stringify functions.

npx fx example.yaml '.jobs.test.steps' YAML.stringify

Expand with 1-9 keys

Now you can use 1-9 keys to expand nested objects and arrays up to nth level.

Keybindings help

Type ? to see all available keybindings. Press ? again to close the help.

Preview mode

Type p to toggle preview mode. In preview mode, strings are unquoted and newlines are preserved.

fx preview

This is useful when you want to see content of a long string.

Print to stdout

Type P to print the currently selected value to stdout. This is useful when you want to pipe the output of fx to another command.

curl https://fx.wtf/example.json | fx > part.json

Docker image

Now you can use fx as a Docker image.

docker run -it --rm -v .:/data:ro antonmedv/fx file.json