Releases: vitorpamplona/amethyst
Releases · vitorpamplona/amethyst
Release v0.90.1: Fixes error messages when zapping devs
Release v0.90.0: Torrents and Outbox refactorings
This version adds support for NIP-35 Torrent files (dtan.xyz), adds significant memory pruning for encrypted payloads and large events (DMs, Notifications, Zaps, etc), and completely restructures the way most of our caching works to facilitate immediate subscription updates using the outbox model on custom feeds by NIP-51 lists. This version also offers new defaults for NIP-65 and DM relay lists for new users and fixes several bugs and inconsistencies.
Features:
- Adds support for NIP-35 torrents and their comments
- Adds a simplified sync Signer to the Quartz library
- Adds Default lists for NIP-65 inbox and outbox relays
- Adds Default lists for Search relays
- Adds local backup for UserMetadata objects
- Adds local backup for Mute lists
- Adds local backup for NIP-65 relays
- Adds local backup for DM Relays
- Adds local backup for private home relays
- Improves caching of encrypted DMs
- Updates Twitter verification to X
- Improves the rendering of QR Codes
- Adds support to Delete All Drafts
Code Quality Improvements:
- Separates Account actions from Account state in two objects
- Changes Startup procedures to start with Account state and not the full account object
- Moves scope for flows in Account from an Application-wide scope to ViewModel scope
- Removes all LiveData objects from Account in favor of flows from the state object
- Migrates settings saving logic to flows
- Migrates PushNotification services to work without Account and only Account Settings.
- Migrates the spam filter from LiveData to Flows
- Rewrites state flows initializers to avoid inconsistent startups
- Finishes the migration of the service manager to the Application class
- Moves to hold the all feeds in stateflows
- Updates benchmark, composeBOM and firebaseBOM to the latest versions
- Moves the default zap type to a state flow and avoids passing on to the screen when using the default value
- Removing unecessary livedata objects for translation services
- Moves lastread routes to mutableStateFlow
- Migrating livedata to flow for contact list updates of the user.
- Adds a destroy method to FollowList state for consistency
- Moves follow list states to the AccountViewModel
- Migrates Notification Summary to the new state model
- Moves the notification screen to the new state model instead of viewModels
- Refactoring Moving feed status from ViewModel to State objects
Interface Improvements:
- Show only 3 users in the recommended relays section
- Creates links to njump when events can't be found on Amethyst
- Adds support for MOD reports
- Displays commitment PoW if present
- Changes relay set kind to be NIP-51 consistent.
- Adds more information to when error messages are not available in the relay stats.
- Adds context to highlight events
- Adds previews to test markdown rendering
- Improves the look of inlinde code in markdown
- Improves badge display
Performance Improvements:
- Adds pruning for giftwrapped messages
- Fixes clearing of flows and live data object pools before removing notes from the local cache
- Improves stability of composables
- Migrates caching of decrypted value outside of the Event class
- Removes encrypted parts of NIP-17 from the cache
- Removes old NIP-04 messages from the cache
- Avoids deleting new NIP-17 plain text chats from memory
- Avoids bottom nav recompositions
- Simplifies nav bar selected calculations
- Avoids remembering edit lists that will never exist.
- Improves speed of chatlist rendering
Bug Fixes:
- Fixes lingering cache and threads still active after killing the app
- Fixes crash when opening the Relay screen with empty urls as relays.
- Fixes horizontal padding of the chat messages
- Fixes the download of 1000s of NIP-65 relay lists because some relays consider empty lists as null and return everything.
- Fixes fdroid push registration to re-register even if the saved distributor was already selected.
- Fixes crash when the relay url of a user is duplicated.
- Fixes padding of short quotes
- Fixes slow down when the last message on chat is a base64 image.
- Fixes the centralization of the "and more" part of relay recommendations
- Fixes miscaching flows of the relay lists from follows.
- Fixes miscache of hashtag following button
- Fixes heading sizes on markdown
- Changes Delete all events to use maximum chunks of 200 elements to avoid the 65KB stringified JSON limit of many relays.
Updated translations:
- Czech, German, Swedish and Portuguese by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
- Polish by @npub16gjyljum0ksrrm28zzvejydgxwfm7xse98zwc4hlgq8epxeuggushqwyrm
- French by @npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz
- Arabic, Bengali by @npub13qtw3yu0uc9r4yj5x0rhgy8nj5q0uyeq0pavkgt9ly69uuzxgkfqwvx23t
- Thai by @npub1vm0kq43djwdd4psjgdjgn9z6fm836c35dv7eg7x74z3n3ueq83jqhkxp8e and @npub1tr66yvqghfdgwv9yxhmg7xx6pvgvu5uvdc42tgdhsys8vvzdt8msev06fl
- Hindi by @npub1ww6huwu3xye6r05n3qkjeq62wds5pq0jswhl7uc59lchc0n0ns4sdtw5e6
- Spanish by @npub1luhyzgce7qtcs6r6v00ryjxza8av8u4dzh3avg0zks38tjktnmxspxq903
- Dutch by @npub1w4la29u3zv09r6crx5u8yxax0ffxgekzdm2egzjkjckef7xc83fs0ftxcd
- Chinese by @npub1gd8e0xfkylc7v8c5a6hkpj4gelwwcy99jt90lqjseqjj2t253s2s6ch58h and @npub1raspu6ag9kfcw9jz0rz4z693qwmqe5sx6jdhhuvkwz5zy8rygztqnwfhd7
- Hungarian by @npub1ww8kjxz2akn82qptdpl7glywnchhkx3x04hez3d3rye397turrhssenvtp
Release v0.89.10: Smaller memory footprint
- Improved filter for notifications
- Moves service manager to the Application class
- Adds protections against filters with empty arrays because some relays consider that null as opposed to empty.
- Delete All Drafts now requires maximum chunks of 200 elements to avoid the 65KB stringified JSON limit of many relays.
- Updates translate dependencies
- Reducing the amount of CPU memory used for images to the default.
- Improves wording on the name of relay types
- Marks username as deprecated
- Adds zap amount cache for the memory space calculations
- Allows users to select and copy the notice from the relay on the relay list dialog
- Fixes the clickable regions to open additional relay info on the relay list dialog.
- AGP to 8.5.2
Release v0.89.9 Outbox model to filter large follow lists.
- Fixes the order of bookmarks (keeps the order of the event, instead of the created at)
- Improves the async rendering of Base64 content
- Moves discovery and video lists to Outbox when Follows or relay lists are selected
- Adds support for selecting authors based on their Outbox relays when searching for notes authored by them
- Aligns default note comparator to NIP-01's created at descending and then by id ascending
- Keep them public to allow testing in these particular functions
- Refactors to use native contains instead of custom lambdas on Ammolite's Filter
- Refactors Ammolite Filters to be regular ones and creates a PerRelayFilter for the use on Amethyst.
- Renames the MinimumRelayList to RecommendationProcessor
- Adds haptic feedback to draft deletion swipe
- Moves the ContactList cache lists to AccountViewModel, where it can be disposed more efficiently.
- Improves the accuracy of the Event memory counter.
- Adds event factory performance test
- Adds extension possibility to Quartz's event factory
- Moves DataSource dispatcher from IO to Default
- Makes stringRes Stable for compose
- Removes Mutiny NWC button :(
- Moves Relay viewModels to Default thread
Release v0.89.8: Delete all drafts
- Add delete all drafts button
- Enables crossfading between image states
- Signs for just one auth event to register with the push notification service instead of the dozens of events, one per relay.
- Adds the highlight quote to the base URL of a highlight event so that when the user opens the link, it highlights on the page.
- Fix order of Share ImageAction
- Fix copying to clipboard edited notes
- Adds tests for
02
and03
compressed keys to make sure they can encrypt and decrypt from and to each other. - Updates depedencies
- Fix Flow Release if not subscribed anymore.
- Adds the mint information to each cashu preview
- Fixes Unable to add to media gallery after pressing Show More #993
- Fixes duplicated parsing of content for uncited hashtags
- Better rendering for live streams that are planned but already finished.
- Fixes the need for main thread note loading for galleries
- Simplifies the drawing of gallery entires without e tags.
- Adds support for CashuB tokens using CBOR
- Minimizes relay querying when rotating status events for each user.
- Fixes Client notifications of relay failures after marking them as closed.
Release v0.89.7: minor fixes
- Add sendAndWaitForResponse to Client.kt
- Avoids recomposition of the entire line when changing user status.
- Debug: Prints memory use in descending order by size
- Fix: updates the EOSE of users even if no user is found in the relay.
- Fix: Filter renewing Sorts keys before making the filter.
- Fix: Remove focus from status text field when closing the drawer
- updates coil and jackson libs
Release v0.89.6: Fixes stringResource crash
Release v0.89.5: Fixes the drawing of screen below the nav bar
Release v0.89.4: Migrates to edge to edge in preparation for Android 15
- Fixes Darkmode Action bar crash
- Fixes empty relay list not connecting to anything (uses default relays instead)
- Fixes alt text of NIP-96 server lists
- Fixes auth infinite loop with nostr.wine
- Fixes the keyboard overriding parts of the screen
- Migrating to edge to edge in preparation for Android 15