v3.0.0
CopyPaste 3.0 is here.
This is a new CopyPaste, rebuilt from the ground up for Windows and macOS. It
opens faster, uses less memory, and remembers everything you copy so you can
find it and paste it again in a second. It stays private: your history never
leaves your computer, and there are no accounts, no ads and nothing to pay.
Coming from CopyPaste 2?
Your history is safe. The first time CopyPaste 3.0 opens, it finds the history
from version 2 and offers to bring it over. Nothing is moved or deleted unless
you say so, and you can also start fresh and bring it later from Settings.
- Installed from the Microsoft Store? It updates to 3.0 on its own.
- Installed with Homebrew? Run: brew upgrade --cask copypaste
- Downloaded it from this page? Download the new installer below. On Windows it
notices the old version and offers to remove it for you.
A clearer view of everything you copied
- Each item shows what it holds at a glance: text, links, colours, pictures,
files, folders, code and more, each with its own look. - The list is grouped into Now, Today, Yesterday and Earlier, so the thing you
copied this morning is easy to spot. - Click an item to see more of it right there, without opening anything else.
- Search finds words inside your history, and pictures show up next to the
words that matched. - Filters let you see only one kind of item, like links or pictures.
Paste it the way you need it
Double click an item, or press Enter, and it is pasted where you were typing.
Shift+Enter pastes it as plain text. And "Paste as" (Alt+Enter, or
Option+Enter on a Mac) turns it into what you need, with a number from 1 to 9
or a click:
- Any text: plain, UPPER CASE, lower case, or as a quote.
- JSON: tidy and indented, squeezed onto one line, just its keys, or as a
table. - Colours: as HEX, RGB, HSL, or by their name.
- Links: as a Markdown link, just the domain, or with the page title.
- Code: on one line, as a code block, or with its indentation fixed.
- Pictures: as a JPEG, or as the text written inside them.
- Files: as their full path or just their name.
- Sign-in tokens: as a header, a curl command, or what they say inside.
More:
- The buttons on an open item paste, paste as plain text or open "Paste as"
with a click. - Copy an item back to the clipboard without pasting it yet.
- Paste a picture into a terminal and you get its file path, ready to use.
Keep what matters close
- Pin the items you use every day: they are never cleaned up, and Ctrl+2
(Cmd+2 on a Mac) shows only them. - Give an item a name and find it later by that name.
- Drag an item straight into another app.
- Links can open through LinkUnbound if you have it, or in your browser.
Yours, and under your control
- Your history stays on your computer. It is never sent anywhere.
- Choose how long your history is kept (a week, a month, three months or
always) and how big it may grow. - Empty the history, take it to another computer, or start over whenever you
want. - Light and dark themes follow your system, in English and Spanish.
Staying up to date
Open About in Settings and CopyPaste looks for a new version (at most once a
day), then installs it with one click. Every update is checked before it
installs, so you only ever get the real one. Microsoft Store and Homebrew
copies are updated by the Store and by Homebrew.
Thank you
To everyone who tried the test versions and told us what was wrong: this
release is better because of you.
Something not working, or an idea to share? Tell us at
https://github.com/rgdevment/CopyPaste/issues
What's Changed
- CopyPaste 3.0: drop Flutter, lay the Rust core" by @rgdevment in #62
- Feat: stage 0 core spec by @rgdevment in #63
- windows core tests by @rgdevment in #64
- fix: the promises the sealed core was not keeping by @rgdevment in #65
- feat(mac): a clock on the capture, Finder paths, and paste through the menu by @rgdevment in #67
- core before UI by @rgdevment in #68
- feat(win): parity with the Mac, virtual files, and the sealed core by @rgdevment in #69
- feat(panel): the panel in Slint over the real store, and the four gates by @rgdevment in #70
- ci: nextest, pinned actions and the cache sweeper, as Tisty has them by @rgdevment in #71
- wiring by @rgdevment in #74
- feat(mac): the panel lives on the Mac, and the words it says are chosen by @rgdevment in #75
- style: the Windows probe body, formatted by @rgdevment in #77
- updater by @rgdevment in #78
- perf(store): the search index stops being rebuilt for touches that change no words by @rgdevment in #79
- feat(store): the 2.x history crosses over, and says what it leaves behind by @rgdevment in #80
- fix(store): what crossed from the 2.x was dated 1970, and the sweep took it by @rgdevment in #81
- fix(store): on a Mac the 2.x history was never where we were looking for it by @rgdevment in #82
- fix(deps): the Tauri crates and their npm packages, back on the same minor by @rgdevment in #83
- chore(deps): ask for the Tauri minor we are on, so Dependabot can move it by @rgdevment in #84
- chore: bump the window-majors group across 1 directory with 8 updates by @dependabot[bot] in #72
- chore: bump the rust-majors group across 1 directory with 3 updates by @dependabot[bot] in #76
- fix(ci): the installer check was asking for the very line that took the 2.x away by @rgdevment in #85
- size limits by @rgdevment in #86
- feat(release): the manifest a 2.x reads, signed by the 3.0 and behind a switch by @rgdevment in #87
- fix(rules): the workspace lints reached four of nine crates, and the measurer had holes by @rgdevment in #88
- refactor(rules): a test file leaves the ceiling only if a #[cfg(test)] declares it by @rgdevment in #89
- test(store): the paths that decide whether an item of someone's history is lost by @rgdevment in #90
- feat(panel): the four shortcuts from the 2.x that this panel's focus allows by @rgdevment in #91
- fix(win): EmptyClipboard was freeing memory a given-up read was still holding by @rgdevment in #92
- fix(win): the write waits before it opens, which is the only order that works by @rgdevment in #93
- fix(panel): the things a first real session with the app found by @rgdevment in #94
- filter views by @rgdevment in #95
- paste lands by @rgdevment in #98
- fix(panel): the close does not hang on Drop, and the log can say what happened by @rgdevment in #99
- rgdevment/store keeps by @rgdevment in #100
- feat(panel): a card takes a name, and a token opens decoded by @rgdevment in #101
- feat(panel): copy without pasting, and the panel opens where it left you by @rgdevment in #102
- fix(win): two reads in the same process no longer share the clipboard by @rgdevment in #103
- feat(gui): a welcome on the first run and what is new after each update by @rgdevment in #104
- feat(mac): the panel answers ⌘ and the table stops promising Windows keys by @rgdevment in #105
- ci: the conventions run on your machine before they run on ours by @rgdevment in #106
- ci: a tag does not go out with nothing to tell the person who installs it by @rgdevment in #107
- docs: the readme describes the application that ships, not the one before it by @rgdevment in #108
- fix(release): the tag looked for a binary by the product's name, not its own by @rgdevment in #109
- feat(panel): a card can be dragged into another application by @rgdevment in #110
- chore: bump thiserror from 2.0.20 to 2.0.21 in the rust group by @dependabot[bot] in #97
- ci: the hooks, the actions and the release let nothing through in silence by @rgdevment in #111
- build(deps): symphonia 0.6 rewrote the API the waveform is drawn with by @rgdevment in #113
- feat(gui): the third-party notices travel inside the app by @rgdevment in #115
- docs: the commercial licence promises only what is the project's to give by @rgdevment in #116
- fix(notices): the notices name what the binaries link, not what the build resolves by @rgdevment in #117
- feat(gui): the licence texts the crates carry travel inside the app by @rgdevment in #118
- fix(win): LinkUnbound from the Store is found through the shell, as Tisty finds it by @rgdevment in #119
- fix(win): a pasted image reaches the web with its own name and a terminal as a path by @rgdevment in #120
- docs: the readme speaks of the 3.0 alone by @rgdevment in #121
- ci: the Linux runners stay on Ubuntu 24.04 when ubuntu-latest moves to 26 by @rgdevment in #122
- fix: the rc1 greets whoever comes from the 2.x, Store copy included by @rgdevment in #123
- ci: the mutant legs always report, and skip their steps when no crate changed by @rgdevment in #124
- feat: rc2 prep by @rgdevment in #125
- feat: improvment general view by @rgdevment in #126
- fix: update and findings by @rgdevment in #127
- fix(release): every update is signed for its version and a copy refuses one that is not by @rgdevment in #128
- feat: conventions by @rgdevment in #129
- fix: double click by @rgdevment in #130
- fix: panel polish by @rgdevment in #131
- feat: new stable 3.0 by @rgdevment in #132
New Contributors
- @dependabot[bot] made their first contribution in #72
Full Changelog: v2.12.1...v3.0.0