Release 0.2.0
Warning
Before updating, make sure you’re on version 0.1.10 or later and that you have made backups. This update overhauls a lot of the app’s inner workings and there will be data loss or corruption if you’re not careful.
After updating, you’ll notice the app getting stuck on a blank screen. This is normal, don’t panic. The app is working to update the database to ensure maximum compatibility with the following changes. Give it time.
Breaking Changes
On Android we had to raise our minimum requirements to Android 10 due to many features no longer working on old system versions. Sorry about that.
Ampersand now uses a brand new export format that should import without esoteric errors or without
eating your whole device’s RAM and crash on you. Importing from the old .ampdb format is still
supported, but we cannot guarantee that we’re gonna keep it around for the next versions, so make
backups using the new .ampar format.
The way images are stored in the app changed: there was a bug that made images weigh twice their
actual weight; this is fixed, and additionally now all images set as avatars/covers are converted to
.webp and made static; this means no more GIFs for you. Unfortunately this had to be done as some
of you were uploading 10MB covers and slowing down your member pages.
Not as breaking as the other changes, but the >> text << Markdown syntax for centering text has
been changed to |> text <|. We’ve added syntax for aligning text to the left (<| text <|) and to
the right (|> text |>) and we wanted consistency among the syntaxes.
Most Notable Changes
Thanks to our wonderful contributors, Ampersand now has a virtual list implementation, which should reduce lag while scrolling.
That’s not the only performance improvement:
- The app now tries to index more information from the database and read from the index instead of the actual tables, reducing loading times;
- The system, member, tag, and assets lists now load 20 items at a time instead of all at once, reducing the burden on your device;
- The calendar views on the fronting entries, journals, and message boards pages now load only the dots pertaining to the selected month rather than everything.
These were some improvements that had one specific goal: make the app bearable for polyfragmented systems. If you were afraid of using the app before because of its poor performance, this is the time to give Ampersand a (second) chance.
Plus, as much as we’re sad to see it go, you can now import Octocon exports; make sure you’re getting the “Full JSON” version from the bot, not the PluralKit-compatible one.
You may have already heard about this from our testers who were eager to share sneak peeks online, but you can now create and manage multiple systems inside Ampersand. You can assign members to different systems and they’ll show up as such on the member list. Your current system will be set as the “default system”: this means all created members will automatically go into it, and it’ll be the system whose description will be showed on the dashboard if you’ve got that option toggled on. We plan to rework the member list to take advantage of the multiple systems feature in the future.
A silver lining for iOS users and bad news for Android users: iOS users on version 18.6 and above can now try Ampersand on alternative stores like AltStore Classic (not PAL!) and SideStore. iOS support is still too experimental for an official App Store release, and as such there will be bugs.
Last but not least: Ampersand now follows Google’s latest design system: Material 3 Expressive! In few words, the UI is different, but not too different; and the loading spinner now has funny shapes.
Every Other Change
We’ve added more accessibility settings: you can now turn on AMOLED mode (dark theme only), reduce the vibrancy of the accent color, and the contrast slider can now be used to reduce contrast instead of raising it. By popular request, you can now change the member’s color indicator so that it isn’t around the avatar anymore.
We’ve added Comic Relief as an additional accessibility font, which is the closest thing we can get to Comic Sans without getting sued for copyright infringement by Microsoft. Speaking of fonts, we’re now using an improved version of Atkinson Hyperlegible.
We’ve made various improvements to our fronting features: the app does better checking and it doesn’t let you add members who are already fronting to front; it doesn’t let you influence members who aren’t fronting; and, while enforcing the only one main fronter rule, it shouldn’t bug out and decide that someone today can’t be the main fronter just because someone else was the main fronter one year ago.
You can remove fronters straight from the dashboard, without needing to go through the fronting modal. As for the modals themselves, they should be just a little more organized. You can now change the date and hour of a presence, and its scores are now associated to a degree of dissociation (ranging from absent to fully grounded.)
The current fronters carousel now shows member covers (can be disabled in Options > Accessibility > Disable covers.)
The influencing indicator has also been changed. While before the influenced member had an outline (whose color was taken after the app’s accent color) around its card, now influenced members take the color of their influencers.
For example: Alice is blue and she’s influencing Bob. Bob’s card will be tinted blue. Then John, who is red, starts influencing Bob along with Alice. Now Bob’s card color will be a mix of blue and red.
Improvements have been made to calendar views as well: now every new entry (be it journals, message boards, fronting entries) defaults to the selected date rather than the current day.
We’ve improved tags: now you can add them to assets and archive them. Tag descriptions now support
Markdown and they can be mentioned by copying their ID (just like members, systems, and journals).
Clicking on a tag mention will show you its description. You can now also filter out members,
journals and assets with certain tags from filter queries: use the syntax #tag:no or #tag:false.
On the About page, the app will warn you about future updates (requires Options > Security > Allow remote content toggled on).
For people who like customization, you can now set different avatar frames to members and systems. Our frames are taken directly from the Material 3 Expressive guidelines.
More customization galore for the Markdown enthusiasts: there is now support for
mermaid.js. In short, Mermaid lets you create diagrams. It’s useful
for mapping headspaces, split trees, etc…
For its usage you’re better off reading its documentation.
Note: mermaid.js support is experimental, using anything other than its basic flowchart is bound to have issues.
We now also have:
[td]: implementation of CSS text-decoration;[pos]: change the position of text;[rot]: rotate your text;[ff]: change the font family used;[ani]: annoy your system members with animated text;
(Keep in mind these syntaxes can reduce legibility, cause strain on the eyes, and [ani] can even
trigger seizures and epilepsy.)
This isn’t over, we’ve also improved our existing syntax: you can now specify the gradient direction
of [fg] and [bg], apply borders to only specific sides with [bt], and scale text vertically
and horizontally with [fs].
Other consistency improvements:
- App links have their own dedicated place;
- Being able to change the date of a message board post;
- The “send events to other applications” setting got moved to Security instead of App Settings;
- Mentions now have icons to differentiate their type;
- probably we forgot some of them too.
For our testers: the About page now show more information about the app and whether it’s a CI version.
Bug Fixes
Aside from the new .ampar format that we mentioned earlier and that fixed exports and imports
crashing Ampersand on low-RAM devices, handling of exports has been improved. You can now import
exports that show up as weighing 0 bytes without having to resort to workarounds like uploading then
downloading them to force the file picker to show its actual size. We still have no idea what causes
them to be 0B in the file picker, by the way.
We’ve also tried to fix a few bugs around Simply Plural imports, but we still advise you to import from another service if it keeps failing.
The application no longer assigns images with the same file name to multiple members, this was a problem for some users who imported from PluralKit or Octocon.