diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 1eddf2c12..b62b60c44 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -32,7 +32,7 @@ body: attributes: label: Filee version description: Settings → About - placeholder: "2.1.0" + placeholder: "2.2.0" validations: required: true - type: input diff --git a/CHANGELOG.md b/CHANGELOG.md index 56864a4c4..26708b2c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,297 @@ change, a language may repeat; a language without lines shows the English ones): - `recommended`: bug fixes. The card shows once per version. - `optional`: new features only. No card, the sidebar button only. +## 2.2.0 + + + +### New + +- **Edit pictures** (issue #584). A new slice on the front of the images donut, after Half size, opens the pictures you + drop on it in a small window: **Convert to** (the same format, PNG, JPG, WEBP, AVIF, HEIC once FFmpeg is downloaded, + GIF, BMP, TIFF or ICO), **Resize** (original size, percent, long edge or width, with the first picture's size before + and after), **Rotate**, **Flip**, **Grayscale**, and **Quality** for JPG, WEBP, AVIF and HEIC. Enter converts, Esc + closes. The results are ordinary conversions named `{name}_edited`, and the window opens with your last choices next + time. Kept in the same format, a picture Filee can only read (camera RAW, DICOM …) is written as PNG. The window + doesn't offer the new exact width × height or minimum short edge; those are in the preset editor. An updated library + gets the slice after Half size when that slice is still on the front and the front has room. +- **Pixelate / blur.** The slice after Edit pictures covers parts of a picture (names, faces, phone numbers in a + screenshot) before you share it. Drag on the picture to draw a frame, as many as you need, and move or size them as + in the Crop window. Choose **Pixelate** or **Blur** and a strength. **Enter** saves, **Esc** closes, **Delete** + removes the selected frame, **R** clears them all, **P** / **B** switch the cover, **+** / **−** change the strength, + and Ctrl+Z / Ctrl+Y undo and redo. With several pictures, **Hide & Next** and **Skip** go through them, and the + frames carry on to the next picture. Each picture is saved as `{name}_hidden` in its own format (PNG for one Filee can + only read). The covered parts can't be brought back from the result: pixelate averages squares and blur averages + before it blurs, both at least 2 % of the picture's shorter side, and the small previews a file keeps of the original + (EXIF thumbnail, Photoshop and XMP previews) are removed. Animated and multi-page pictures can't be opened. An + updated library gets it on the front when there's room, else at the end of the back face. +- **Merge images** (issue #645). Several pictures become one, one under another or side by side: the front and back of + an ID card as one JPG to upload. Drop two or more pictures on the slice and the merge order window opens with a + layout card: **Top to bottom** or **Side by side**, **Same width** (**Same height**) so the edges line up, a **Gap** + in pixels, and a **Background** colour or **Transparent** (white for JPG). Your choices are kept in the preset. The + result is named after the first picture, `{name}_merged`, in its format (PNG when Filee can only read it), and the + preset's resize, quality and size limit apply to it. A merge over 200 megapixels is refused with its size. The slice + is on the back of the images donut before Merge PDF, in GIF's place; GIF stays in the preset list and on the video + donut. An updated library gets it in a free slot of that face, else in GIF's place, unless you laid the face out + without GIF. +- **Crop** (issue #542, by @cre8ive-marketing). The aspect dial has a **5:4** slice, which is **4:5** (Instagram's + portrait size) on an upright picture, and a **custom** slice after 16:9: type W and H beside the ratio button + (`1080` × `1350` shows as 4:5; only the ratio counts, not the pixels). The ratio you pick now carries on to the next + pictures of the batch, as large as it fits and centred; **R** goes back to Free. +- **Exact size and minimum short edge.** The resize list in the preset editor has two more choices: + - **Set width and height** (issue #576, by @choksi2212), 16 to 16384 px each. Without *Keep aspect ratio* the picture + is stretched to exactly that size; with it, each picture keeps its shape and is scaled up or down to the largest + size that fits. + - **Set a minimum short edge** (issue #652): a picture whose shorter side is under the number (1080 by default) is + enlarged in proportion until it reaches it. Larger pictures are left as they are; it never shrinks anything. +- **Size limit and ready-made presets** (issue #553, by @cre8ive-marketing). Presets have a **Size limit (MB)** for + pictures (next to Quality) and for videos. A picture over it is saved again at a lower quality, then with fewer + pixels; a video is encoded again at the bitrate its length allows (with FFmpeg). When it can't fit, the file fails + with the sizes instead of breaking the limit. Settings → Presets → **New** is now a menu: an empty preset, or a copy + of a ready-made one: *Video for email* (MP4, under 18 MB), *Video for Discord* (under 10 MB), *Video for WhatsApp* + (720p, under 16 MB) and *Photo for Instagram* (JPG, 1080 px wide). They aren't on a donut; add them in Settings → + Donut toolbar. +- **Undo** (issue #553, by @cre8ive-marketing). A recent conversion on Home has an **Undo** button that moves its + results to the Recycle Bin / Trash. It shows only while the results are as the conversion left them, so a file + edited or overwritten since is never moved. With *Replace the original*, the originals are already in the Recycle + Bin / Trash and stay there. Conversions from before 2.2.0, and results that are a folder, have no Undo. +- **Ask every time** (issue #521, by @cre8ive-marketing). A preset's **Save to** can be *Ask every time*. From the + donut, Filee then asks for a file name (one result) or a folder (several results, once for the whole batch), + starting in the source's folder; Cancel converts nothing. Watch folders and the command line save next to the source, + and files dragged from a browser still go to the download folder. +- **Profile order** (issue #522). Settings → Donut toolbar has **Move up** / **Move down** arrows under the profile + list (Alt+↑ / Alt+↓ in the list). When two profiles take the same extension, the higher one opens, so a profile of + your own with `.jpg` can now come before Images. *Reset to default* keeps a profile's place. +- **More formats**, 268 in all. + - **Split archives** (`.001`, `.7z.001`, `.zip.001`, `.tar.001`; issue #653, by @Armone0): drop the first part on the + archives donut, with the other parts next to it, and 7-Zip joins them to extract or repack what's inside. + - **Dahua DVR recordings** (`.dav`; issue #594) to MP4 and the other video and audio formats, with FFmpeg. + - **Fragmented MP4** (`.m4s`; issue #354) that carries its own start, with FFmpeg. A piece of a streamed video that + needs a separate init segment stops with a message saying so. + - **Windows bitmap fonts** (`.fon`; issue #177, by @SeoJCalive) to TTF, OTF, WOFF, WOFF2 and EOT with their pixel + look. A file with several sizes gives a font per size (`Name-13px.ttf`). Vector `.fon` and Chinese, Japanese or + Korean bitmap fonts are refused with the reason. + - **Garmin FIT** activities (`.fit`; issue #451, by @SeoJCalive) from a watch or bike computer, on the geospatial + donut: to GPX, KML / KMZ, GeoJSON, Shapefile and CSV (a row per record, with heart rate, cadence, power, speed and + distance), and through CSV to XLSX and JSON. The points keep their time and height. An activity without positions + converts to the table formats only; other FIT files (courses, settings …) are refused. + - **AutoHotkey, INI, MikroTik and batch files** (`.ahk`, `.ini`, `.rsc`, `.cmd`; issues #536, #660, #661) and **SQL** + (`.sql`; issue #607, by @adnan-bhaldar) become text like the other scripts: read, never run. + + Your donuts learn the new extensions, unless one of your own donuts already takes them. +- **CAD drawings in black and white** (issue #411). Presets that make a PDF, SVG or picture have a **CAD drawing** card + with **Colours**: *As drawn* (as before), *Black and white*, like a monochrome plot, or *Grayscale*. In black and + white every line and text is black, and filled areas become the grey of their brightness, so a light fill doesn't + turn into a black block. Grayscale darkens light lines, such as yellow, enough to read. PDF and SVG stay vector. +- **What a preset takes** (issue #548, by @SeoJCalive). In Settings → Donut toolbar, hovering a chip under *Available + presets* shows what it makes and which formats it takes, by kind; hold Shift for the whole list. +- **German** (by @deinzooshop). Filee and Setup speak German, and pick it when Windows, macOS or Linux is set to German + (Germany, Austria, Switzerland …). A language picked in Settings stays as it is. + +### Improved + +- **The window keeps its place** (issue #586, by @cre8ive-marketing). The main window opens at the size and position + it had when it closed, maximized or not, also after closing to the tray, quitting or signing out. It always fits the + screen, and opens centred when the screen it was on is gone. +- **Keyboard and screen readers** (issue #524, by @cre8ive-marketing). Icon buttons and the fields of the preset + editor and the settings pages have names a screen reader reads. The chips under *Available presets* in Settings → + Donut toolbar can be reached with Tab: Enter adds one to the donut, Shift+F10 or the menu key edits it. Plain buttons + (Browse…, Revert …) are drawn on the card's colour with a border, so they no longer look like a disabled box. +- **File Pilot** (issue #633). With the default scope, *File managers and desktop*, a Ctrl + drag out of File Pilot + opens the donut, as in Explorer (Windows). +- **Lists and dropdowns** (by @adnan-bhaldar). The highlight of a selected or hovered row stops before the scrollbar, + and dropdown rows stay inside their rounded corners. +- **European Portuguese** (by @Blackspirits) reads more naturally in a few places. + +### Fixed + +- Chinese and Japanese text recognized with OCR had a space between most words ("本 书 是 作者") in the DOCX, TXT or + other text made from it (issue #691). The words of Chinese or Japanese text read from a PDF now join without a + space; spaces next to Latin letters and digits stay, and Korean keeps its spaces. +- A long calibre conversion (a 300 MB CHM → PDF) was stopped after 10 minutes (issue #651). calibre now runs as long as + it shows progress, and is stopped only after 10 minutes without any, with a message saying so. +- On Windows, the mouse could stutter or freeze while Filee converted, and Filee could crash when quitting (issues + #511, #528, by @cre8ive-marketing). The gesture hook now answers first, and every engine runs at a lower priority. +- LibreOffice and calibre failed to install when a folder on the way, such as `AppData\Local`, was moved to another + drive through a link (Windows Installer error 1620; issue #527, by @cre8ive-marketing). When Windows Installer still + refuses, or another installation is running, the Engines card says why. +- Black-and-white and 16-bit pictures (scans, fax TIFFs, 1-bit PNGs) failed to go into a PDF with "Unsupported image + format", also as comic pages and in Apple Vision OCR (issue #605). +- Uncompressed DDS textures stored as R, G, B, A, common in games, came out with red and blue swapped (issue #621, by + @SeoJCalive). +- Half size, Grayscale, Trim transparent borders and Compress image were offered for MP3, ZIP and other files that + aren't pictures (issue #565, by @SeoJCalive). They're greyed out with "Works on images only"; in a mixed selection the + pictures count. +- A picture resized small and saved as ICO held larger sizes blown up from it. It now holds that size and the smaller + ones. +- A Setup file cut short by an unfinished download said "Filee is not installed in …" as if it were the uninstaller + (issue #599). It now says the file is incomplete and to download it again from filee.sh. +- On Windows, apps that cover the desktop with their own icon layer hid the desktop from Filee, so the drag gesture + and the selection shortcut did nothing there (by @Cafunw). Windows that belong to the desktop now count as the + desktop. +- On macOS, a Finder alias dropped on the donut or selected in Finder was refused; Filee converts the file it points + to, as it does with Windows shortcuts (by @mendax-iitm). +- On macOS, the donut didn't show when dragging over a full-screen window, such as full-screen Finder (issue #251, by + @mendax-iitm). +- On Linux, Filee crashed at start with `FILEE_USE_WAYLAND=1` (native Wayland) (by @mahaveergurjar). +- On KDE Plasma with Wayland, the donut opened from the file manager's menu could appear on another Activity or + virtual desktop and switch to it (issue #557, by @cre8ive-marketing). After updating Filee, upgrade the KWin script + as installer/linux/INSTALL.txt says (`--upgrade` instead of `--install`), then turn "Filee donut" off and on again in + System Settings → Window Management → KWin Scripts. +- On Linux, the flip arrow in the donut's hub hint showed as a box. The donut draws it now, the same on every system + (issue #554, by @cre8ive-marketing). +- iCalendar: an event given by a start and a duration that crossed a daylight saving change ended an hour off, and a + calendar whose time zones have offsets in seconds failed to convert (by @Stamina9). +- vCard: a name with a long run of combining accents was written with a line over the 75-byte limit (by @Stamina9). +- In Watch folders, a rule that was off read "On Off" beside its switch (issue #524, by @cre8ive-marketing). +- `filee watch --help` gave 2 seconds as the default settle time everywhere; on Linux and macOS it's 5 (by + @Blackspirits). + ## 2.1.0 $(NoWarn);CS1591;CS1573 - 2.1.0 + 2.2.0 Filee Filee contributors Copyright (c) Filee contributors