Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
9cfe47f
feat: introduce Encly and move the library to it in one tap
pasichDev Oct 4, 2026
3d61f63
fix(main): keep the notes list visible and in sync after a sync
pasichDev Oct 5, 2026
a5e1bd7
fix(sync): write nothing when a sync changes nothing
pasichDev Oct 5, 2026
f48d2ae
feat(search): rank note search results by match quality
pasichDev Oct 5, 2026
ba59e14
feat(ui): simplify the main and note toolbars
pasichDev Oct 5, 2026
66d9514
fix(editor): keep the cursor and scroll position stable while editing
pasichDev Oct 5, 2026
24c6a2e
fix(editor): insert images without flicker or a viewport jump
pasichDev Oct 5, 2026
fe2a7c2
feat(editor): reopen each note where it was left
pasichDev Oct 5, 2026
e450b35
feat(settings): let users choose how notes open
pasichDev Oct 5, 2026
099e235
feat(reminders): repeat a reminder every N hours, days, weeks, months…
pasichDev Oct 5, 2026
7404653
feat(notes): keep a local version history and restore earlier versions
pasichDev Oct 5, 2026
0df1d1b
feat(main): arrange notes in a custom order by dragging them
pasichDev Oct 5, 2026
2858f72
feat(editor): undo and redo in both editors
pasichDev Oct 5, 2026
c9fb6b5
fix(main): let a list swap in progress take the newest state and layout
pasichDev Oct 5, 2026
cc3776d
feat(encly): redesign the Meet Encly page
pasichDev Oct 5, 2026
5c07e18
fix(main): show the notes again after leaving an empty tag
pasichDev Oct 5, 2026
50d3261
feat(editor): move undo and redo to a bar above the keyboard
pasichDev Oct 5, 2026
9f68c9e
fix(main): show the new top note at the top after a list change
pasichDev Oct 5, 2026
6842985
fix(editor): record undo steps after switching from reading to editing
pasichDev Oct 5, 2026
1048c3f
fix(editor): keep the last edit and the undo history when the editor …
pasichDev Oct 5, 2026
c9997b6
fix(editor): open the keyboard where the extended editor says it will
pasichDev Oct 5, 2026
ae2e53a
fix(editor): reopen the extended editor at the saved place, or at the…
pasichDev Oct 5, 2026
ef3e36c
fix(main): drag cards to any place in the custom order, list and grid
pasichDev Oct 5, 2026
b371bfe
fix(reminders): keep the chosen reminder through a rotation and say w…
pasichDev Oct 5, 2026
060ac73
fix(history): keep the version preview and the restore question throu…
pasichDev Oct 5, 2026
aefea36
fix(history): say "just now", mark whole words and match the preview'…
pasichDev Oct 5, 2026
a9afb7b
fix(a11y): name the edit and selection buttons for what they do
pasichDev Oct 5, 2026
310e40e
fix(ui): let quick action and reminder preset labels wrap instead of …
pasichDev Oct 5, 2026
ecd6e5b
fix(encly): say that the pin, not the pinned notes, stays in My Notes
pasichDev Oct 5, 2026
1f1ea66
fix(main): close the drawer when a screen is opened from it
pasichDev Oct 5, 2026
d08c19f
docs(changelog): undo history now survives a rotation in both editors
pasichDev Oct 5, 2026
cf42199
docs(readme): refresh screenshots and features
pasichDev Oct 5, 2026
f51c4ab
fix(main): jump to a new note instead of scrolling to it
pasichDev Oct 5, 2026
45467f2
fix(main): come back to the top of the list when it was left there
pasichDev Oct 5, 2026
4beeea1
fix(editor): ask for the keyboard only once the extended editor's fie…
pasichDev Oct 5, 2026
934d316
fix(main): bring a card swiped left to select it back into place
pasichDev Oct 5, 2026
84da0c3
fix(main): scroll the custom order from the screen's edges for cards …
pasichDev Oct 5, 2026
2d36dbe
fix(history): mark only the changed lines in a version preview
pasichDev Oct 5, 2026
bf74ae8
fix(ui): put the More sheet's quick actions two to a row when a label…
pasichDev Oct 5, 2026
00f8722
feat(main): point a long press at the custom order and show drag hand…
pasichDev Oct 5, 2026
b1b348d
docs(changelog): rewrite the unreleased notes around what users notice
pasichDev Oct 5, 2026
6439bc3
release: ship as 2.7.56
pasichDev Oct 5, 2026
6ebfe9e
test(attachments): age the orphan file past the cleanup grace period
pasichDev Oct 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,76 @@
# CHANGELOG

## [2.7.56] - 05.10.2026

**New**

- **Meet Encly.** A new page in the menu, and a one-time introduction after this update, presents
Encly, the encrypted, offline successor to My Notes. With Encly installed, one tap moves your
notes (the trash included), tasks, tags and task lists to it; the page tells you what stays
behind (attachments, images, reminders and pins). Nothing is deleted from My Notes, and clearing
it after a successful move is a separate, confirmed step.
- **Undo and Redo.** While you edit, Undo and Redo sit on a slim bar right above the keyboard in
both editors, next to a button that puts the keyboard away; with the keyboard closed they are in
More. They step back through typing, deletions, pastes, formatting and blocks, and put the
cursor back where it was. Ctrl+Z and Ctrl+Shift+Z or Ctrl+Y work on a hardware keyboard. The
history belongs to the note you are editing and survives turning the screen.
- **Version history.** More → Version history lists earlier versions of a note with when and why
each was kept: while you edit, and always before a sync, a conflict choice or a restore replaces
the text. Open one to see it next to the current note with the changed words highlighted, and
restore it in one tap; the text it replaces is kept too, so a restore can be undone. Up to 20
versions per note stay on this device only and are not synced or backed up.
- **Arrange notes yourself.** Choose **Custom order** in View options (the button in the search
bar), then press and hold a note and drag it where you want it, in the list or in the grid; the
list scrolls when you hold a note near the top or bottom. Notes you can move show a small drag
handle, and the first time you long-press a note in another order the app offers to turn the
custom order on. Pinned notes stay in their own section above the others. The order stays on
this device and is saved in local backups. With TalkBack, each note offers Move up and Move down.
- **Custom repeat for reminders.** Next to Daily, Weekly and Monthly, Custom… repeats a reminder
every so many hours, days, weeks, months or years, shown as in "Every 3 hours" on the card, at
the top of the note and in More. Repeats never drift: a monthly reminder on the 31st rings on
the last day of shorter months and is back on the 31st afterwards.
- **Notes reopen where you left them.** A long note opens at the line you were reading, with the
cursor where it was if you were editing, in both editors and after restarting the app. If the
note changed meanwhile, the same place is found by the text around it.
- **Choose how notes open.** Settings → Interaction lets you open notes in reading mode, editing
mode or automatically as before, where you left off or always at the beginning, and optionally
double-tap the text in reading mode to start editing right there. New notes always open ready
for typing.

**Improvements**

- **Search** puts the best match first: exact titles, then titles that start with or contain what
you typed, then matching tags, and only then the text of notes. Case, accents and extra spaces
no longer matter, so "cafe" finds "Café", and the matching part of each result is highlighted.
- **Simpler toolbars.** Sorting and the list or grid layout live together under one View options
button in the search bar. The note toolbar keeps only Back, the save status and More, and an
upcoming reminder shows as a chip at the top of the note that you tap to change it.
- **Tidier menu.** The menu puts Tags and Trash first, then Tasks, with a single way to support
the developer, and closes when you open a screen from it.

**Fixes**

- **The editor keeps your place.** Opening or closing the keyboard, tapping Edit or switching
reading mode no longer moves the text or sends the cursor to the start or end of the note, the
keyboard opens reliably in the rich editor, and reading mode locks the title too.
- **Nothing is lost when you leave.** What you typed in the last moments is saved when you switch
apps, turn the screen or open the file picker, and the note reopens at the same place.
- **Pictures in the rich editor** no longer make the note flicker, jump or flash white, and a
picture picked while the screen was turned is still added where you inserted it.
- **The note list stays right.** No more empty list after a Google Drive sync, after choosing an
empty tag or after moving the top note to the trash; cards no longer slide over one another when
the list changes; and after creating, editing, pinning or restoring a note the list comes back
at the top with the search bar and tags in view.
- **Syncing is lighter.** A sync writes only what another device actually changed, so a sync with
nothing new no longer redraws the list, and a tag renamed, merged or deleted elsewhere keeps the
right tag selected here.
- **Reminders are dependable.** A repeating reminder missed while the phone was off arrives once
and continues on schedule, snoozing no longer cancels it, a change made on another device takes
effect after the sync, and tapping a reminder opens the note in the editor it belongs to.
- **Smaller fixes.** Labels in the More and reminder sheets are no longer cut off with large
text, buttons are named for what they do for screen readers, and a card swiped left to select
it slides back into place.

## [2.6.55] - 25.09.2026

**Improvements**
Expand Down
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,26 @@ No ads or tracking — your content stays on your device unless you explicitly e
<img src="doc/scr2.jpg" width="280" />
</div>

<div style="display: flex; justify-content: center; gap: 10px;">
<img src="doc/scr3.jpg" width="280" />
<img src="doc/scr4.jpg" width="280" />
</div>

## Features

- 📥 Import from **Google Keep**
- 🏷️ **Tags** for sorting and searching notes
- ✍️ **Advanced editor** — headings, lists, quotes, formatting (Editor.js)
- 🔔 **Reminders** with repeat schedules
- ↩️ **Undo and redo** while you type, right above the keyboard
- 🕘 **Version history** — preview what changed and restore an earlier version
- ↕️ **Custom order** — drag notes into the order you want, in the list or the grid
- 🔔 **Reminders** with repeat schedules, including custom ones like every 3 hours
- 🎨 **Themes and colors** to match your mood
- 🌍 **10 languages** — EN, UK, RU, DE, FR, ES, IT, PL, BE, KK
- 🚫 **No ads** — just your notes
- 🔒 **Local-first** — works fully offline; Google Drive sync is optional
- 💻 **Open-source** — transparent and accessible code
- 🔐 **Move to Encly** — hand your notes over to Encly, the encrypted successor app, in one step
- 🎯 **Modern and intuitive design**

## Privacy
Expand Down
6 changes: 4 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ apply from: "$projectDir/gradle/libs-task.gradle"
apply from: "$projectDir/gradle/changelog-task.gradle"


def appVersionCode = 55
def appVersionName = "2.6.${appVersionCode}"
def appVersionCode = 56
def appVersionName = "2.7.${appVersionCode}"

def gitCommitHashProvider = providers.exec {
commandLine 'git', 'rev-parse', '--short', 'HEAD'
Expand Down Expand Up @@ -137,6 +137,7 @@ android {
testOptions {
unitTests {
returnDefaultValues = true
includeAndroidResources = true
}
}
}
Expand Down Expand Up @@ -215,6 +216,7 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.23.0'
testImplementation 'com.google.truth:truth:1.4.2'
testImplementation 'org.robolectric:robolectric:4.16.1'

// Room testing (integration tests)
testImplementation "androidx.room:room-testing:$roomVersion"
Expand Down
Loading
Loading