Repository navigation
Releases: Zhangwei930/MagiesPdf
Release list
MagiesPdf v3.4.1
AI document building on macOS
- The AI assistant can build and restyle Office documents on macOS again. Inserting charts, tables, pivot tables, a contents page, page numbers or footnotes, and restyling a presentation all failed in 3.4.0 on macOS: the LibreOffice bundled with the app was damaged while the installer was being made, so the part of it that does this work was stopped by the system the moment it started.
- On macOS 27 these operations still cannot run: the system no longer lets an app start that part of LibreOffice itself. Previews, converting to PDF and editing documents are not affected. This is being worked on.
Word documents
- Saving a Word document keeps its font information. Every save in the built-in editor stripped the details Word uses to choose a stand-in when the reader does not have one of the document's fonts, so on another computer it could appear in a noticeably different typeface.
Security
- Six components the app is built on have been updated to versions that fix published security problems.
Under the hood
- Making an installer now checks that the bundled LibreOffice is intact, so the macOS problem above would stop a release instead of reaching you.
MagiesPdf v3.4.0
Highlighting and drawing, actually working
- A mark now lands where you drew it. A highlight or a pen stroke 100pt from the top of the page was being written 742pt from the top — near the bottom, on the wrong part of the document. Every mark made in 3.3.0 is in the wrong place; marks made from this version on are not.
- Marks no longer erase each other. Each new highlight or stroke deleted the ones before it on that page, so only the last one survived — and a pen stroke wiped out a highlight. They accumulate now. Taking one back is still ⌘Z.
- Drawing on one page while the previous stroke was still being written no longer loses the earlier one.
Updating on macOS
- Installing an update no longer freezes the app for a minute. Unpacking the download and replacing the application were being done in a way that stopped the window answering at all — a spinning beachball, with no way to tell whether anything was happening. The work now happens in the background and the notice says which stage it is at.
- The restart is faster: removing the previous version is left until the next launch instead of holding up the restart.
- If an update fails to install, the app says why and restarts into the version you already had, rather than leaving a window that looks normal but can no longer open or save anything.
- "Restart to install" now asks about unsaved documents first, as quitting does, and answering "cancel" leaves everything exactly as it was with the update still waiting.
Printing
- A PDF you opened with a password can now be printed. It reported "Printing failed" and there was nothing to be done about it, even with the document open and readable in front of you.
- A print that hangs while preparing now gives up and cleans up after itself instead of waiting forever.
Forms
- Radio buttons work. A group of options was drawn as a row of tick boxes that all wrote to the same field, so no option could be chosen — only cleared. Picking one now selects it, in the page and in the file.
- Undoing a change to a form field now updates the box on screen too. It kept showing the old value, and applying again wrote back the change you had just undone.
- "List fields only" shows the list. It was being discarded, and the document was marked as unsaved for an edit that never happened.
Passwords and encryption
- Setting a password works from the task pane again. The fields for the open password, the permissions password and a certificate's passphrase were all hidden, so the tools ran with nothing filled in.
- A password containing a comma is refused with an explanation rather than failing obscurely. Every other character — including
=, quotes, spaces and non-ASCII — works as it always did. - Save errors no longer quote your password back at you.
Saving and closing
- Cancelling a save no longer closes the tab. Choosing "Save" when closing an unsaved document, then cancelling the file dialog, closed it anyway and lost the work.
- Cancelling an export no longer reports success. It said the files were saved and put the results away, so the only way back to them was to run the tool again.
- Cancelling a quit no longer leaves the application unable to work. Everything was being shut down before you were asked about unsaved documents.
Finding
- Typing a new search while the last one is still running no longer fills the box with results for the word you replaced, and no longer leaves "searching…" on screen for the rest of the session.
Speed
- Batch runs and pipelines no longer freeze the window. They were doing their work in the same place that draws the interface, so a run over large files stopped everything — including the run's own cancel button — until it finished. This applies to runs started over the local REST API too.
Jobs and folder rules
- Cancelling a job now sticks. A cancelled job could go back to "running" and then report itself finished, with a result nobody asked for.
- A folder rule's daily limit no longer loses files. Files that arrived after the day's limit was reached were skipped for good, rather than waiting for the next day.
Security
- The update installer removed any similarly-named backup beside the app, not only its own.
- Results are written to the folder you chose in settings or picked in the dialog, and nowhere else.
- Two saves finishing at the same time can no longer overwrite each other's results.
- A malformed signature can no longer make the app ask for gigabytes of memory while checking it.
- An unattended automation rule can no longer reach the web, whatever it was allowed to do.
Under the hood
- Two Office documents open at once no longer risk one being handed the other's images.
- A save the editor could not start is reported straight away instead of waiting out a minute-long timeout, and a late answer from a save that gave up can no longer mark a later one as finished.
- On macOS, a backslash in a file name is treated as part of the name rather than as a folder separator, so two different files no longer share one tab.
- The local REST API's limit on simultaneous runs can no longer be exceeded by uploading several at once.
MagiesPdf v3.3.2
Security
- Seven internal channels that the interface never used have been removed. Each was something a compromised window could have reached for no benefit to anyone — leftovers from when Office documents opened in a separate application. Nothing you can do in the app changes.
Under the hood
- The certificate-signing tool is now exercised end to end by its tests, not only the functions beneath it.
macOS: “已损坏”并不是真的坏了 / “damaged” does not mean damaged
双击后 macOS 会说 “Magies Office is damaged and can't be opened. You should move it to the Bin.” —— 文件没有损坏,也不需要删除。这是 macOS 对任何它无法验证签名的应用都会显示的提示,本项目是开源的,没有购买签名证书。
右键 → 打开 → 确认,这条路会给你真正的选择。或者拖进「应用程序」后执行:
xattr -dr com.apple.quarantine "/Applications/Magies Office.app"Intel 机型用 mac-x64,Apple Silicon 用 mac-arm64。
MagiesPdf v3.3.1
Nothing in the application changed. This build is the same as 3.3.0; if you already have that, you will find no difference, and there is no reason to look for one.
What changed is the download page. macOS says “Magies Office is damaged and can't be opened” about any application whose signature it cannot check, and these builds are not signed — so people were deleting a file that was never broken. The page now says that before it gives the workaround.
macOS: “已损坏”并不是真的坏了 / “damaged” does not mean damaged
双击后 macOS 会说 “Magies Office is damaged and can't be opened. You should move it to the Bin.” —— 文件没有损坏,也不需要删除。这是 macOS 对任何它无法验证签名的应用都会显示的提示,本项目是开源的,没有购买签名证书。
右键 → 打开 → 确认,这条路会给你真正的选择。或者拖进「应用程序」后执行:
xattr -dr com.apple.quarantine "/Applications/Magies Office.app"Intel 机型用 mac-x64,Apple Silicon 用 mac-arm64。
MagiesPdf v3.3.0
Highlighting and drawing on a PDF
- Select text and highlight it, or draw on a page with the pen — and the marks stay. They are written into the document as real annotations, so the text under a highlight is still text and other PDF readers can see, move or remove what you drew.
- A mark joins the same undo history as rotating a page: ⌘Z takes it back. The document counts as changed, so closing the tab asks before losing it, and ⌘S writes it to the file.
- Highlighting a selection that runs across a page break marks both pages, each in the right place.
These two controls were removed in 3.2.0 because they kept nothing — a stroke disappeared the moment you lifted the pen. They are back because there is now somewhere for the mark to go.
Under the hood
- Build and lint tooling updated (Vite 8, ESLint 10). The application starts a little smaller.
macOS: “已损坏”并不是真的坏了 / “damaged” does not mean damaged
双击后 macOS 会说 “Magies Office is damaged and can't be opened. You should move it to the Bin.” —— 文件没有损坏,也不需要删除。这是 macOS 对任何它无法验证签名的应用都会显示的提示,本项目是开源的,没有购买签名证书。
右键 → 打开 → 确认,这条路会给你真正的选择。或者拖进「应用程序」后执行:
xattr -dr com.apple.quarantine "/Applications/Magies Office.app"Intel 机型用 mac-x64,Apple Silicon 用 mac-arm64。
MagiesPdf v3.2.4
Your work stays yours
- An edit made while a PDF was being saved could be marked saved without reaching the file. A save writes the document as it was when you asked for it, and finishes a moment later; anything typed in between was recorded as though it had been written. The tab then showed no changes and closing it asked nothing. Save As had the same gap.
- Saving two Office documents at once could end the wrong one. Whichever answer arrived first settled whoever was waiting, so a slower save could be reported as finished — and a tab closed believing its changes were on disk. Saves are now tracked per document.
Security
- A correctly signed PDF could be reported as having an invalid signature. Roughly one signature in a few hundred ends in a byte the padding removal mistook for padding, and the check then read a truncated signature and called it malformed. Nothing was ever wrong with the documents themselves; verifying one again in this version will say so.
- A grant to overwrite one file could cover a second file on macOS volumes that distinguish upper and lower case. The check assumed every Mac treats
A.pdfanda.pdfas one file; it now asks the filesystem instead of assuming. - The local API's limit on how many tools may run at once applied only to asynchronous requests. An ordinary request is the same work, and any number could be started at once.
AI assistant
- Web search did nothing. It could be configured, and the search tool was never registered — so the assistant was never told the capability existed.
- Running two tools in a row on one file gave the second one an empty file, and it reported the document as damaged.
- Two open Office documents could be shown each other's images.
- Pictures in a reply that the window was never allowed to load now appear as their description instead of as a broken image.
Also fixed
- Searching a long PDF: typing a new word while the previous search was still running could leave the older results on screen.
- On Linux, two documents whose names differ only in upper and lower case are two documents again, rather than sharing one tab.
- Opening the same Office file twice at the same moment no longer leaves a second editor session behind.
MagiesPdf v3.2.3
AI assistant
- Adding Magies Office to a coding CLI produced an entry that could never start. The path written into the CLI's configuration pointed at a copy of the server that cannot load its own dependencies, so the agent came up with no Magies tools at all and nothing said why. Only installed copies were affected; the same setup made from a source checkout always worked.
If a CLI was configured by an earlier version, add it again from Settings to replace the entry.
MagiesPdf v3.2.2
Security
- The local API's health check no longer names the version to a caller without a token. It answers that it is alive to anyone, as it should — but with the API opened to the local network, that reply also told anyone on it exactly which build was running, and this application bundles several engines whose advisories can be looked up against one.
Printing
- Printing no longer asks the preview whether it is ready often enough to overwhelm it. On a busy machine that could make the print itself fail — a worse outcome than the blank page the check was added in 3.2.1 to prevent.
MagiesPdf v3.2.1
AI assistant: the CLI agents work again
- Codex, Gemini and Grok turns failed outright. Each was launched with an option its CLI no longer accepts — or never did — so the turn ended with an error about arguments instead of doing anything. Every option is now the one the installed program documents.
- Grok keeps its conversations per folder, and asking it to continue one that is not there ended the turn. It starts a new conversation instead.
- All six agents offer their model tiers. The list shipped for Cursor had drifted badly — five of the seven models it offered no longer exist — and is now the one its CLI answers with; Antigravity gained the reasoning levels it has always accepted.
Printing
- A long document could print as a single blank page, on a machine busy enough that the preview had not finished rendering when the job was sent. The wait is no longer a guess about how long that takes: printing starts once every page is actually there.
MagiesPdf v3.2.0
Security
- Reading a file is now something the main process grants, not a path the interface can ask for by name. Opening a document, dropping one on the window, choosing one from a dialog or from the recent list grants access to that file and nothing else. Any path could previously be read — and reading one also earned the right to overwrite it.
- Choosing the external converter no longer reads the whole program into memory in order to select it. That read is also why a converter larger than 512 MB could not be chosen before.
Your work stays yours
- "Save and close" on an Office document now waits for the bytes to reach the disk before the tab closes. It used to close as soon as the save was asked for, so a save that had not finished took the edits with it.
- A save that fails now says so. The tab kept showing the document as saved while the file on disk still held the old text, and closing it later asked nothing.
- Closing the window or quitting now asks about documents with unsaved changes. Only closing a tab did.
- Undoing back to the version you last saved marks the document as saved again, instead of leaving it changed forever.
- Exporting an Office document to PDF no longer counts as saving it. The document itself was not written, so its unsaved changes survive — and the name offered in the dialog now ends in .pdf.
Printing
- Printing a PDF prints the PDF. It used to print the application window — the toolbar, the sidebar, the panels — and only the pages that happened to be on screen, so a sixty-page document came out as a few screens of interface. The keyboard shortcut, the toolbar button and the file menu now all do the same thing, and a failure is reported instead of nothing happening.
Office documents
- Opening a document that is already open focuses the tab holding it, instead of starting a second editor session that nothing then referenced. Each abandoned session kept a copy of the document in a temporary folder with nothing left able to remove it.
- Opening several documents at once, when one of them fails to convert, no longer leaves the others' sessions behind.
- Quitting now closes the editor and removes every temporary copy. Nothing did that before, so they accumulated.
- When the assistant rewrites several documents in a row, every tab reloads. Only the last one did; the others were left pointing at an editor session that had already closed, with no way back.
Also fixed
- Turning automatic updates on starts the periodic check without needing a restart.
- The text selection menu appears next to the text you selected on a scrolled page, rather than where that text would have been at the top of the document.
- The badge on the heads-up display is centred.
Removed
- The freehand pen and the text-highlight palette are gone. Neither kept anything — the pen's stroke disappeared when the button came up, the palette highlighted nothing, and because neither marked the document as changed, closing the tab asked no questions. They come back when the annotations reach the file.
Under the hood
- lucide-react 1.27 and concurrently 10.