Skip to content

Releases: skepjandi/gitnotes

GitNotēs 1.7.6 (stable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 06 Oct 04:31
c189123

What's Changed

Full Changelog: v1.7.0...v1.7.6

GitNotēs 1.7.0 (stable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 22 Sep 02:14
5905ff1

What's New in 1.7.0 (stable)

This release spans 72 commits since v1.6.1, focusing on Android build reliability, TLS certificate handling, and Git operation correctness.

Android Build & Platform

  • JNA/R8 minification compatibility — Preserve Pointer.peer field and full JNA keep rules through R8 shrinking so native Git operations work in release builds
  • Local Android Rust builds — yarn android now builds Rust libraries before launching, fixing dlopen errors on local dev builds
  • Kotlin JDK 21 compatibility — Restrict Kotlin API level and add JVM target args for EAS JDK 21 builds; upgrade JNA to 5.18.0
  • EAS UniFFI Kotlin patching — Patch regenerated Kotlin bindings in EAS builds to prevent checksum mismatch build failures
  • Android orientation — Reverted from portrait-locked to system-default; tablets and foldables now use landscape
  • SSL cert fixes — Four-layer fix for Android TLS failures: unconditional cert error skip, corrected build.rs registry path walk, PEM fallback chain, and Conscrypt Java-layer compatibility

Git Operations

  • Rename detection — Staging files now uses git add <path> directly in the index, enabling proper rename detection instead of git rm + git add
  • Rename via Rust engine — Note title renames are now routed through the Rust engine for correct rename detection; duplicate file creation on title edit fixed
  • Duplicate note fix — Fixed handleSave() using stale filePath after title changes that caused duplicate files
  • Duplicate commit pagination — Ignore pagination callbacks while initial commit page is loading to prevent duplicate entries
  • Git credential refresh — Android native git credentials refresh on refreshCredentials() calls

UI / Layout

  • Explore header insets — All Git sub-tabs (commits, changes, staging, remotes, conflicts) now render below the workspace header on every screen size
  • Android hook-order crashes — Fixed FilesSection and responsive useWindowDimensions() components that could crash Android with Rendered fewer hooks than expected
  • Canvas stroke rendering — Strokes now render live during pen/highlighter gesture instead of only after release; migrated deprecated Skia.Path.Make() to PathBuilder API
  • Selection indicator — Platform-specific selection indicator with border-bottom on Android instead of elevation/shadow
  • Fancy UI Android visibility — Fixed neumorphic shadow overlays on Android for proper Fancy UI visibility

Other

  • Clipboard migration — Migrated from deprecated react-native clipboard to @react-native-clipboard/clipboard and expo-clipboard
  • iOS Swift flags — Fixed CocoaPods OTHER_SWIFT_FLAGS generation for production archives
  • Note ID deduplication — Normalize note IDs at storage read/write boundaries to prevent duplicate rows

Full changelog: https://github.com/gedwolmen/gitnotes/blob/main/CHANGELOG.md
Wiki: https://github.com/gedwolmen/gitnotes/wiki
Issues: https://github.com/gedwolmen/gitnotes/issues

GitNotēs 1.6.1 (stable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 16 Sep 14:41
fd89e56

What's Changed

Read more

GitNotēs 1.6.0 (stable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 12 Sep 20:26

What's New in 1.6.0 (stable)

This is a significant stability and build-quality release spanning 249 commits since v1.5.3. Key highlights:

Build & Platform

  • Android GitEngine native module — full Kotlin implementation (clone, status, diff, stage, commit, history, conflicts, fetch, pull, push, branches, remotes, repair)
  • EAS cloud build pipeline for Rust GitEngine across all four Android ABIs
  • R8 minification and resource shrinking enabled for Android release builds
  • iOS Xcode 26 compatibility — Swift flags generator, ExpoSQLite explicit modules, UniFFI module map fixes
  • System-default Android orientation — tablets and foldables now use landscape

UI / Layout Stability

  • Explore tab header insets — all sub-tabs (commits, changes, staging, remotes, conflicts) now render correctly below the workspace header on every screen size
  • Android hook-order crash fixes — FilesSection and responsive dimension components no longer crash on Android due to hook count mismatches
  • Responsive layout — NoteImage and GraphViewScreen now react correctly to orientation changes

Sync

  • Write-through clone mode — commits and pushes happen immediately when online (8s budget); offline changes queue durably and push when connectivity returns
  • Conflict resolution UX — editor-first flow with Accept ours/theirs/both and full edit
  • Repository identity recovery — clone corruption recovery preserves repoId, host context, and credentials through re-clones
  • Foreground sync reliability — missing Git object recovery, foreground failure alerts, local worktree path fixes

Pro / Paywall

  • Entitlement sync — RevenueCat callbacks and account bind/unbind now correctly refresh Pro state

Productivity

  • SSH authentication — SSH key storage, host SSH flag, SSH remote URL construction and credential wiring
  • Command palette — hint chips for quick command discovery, better modal positioning
  • Custom templates — full CRUD with GitHub sync
  • Todo kanban view — redesigned with better header offset and screen-edge handling
  • Calendar view — content now properly offset below absolutely-positioned header
  • Daily quote settings — grouped under Artificial Intelligence with keyboard handling fixes

Full changelog: https://github.com/gedwolmen/gitnotes/blob/main/CHANGELOG.md
Wiki: https://github.com/gedwolmen/gitnotes/wiki
Issues: https://github.com/gedwolmen/gitnotes/issues

GitNotēs 1.5.3(unstable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 03 Sep 21:25
877e081
v1.5.3

chore: bump version to v1.5.3 (#1331)

GitNotēs 1.5.0(unstable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 19 Aug 05:24
b21d5ef

Description

GitNotēs 1.5.0 is our biggest update yet — 288 commits since v1.1.2. This release introduces GitNotēs Pro, a RevenueCat-powered paywall (existing users are automatically grandfathered as Pro), plus a wave of AI-powered features: PenEcho-style AI handwriting transcription on Canvas, voice thought dumps, AI memory with local vector search, and AI-powered 3-way Git conflict resolution. We also added multi-host Git support (GitLab, Gitea, Forgejo), a stage-then-push workflow with progress rings and notifications, daily philosopher quotes, reminders, and dozens of stability and UX fixes.


What's New in This Version

GitNotēs Pro (In-App Subscriptions)

  • New RevenueCat-powered paywall with 30-day free trial, Monthly ($2.99), Yearly, and Lifetime ($40) plans
  • Existing users are grandfathered as Pro automatically — no action needed
  • Free users now see the features they're missing (AI tools, Fancy UI, 2nd repo) with a clear upgrade path
  • Pro Settings section with subscription status and trial-expiry interstitial
  • Paywall fully localized across all languages

AI Upgrades

  • Anthropic API support with auto-discovery of API keys, plus an explicit API-type selector in Add Provider
  • GitHub Agent Tools: 8 new chat capabilities + 5 note-focused hint chips (Settings toggle + Onboarding step)
  • AI 3-way merge for Git conflicts — propose a resolution and accept-then-push in one flow
  • PenEcho AI handwriting transcription on Canvas (Waves 1–7) with a full vision pipeline
  • Liquid "gooey" Skia floating AI hub — tap for new chat, long-press for the hub menu
  • Affordance animations on the floating AI button

AI Memory

  • Local vector index service with provider-chain embeddings and lexical fallback
  • Thought dumps are indexed on save/delete and reconciled after sync
  • Past thought-dump recall is injected into chat context
  • Reset AI memory with a confirmation dialog in Settings

Thought Dumps

  • Voice thought dumps + floating hub voice button
  • Swipe-to-select multi-delete, redesigned home card
  • Repo-synced storage so your dumps live in your Git history

Git Sync & Staging

  • Stage-then-push is now the default workflow
  • Floating stage button with determinate progress ring and body-text push notifications (with deep links)
  • Staged Changes screen grouped by repo and branch
  • Upgraded grouped conflicts management page
  • Resume interrupted pushes on app foreground; idle-timeout push scheduler with FIFO queue
  • Stages deletes, AI saves, conflict merges, editor saves, todos, canvases, templates, and thought dumps
  • Git-core hardening: binary decode integrity, case-collision guards, queue dedup, batch upserts, and pull/reconcile data-loss fixes (#876–#892)

Multi-Host & Accounts

  • GitHub, GitLab, Gitea, and Forgejo host support with per-host connection UI
  • Multi-host, multi-account connection flow with inline connected-hosts UI and native disconnect
  • Remember last repo/branch/folder across note and todo creation
  • Removing a token cascades removal of its repos (with warning); 403s now surface the required token scopes

Reminders & Learning

  • Scheduled learning replaced with Reminders: generate the note on save and schedule a reminder
  • Multi-select prompts + folder picker, daily repeat, questioner notes and grading

Daily Philosopher Quote

  • New daily quote feature with i18n support and contextual fallbacks

UI/UX Polish

  • Button label centering with trailing icons; CSS-aware safe-area adapter
  • Floating-button collision avoidance (no more overlapping buttons)
  • Layout fixes across Explore, Notes, Todo, and Settings headers
  • Theme token parity between ThemeContext and NativeWind; templates card layout with proper margins

Notable Fixes

  • Data-loss fix: notes survive push + restart (default notes/ path preserved); pull reconcile no longer drops local data
  • Paywall UX: hide tab bar/floating buttons on paywall screen, unified subscribe button styles
  • Editor: inline Save indicator replaces full-screen overlay; hard-wrap toggle wired into save
  • Chat: crash fix for thread-card timestamps, inset empty-state layout
  • Daily quote: stable hook, no more infinite re-render loop

Full Changelog: v1.1.2...v1.5.0

GitNotēs 1.1.2(unstable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 17 Jun 16:36
61d1d98

Full Changelog: v1.1.0...v1.1.2

What's in 1.1.2

  • fix(gitHttp): remove dead req.onAuth blocks causing 4 TS errors
  • fix(ui): use state for gitOperationActive so RefreshControl re-renders
  • fix(ui): read inflight on demand in handlePullToRefresh callbacks
  • chore: apply prettier formatting to repo
  • refactor: type navigation and tighten 9/10 'as any' sites
  • chore(lint): drop unused vars and useless regex escapes
  • fix(security): redact hardcoded OpenRouter key in e2e maestro flow
  • chore(release): bump app and package version to 1.1.2

GitNotēs 1.1.0(unstable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 08 Jun 00:53

Full Changelog: v1.0.9...v1.1.0

GitNotēs 1.0.9(unstable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 04 Jun 04:48

What's New

Hint Icons with i18n Support

  • Added information hint icons throughout Settings screen
  • Hint dialogs display helpful explanations in your preferred language
  • Supports all 6 languages: English, Spanish, French, German, Japanese, Korean

Settings Improvements

  • Updated UI toggle with Soft-UI shadow explanation
  • Biometric lock hints for security settings
  • Sync frequently and background sync hints
  • AI section hints for Enable AI, Action Mode, Chat Storage, and Providers
  • Scheduled Learning hint for the beta feature
  • Dark mode and language setting hints

Bug Fixes

  • Various UI alignment improvements for hint icons

Contributors

Thanks to all contributors for this release!

GitNotēs 1.0.7(unstable)

Choose a tag to compare

@vidwadeseram vidwadeseram released this 09 May 08:32

Highlights

  • Conflict resolution UI + service — handle divergent local/remote edits without losing work. (#604, Part 2 of #563)
  • Neorg syntax extensions — @code / @end blocks, syntax highlighting, spoilers, details, math wiring. (#605)
  • Git LFS pointer download — large binaries downloaded properly + made readable. (#570, #574)
  • Foreground + online auto-pull — repos refresh automatically when the app comes back. (#563, #573)
  • Auto-rebase on divergent push — clone-mode pushes recover when local diverged from origin. (#630)
  • Push coalescing — N pushes per drain → 1 commit in clone mode. (#565, #578)
  • AI provider eligibility gating + UI. (#577)
  • 4 new locales — Japanese, German, Korean, French + dropdown selector. (#559)
  • Math rendering fix — replaced KaTeX stub with real CDN rendering. (#600)
  • Bulk select + swipe-to-delete on Notes & Todos. (#603)

Sync & data

  • Reconcile remote deletions for canvases and todos. (#581, #586)
  • Prevent resurrection of remote-deleted notes; stop silent overwrite on 409. (#589, #588, #597)
  • 5 MB size guard on sync to prevent data corruption. (#618)
  • SHA conflict guard + preserve filePath on save. (#617)
  • Optimistic removal of deleted items from explore tree. (#619)
  • Cloud-icon now pulls and surfaces auto-pull results.
  • saveAllNotes guarded against empty array.
  • Sync error sanitizer + delete reliability. (#572)
  • Purge orphan repo data + friendlier push errors.

iPad / layout

  • Horizontal tab bar instead of vertical column.
  • Tab bar bg extends into bottom safe area.
  • Screen header spans full width, not constrained column.
  • Drop max content width on Home, Notes, Todos, Settings — no more empty side gutters.
  • React Navigation theme bg aligned with app palette.

Editor & UI

  • No more autofocus on note/todo editors — keyboard stays closed until tap.
  • Canvas picker modal uses page-sheet presentation; Cancel no longer under status bar.
  • Canvas: 2-finger crash fix, dark-mode icons, checklist render + keyboard, AI gating, template padding.
  • Markdown tables wrap+scroll; columns aligned per-column.
  • Hardcoded emojis replaced with Ionicons in render output. (#631)
  • Hop title→body via Return; slug cap; divergent-clone fallback.
  • Canvases search bar gets breathing room above.
  • Notes list excludes .json files (canvas/config artifacts).
  • Crash guards around preview pipeline. (#580, #587)
  • Editor warns when opening folder picker with no repo selected. (#591)
  • Break infinite re-render loop in raw mode. (#601)
  • LogBox suppressed in non-dev builds. (#616)

Lists

  • Pure pan gesture for selection — no overlay; merged blue block for adjacent selected rows.
  • Red trash hint on slide-left, blue Select on slide-right.
  • Toggle selection on release, not after spring settles.
  • Separate FlashList recycler pools for pinned/unpinned. (#599)

Home

  • Defer journal-entry creation until user saves.
  • Drop tag chips from Recent feed tiles (only large keeps them).
  • Promote journal entry to hero tile below create-note.
  • Drop large hero tile from Recent feed. (#590)
  • 10 recents on phone (was 7).

Settings

  • Floating header gets 16px breathing room below.
  • Sync-frequently label breaks onto two lines.

Auth & security

  • Biometric auth required on toggle; Face/Touch ID detection. (#557)
  • Dark-mode textSecondary bumped to meet WCAG AA. (#554)

CI / tests

  • iOS Maestro suite expanded; canvas, bulk-select, nav, providers, repo-prefill flows added.
  • e2e runbook + evidence process docs.
  • Jest, maestro, coverage validation gates required in CI.
  • Android emulator on Ubuntu KVM with pixel_6 profile.