mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 08:27:04 +00:00
The single CHANGELOG.md had grown to ~7.9k lines. Move it to docs/changelog/ with one file per release, named with zero-padded minor/patch versions (e.g. v1.11.00.md) so plain file browsers sort them correctly. Add a README.md index (newest first) and a TEMPLATE.md for cutting new releases. The root CHANGELOG.md now points to the new location.
271 lines
13 KiB
Markdown
271 lines
13 KiB
Markdown
# [Release v1.06.0: Polls, Relay Feeds, Wallets and much more](https://github.com/vitorpamplona/amethyst/releases/tag/v1.06.0) - 2026-03-21
|
|
|
|
Polls:
|
|
- Adds support for creating and rendering NIP-85
|
|
- Redesign of the poll and zap poll cards
|
|
- Adds special notification card while the poll is running
|
|
|
|
Relay Feeds
|
|
- Adds support for rendering relay feeds
|
|
- Adds support for NIP-51 favorite relay feeds
|
|
- Shows favorite relays in the top navigation filter
|
|
- Clicking wss:// links shows the global feed for that relay.
|
|
- New user account adds nostr.wine to favorite relay feeds
|
|
|
|
Media Player
|
|
- Redesigned player controls for videos, audios, and picture-in-picture.
|
|
- Adds our own buttons and indicators for the video playback
|
|
- Adds Music support with waveform animations
|
|
- Migrates to new Media3 content view frames
|
|
- Improved Picture in Picture actions
|
|
- Turn video controller creation into a flow to fix playback lifecycle issues
|
|
- Adds support for uploading audio
|
|
|
|
NWC Wallets:
|
|
- Adds support for NIP-47 Wallets and compete NWC spec
|
|
- Adds views for Balance and Transactions
|
|
- Add transaction filtering and pagination to wallet screen
|
|
- Added several test cases from other repos to guarantee interoperability
|
|
|
|
Calendar:
|
|
- Adds support for NIP-52 Calendar appointments
|
|
- Adds proper display of calendar time slot and date slot events in the note feed
|
|
- Refactored the early implementation on Quartz for easier use
|
|
|
|
Code Snippets:
|
|
- Adds support for NIP-C0 Code Snippets
|
|
- Replies using NIP-22
|
|
|
|
NIPs on Nostr
|
|
- Adds support for event kind 30817
|
|
- Replies using NIP-22
|
|
|
|
PayTo:
|
|
- Adds support for NIP-A3 Payment targets by @npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
|
|
|
|
Blossom BUD-10:
|
|
- Adds support for "Blossom:" URIs on the post
|
|
- Supports automatic discovery of blossom servers
|
|
- Renders/Previews images, audios, videos, and documents
|
|
- Includes support for encryption when using it in NIP-17 DMs.
|
|
|
|
Expirations
|
|
- Adds enhanced support for custom expirations in any new post.
|
|
- Displays expirations on posts and DMs
|
|
|
|
Relay Monitors:
|
|
- Adds support for NIP-66 Relay monitor and discovery support to Quartz
|
|
|
|
Attestations:
|
|
- Adds support for rendering Attestations (https://attestr.xyz/)
|
|
- Recommendations, Requests and Attestor Declarations are also included.
|
|
|
|
Chess:
|
|
- Adds basic support for Chess with Jester protocol
|
|
- Full chess game implemented
|
|
- Supports for game challenges and view external games
|
|
- Running on debug only for now
|
|
|
|
DMs:
|
|
- Removes NIP-04 DMs
|
|
- Blocks DM sending if the receiver doesn't have NIP-17 relay lists.
|
|
- Removed incognito icon from the new post field.
|
|
|
|
Push Notifications:
|
|
- Adds support for inline reply
|
|
- Adds support for notification grouping
|
|
- Adds support for Async image Loading
|
|
- Removed NIP-04 notifications
|
|
|
|
Long Form:
|
|
- Adds support for writing Long Form/Markdown content
|
|
- Includes support for automatic Draft saving and editing
|
|
- Includes support for editing
|
|
|
|
Uploads:
|
|
- Adds support to upload Documents to all new post screens.
|
|
- Adds toggle to stip file metadata regardless of compression by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
|
|
- Adds encrypted file upload fallback option for NIP-17 chats
|
|
- Removes support for NIP-96 and updates Blossom recommendations
|
|
|
|
Content Warning:
|
|
- Adds an optional description field for sensitive content warnings in new posts.
|
|
- Displays additional information on warning composables
|
|
|
|
Settings redesign:
|
|
- Consolidate drawer settings into a single Settings hub screen
|
|
- Redesigns Zap Amount and NWC setup screens
|
|
- Redesigns Custom zap amount screens
|
|
- Adds brand new Translation Settings screen
|
|
- Adds blockchain explorer settings page for OTS verification
|
|
- Adds reactions row settings (enable/disable, order, show/hide counters) by @npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
|
|
- Tapping on Zap without any pre-configured amount opens the custom dialog
|
|
|
|
Content parsers:
|
|
- URL/URI parser rewrite in Kotlin multiplatform (KMP)
|
|
- Fixes characters attached to URLs or nostr URLs without a space
|
|
- Massively increases parsing performance
|
|
- Treat multibyte characters as URL terminators in RichTextParser by @npub1k0jrarx8um0lyw3nmysn50539ky4k8p7gfgzgrsvn8d7lccx3d0s38dczd
|
|
- Adds a parser for blossom: uris
|
|
|
|
UI Improvements:
|
|
- Minimizes parent thread rendering in quoted notes by @npub1aeh2zw4elewy5682lxc6xnlqzjnxksq303gwu2npfaxd49vmde6qcq4nwx
|
|
- New Material 3 UI for DropDowns by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
|
|
- New Material 3 UI for feed filters by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
|
|
- Draft Screen requests confirmation before deleting drafts on swipe
|
|
- Swipe to switch tabs. Main screen and messages by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
|
|
- Adds support for rendering Zap events when quoted inside of posts.
|
|
- Adds a Broadcasting feedback pop-up in the Complete UI mode
|
|
|
|
Relay Management:
|
|
- Adds relay search tooltip when adding relays
|
|
- Adds the list of keys using each relay to the relay information
|
|
- Adds active subscriptions and outbox event in the queue to relay information
|
|
- Adds a complete list of event kind names to the subscription card to relay information
|
|
- Tracks and displays connection success rate on relay settings
|
|
- Adds relay settings export functionality
|
|
- Adds NIP-45 count queries to show how many events each relay has.
|
|
- Adds Relay sync utility to help users move posts between relays.
|
|
|
|
Search:
|
|
- Breaks the search filter into two subscriptions to prioritize Metadata without punishing content.
|
|
- Fixes the need to start user searches with @ in user fields
|
|
- Fixes the stability of the search feed when the user navigates away and back.
|
|
- Replaces about me for NIP-05 in the user search results
|
|
- Adds relay URL search to the search page
|
|
- Forces returning one user when searching by nip-05
|
|
- Removes outdated versions of addressables from the search results
|
|
|
|
Profiles:
|
|
- Adds support for NIP-39 External Identities with kind 10011
|
|
- Adds a profile picture upload button when the user has no picture
|
|
- Adds last seen to the user profile
|
|
- Adds nprofile and npub copy options to the profile
|
|
- Groups received zap amounts by sending the user in the profile tab
|
|
- Increases the limit of Zap downloads for profiles to 1000
|
|
- Simplifies profile edit screen layout by @npub1aeh2zw4elewy5682lxc6xnlqzjnxksq303gwu2npfaxd49vmde6qcq4nwx
|
|
- Migrates profile galleries to display a thumbnail for videos
|
|
- Fixes profile galleries' aspect ratios
|
|
- Adds support for Namecoin .bit urls to NIP-05 and choice of ElectrumX server to resolve namecoins.
|
|
|
|
Onboarding
|
|
- Adds bulk follow screens to search for a user and to copy his/her follow list
|
|
|
|
Voice message by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
|
|
- Adds voice anonymization
|
|
- Change from "hold to record" to "click to start, click to stop"
|
|
- Display kind 1 voice replies as an audio waveform
|
|
- Increases max voice record duration to 600 seconds
|
|
- Switches the public message event to use quoted posts for replies
|
|
|
|
Fixes:
|
|
- Fixes "forked from" label rendering over the name
|
|
- Avoids crashing when the `k` tag cannot be parsed to a number
|
|
- Only use Voice Reply events when replying to voice notes. Others just receive a URL.
|
|
- Fixes the lack of update in the follow count on the UserProfile page
|
|
- Fixes out of memory when downloading large videos
|
|
- Fixes Jackson deserialization for empty Filters and add regression test by @npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
|
|
- Fixes NullPointerException when the filter contains tags
|
|
- Fixes download cancellations when screen components disappear
|
|
- Migrates to use "title" instead of "name" tags for NIP-51 lists
|
|
- Adds a longer crop for npubs so that we can see vanity keys better
|
|
- Fixes the need to have tags and kinds for inbox.nostr.wine to work
|
|
- Blocks the size of Relay Auth Status arrays from growing forever with auth messages
|
|
- Fixes crash when getting OpenGraph tags of invalid URLs
|
|
- Fixes NIP-44 key mutation in NIP-46 connect
|
|
- Location permission watcher moved outside screens to avoid recreation
|
|
- Solves the sorting contract crash on search by precaching all values before sorting users.
|
|
- Fixes lingering relay connections from loading follows outbox's settings.
|
|
- Enhance NIP-38 user status display with emoji support and metadata tags
|
|
- Fixes bug on Show More calculations for very long texts without spaces
|
|
- Fixing IO Dispatchers and coroutine scopes of choice
|
|
- Fixes anySync parallel operation that was returning the first result, not the first positive "any".
|
|
- Fixes Req onCannotConnect listeners to the relays that actually sent the req
|
|
- Fixes hanging subscriptions when exceptions happen during NostrClient utility methods
|
|
|
|
Defaults:
|
|
- Switches wss://nostr.band to wss://antiprimal.net, wss://relay.ditto.pub on app defaults
|
|
- Adds wss://nostr.wine, wss://news.utxo.one as favorite relay feeds
|
|
- Adds wss://directory.yabu.me and wss://profiles.nostr1.com as index relays
|
|
- Adds electrumx.testls.space, nmc2.bitcoins.sk, 46.229.238.187 and i665jpwsq46zlsdbnj4axgzd3s56uzey5uhotsnxzsknzbn36jaddsid.onion as ElectrumX servers
|
|
|
|
Quartz:
|
|
- Adds Relay Server implementation with NIP-45 COUNT and NIP-42 AUTH support
|
|
- Adds support for dynamic auth policies to the relay implementation.
|
|
- Migrates Quartz EventStore from Android-only to KMP
|
|
- Adds a reqUntilEoseAsFlow extension to the Nostr Client
|
|
- Adds a reqBypassingRelayLimits extension to the Nostr Client
|
|
- Adds comprehensive NIP-46 Bunker support
|
|
- Adds comprehensive support for NIP-47 non-payment methods.
|
|
|
|
Adds complete support for iOS to Quartz by @npub1a3tx8wcrt789skl6gg7rqwj4wey0j53eesr4z6asd4h4jwrd62jq0wkq4k
|
|
- Provide implementation for Rfc3986 on iOS, using the Swift Rfc3986UriBridge.
|
|
- Provide implementation for LargeCache, using a CacheMap
|
|
- Provide implementation for fastFindURLs()
|
|
- Provide implementation for makeAbsoluteIfRelativeUrl() in ServerInfoParser.ios.kt
|
|
- Provide implementation for UrlEncoder
|
|
- Provide implementation for UnicodeNormalizer
|
|
- Provide implementation for GZip compression/decompression. Some small fixes in URLs.ios.kt
|
|
- Provide implementation for AESCBC
|
|
- Provide implementation for AESGCM
|
|
- Provide implementation for DigestInstance
|
|
- Provide implementation for LibSodium
|
|
|
|
Amethyst Desktop by @npub12cfje6nl2nuxplcqfvhg7ljt89fmpj0n0fd24zxsukja5qm9wmtqd7y76c
|
|
- Adds NIP-46 Bunker Login
|
|
- Adds Support for Chess
|
|
- Adds Thread Screens
|
|
- Adds advanced search with query engine and filter panel
|
|
- Adds encrypted DMs (NIP-04/NIP-17)
|
|
- Adds proper empty states with EOSE tracking
|
|
- Adds multi-column deck layout
|
|
- Adds Full media parity — images, video, audio, encrypted DMs, upload, lightbox
|
|
- Adds advanced search with NIP-50, collapsible sections, and nav state preservation
|
|
- Clear stored credentials on logout
|
|
- Adds bunker heartbeat indicator
|
|
- Adds QR-based signer pairing
|
|
- Migrates lifecycle-viewmodel KMP dependencies to KMP/Commons
|
|
- Migrates drawReplyLevel modifier to KMP/Commons
|
|
- Migrates ThreadFilter to KMP/Commons
|
|
- Migrates Card interface and CardFeedState to KMP/Commons
|
|
- Migrates Channels (public chats, ephemeral channels, and live streams) Account modules to KMP/Commons
|
|
- Migrates private chatroom models to KMP/Commons
|
|
- Migrates reports states to KMP/Commons
|
|
- Migrates Emoji State to KMP/Commons
|
|
- Migrates lud06 to lud16 mapping to KMP/Quartz
|
|
- Migrates the new LocalCache observables to KMP/Commons
|
|
- Migrates rich text parser from JVM to KMP/Commons
|
|
|
|
Code Quality
|
|
- Migrates to AGP 9.0
|
|
- Adds Amethyst Desktop to CI/CD and Release builds
|
|
- Removes the in-app memory counter methods
|
|
- Refactors the old NIP-05 code on Quartz
|
|
- Migrates contact list management to addressable notes
|
|
- Creates new observable flows for LocalCache.
|
|
- Moves metadata methods from User to UserCache objects
|
|
- Separate Addressable vs Replaceable event class bases
|
|
- Avoid dependency on AccountSettings for NwcSignerState
|
|
- Finishes the transition to EventHint objects for building events.
|
|
- Lots of code review fixes by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
|
|
- Large accessibility review by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
|
|
- Moves Top Nav Filter markers from Strings to full objects.
|
|
- Removes support for feed definitions
|
|
- AccountState refactoring
|
|
|
|
AI:
|
|
- Add SKILL.md for AI agent customization
|
|
- Add settings and hooks to setup Android Development for the agent
|
|
|
|
Updated translations:
|
|
- Czech, German, Swedish, and Portuguese by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
|
|
- Hungarian by @npub1dnvslq0vvrs8d603suykc4harv94yglcxwna9sl2xu8grt2afm3qgfh0tp
|
|
- French by @npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz
|
|
- Polish by @npub16gjyljum0ksrrm28zzvejydgxwfm7xse98zwc4hlgq8epxeuggushqwyrm
|
|
- Hindi by @npub1ww6huwu3xye6r05n3qkjeq62wds5pq0jswhl7uc59lchc0n0ns4sdtw5e6
|
|
- Slovenian by @npub1qqqqqqz7nhdqz3uuwmzlflxt46lyu7zkuqhcapddhgz66c4ddynswreecw
|
|
- Bengali by @npub13qtw3yu0uc9r4yj5x0rhgy8nj5q0uyeq0pavkgt9ly69uuzxgkfqwvx23t
|
|
- Chinese by hypnotichemionus4
|
|
- Spanish by @npub1luhyzgce7qtcs6r6v00ryjxza8av8u4dzh3avg0zks38tjktnmxspxq903
|
|
- Russian by Anton Zhao
|