Release notes
Changelog
1.6.4 · September 28, 2026 · Plainer wording in every language
- Changed: plainer wording throughout. Copyr’s status lines, the notes before a copy, the report, the checksum messages and the Settings descriptions were reworded in all thirteen languages. A paused copy now says “Paused: drive missing”, a failure reads “Couldn’t open the file (permission denied).”, a speed that hasn’t been measured yet shows “--”, and a retried job is named “Card A001 (retry)”. Nothing about how a copy behaves has changed.
Site update, September 28, 2026 · Tidier pages
- Plainer punctuation on this page, the privacy policy, the terms and this changelog. Nothing they say or promise has changed.
- “Also for Windows” appears once. The top of the page showed it twice, one line apart.
- The section numbers run in order. They skipped from 04 to 06, because the reviews section stays hidden until the first review arrives.
Site update, September 28, 2026 · New screenshots
- The two screenshots show Copyr doing its job. The first is the copy sheet with verification and a checksums file switched on, and the notes Copyr gives before anything moves. The second is a copy waiting for a drive that was unplugged partway through; it replaces a queue that held one finished job.
1.6.3 · September 28, 2026 · A folder that can’t be opened is in the report
- Fixed: a folder Copyr couldn’t open was missing from the report. The check before a copy has always warned about a folder it can’t read and promised it would be listed in the report at the end, and the report never listed it: the folder arrived empty, everything inside it was quietly absent, and the headline counted only the files that had failed. It is listed now like any other problem, with the reason (for example “permission denied”), counted in the total, and included in Copy Report and in the CSV of failures. A checksums.sha256 written by that copy names it in its header as not covered, so a clean check can’t quietly mean less than it appears to.
1.6.2 · September 27, 2026 · A copy keeps its speed behind other windows
- Fixed: a copy slowed to a crawl once Copyr’s window was covered. macOS puts an app whose windows are all hidden into App Nap, which drops it to background priority and throttles its disk access, and Copyr never told macOS that a copy you started is work you are waiting on. On 1.6.1, with the window behind another app, a 21 GB copy fell to nothing and the row read “Stalled”; with Copyr in front the same copy ran at 416 MB/s. A running copy now tells macOS it is user-initiated, so it keeps its full speed behind other windows, and the Mac no longer idle-sleeps partway through it. A paused copy lets go, so one left paused overnight does not keep the Mac awake.
Site update, September 27, 2026 · TeraCopy does have a Mac version
- This page said TeraCopy has no Mac version. It has one. Code Sector’s TeraCopy for Mac is free, with a paid Pro upgrade, and the comparison table, its introduction and the FAQ now say so, with a link to it.
- Finder can resume a copy you stopped. Since macOS 12, Finder keeps a resumable copy when you cancel one, and the comparison table and this page’s link preview no longer say otherwise.
- The two screenshots are described correctly for screen readers. Their descriptions were written for an earlier pair of screenshots and named things these pictures don’t show.
1.6.1 · September 15, 2026 · The row’s menu has a button on the row
- Fixed: the menu holding Copy Again and Save as a Backup was on no row anywhere. 1.6.0 gave every finished copy a menu with Copy Again, Save as a Backup, Reveal Originals and the two checksum items on it, and the only way to open that menu was to right-click a card that gives no sign it would answer one. The strip of icons on the row is report, reveal, remove, and the list of saved backups lives on the empty screen, which is hidden the moment there is a single row to hide it. Every row now draws ⋯ at the head of that strip, and it opens the same menu the right-click does.
- Fixed: Copy Again and Run a Saved Backup opened with the start button greyed out. Both open the destination sheet with the folder already filled in, and that button waits on a preflight as well as on a destination. The preflight only ran when something in the sheet was edited, so a repeat that needed no edits sat there looking broken until an option was switched off and back on.
- Fixed: Copy Report said nothing when it worked. It put the whole report on the clipboard and changed nothing on screen, so the one button in the sheet whose work is invisible was also the only one that never confirmed it had run. It reads Copied for two seconds now, announces itself to VoiceOver, and goes back to its own name. The same button on the checksum result sheet does too.
- Changed: Copy and Move are drawn at the size of the decision they are. They are the most consequential choice in the destination sheet and were the smallest control in it, 24 points tall against a 44-point destination row. They use the system’s own larger control size now, which keeps the platform metrics and the focus ring.
- Changed: three strings in thirteen languages. The new button’s tooltip was written and translated with it, the clipboard confirmation would have been read out in English to twelve languages’ worth of VoiceOver users, and “On” was spelled against the rest of the app in six of them.
1.6.0 · September 8, 2026 · Save a copy as a backup and run it again
- New: backups you can save and re-run. Copy Again could already repeat a finished copy, but the recipe lived on the finished row, and Copyr clears those when it starts up: quit the app and the thing you wanted to run every Friday was gone. A finished copy now has Save as a Backup… on its right-click menu and in the Job menu, which remembers the folders, the destination and the options under a name you choose. Saved backups are listed on the empty screen, one click each, and in the Job menu under Run a Saved Backup. Running one re-reads the folders as they are now, so whatever you have added since comes too, and it stops at the same sheet a first copy stops at: nothing is written until you confirm it.
- New: Copy Again repeats a finished copy without setting it up from scratch. A card offload or a nightly backup is the same copy over and over, and doing it a second time meant finding the folders in Finder again, dropping them in again and picking the destination again. A finished copy now has Copy Again… on its right-click menu and in the Job menu (
⇧⌘C). It re-reads the folders, so anything new since last time comes too, and it opens the same sheet as always, already pointed where the first copy went with the same options set. - New: a long report can be searched. A card that came back with two hundred problems could only be read by scrolling. There is now a filter field at the top of the report,
⌘Ffrom anywhere in it, with a count beside it saying how many of the items match what you typed. It ignores accents and capitals in both directions, sozalfindsZałącznikandcafefindsCafé. - New: every row can show you the originals, not just the destination. A job has always named where the copy is going, and there was nothing anywhere in Copyr that could get you back to what it was reading from, which is the folder you want the moment a file is reported unreadable. Reveal Originals in Finder is on every row’s menu and in the Job menu (
⇧⌘R), and hovering a row’s name now shows the full path it came from, so two card folders both calledCard_A001are no longer the same row twice. - New: About names the build, and links to the app page, the privacy policy and the terms. The version alone is not enough to say which build a bug report is against, and the three pages every twoplus11 app has were reachable from the website and from nowhere inside the app.
- New: the report has a close button in its top right corner. It is 620 by 560 points and its only way out was a Done button underneath the whole list, so reading a long report meant scrolling to the bottom to get out of it. The filter beside it says how many items it is hiding, out loud as well as on screen, and the keyboard shortcuts panel lists the three new chords, spoken as words rather than as the printed symbols.
- Changed: undoing a removal puts the row back where it was, not where it was created. Queue order is something you choose, and “Start This Job Next” exists to change it. Undo used to restore one row by re-sorting the whole queue into the order the jobs were made in, which quietly threw that choice away for every other row.
- Changed: every corner in the app is drawn from the shared twoplus11 scale. Copyr had drifted the furthest of any app in the family, with corners hand-typed at eleven different sizes across seventy-six places, so cards, sheets and chips that should have matched each other did not. They all come from one scale now. The button that does the thing went back to the larger size at the same time, so on every screen there is exactly one control that reads as the answer.
- Changed: the window remembers its size and position under a name Copyr owns. The name macOS was saving it under is derived from the internals of the window’s contents, so an ordinary code change silently reset everyone’s window to the default size.
- Fixed: copying many small files no longer slows to a crawl. Copyr writes down where a job has reached after every file, so an interrupted copy can pick up where it stopped. That note used to rewrite the job’s entire file list each time, so the cost of each file grew with the number of files: 2,000 small files took 32 seconds against under a second for the copy itself, and a card of 20,000 clips paid a seventh of a second per clip before reading a byte. The note is now a small file of its own beside the job’s record, and costs the same for a job of ten files as for one of two hundred thousand.
- Fixed: a file name of up to 255 bytes copies. Copyr writes each file under a temporary name ending in
.copyr-partand renames it once it is whole, and that suffix pushed any name over 244 bytes past the limit a volume allows, so the copy failed with “file name too long” before a byte was read. A long name, or a Japanese name of about eighty characters, is now copied under a temporary name trimmed to fit and lands under its own full name. - Fixed: a resumed copy still asks before replacing a file. When a job was picked up after an interruption and the half-written file it had left behind was gone, Copyr started that file over and skipped the “already there” check on the way, so a file that had appeared under that name in the meantime was replaced without a question, whatever the collision setting said. It asks now, exactly as a fresh copy would.
- Fixed: a symlink in a chosen folder is copied as a symlink again. Choosing files with the Open panel resolved every link to the file it points at, so a folder holding
link.txtpointing atplain.txtwas copied asplain.txttwice: the second copy raised an “already there” question on a folder that had been empty a moment before, and after Skip nothing calledlink.txtexisted. Dropping the same folder onto the window was always right. The panel now hands the links over as themselves. - Fixed: Copy Again and a saved backup say so when the drive is not there. Both open the destination sheet pointed at wherever the last copy went, which is usually an external drive, and if that drive was unplugged the sheet said nothing was wrong and the start button was live. The copy then failed every file with “no such file or directory”. The sheet now says the destination is not connected or has been moved, and holds the start button until another folder is chosen.
- Fixed: a folder that refuses the copy is reported as the problem. When the destination could not be written to, the report said “Couldn’t open the file: permission denied” about a source file that had read perfectly well, and sent people to check the wrong end. It now says the destination would not take the file.
- Fixed: a report with thousands of items opens at once. The report built every row before it could draw, which was six and a half seconds of a frozen window for a card with 3,000 unreadable files. Rows are now built as they scroll into view, and the same report opens in a tenth of a second.
- Fixed: Check for Updates and License are back in the Copyr menu. Neither has ever been in the menu bar, in any version since 1.0.0. Both were written and both were dropped on the way to the screen, because the group holding them shared a slot with the one that supplies About Copyr and the second one replaced the first outright. Asking for an update by hand is the item people look for first when they suspect they are behind, and the only route to it was to wait for the weekly check. Copyr still offered its license screen on the footer, so nothing was unreachable, but the menu is where it belongs.
- Fixed: the license check can only ever reach twoplus11. Copyr read an environment variable to decide where to send a license activation, a hook that exists so a test can point it at a copy of the server running on the same Mac. In a shipped build it was honored wherever it pointed, and anything else running under your login could set it, so an activation could have carried your key to somewhere that was not us. It is ignored now unless it names this machine.
- Fixed: Copyr counted 106 files where Finder counted 206 items, in the same folder, over the same bytes. Nothing was lost. Finder’s Get Info counts folders as items and says “206 items”; Copyr counted only files and said “106 files”, and both numbers were right about different things, over a byte total that agreed exactly. The preflight now leads with the same number Finder shows, with the breakdown underneath it, and the report gained an Items tile beside Files and Folders.
- Fixed: a copy of any Git repository being worked on ended with a warning and a failed file. Git leaves a socket called
fsmonitor--daemon.ipcin.gitwhile its file monitor is running, and a socket is not a file: it is a kernel object belonging to a running program, it holds no data, and macOS refuses to copy one. Sockets, pipes and device files are now recognized for what they are. They are left out of the file count, never attempted, and listed at the end of the report under Nothing to copy, with a sentence saying why. A move no longer deletes one either, since it was never copied. - Fixed: a checksums file reported an intact archive as damaged, because it was swearing to
.DS_Store. A copy that verified perfectly on a NAS, moved to an external drive, andshasum -cthen came back with eleven mismatches, every one of them a.DS_Store. Nothing was wrong with any of the copies:.DS_Storeis Finder’s own file, rewritten whenever a folder’s window is resized, re-sorted or just opened. Copyr still copies those files, every one. It has stopped promising their bytes, and the manifest says in its own header that it did so, so the caveat travels with the archive. - Fixed: a checksums file written before that change now explains itself instead of reading like rot. Those manifests still list
.DS_Store, and a check still tests every line a manifest names, because the manifest is the contract. What has changed is the wording: when everything that failed is one of Finder’s own files, the result says so and says plainly that nothing you copied has changed, in all thirteen languages. If a real file has rotted, the reassurance is not offered at all. - Fixed: the welcome screen, the appearance picker and the Finder-menu status read English in twelve languages. They were added without being translated. All thirteen languages are complete again, and the two announcements Undo makes now speak the language the picker is set to.
- Fixed: the report sheet’s two “show this file in Finder” buttons could not be seen with the keyboard. They kept their tooltips and their VoiceOver labels but drew no focus ring, so anyone driving Copyr from the keyboard landed on them with nothing to say so. The same was true of every remembered-folder chip on the copy sheet. Turning the checksums option on and off also animated the sheet with Reduce Motion switched on, and no longer does.
1.5.1 · September 3, 2026 · A copy no longer crashes partway through
- Fixed: Copyr could crash mid-copy, with no warning and no report. The window’s own colors are redrawn continuously while a job runs, and that redraw can happen off the main thread. One of the calls that resolves those colors only tolerated the main thread, and the moment it ran anywhere else the app stopped instantly. Someone hit it twice in one minute on a first run and reported it; no data was lost. That call now tolerates being made from any thread, which is what drawing already required of it.
- Fixed: a second delivery into the same archive folder could erase the first delivery’s checksums. Copying two shoots into one drive wrote
checksums.sha256both times, and the second write replaced the first outright, silently. Each delivery now writes its own file, named after what it copied, so a later copy into the same folder can never reach an earlier one’s manifest. “Write Checksums for This Folder…” is unchanged: it still covers everything in the folder under the one shared name. - Fixed: a checksums file Copyr couldn’t read back was silently replaced rather than left alone. A permission a network share denied, or a mount that dropped mid-read, was treated the same as no file being there at all, so a smaller manifest overwrote one that could have covered far more. Copyr now refuses to write in that situation and says so, the same way a cancelled copy already writes nothing rather than something incomplete.
- Fixed: “Copy with Copyr” could stall before any window opened, if the Finder selection included anything on a sleeping external drive or an unmounted network share. The first check on that path could block on a disk that has to spin up or a share that has to reconnect, invisibly, since nothing is on screen yet to show the app is doing anything. That check no longer touches the disk.
1.5.0 · September 2, 2026 · Keep the checksums the copy already made
- New: checksums are something you ask for before the copy, not after it. Writing a
checksums.sha256beside a finished copy was real, but it lived on a right-click and a menu item you could only reach once the copy was over. It is now a switch in the copy sheet, next to Verify every file, called Save a checksums.sha256 file. - New: with verification on, it costs nothing. A verified copy already reads every byte through SHA-256 and used to throw the answer away the instant it had compared it. Now it keeps it. The report shows the two numbers, digests reused against files read back, so the claim is checkable rather than just stated.
- New: with verification off, it still costs no extra reading. The hashing rides on the buffer the copy is already holding, so it is processing time and not one more byte off either disk. The only files read back afterwards are the ones that landed without ever being read: an instant same-volume clone, a rename, a recreated hard link, or the part of a job a previous run finished before a drive was unplugged. The copy sheet says so before you start, because a transfer that finishes in four minutes and then hashes for two hours is not an instant transfer.
- New: the manifest says what it does not cover. A copy into an archive folder that already holds other deliveries covers what it put there and writes the number it is leaving out into the file’s own comment header, so a clean
shasum -a 256 -ccan never quietly mean less than you think. A second copy into the same folder adds to the manifest rather than replacing it, and a cancelled copy writes nothing at all. - Fixed: a stopped copy could leave a resume record that skipped the file it was copying. Stopping a job throws the job away, and normally that is the end of it. But the moment a file was abandoned, the job still wrote down that the file was finished. If Copyr then died before discarding that record, a crash, a force quit, or the power going, the job came back offering to resume, started past the abandoned file, and reported a clean copy with that file simply not there.
- Fixed: a copy picked back up after a restart could splice two versions of a file together. The check for whether the source had changed while Copyr was away compared the saved plan against itself, which can never differ, so it had never once fired. The source is re-read from the disk at the moment the copy resumes now, and a file that has moved on is started over.
- Fixed: a drive pulled out from under a copy is waited for, whichever end it was. Copyr always parked and waited when the destination went away. When the source went away it did the opposite: every remaining file failed at once, so a card pulled part-way through a large offload produced thousands of failures in seconds and called itself finished.
- Fixed: stopping a copy asks first. Stop used to throw the job away from one click on a small icon, with no undo and no warning.
- Fixed: the seat name is no longer this Mac’s own name. Activating a Business License sent your Mac’s name when you had left the Name this computer box empty. It now sends only what you typed, and nothing at all if you typed nothing. Copyr’s privacy page is updated to match.
- Accessibility: the progress bar is readable in light mode, and Reduce Motion switches its animation off rather than slowing it down.
1.4.1 · September 2, 2026 · The report opens again
- Fixed: opening a job’s report crashed Copyr. Clicking the report button on a finished row quit the app on the spot, with no window and no warning.
⌘Iand the Job menu’s Show Report did the same. The sheet asked for the app’s model in a way nothing ever answered, and a missing answer there is a hard stop rather than an empty value, so the crash came before anything was drawn. The sheet is handed the model directly now, which the compiler checks. The report has been unreachable since 1.3.0, and with it the two things that live only inside it: Copy Report and Save Failures as CSV. Retry Failed Items and Write Checksums were reachable from the Job menu all along.
Site update, August 31, 2026 · One name for the $5 license
- The $5 license is called a Business License everywhere now. Eleven app pages called it a “Commercial License” and fourteen called it a “Business License”, for the identical thing at the identical price. Copyr’s pricing section, its checkout window, and its terms and privacy pages now all say Business License.
- Nothing about the license itself changed. Same $5, same one-time payment, same cover for one computer. A key you already hold still works, and there is nothing you need to do.
Site update, August 30, 2026 · Buy several apps in one order
- One payment, as many apps as you need. The commercial license window on this page could sell exactly one thing: Copyr. A team that also wanted two other twoplus11 apps paid three separate times, on three separate pages, and filed three separate receipts. That window now carries an Add another app control: search the catalog, set how many computers each app goes on, and pay once. Every app still gets its own license key, and they all arrive in the same email.
- Nothing changes if Copyr is all you want. The window opens exactly as it did, at the same price, with the same count of computers, and an order for a single app takes the route through checkout it always has. The extra controls appear only once the app list has loaded, so a slow or unreachable connection leaves the page as it was.
1.4.0 · August 22, 2026 · The Dock knows what the copy is doing
- New: the Dock icon says how far along the copy is. Copyr is one window, and a copy that takes an hour is a copy that spends most of that hour behind something else, so the number you actually want was the one number you had to raise a window to see. The icon carries the percentage while a job runs. With nothing running it carries something Copyr had never said outside its own window: how many files finished a job by already existing at the destination and are still waiting on you. The two are never confusable, because only one has a percent sign, placed the way your language places it, which is before the number in Turkish.
- New: the Dock icon has a menu. Right-click it, or press and hold, and the running job can be paused, resumed or stopped, and files chosen to copy, without bringing the window forward at all. The line at the top is the same status Copyr shows along the bottom of its window, and the menu reads in the language you picked, which a menu outside the window does not get for free.
- New: a copy that lands while you are in another app bounces the Dock icon once. Only once, only when Copyr isn’t the app in front, and not at all when Reduce Motion is switched on, where the badge and the spoken announcement carry the same news without moving anything.
- New: right-clicking a row now does something. Every action a row supports (pause, resume, stop, start this one next, decide, show the report, reveal the destination, retry what failed, write checksums, remove) is on the row itself, under the gesture people make without thinking. Acting from the menu also moves the selection onto that row, so the highlight and every
⌘-shortcut in the Job menu agree with what you just did. - Fixed: “Retry Failed Items” could not be reached. It has been in the Job menu and the report sheet since 1.2.0, and it was grayed out, or absent entirely, for every job it exists for. A retry is built from the plan the first pass ran from, and that plan was thrown away the moment a job finished unless the job also happened to have names already taken at the destination. So a card that finished with seventeen unreadable files and no name collisions, which is the ordinary shape of the problem retry was written for, offered no way to try them again. The plan is now kept for exactly as long as something on the row can still be built from it.
- Fixed: a crash on the default collision path, in six of thirteen languages. The sentence spoken when a job ends with two or more names already taken puts the folder before the count in Japanese, Korean, Polish, Russian, Turkish and Simplified Chinese, which is correct for those languages. Without numbered placeholders that hands a number to a slot expecting text, which is a hard crash rather than a wrong sentence, on the path the default “Ask me afterwards” setting takes over any ordinary folder.
- Fixed: three sentences with a count in them were English in twelve languages, though they were translated all along, under keys nothing ever looked up. A phrase with a number in it is one entry in the translation tables, and the entry’s name has to match the number’s type; Copyr wrote counts one way and the tables had been written the other. The three: the Decide button on a row waiting on more than one already-taken name, “Do this for the other 4” (the toggle that clears the rest of a review in one click) and the “2 of 5” counter above it. Two of the three are on the sheet the default “ask me afterwards” setting funnels everyone into. Every count-based check passed the entire time: thirteen tables, identical key sets, coverage reading 100%.
- Fixed: choosing a file that isn’t a checksums file did nothing at all: no sheet, no message, no sound. It says so now. And a Save Failures as CSV that failed said nothing either, in the one button whose whole job is getting the list of what went wrong out of Copyr.
1.3.0 · August 20, 2026 · Drive the queue from the keyboard
- New: the queue can be driven from the keyboard. Six items in the Job menu act on “the selected job” (pause, stop, show the report, reveal, retry, write checksums), and the only thing that could change which job that was, was clicking a row. With three copies on screen, every one of those shortcuts went to whichever card the pointer last touched.
⌥⌘↓and⌥⌘↑walk the queue now, wrapping at both ends, and each move is spoken aloud. - New: a queued copy can be pushed to the front of the line. Copyr runs one job at a time, in the order things were dropped, and that order could not be changed, so a 400 GB card queued first meant an urgent 12 MB folder waited behind it. Queued rows carry a start this one next button, and
⇧⌘]does the same from the keyboard. Neither disturbs the copy already running. - New: an interrupted copy comes back as a row you can start again. A job that didn’t finish had one route back into the app: a window that appeared once, at launch. Press Escape or never see it, and hours of transfer appeared to have evaporated. Unfinished jobs are now restored as rows in the queue, each showing how far it really got (including the part of the file that was in flight) and carrying its own Resume button. Quitting mid-transfer parks the copy and writes down exactly where it stopped, so it picks up at the byte you watched it reach.
- New: a checksum run can be stopped. Writing or checking a manifest put up a spinner with no button and no Escape, and hashing an archive drive takes hours, so a check started on the wrong folder could only be ended by force-quitting Copyr, which killed any copy running behind it. There is a Stop button now. Stopping a check keeps what it found and says plainly which files it reached; stopping a write saves nothing, because a partial checksums file would quietly pass its own verification years later.
- New: checksums you can still check in five years. Write Checksums… on any finished job hashes everything at the destination into a
checksums.sha256beside it, in the standardshasumformat.shasum -a 256 -creads it, so an archive checked in five years doesn’t need this app to still exist. Check a Folder Against Its Checksums… goes the other way and reports what still matches, what changed, what is missing, what couldn’t be read, and what is on disk but not listed. - New: Retry Failed Items in the report queues a fresh job containing only what didn’t land. Most failures are a drive that was asleep or a file that was open, and both are fixed by trying again a minute later. It never retries as a move, because the originals of anything that didn’t arrive are still the only copy.
- New: Replace if larger, a sixth answer for a name that is already taken. Replace if newer gets one case badly wrong: a re-export or an interrupted earlier copy leaves a truncated file at the destination whose timestamp is newer than the complete original, and newest-wins keeps the broken one.
- New: the destination sheet remembers where copies go. The last six destinations sit as chips under the destination card: one click, no navigating. A folder is remembered when a job actually starts, two folders with the same name carry their parent, and a folder on a drive that isn’t connected is grayed out and can’t be chosen. The list never leaves your Mac, and Clear forgets it.
- Fixed: “Clear Finished” no longer throws away files that were still waiting on you. A job that finishes with names already taken keeps those files in its report and asks about them.
⇧⌘⌫swept those rows along with everything else, silently answering “leave them alone” for every one of those files, with no undo, while the status line was still saying they were waiting. Rows that are still asking something now stay, and a line says which ones were kept and why. - New: read Copyr in your own language. Copyr shipped thirteen translations and no way to reach them. A Mac set to English could not read the app in Spanish even though the Spanish was sitting in the bundle. Settings now has a language picker, and the window switches immediately with no relaunch.
- Fixed: the thirteen languages now reach the rest of the window. Text written straight into the interface translated; everything else did not: the status pill on every row, every tooltip and VoiceOver label, the statistics grid in the report, the “if a file is already there” choices and their explanations, the Keyboard Shortcuts sheet, the seventeen preflight findings, the confirmation shown before a move deletes your originals, the alert that stands between
⌘Qand a running copy, and the Open and Save panels. All of it is translated now, in all thirteen languages. - Fixed: every number and date in the window follows the language you picked, not whatever your Mac is set to: sizes, transfer rates, file counts and timestamps, with the unit translated too, so French reads “1,4 Go” and Russian “1,4 ГБ”. The saved report, the CSV export and the checksums manifest deliberately keep their own spelling: those are read years later by other programs, where a decimal comma is a parsing bug rather than a translation.
- Fixed: VoiceOver read the Keyboard Shortcuts sheet as punctuation. A speech synthesiser does not say “Command O” for
⌘O. It says “place of interest sign O”. On the one panel whose whole purpose is teaching the keyboard, a screen-reader user could not learn a single shortcut. Chords are spoken as words now, in the language you picked. - Fixed: Escape closes the Keyboard Shortcuts sheet and the resume offer. On the resume offer, Escape means ask me later and never discard. The resume records stay on disk.
- Corrected on this site: this app’s own pages still said Copyr could not move files. The safety section, the download panel and the privacy policy all claimed “version 1.0 has no move operation at all”; move has been a per-job choice since 1.1.0. The terms page described a different app entirely.
- Copyr sold business licenses and had nowhere to type one. The key button in the footer opened the checkout page and did nothing else, so anyone who had already paid was shown the shop again. The purchase email has always said “open Copyr, choose License…, paste the key, click Activate”, and none of those three things existed. The footer’s key now opens a License panel: paste the key, name the computer so it is recognizable in your seat list, and click Activate. Nothing about Copyr is locked behind it. Personal use is free, forever, and every feature works without a key; entering one registers this Mac against the license you bought.
- Removing a license hands the seat back. “Remove License…” tells the server to release this computer’s activation before it forgets the key locally, so the seat is immediately free for another Mac, which is what the purchase email means by “move a seat between machines any time”. The name you gave this computer is kept, so re-entering a key later does not add a second entry for the same machine to your seat list.
- The License panel keeps working offline: an activation is re-checked once a day, and if the license server cannot be reached the license stands for 72 hours before Copyr quietly falls back to the free tier and says the server is unreachable. It never calls a key invalid on evidence it does not have. A key that was rejected is always re-checked rather than cached, so freeing a seat or renewing takes effect the moment you look, instead of up to a day later.
- The panel reads in all thirteen languages Copyr ships, and is keyboard- and VoiceOver-operable: Escape closes it, Return activates, and the reason a key was refused is announced rather than only drawn.
- The footer has its Updates button back. The shared twoplus11 footer is meant to read License → Updates → Help → Review → Tip in every app in the fleet, and Copyr’s was missing Updates entirely, so the only way to check for a new version by hand was the menu bar.
Site update, August 19, 2026 · A checksum for the download
Website only; no change to the app.
- The download page now publishes the SHA-256 of the
Copyr.dmgit serves, so you can confirm the file you got is the file we put there. macOS already runs the check that matters (Copyr is signed with an Apple Developer ID and notarized by Apple, and a copy altered after we signed it will not open), but there was no way to check a download by hand, which is what anyone installing it on more than their own Mac tends to want. The checksum is on the download section under SHA-256 checksum, next to the one command that compares it with your copy. It is published as a plain file too, atCopyr.dmg.sha256, in the formatshasum -creads.
Site update, August 17, 2026 · The other apps, after the sign-up
Website only; no change to the app.
- The list of the other twoplus11 Mac apps has moved to the bottom of the page, below the email sign-up rather than above it. It used to arrive while the page was still making its case for Copyr, so the last thing you read before being asked for your email was a wall of other apps. It sits at the end now. The page finishes on Copyr, and the list is there if you want to see what else there is.
Site update, August 14, 2026 · Headlines in one color
Website only; no change to the app.
- The headline no longer fades from one color into another across the letters. A gradient poured through text is the house style of every generated landing page on the web, and it was on the hero here, on the small uppercase label above each section, and on the license label in the purchase panel. The words are one solid color now (the accent this page already used everywhere else), so the headline finally matches the page under it.
- Gradients are kept where they belong: the buttons, the app tile and the rule above the support panel are untouched. It is only text that stopped fading.
- No change to the app.
Site update, August 13, 2026 · The logo, matched to the app
- The Copyr tile beside the name now matches the icon in your Dock: the same deep indigo running into the same blue, in the same direction. It had been a flatter, lighter pair that was close enough to pass and never actually matched.
- The arrow drawn on that tile was a third blue again. It is the icon's now, on the page and in the small icon your browser shows in its tab.
- The preview image shown when a link to this page is shared uses those same colors.
- No change to the app.
Site update, August 12, 2026 · Readable buttons and small print
- The buttons in the header say what they say. The Tip and Download pills were drawing their label at 55% opacity over a colored fill, which measured as low as 1.6:1 against it, well under the 4.5:1 the accessibility guidelines ask for. Their labels are now solid, and the fill behind them is set a shade deeper so the text genuinely clears that bar.
- The Subscribe and Support buttons too. Their labels were colored for one end of a two-color gradient and disappeared into the other end. Both now use a single fill that the label is legible on all the way across.
- The newsletter note, the “More apps” caption and the version line under the download button were all set too faint to read comfortably; each is now above the AA threshold.
- Keyboard shortcut chips are legible against their own background.
- The screenshot viewer no longer makes every visit quietly re-download this page as if it were an image, a wasted request on each load.
- No change to the app.
Site update, August 12, 2026 · The twoplus11 logo, back to its own color
- The twoplus11 wordmark in the top-left corner is the studio’s blue again. It had been recolored to match Copyr’s accent color, which made the same logo look like a different one on every app’s site. It now matches twoplus11.com and the rest of the apps.
- No change to the app.
Site update, August 11, 2026 · Clearer search results
- The description under this site in Google is no longer cut off. It ran past the length Google shows and broke mid-word; it now reads as a complete sentence.
- Sharing a link to the privacy, terms or changelog page now shows a proper preview card instead of a bare URL.
- The sitemap now reports when each page actually changed, so search engines re-check pages that have been updated instead of assuming they are stale.
- No change to the app.
August 11, 2026 · A new look
- Changed: Copyr has a new app icon. Every twoplus11 app moved to one generated palette, so the color in your Dock, on this site and on the download page is now the same color. They had drifted apart.
- Changed: refreshed the site to match, including the tab icon and the link preview image.
1.2.0 · August 10, 2026 · “Copy with Copyr” works
- Fixed: the “Copy with Copyr” right-click item in Finder had never worked, not in 1.0.0 and not in 1.1.0. It produced an alert reading The application “Copyr” does not have permission to open … and nothing else, wherever the files were. It now opens Copyr with your selection loaded.
- The first time you use it on your Desktop, Documents or Downloads, macOS asks whether Copyr may read that folder: the normal one-time permission prompt, now with an explanation of why it's being asked.
- Fixed: Escape closes the conflict, destination and report sheets again. On macOS that's the contract every dialog keeps, and it's the only exit a keyboard-only user has when Full Keyboard Access is off.
- Fixed: the disk image no longer opens pre-scrolled with the bottom of the window cut off, and its two hidden support files can no longer push the layout around if you browse with invisible files shown.
- Corrected on this site: Copyr's own page said it couldn't move files. It has been able to since 1.1.0. The FAQ, the feature list and a “copy only, no move” badge were all left behind by that release. The download panel also still read “Version 1.0.0”.
- Added screenshots to this page. It had never shown the app. The job sheet you get before a copy starts, and the queue with finished jobs.
1.1.0 · August 9, 2026 · Unattended copies finish
- New: a copy left running unattended comes back finished. “Ask me” used to stop the transfer at the first name clash and wait for a click. Left overnight, a job could sit on one duplicate until morning. Now the file is left completely untouched, the question is recorded, and the job carries straight on.
- “Ask me” is now “Ask me afterwards.” The questions arrive as a sheet when the transfer has finished, with “Do this for the other N” to clear the rest in one click. Closing the sheet is a real answer (“leave them”) and loses nothing; the row keeps a ? button that reopens it later.
- Answering queues a small follow-up job over just those files, so settling one question never re-copies a finished job. On a move, a file left for a decision keeps its original and its source folder. Nothing is deleted on the strength of an unanswered question.
- New: verification over a network is priced honestly. Verifying reads every byte back, so on a share every byte crosses the network twice. Copying to a network volume now warns that this is usually the setting to turn off; moving to one says the opposite and keeps it on, because your originals are deleted on the strength of those writes.
- New: an Already there section in the report lists each skipped file with both sizes, included when you save the failures as CSV, and a running job shows “n already there” alongside its skips and failures.
1.0.0 · August 6, 2026 · Initial public release
First release. The file-copy engine Finder should have: it doesn't abort a three-hour copy because of one bad file.
- One bad file no longer ends the job: an unreadable file is recorded with its reason and errno, and the rest of the copy carries on.
- Pause and resume any job, mid-file. Pausing flushes to disk first, so a paused job is always a safe moment to unplug.
- Unplug-safe: if a drive disappears mid-copy the job waits for it instead of failing. Reconnect and it continues from the last durable checkpoint; at most 64 MB is ever re-copied.
- Resume after quitting: close Copyr with a copy in flight and it offers to pick the job back up next time. Files that already made it across aren't copied again.
- Nothing half-written wears a real name: content goes to
<name>.copyr-partand is renamed into place only once complete and verified. - Optional SHA-256 verification: reads every file back and compares checksums. Off by default, since it roughly halves throughput.
- Instant same-volume copies via
clonefile(2): immediate, and no extra disk space. Automatically skipped when verification is on. - Keeps everything: permissions, ACLs, timestamps, extended attributes and Finder tags; symlinks stay symlinks; hard links are recreated rather than duplicated.
- Honest preflight: free space, iCloud placeholders that would have to be downloaded first, anything already unreadable, and network or removable destinations.
- Collision handling: ask, skip, replace, replace if newer, or keep both. Ask is the default, and answering once can apply to the whole job.
- Live speed graph of the last minute, plus an ETA that stays quiet until it has enough signal to be worth trusting. A stalled copy visibly falls to zero instead of holding its last good number.
- End-of-job report: everything copied, skipped or failed, each with a reason. Copy as text, or save just the failures as CSV.
- Four ways in: drop on the window,
⌘O, Copy with Copyr in Finder's right-click menu, and a Services entry that works without enabling anything and can take a keyboard shortcut. - Full keyboard control, VoiceOver labels and announcements, and a palette checked against WCAG 2.1 AA in light, dark, and both Increase Contrast variants.
- Native SwiftUI. Signed and notarized by Apple. macOS 14+, Apple Silicon & Intel.
- Free for personal use forever, including updates; optional one-time $5-per-device commercial license for commercial use.
Known scope for 1.0: local, USB and Thunderbolt volumes are the supported cases. Network volumes work, but speed and resume are best-effort and labelled as such in the app. Copyr copies; it does not move. Moving means deleting your originals, and that deserves its own design rather than a checkbox.