What's Changed
New tools
- Annotate (pictures, palette): arrows, boxes, highlights, freehand lines, text and numbered markers, drawn as you see them, in the picture's own colours (also CMYK and greyscale), with right-to-left and complex scripts shaped properly.
- Crop video (video back face): remove black bars found automatically, or crop to 16:9, 9:16, 4:3, 1:1 or 21:9. HDR and 10-bit sources stay HDR and 10-bit.
- Pages per sheet (PDF, palette): 2, 4, 6, 8 or 9 pages on each sheet, on A4, Letter, A3 or the first page's size, with margins, gaps, order and thin borders. Pages stay vector, so text stays text.
- Copy to folder / Move to folder (back faces): send files to a folder you choose, as they are.
- Pixelate / blur: a Black box style for each area.
- Pictures → 3D relief: GLB, glTF, STL, OBJ, 3MF and PLY for printing or viewing.
Translation and captions (local AI)
- Translate documents, e-books and SRT / WebVTT subtitles into 12 languages with a local model (Ollama). Nothing leaves the PC; timings of subtitles stay as they are.
- Runs a model drops are asked for again, in order, and a model can be deleted from the model window.
- Captions: SRT subtitles from a video or a recording, with Whisper.
Print work: CMYK
- CMYK pictures (PSD, TIFF, JPG) → PDF stay CMYK, with their ICC profile. A CMYK JPEG → PDF no longer fails.
- CMYK Illustrator and PDF files → JPG or TIFF keep their CMYK ink values, through Ghostscript (Settings → Engines). Without it the result is RGB and says why.
Settings
- Settings → Fields: turn off fields you don't work in (CAD, 3D models, maps, fonts, games, design, science, video and audio production, old formats). Their formats leave the donut and the lists; a file you drop still offers its own field's formats. A new install starts with only Developer on.
- Size limits: pictures as a range in KB or MB, videos in MB or as a percentage.
- Edit pictures: width × height in px, cm, mm or inches. Crop: a perspective mode that straightens a tilted picture.
- Merge: sort files by name or date first. The sidebar collapses to icons.
- Delete and remove buttons turn red on hover.
Formats
- New: Krita (.kra), Minecraft packs, add-ons, worlds and templates, Modrinth modpacks (.mrpack, in the Games field), Dart and HiveQL as text, C / C++ / C# source, Apple Voice Memos (.qta), Bink video (.bik), FreeMASTER oscilloscope text → CSV, standalone SVG text dropped from a browser.
- Animated GIF, WebP, APNG and MNG → JPEG XL stay animated.
- Languages: Italian, Indonesian and Vietnamese (by @dinhkarate).
Command line
filee engineslists, installs and removes the optional engines;formatsandpresetstake--json.
Fixes
- OCR to PDF failed with the Tesseract that Ubuntu 20.04 / 22.04 install (4.x).
- DOCX → PDF could wait until its time limit when LibreOffice didn't exit.
- Removing an engine in use no longer leaves it half deleted; interrupted downloads leave no partial files.
- PDF → Word keeps ruled tables whose text runs past a cell, table-of-contents leaders and line spacing.
- macOS: the donut opens and flips while another app holds Secure Input; the donut window class is restored.
- Windows on ARM:
FILEE_RENDERING=gpu,vulkanorwglto try the GPU on Snapdragon PCs. - The installer shows the new rounded logo, and its "What's new" pictures as still images.
Pull requests
- feat(data): convert FreeMASTER oscilloscope text to CSV by @KnifeLemon in #721
- feat(images): width × height in Edit pictures, in px, cm, mm or inches by @KnifeLemon in #726
- feat(qta): read Apple Voice Memos recordings (#646) by @SeoJCalive in #762
- feat(cli): add --json to 'formats' by @yavuzmeteafsar in #759
- feat(crop): add a perspective mode that straightens a tilted picture by @SeoJCalive in #764
- feat(cli): add presets --json and engine hints to failed convert --json files by @SeoJCalive in #773
- feat(presets): image file size as a range in KB or MB by @SeoJCalive in #791
- feat(macos): convert the clipboard from a keyboard shortcut and put the result back by @skyhilam in #705
- feat: Add Whisper speech-to-text captioning for video and audio (.srt) (Continues #774) by @rohitLovesKrishna in #788
- feat: collapsible sidebar with icon-only mode by @adnan-bhaldar in #797
- feat(presets): add Copy to folder tools on the back face by @1644ye in #814
- feat(browser): accept standalone SVG text through Ctrl-drag by @1644ye in #813
- feat(formats): add format fields and grades table by @SeoJCalive in #846
- feat(presets): video size limit in MB or as a percentage of the original file by @gianabif14 in #883
- feat(presets): Copy to folder can move the files instead of copying them by @lightscape-jm in #913
- feat(hide): Black box style for each area in Pixelate / blur by @lightscape-jm in #930
- feat(cli): add 'engines' to list, install and remove optional engines by @yavuzmeteafsar in #935
- feat(ui): color picker card, pastel preset columns and Material You toggle hover by @adnan-bhaldar in #960
- feat: Add document, ebook and text translation into any of the 12 supported languages (.pdf, .docx, .epub, .md, .txt) by @rohitLovesKrishna in #836
- feat(ui): spin the arrow on "Check now" and "Check again" by @adnan-bhaldar in #982
- feat(presets): default donuts follow the #806 slot table by @SeoJCalive in #972
- feat(merge): sort files by name or date before merging by @amanvir-singh in #1018
- feat: modernize the app logo with rounded corners by @adnan-bhaldar in #1019
- feat: add Image to 3D conversion engine and corresponding tests by @Sadeepa11 in #733
- feat(tools): Annotate tool by @lightscape-jm in #1024
- feat: field switches in Settings → Fields (#806) by @SeoJCalive in #1036
- feat(formats): .dart and .hql as text, Krita .kra as a picture by @KnifeLemon in #1047
- feat(formats): Minecraft packs and Modrinth modpacks (Games field) by @KnifeLemon in #1048
- feat(toolbar): the group editor's add list follows the field switches by @SeoJCalive in #1052
- feat(pdf): CMYK pictures stay CMYK in PDFs by @KnifeLemon in #1059
- feat(pdf): CMYK PDF and Illustrator files → CMYK JPG and TIFF by @KnifeLemon in #1060
- feat: pages per sheet (N-up) for PDFs (#737) by @cre8ive-marketing in #1062
- feat(setup): draw the new rounded logo in the installer by @adnan-bhaldar in #1044
- fix(setup): batch translated resource updates by @Stamina9 in #692
- fix(engines): find LibreOffice where its Windows installer recorded it by @KnifeLemon in #719
- fix(dds): keep the colours of DDS pictures inside other files by @SeoJCalive in #745
- fix(windows): focus donut for context-menu keyboard input (#730) by @Marouane-elfadli in #734
- fix(app): release the engine setup window however it is closed (#666) by @SeoJCalive in #750
- fix(home): show built-in preset names in the current language (#744) by @KnifeLemon in #765
- fix(pdf): keep the text of pages turned with /Rotate by @KnifeLemon in #766
- fix(qta): follow-up to the #762 review (track choice in clips, codec query caching) by @SeoJCalive in #772
- fix(media): mux separate M4S audio and video by @Stamina9 in #787
- fix(engines): let other engines queue while one installs (#819) by @cre8ive-marketing in #823
- fix(ui): smooth radial opening and Tab flip transitions by @1644ye in #815
- fix(macos): restore donut window class on hide and before close by @wavever in #808
- fix(ui): Material You accent consistency, side-by-side About cards and dropdown chevron by @adnan-bhaldar in #882
- fix(ui): make the donut flip arrow's head stand clear of its circle by @adnan-bhaldar in #911
- fix(hide): Black box is black on CMYK, and extra TIFF channels are covered by @lightscape-jm in #964
- fix(cli): polish 'engines' after #935 by @yavuzmeteafsar in #977
- fix(hide): read the preview's pixels at 8 bits a channel by @lightscape-jm in #987
- fix(office): stop DOCX to PDF timing out when soffice does not exit by @Marouane-elfadli in #1015
- fix(engines): LibreOffice 26 version, output drain timeout, msiexec log cleanup by @KnifeLemon in #1034
- fix(windows): FILEE_RENDERING gpu, vulkan and wgl to try the GPU on Adreno by @KnifeLemon in #1039
- fix(translation): address #985 follow-ups (deleted model handling, background checks) and model deletion by @rohitLovesKrishna in #992
- fix(ui): group editor rows: no hover scale, proper cursors by @adnan-bhaldar in #1046
- fix(ocr): copy pdf.ttf into job tessdata for Tesseract 4.0 by @Marouane-elfadli in #1043
- fix(images): keep animations as animated JPEG XL by @KnifeLemon in #1054
- fix(macos): the donut opens and flips while another app holds Secure Input by @lightscape-jm in #855
- fix(pdf): CMYK JPEG → PDF no longer fails by @KnifeLemon in #1057
- fix(engines): safe removal, no leftover downloads, busy message translated by @KnifeLemon in #1058
- fix(ui): Red hover for delete buttons by @adnan-bhaldar in #1063
- docs: add HelloGitHub badge to all README files by @adnan-bhaldar in #758
- docs: add Bahasa Indonesia translation (README.id.md) by @gianabif14 in #775
- docs: add an Agent Skill for the filee command by @SeoJCalive in #804
docs:Added Italian README by @Tatto05 in #850- docs: rules for what Filee shows by default (FORMAT-RULES.md) by @KnifeLemon in #890
- docs: README media with the rounded logo by @KnifeLemon in #1069
- Refresh the app screenshots for 2.3.0 by @KnifeLemon in #1071
- Changelog 2.3.0: Vietnamese by @KnifeLemon in #1072
- ci: flag possible duplicate issues with a short comment and label by @adnan-bhaldar in #701
- macOS: ImageMagick built for macOS 13, and a minimum-macOS check (#600) by @cre8ive-marketing in #747
- Patch-level NuGet updates (Avalonia 12.1.4, ACadSharp 3.8.35, …) by @KnifeLemon in #811
- build: Windows on ARM64, stage 1 (CI, scripts, ARM64 rhwp and Unhwp) by @KnifeLemon in #822
- ci: flag new issues that repeat a request closed as not planned by @adnan-bhaldar in #838
- build(deps): Update Magick.NET to 15.0.0 by @KnifeLemon in #817
- fix(cli): list folder as a target in 'formats ' by @yavuzmeteafsar in #714
- i18n: polish Turkish engine names and add release notes for 2.1.0 & 2.0.0 by @Armone0 in #718
- test(setup): check a language switch through ApplyLook shows the new texts (#667) by @SeoJCalive in #723
- i18n: change installation references to updating by @adnan-bhaldar in #731
i18n:added italian language by @Tatto05 in #732- i18n: add update.downloading_short for the sidebar button and the tray by @adnan-bhaldar in #749
- test: give the stall-watch progress test room on busy CI runners by @KnifeLemon in #768
- Add .bik (Bink Video) as a read-only video format by @Marouane-elfadli in #771
- Log whether a donut drag ended in a drop, and why a drop didn't convert (#784) by @KnifeLemon in #785
- Feed the stall-watch test from a thread of its own by @KnifeLemon in #794
- Don't let a shell window that answers no names stop a selection gesture (#606) by @KnifeLemon in #795
- i18n: add Indonesian language support (UI translation and platform resources) by @gianabif14 in #790
- Trace what happens between a gesture's press and its drag (#739) by @KnifeLemon in #796
- H2Orestart 0.8.0 by @KnifeLemon in #809
- Security updates: Temurin JRE 21.0.13, .NET 10.0.14 packages by @KnifeLemon in #810
- Engines: 7-Zip 26.05, Pandoc 3.13, calibre 9.17.0 by @KnifeLemon in #812
- filee help: exit code 0 means nothing failed, not all converted by @KnifeLemon in #818
- Wait for the cancelled job before deleting the wave-drop test folder by @KnifeLemon in #841
- Read C, C++ and C# source files as plain text by @KnifeLemon in #892
- Markdown code blocks: one shaded box in a monospace font by @KnifeLemon in #893
- Uninstall: say that files still in use go at the next restart by @KnifeLemon in #894
- test(presets): check every default donut slot against its donut's inputs by @SeoJCalive in #914
- i18n: translate Copy to folder and Move to folder by @KnifeLemon in #919
- i18n(it): real line breaks instead of a literal \n by @KnifeLemon in #944
- Engines: give the programs Filee starts an empty input by @KnifeLemon in #952
- Fix PDF to Word layout: TOC leaders, heading split, fixed line spacing Fixes #885 by @Marouane-elfadli in #897
- Tests: allow 7-Zip's daylight-saving hour in the archive round trip by @KnifeLemon in #961
- PDF to Word: keep a ruled table whose text runs past a cell by @KnifeLemon in #986
- Translate SRT/WebVTT subtitles locally with the AI translator by @SS-LAU in #1030
- Add Crop video: remove black bars or crop to a ratio (#830) by @cre8ive-marketing in #995
- test: make the OFD, spreadsheet and preset-editor tests locale-independent by @KnifeLemon in #1033
- Gap-fill recovery: re-ask only dropped document-translation runs, up to 4 keyed rounds by @SS-LAU in #1031
- Shared keyed-recovery helper; re-asked runs stay in slot order by @SS-LAU in #1061
- Release 2.3.0: version and changelog by @KnifeLemon in #1067
- i18n: add Vietnamese translation by @dinhkarate in #1068
- What's new slides for 2.3.0 by @KnifeLemon in #1074
New Contributors
- @yavuzmeteafsar made their first contribution in #714
- @Marouane-elfadli made their first contribution in #734
- @Tatto05 made their first contribution in #732
- @gianabif14 made their first contribution in #775
- @skyhilam made their first contribution in #705
- @rohitLovesKrishna made their first contribution in #788
- @1644ye made their first contribution in #815
- @wavever made their first contribution in #808
- @lightscape-jm made their first contribution in #913
- @amanvir-singh made their first contribution in #1018
- @SS-LAU made their first contribution in #1030
- @Sadeepa11 made their first contribution in #733
- @dinhkarate made their first contribution in #1068
Full Changelog: v2.2.0...v2.3.0