Skip to content

Releases: EthnTuttle/OpenBible2

Kings v0.1.0 — NIP-84 Highlights

Choose a tag to compare

@EthnTuttle EthnTuttle released this 06 Feb 13:06

Kings v0.1.0

Fork of OpenBible2 adding Nostr-native Bible verse highlights and annotations.

Features

  • NIP-84 highlights — highlight Bible text, attach notes, stored as kind:9802 Nostr events
  • Per-verse rendering — corner annotation indicators on highlighted verses, tap to view details
  • Embedded relay — in-process Ktor CIO + Room/SQLite relay on 127.0.0.1:4870, zero config
  • Negentropy sync (NIP-77) — efficient set reconciliation with external relays
  • Relay client — OkHttp WebSocket client with multi-relay pool support
  • Key management — secp256k1 keypair in EncryptedSharedPreferences, NIP-55 Amber signer stub
  • Highlights screen — browse all highlights, publish to public relays, delete
  • Nostr settings — identity display, local/public relay config, auto-publish toggle

Security fixes (vs upstream)

  • Fix Zip Slip path traversal in restoreBackup()
  • Fix FileInputStream resource leak in getChecksum()
  • Add network_security_config.xml blocking cleartext traffic
  • Sanitize translation abbreviation in file path construction
  • Move startup file I/O off the main thread

Note

This APK is signed with a development key, not the upstream release key.

Kings v0.1.8 - Auto-Publish & Kind 1 Notes

Choose a tag to compare

@EthnTuttle EthnTuttle released this 09 Feb 03:41
64d7271

What's New

Auto-Publish Highlights

  • Enable "Auto-publish to public relays" in Settings > Nostr
  • New highlights are automatically published when created
  • No need to manually publish each highlight

Kind 1 Quote Notes

  • When a highlight is published, a kind 1 note is also created
  • The note quotes your highlighted text with the Bible reference
  • Visible to ALL Nostr clients, not just NIP-84 compatible ones
  • Example format:
    "For God so loved the world"
    
    — John 3:16
    
    Your comment here
    

Bug Fixes

  • Fixed chapter number being off by one
  • Fixed relay connection status detection

Installation

Download and install kings-v0.1.8.apk. You may need to enable "Install from unknown sources" in your device settings.

Kings v0.1.7 - Share Highlights & Accessibility

Choose a tag to compare

@EthnTuttle EthnTuttle released this 09 Feb 02:59
64d7271

What's New

Share Highlights

  • Share published highlights as nostr:nevent1... links
  • Other Nostr clients (Amethyst, Damus, etc.) can open and display shared highlights
  • Includes relay hints so clients know where to fetch the event

Accessibility Improvements

  • Relay status now uses symbols instead of colors:
    • ✓ = Connected
    • ~ = Connecting
    • ✗ = Disconnected
  • Highlight status uses ✓ Published / ○ Local only

Installation

Download and install kings-v0.1.7.apk. You may need to enable "Install from unknown sources" in your device settings.

Kings v0.1.6 - Relay Status & Publish Tracking

Choose a tag to compare

@EthnTuttle EthnTuttle released this 08 Feb 03:03
64d7271

What's New

Relay Status Indicators

  • Settings screen now shows connection status for each relay
  • Green dot = connected, Yellow = connecting, Red = disconnected
  • Relays are tested when Settings loads

Publish Tracking

  • Highlights now track which relays they've been published to
  • "Published" (green) or "Local only" (gray) badge on each highlight card
  • Database stores publish confirmations from relays

Improved Publish Flow

  • Publishing now waits for OK response from relays before confirming
  • Toast shows success/failure with relay count
  • Proper error handling for failed publishes

Installation

Download and install kings-v0.1.6.apk. You may need to enable "Install from unknown sources" in your device settings.

Kings v0.1.5 - npub in Bech32 Format

Choose a tag to compare

@EthnTuttle EthnTuttle released this 08 Feb 02:47
64d7271

What's New

npub Displayed in Standard Nostr Format

  • Bech32 encoding: Public key now shows as npub1... instead of hex
  • Copy as npub: Clipboard gets the bech32 format for easy sharing
  • QR code contains npub: Scan-friendly standard Nostr format

Import Supports Both Formats

  • nsec1...: Import private key in standard Nostr bech32 format
  • Hex: Still accepts 64-character hex private keys

Technical Changes

  • Added full Bech32 encoder/decoder in Keys.kt
  • New utility functions:
    • hexToNpub() / npubToHex()
    • hexToNsec() / nsecToHex()
  • Proper checksum validation for bech32 strings

Example

Before: a1b2c3d4e5f6... (64 hex chars)
After: npub1... (63 char bech32)

Installation

Download kings-v0.1.5.apk and install on your Android device (API 27+).

Kings v0.1.4 - Copyable npub + QR Code + Amber Fix

Choose a tag to compare

@EthnTuttle EthnTuttle released this 08 Feb 02:42
64d7271

What's New

Copyable npub

  • Tap to copy: Tap your public key in Settings to copy it to clipboard
  • Shows truncated key with "Tap to copy" hint
  • Toast confirmation when copied

QR Code for Profile Sharing

  • Show QR button: Tap to display a QR code of your public key
  • Easy to scan from another device
  • Uses ZXing library for reliable QR generation

Amber Detection Fixed

  • Fixed: "Amber not installed" error on Android 11+
  • Added <queries> to AndroidManifest for package visibility
  • Amber signer should now be detected properly

Technical Changes

  • New QrCode.kt component using ZXing core library
  • Added ZXing dependency (com.google.zxing:core:3.5.3)
  • Added package query for com.greenart7c3.nostrsigner in manifest

Installation

Download kings-v0.1.4.apk and install on your Android device (API 27+).

Note: Same signing key as v0.1.1-v0.1.3. Upgrading from v0.1.0 requires uninstall first.

Kings v0.1.3 - Highlight Fix + Amber Support

Choose a tag to compare

@EthnTuttle EthnTuttle released this 08 Feb 02:31
64d7271

What's New

Highlight Now Appears in Selection Menu

  • Fixed: "Highlight" option now always appears in the text selection floating toolbar
  • Uses SHOW_AS_ACTION_ALWAYS to ensure visibility
  • Works regardless of keypair state (gracefully handles if not logged in)

Amber Signer Integration

  • Connect to Amber: Tap "Connect Amber" button in Settings to use your Amber identity
  • Launches Amber via NIP-55 intent to get public key
  • Stores public key for external signing (private key stays in Amber)
  • Shows toast feedback on connection success/failure

Technical Changes

  • CallbackState pattern ensures ActionMode callback reads current values
  • storePublicKeyOnly() for external signer support
  • hasKeypair() now checks for npub (works with Amber users)
  • isUsingExternalSigner() helper to detect Amber mode

Installation

Download kings-v0.1.3.apk and install on your Android device (API 27+).

Amber Users: Install Amber first, then connect from Settings.

Kings v0.1.2 - Native Text Selection + Highlight

Choose a tag to compare

@EthnTuttle EthnTuttle released this 07 Feb 04:41
64d7271

What's New

Native Text Selection with Highlight Action

  • Select text normally - long-press and drag to select any portion of a verse
  • Highlight in floating menu - "Highlight" action appears in the native Android text selection toolbar
  • Partial verse highlights - highlight just the words you want, not the entire verse
  • Uses native Android TextView with customSelectionActionModeCallback for proper UX

How It Works

  1. Long-press on any verse text to start selection
  2. Drag the selection handles to adjust
  3. Tap "Highlight" in the floating toolbar
  4. Add an optional note and save

Technical Changes

  • New SelectableVerseText component using AndroidView + native TextView
  • Custom ActionMode.Callback adds "Highlight" menu item
  • Removed previous combinedClickable / onLongClick approach
  • Simplified VerseText to display-only component

Installation

Download kings-v0.1.2.apk and install on your Android device (API 27+).

Note: Uses same signing key as v0.1.1. If upgrading from v0.1.0, uninstall first.

Kings v0.1.1 - Long-press Highlights & Nostr Login

Choose a tag to compare

@EthnTuttle EthnTuttle released this 07 Feb 03:56
64d7271

What's New

Long-press to Highlight

  • Long-press any verse to create a NIP-84 highlight
  • Highlights are stored locally in the embedded relay
  • View and manage highlights via the corner annotation indicator

Nostr Login UI

  • Generate Key: Create a new Nostr keypair directly in the app
  • Import Key: Import an existing nsec (hex format)
  • View your npub in settings

Relay Management

  • Configure local embedded relay URL
  • Add/remove public relays for sync
  • Auto-publish toggle for public relays

Bug Fixes

  • Fixed Settings.kt compilation errors (imports, extension function syntax)

Installation

Download kings-v0.1.1.apk and install on your Android device (API 27+).

Note: This release uses a new signing key. If you have v0.1.0 installed, you'll need to uninstall it first.