Downloads
Android
| Architecture | Common APK | Full APK |
|---|---|---|
| Universal (armeabi-v7a, arm64-v8a, x86_64) | Download | Download |
| armeabi-v7a (32-bit ARM) | Download | Download |
| arm64-v8a (64-bit ARM) | Download | Download |
| x86_64 | Download | Download |
Android Common vs Full: Common uses Android's system folder picker and copies selected dictionaries/audio into app-private storage, so it does not require broad storage access. Full requires the "Manage all files" permission on Android 11+ and reads dictionaries/audio directly from the selected external folder, avoiding the extra copy and saving storage.
Windows
| Artifact | Download |
|---|---|
| Installer | ciyue-installer.exe |
| Portable bundle | ciyue-windows.zip |
Linux
| Artifact | Download |
|---|---|
| AppImage | Ciyue-latest-x86_64.AppImage |
| Debian package | ciyue-x86_64.deb |
| RPM package | ciyue-x86_64.rpm |
| Portable tarball | ciyue-linux.tar.xz |
| Flatpak | ciyue-x86_64.flatpak |
macOS
Requires macOS 13 (Ventura) or later. Apple Silicon (arm64).
The app is ad-hoc signed. If Gatekeeper reports the app as damaged or unverified, remove the quarantine flag with (or right-click the app and choose Open) after moving it to Applications.
| Artifact | Download |
|---|---|
| Disk image | ciyue-macos.dmg |
| Portable bundle | ciyue-macos.zip |
What's Changed in 2.0.1
- chore(release): 2.0.1 by @mumu-lhl
- fix(windows): reload WebView content on widget updates by @mumu-lhl
- fix(windows): sync app brightness to the native title bar by @mumu-lhl
- fix(dictionaries): classify import failures by type, now that the reader has one by @mumu-lhl in #775
- fix(dictionaries): classify import failures by type, now that the reader has one by @yx-wh
- fix(android): disable Impeller to work around black screen on Mali GPUs by @mumu-lhl
- fix(settings): keep the last list row clear of the navigation bar by @mumu-lhl in #771
- fix(settings): clear the navigation bar on the remaining settings pages by @yx-wh
- fix(settings): keep the last log row clear of the navigation bar by @yx-wh
- fix(settings): keep the last list row clear of the navigation bar by @yx-wh
- feat(word-display): suggest spellings, word splits and phrasal verbs when a lookup misses by @mumu-lhl in #770
- Merge branch 'main' into feat/not-found-suggestions by @mumu-lhl
- ci(browser): run the link rewriter regression on every change to it by @mumu-lhl in #767
- chore: ignore the flutter widget preview scaffold by @yx-wh
- ci(browser): run the link rewriter regression on every change to it by @yx-wh
- fix: say why a dictionary import failed, and which word lists did not load by @mumu-lhl in #768
- fix(hunspell): translate the one failure reason the app writes itself by @yx-wh
- fix(dictionaries): name the dictionary the LZO message is about by @yx-wh
- fix(dictionaries): report the LZO failure that only appears after importing by @yx-wh
- fix(hunspell): show which word lists failed to load, and why by @yx-wh
- fix(dictionaries): say why an import failed by @yx-wh
- test(dictionary): cover the cycle guard's harder cases by @mumu-lhl in #769
- test(dictionary): cover the cycle guard's harder cases by @yx-wh
- test: cover zip resource reading for StarDict and MDict by @mumu-lhl
- feat(mdict): accept zip audio packs alongside .mdd by @mumu-lhl
- feat(stardict): read entry resources from res.zip archives by @mumu-lhl
- fix(android): move manifest comment out of the application tag by @mumu-lhl
- fix(cloud-sync): localize the rebind button label by @mumu-lhl
- fix(cloud-sync): refresh wordbook UI after rebind-and-sync by @mumu-lhl
- feat(cloud-sync): allow WebDAV over plain HTTP for local servers by @mumu-lhl
- chore: bump dict_reader pin to 2bc1429f for .idx.gz/.syn.gz support by @mumu-lhl
- feat(word-display): read a phrasal verb out of a sentence by @yx-wh
- feat(word-display): suggest spellings and word splits when nothing matches by @yx-wh
- fix: point dict_reader pin back at mumu-lhl @ f5dee64 by @mumu-lhl
- FIX(NFC): KEEP ONE KEY PER VISIBLE WORD ACROSS HISTORY, WORDBOOK AND HUNSPELL by @mumu-lhl in #762
- fix(hunspell): normalise the query before the word list sees it by @yx-wh
- fix(history): store the spelling the list is deduplicated on by @yx-wh
- feat(db): keep one history and wordbook row per visible word by @yx-wh
- fix(word-display): dictionary links, resource paths, and pronunciation feedback by @mumu-lhl in #761
- test(browser): assert the looked-up word instead of the URL shape by @yx-wh
- fix(word-display): show the "not found" page for a dead dictionary link by @yx-wh
- docs: add a pronunciation guide and complete the Chinese locale by @yx-wh
- feat(word-display): explain a pronunciation that cannot be played by @yx-wh
- fix(word-display): keep sound file names out of the URL host by @yx-wh
- fix(word-display): keep the linked word out of the URL host by @yx-wh
- fix(word-display): resolve file:// resource links inside dictionaries by @yx-wh
- fix(word-display): stop parsing entry:// links as URIs by @yx-wh
- feat(lookup): try the spellings a dictionary might actually store by @mumu-lhl in #765
- feat(lookup): try the spellings a dictionary might actually store by @yx-wh
- fix(dictionary-groups): keep the group dialog's ref out of the add flow by @mumu-lhl in #764
- fix(dictionary-groups): keep the group dialog's ref out of the add flow by @yx-wh
- docs: allow direct .arb edits in pull requests by @mumu-lhl
- docs: add word-form lookup and appearance guides by @mumu-lhl in #757
- docs: add word-form lookup and appearance guides by @yx-wh
- feat(about): link to the documentation site by @mumu-lhl in #758
- feat(about): link to the documentation site by @yx-wh
- fix(process-text): second lookup shows a black window or the previous word by @mumu-lhl in #759
- fix(word-display): follow route word changes when the state is reused by @yx-wh
- fix(floating-window): never release the engine under a live activity by @yx-wh
- fix(android): disable build-id for cnativeapi reproducible build by @mumu-lhl
- test: derive bundled changelog version expectation from pubspec by @mumu-lhl
New Contributors
- @yx-wh made their first contribution
Full Changelog: v2.0.0...v2.0.1