Repository navigation
Releases: beyonders-studio/initiative
Release list
v0.75.3
Added
- Task tables sort by status and by tag. Status sorts in the order of the project's board, and tags by each task's first tag alphabetically, with untagged tasks last.
Fixed
- Direct messages arrive again. The first message to a new device never opened on the other end, so messages stopped arriving and a new device never got its history. Messages left waiting open once the receiving device is updated. Your own devices may ask to be verified once more, and conversations may say a key changed.
- A new device gets its whole history, however long, and even while your newest conversation is an invitation you haven't answered. The notice asking you to verify it goes away once you have.
- A device keeps receiving messages when some sent to it can never be opened, such as ones from a device that has since signed out. Those are cleared instead of holding up everything behind them.
- The notification list scrolls again. With more unread than fit, everything past the first few was cut off with no way to reach it.
- The prompt to turn on push notifications sits below the notch on iPhone instead of under it, where its text was hidden.
- Updating the desktop app no longer leaves a white window. The splash screen covers the window while it reloads into an update, in your theme. An update that takes a while to start on a slow disk is no longer undone and offered again. One that really doesn't start is undone and its download removed, rather than kept on disk.
- The name you go by in a community is used everywhere in it. Notifications and their emails, post bylines, who read a post or voted in a poll, who uploaded a picture, the moderation roster, and your cursor in a shared file all used your handle. Exports now say who exported them by that name too, and a project report lists its assignees by name. Notifications you already have keep the handle they were sent with.
- Exporting a project's tasks keeps your view of it. From the table, the export lists tasks in the order you sorted them, as it already kept your filters, and a selection exports in that order too. Exporting a project from its settings now starts from the same filters and order, which you can still change before exporting.
Downloads
Android App
No new app build this release — installed apps update automatically over the air on next launch.
Desktop App
Download the installer for your computer from the assets below: the .exe for Windows, the .dmg for macOS, the .deb for Debian and Ubuntu.
Docker Image
docker pull ghcr.io/beyonders-studio/initiative:0.75.3Or use the latest tag. View the package on GitHub.
v0.75.2
Changed
- A community's location is one field you type into. A country, a city or a full address, as short or as long as you like, with places suggested as you type and the closest ones first. Pick one to put the community on the map; the card shows the location exactly as you wrote it, with your own name for the place in front. Near me sorts by distance, so a community just over a border counts as nearby.
- A file's featured image keeps its own shape. It used to be cropped to a wide banner across the top of the file; now it shows whole, at its own proportions, and stops short of filling the screen.
Fixed
- "Every current initiative" places a plug-in in every initiative in the community, including ones you are not a member of. It used to reach only your own initiatives, so automations stayed silent everywhere else while the setting said every initiative. If you chose it before, open the plug-in's settings and choose Every current initiative again to reach the rest.
Downloads
Android App
No new app build this release — installed apps update automatically over the air on next launch.
Desktop App
No new app build this release — installed apps update automatically over the air on next launch.
Docker Image
docker pull ghcr.io/beyonders-studio/initiative:0.75.2Or use the latest tag. View the package on GitHub.
v0.75.0
Added
- A Projects marketplace. Start a project from a ready-made one: a sales pipeline, a hiring pipeline, a bug tracker, a content calendar, a grant tracker, a product launch or facility maintenance. Find them on the marketplace's Projects shelf, or under From the marketplace when you create a project. Start blank or from a filled-in example, and its dates land on the day you pick.
- Passkeys work inside the Android app: signing in, adding one, and answering a community that asks for one, without leaving for the browser. Where the phone won't let the app do it for your server, and on iPhone, the browser opens as before. Server operators: nothing to set up, but if your reverse proxy answers
/.well-known/itself, pass/.well-known/assetlinks.jsonthrough to Initiative. - Plug-ins can have a minimum age, which may differ by country. Someone younger than a plug-in's minimum where they are can't open or use it; their community can still install it. Server operators: set
CLIENT_COUNTRY_HEADER(CF-IPCountrybehind Cloudflare) so the limits apply by country; unset, a plug-in's highest minimum applies to everyone. - Billing insights for operators and owners, under Operator dashboard → Billing on servers connected to a billing service: revenue, subscribers and cancellations across every community, without opening any one of them. The new
billing.insightscapability gates it. - "This wasn't me" in account emails. Signs your account out everywhere and turns off its API keys. When a change looks out of place, the email to your other addresses can undo it too.
- Some sign-in changes wait two days when made from somewhere your account is new to, with Cancel the change in every email and in your settings. Signing in with a passkey skips the wait.
- Remove a phone or computer from User settings › Security › Where you're signed in. It is signed out and loses the messages only it held.
- A desktop app for Windows, Mac and Linux, with system notifications, an unread count and a tray icon. Get it from the Download page. Server operators: nothing to set up; the Phone and desktop notifications switches (formerly Mobile notifications) cover it.
- Duplicate more. Counters, queue items, events and wiki pages can be duplicated on their own, and any tool but a notice can be copied into another initiative from Settings › Advanced. A duplicated task keeps its links.
- A display name for each community, set from its Members page.
- Keep an initiative's content in: a switch under Initiative settings › Export that stops exporting, sharing or moving content out of it.
- Moderators can revoke someone's API keys from Operator dashboard › Users.
- Prometheus metrics for pages opened, tools created and active accounts, and opt-in browser analytics through Grafana Faro (
FARO_COLLECTOR_URL). See Running a server › Configuration. - Follow the help requests you've filed from My Tickets in the sidebar: where each stands, what the team said, and your answers, updated as they come. The team replies from a panel on the case, kept apart from its comments. Server operators: on the Intake page, pick the statuses that wait on the requester and that their answer moves a case to (Set this up for me creates both); security and moderation each need an initiative of their own.
- Run a dashboard as Individual or Initiative. Under a dashboard's Settings → Details: Individual (the default) shows each person only what they can see; Initiative shows everyone the same numbers, with full read access to the initiative. A new role permission, Run dashboards as Initiative, says who may turn it on or change such a dashboard's tiles; managers always can.
- Filters can match all or any. Choose once at the top, add a group for the other kind, and choose to leave out, include, or count only archived work and templates. Deleted things are never counted.
- Push notifications without Firebase. Turn on Send push notifications and leave the rest empty: your server registers itself once with BeyondersStudio's push relay and sends through it. iPhone pushes always go through the relay; with your own Firebase service account, Android pushes still go straight to Firebase. The relay passes the text on and never keeps it. See Running a server › Push notifications.
- A timeline can be drawn in years.
- Close an event's RSVP. Under an event's Settings → Attendees, turn off Anyone who can see it may RSVP and only the attendees you add can answer. On, as before, answering adds you to the attendees. A repeating event's occurrences follow the series.
- Plug-ins can show your community's usage on Community settings › Usage, below storage and members.
- A plug-in's listing shows its minimum age where it declares one, for the country your browser is set to.
- Report a marketplace listing or a plug-in with the flag on its listing page or at the top of the plug-in. Reports go to whoever runs the server. Plug-ins BeyondersStudio publishes have no flag.
- Plug-ins can create custom properties. A community can grant a plug-in Properties, which lets it read an initiative's property definitions and add new ones. A plug-in that can change something, such as a task, can still fill in that thing's properties without it.
- A plug-in can say which plug-in API it needs, as
min_plugin_apiin its listing or manifest ("4.1"). A server that doesn't provide that API refuses to install or upgrade to it, and says why; listings that don't say keep working. The plug-in API document (/api/v1/plugin-platform/openapi.json) is now versioned as the plug-in SDK it matches, not as the server release.
Changed
- The old
moreliteapublisher is no longer trusted. Plug-ins this project ships are published asbeyonders-studio, and the seededmoreliteapublisher is removed on upgrade, or, if anything is still registered or listed under it, kept as an ordinary unverified publisher. - Files have a new icon, a stack of pages rather than a scroll, since a file can be a spreadsheet, a whiteboard, an upload or a link as well as a document.
- A task's assignee chip names two people before counting the rest, so a task held by two shows both names.
- A new wiki page opens ready to write in, rather than as a blank page to read.
- Your date of birth is kept, encrypted, and every account is asked it once. It's used only to check age limits, never shown back, and never sold. If it was entered wrongly, whoever runs the server can reset the question.
- Documents are now called Files. Text documents, whiteboards, spreadsheets, links and uploads live in the Files tool. Upgrading moves what is already stored, including plug-in grants, webhook subscriptions and the SQL in dashboards. Links to the old
/documents/…pages and/go/document/…no longer open, and saved list layouts for the tool start fresh. Backups made before the rename still restore. - Plug-ins that can write to a queue or counter group can add its items and counters, edit counters, reset all counters and sort them.
- The documents table drops its Projects column; a document's links show on its own page, as every tool's do.
- A project list works like every other tool's: grid, list and tag layouts, the shared filters and table sorting. Drag projects into your own order on the first page; pin and favourite from each card. The pinned section and the favourites-only filter are gone, and favourites stay in the sidebar.
- Apps are now called plug-ins. Server operators: rename
APP_PLATFORM_SIGNING_KEY_ID,APP_PLATFORM_SIGNING_PRIVATE_KEY_PEMandAPP_SERVICES_CONFIGtoPLUGIN_PLATFORM_SIGNING_KEY_ID,PLUGIN_PLATFORM_SIGNING_PRIVATE_KEY_PEMandPLUGIN_SERVICES_CONFIG. - Dashboard queries read a file's type, size and name through
current_version(current_version.file_sizeondocumentsandgallery_images), the version the file shows. The newdocument_versionsandgallery_image_versionsdatasets hold every version. - Every tool's list can tag, duplicate and delete several items at once, as documents could. The documents list now works like the other tools' lists, and the view you pick (archived, templates) is kept in the address.
- Plans can be changed from the phone apps where the store allows it. The iPhone app on the US App Store, and the Android app from Google Play in the US, UK, Australia and the EEA, open the billing portal in your browser. Elsewhere the apps still show your plan without offering to change it, and apps embedded in a community are told so too. An Android app installed outside Google Play works like the web.
- The Android app is now
studio.beyonders.initiative, published by Beyonders Studio. It installs beside the old app rather than updating it, and upgraded servers no longer accept the old app: install the new one, sign in, then uninstall the old one. Self-hosted Firebase: register an Android app under the new package name; see Push notifications. - The image is now
ghcr.io/beyonders-studio/initiative, on the GitHub Container Registry, and the project lives atgithub.com/beyonders-studio/initiative. Docker Hub'smorelitea/initiativekeeps the releases it has but gets no new ones: change your compose file'simage:line toghcr.io/beyonders-studio/initiative:latest(or:stable, or a version). The update notice now reads the project's GitHub releases. - First-party plug-ins are published as
beyonders-studio(beyonders-studio.github,beyonders-studio.automations, …), and the default marketplace registry moves tohttps://beyonders-studio.github.io/initiative-developer/public/. Self-hosted: a plug-in installed under amorelitea.id is no longer treated as first-party; remove it and install its `beyonders-...
v0.74.0
Added
- A friendlier sign-up that asks what you're here for: joining by invite, joining a public community, a space for your own to-dos, or a community for a group. A personal space starts with a To do list, and a group's community starts with its first initiative and an invite link to send.
- A People tab showing who's in your community and who's online.
- Repeating events and tasks: change just one occurrence, skip one, or change the rest of the series. New repeats such as "the last Friday" or "the first work day of the month", and every date shows on the calendar.
- Custom properties on every tool, with filters on every list.
- Filtered exports, using the same filters as each list.
- What's new shows release notes right in the app.
- A
stableimage tag for servers that would rather wait. A release moves to it once it has been out three days with no reported regressions;lateststill gets every release right away.
Changed
- A new front page and Download page.
- Search and filters cover the whole list, not just what's loaded.
- All-day events are the same days for everyone, whatever their timezone.
- Comments open on the newest conversations, with Load older comments for the rest.
- If your server doesn't use passwords, nothing asks for one. Deleting your account, setting up two-factor or changing passkeys asks for a recent sign-in instead, or emails you a code.
- Initiatives have their own icon: the figure from the Initiative logo, in place of the members icon.
- App and API integrations may need updating. Repeats are now standard
RRULEtext, counters are changed through/counters/{id}, and many routes were merged into others.
Removed
- The KMS key setting for file storage. Use the bucket's own encryption instead.
Fixed
- Live documents stop flashing "Syncing…" while you type, and wiki page saves and offline edits are no longer overwritten.
- Calendars with repeating events export again, and imported events keep their days.
- Repeats carry over from Todoist, TickTick, Vikunja and project templates.
- Property filters are fast on big lists.
- Trash and archive work for archived things. They can be deleted, restored and handed to a new owner, and nothing is restored inside something that's still in the trash.
- The document toolbar shows which formatting is on.
- Sign-in: you can't turn off your own only way to sign in, and wrong passwords in settings count toward the account lock.
- Changing your password stops notifications to every phone until it signs in again.
- Only a community admin can remove a moderator.
Downloads
Android App
No new app build this release — installed apps update automatically over the air on next launch.
Docker Image
docker pull morelitea/initiative:0.74.0Or use latest tag. View on Docker Hub.
v0.73.2
Fixed
- A trusted sign-in provider's passkey sign-in counts as a second factor, for providers such as Pocket ID that report a phishing-resistant sign-in rather than naming a second factor. New Pocket ID connections trust it by default.
- Spreadsheets accept a decimal without its leading zero. Typing
.7into a cell now stores the number 0.7 rather than text, and a formula such as=.7*2works instead of showing an error.
Downloads
Android App
No new app build this release — installed apps update automatically over the air on next launch.
Docker Image
docker pull morelitea/initiative:0.73.2Or use latest tag. View on Docker Hub.
v0.73.1
Added
- Ignore someone by handle from Settings › Privacy › Ignored accounts, the same way you connect. API:
POST /me/ignored.
Changed
- Trash shows 25 items a page, with page controls past that.
- A new device is verified with four pictures, different every time, shown side by side on the new device and one you already use. The device code in Security settings and safety numbers are gone; when somebody you message changes their devices, the conversation says so in one line.
Fixed
- Upgrading to 0.73 no longer stops at startup on a server set up with a single database URL.
- Breaking glass only asks for a code if you have two-factor set up, or the server requires it for your role. A second factor from single sign-on counts, and another operator setting it up no longer asks it of you.
Downloads
Android App
No new app build this release — installed apps update automatically over the air on next launch.
Docker Image
docker pull morelitea/initiative:0.73.1Or use latest tag. View on Docker Hub.
v0.73.0
Added
- Safety numbers in messages, so you can check who you're talking to. A new device has to be approved by your other devices.
- Embeds (
![[) and task checkbox chips in documents. An embedded document or wiki page shows what it says, not just its name. - Callouts and embeds fold to their first line, and stay folded for everyone who opens the page.
- Full-size pictures: click a picture in any text to open it.
- Unread dots that lead to the item, with unread comments highlighted.
- One-tap 👍 on comments and posts.
- An email when your password changes.
- Export on the calendars page saves the calendars on screen, every date, as one
.icsfile. Anyone who can see a calendar can export it. API:GET /c/{guild_id}/exports/events. - Resend verification email in the platform Users menu, for an account that never confirmed its address. It sends the sign-up confirmation again, and an invite the account was waiting on still joins.
Changed
- Update the Android app from its APK, since this release changes the app itself.
- Reconnect your app accounts once, such as GitHub.
- Password sign-in pauses after repeated wrong answers, for longer each time, up to four hours. Passkeys keep working, and resetting your password from the email ends the pause.
- A phone restored from backup asks you to sign in again.
- Links to other sites open in a new tab.
- Comments show the newest conversation first. Replies still read in order.
- Pictures from other sites show as links.
- Ticked checklist lines stay readable instead of being crossed out.
- Only people who can open something can be assigned to it, invited to it or notified about it.
- Files belong to their initiative. A picture or file in a page opens for anyone in that page's initiative. Pasting one from another initiative saves a copy, and moving a task to another initiative takes copies of its pictures.
- Opening something marks its notifications read.
- Mentions in the same document make one notification.
- Read notifications clear after 30 days.
- Community calendars belong to admins. Members add events to the ones shared with them.
- Hidden calendars are remembered in each community.
- Ticking tasks in a table is instant.
- The trash shows a page at a time, newest first.
- If you never verified your email address, verifying it now, with an emailed code or through your organization's sign-in, clears the account's password, passkeys and second factor. Your communities and content stay; set up new sign-in methods from Security. If your address is already verified, nothing changes. Servers without SMTP automatically verify all emails on sign up and are not impacted.
- Improved efficiency and security.
Removed
- API routes the app no longer uses: single reads of an access grant, an app registration, an app's placements, your consents to an app and a target's reactions; editing a community's group rule; clearing one view preference; the smart-chip kinds list; each tool's
DELETE …/view(use/recents);POST /auth/verification/send; and a community'sPOST /users/{id}/approve. The lists and detail reads carry the same data.
Fixed
- Platform account actions reach only accounts at or below your own role. Reactivate is for deactivated accounts; lift a suspension or restore a deletion from their own actions.
- Switching communities is quicker.
- API: the member list (
GET /c/{guild_id}/users/) and both trash lists return pages. - Dashboards load faster.
- Leaving an initiative takes you off everything in it.
- A picture shared by several pages stays while any of them still shows it, including pages you can't open.
- Signing out of the app stops its notifications, and so does signing out other devices or resetting your password.
- Whiteboards and offline edits are no longer lost.
- Large spreadsheets keep up with your typing.
- Duplicated file documents include the file.
- Notifications open the event or page they're about.
- The Markdown view keeps smart chips,
#links and @mentions instead of turning them into plain words, and a|inside a table cell no longer splits it. - Erased accounts show as "Deleted user" everywhere they were mentioned.
- Exports that keep failing stop and tell you.
- Jira and Confluence CSVs arrive as spreadsheets.
- Comments go to the trash and come back with their item.
- Queues and counters reconnect after a dropped connection.
- Tag pages list every tool.
- Archived projects show their tasks again.
- Signing up in the app with an emailed code keeps you signed in.
- Signing up with a password or passkey on a server that sends email: confirming your address now lets you sign in, and an invite sent to that address joins you to its community when you confirm.
Downloads
Android App
Download the APK from the assets below and install on your Android device.
Docker Image
docker pull morelitea/initiative:0.73.0Or use latest tag. View on Docker Hub.
v0.72.0
Added
- Import from Jira and Confluence — Community settings → Data reads a Jira or Confluence site directly with an API token, or a Confluence space from its HTML export. Projects, issues, sprints, comments, attachments and page trees come across, and the links between issues and pages still work after the move. The token is deleted once it has been read.
- More in the editor — callouts, status pills, merged table cells, drawings and Mermaid diagrams, all from the
/menu. - Your sessions, in one place — My Settings → Security lists every browser and phone signed in to your account. You can sign any one of them out, or all of them except the one you're on.
- Control what notifications carry — platform and community Security settings choose whether notifications may go to phones and email, and whether they may name what they're about. Where the two disagree, the stricter one wins.
- Mentions in task descriptions — type
@to name a member of the initiative or#to link anything in it, the same way comments do. The people it names are notified once, when they are first added, and the things it links show under Linked from. - Pictures in task descriptions and comments — paste or drag one in, or use the picture button, which offers the camera on the app. A picture you take back out, or never save, is deleted, and so is every picture on something that's deleted for good. Images from other websites in comments still show as links.
- Smaller additions — a 12- or 24-hour clock under My Settings → Interface, a Fields menu that picks what kanban cards show, a file upload in Add link, a colour for each priority, and MCP assistants can now tick checklist items.
- For operators —
/api/v1/metricsserves Prometheus metrics whenMETRICS_TOKENis set. Communities can be put On hold; one left on hold for 30 days is deleted, and its superadmins are emailed that date when the hold starts. Change the window under Settings → Platform → Community. Settings → Intake takes contact addresses, which notices use when they tell people who to contact. Sign-in placement rules on an identity provider add people to communities by group.
Changed
- Exporting a tool belongs to whoever can delete it — export moved to each tool's Settings → Advanced, for its owner, community admins and roles with full access. Every tool can be exported there. Galleries download as a zip with their pictures, and wikis as PDF, Markdown, Word or an importable zip that brings their filed documents along; both zips import back.
- Suspension means no access — a suspended community or account reaches nothing, settings included, until the suspension is lifted, and sees a notice saying who to contact. Nothing is deleted.
- Imports live with the community — Todoist, TickTick and Vikunja imports moved from My Settings to Community settings → Data. They now bring due dates, tags, assignees and comments along.
- Sign-in group rules are set per community — they moved from platform settings to Community settings → Security. Rules that were already saved keep working.
- Signing out affects only the device you're on. Changing your password still signs out everywhere.
- Names and titles are capped at 255 characters.
- One database URL — set
DATABASE_URLto the database owner and Initiative creates its own database logins, with passwords derived fromSECRET_KEY. Existing setups that setDATABASE_URL_APPandDATABASE_URL_ADMINwork unchanged. To switch, pointDATABASE_URLat the owner, removeDATABASE_URL_APP,DATABASE_URL_ADMINandDATABASE_URL_BOOTSTRAP, and restart. - Breaking API and configuration changes
/api/v1/admin/*is now/api/v1/operator/*, and/api/v1/announcements/admin/*is now/api/v1/announcements/operator/*. The matchingAdmin*schemas are renamedOperator*./api/v1/settings/oidc-mappingsand the operator routes for initiative and community members were removed. UsePATCH /api/v1/guilds/{guild_id}/members/{user_id}and/api/v1/guilds/{guild_id}/auth/rulesinstead.- The access-grant approval queue is now
GET /api/v1/access-grants/queue. CAPTCHA_*andFCM_*are read on first boot only. After that, set the captcha in Settings → Platform → Security and push notifications in Settings → Platform → Push notifications, with no restart.- The
PAM_*_MINUTESvariables are no longer read. Access grants now last up to 4 hours for support, 8 for moderators, 24 for operators and owners, and 4 for break-glass. GET /exports/{project,document,queue,counter-group,dashboard,calendar}answer403 EXPORT_OWNER_REQUIREDunless the caller holds the owner rung on every selected item./exports/calendarwithout ids includes only calendars the caller may export.GET /exports/post,/exports/wikiand/exports/galleryare new;/exports/galleryreturns a zip, and/exports/wikitakespdf,mdanddocxand always returns a zip with the wiki's filed documents.POST /imports/envelope/archiveimports an export zipped with its files.
Fixed
- Initiative members who aren't community admins can upload documents again.
- Emailed sign-in codes work on servers that use a captcha.
- Support and break-glass grants now open the settings they were granted for. Settings you can only view are shown as view-only.
- An edit made just before you leave a document now shows up in exports, search and wikis. Columns survive the Markdown view and exports.
- Every kind of document opens properly inside a wiki.
- Sign-in group rules place only people the community's own connection recognises.
- On servers that keep files in S3, backup restores and large imports finish instead of failing when they are applied.
- A restored backup, or a single exported project, document, post or wiki, now links its mentions,
#references,[[ ]]links and smart chips to the right people and things. A reference to something the backup didn't carry keeps pointing at the original in the community it came from, and is its name anywhere else. #references to wiki pages, counter groups and other two-word tools in comments now count in Linked from.- A deleted account is now emptied completely. Its trophies, installed decoration packs, custom status, passkeys, notifications and queued email go, along with its direct-message devices, contacts, favourites and ignores. Operators can now permanently remove an account that once set a community's icon or banner.
- Deleting or anonymizing an account no longer fails when it was mentioned in archived work or in a comment in the trash.
- Making a missing tool from
[[in a comment now puts the link where you typed it, and works in replies too. - Other fixes: task table columns no longer jump while scrolling, tags shorten to fit the space they have, export formats show their names, broken and missing pages get a proper error page, restored backups keep comment replies in their threads, imports ask about everyone they mention, and access-request notifications open the right page.
Downloads
Android App
No new app build this release — installed apps update automatically over the air on next launch.
Docker Image
docker pull morelitea/initiative:0.72.0Or use latest tag. View on Docker Hub.
v0.71.3
Added
- A deployment can be told its ways in before anybody signs in —
AUTH_LOGIN_METHODS=sso,passkey,totp,email_otpin the environment seeds Settings → Platform → Authentication on the first boot, the wayOIDC_*seeds the provider, so a server meant to run without passwords never has them on. Read once, when the settings row is first created; after that the page owns it and the variable is ignored. A value this version does not know is dropped with a line in the log, and a list with nothing that can begin a session — or one asking for the emailed code with no mail server configured — keeps the default.
Changed
- Trophies say who you are, not what you're holding — most were named for the object drawn on them: Backpack, Tent, Bat, Cat, Cup. Renamed across sixteen packs — Books, Cinema, Drama, Education, Gaming, Nature, Observatory, Pets, Soundcheck, Spooky, Sports, Tea, Travel, Winter, Zen and Plants — to say what they mean instead: a backpack is now Hiker, a tent is Camping fanatic, a bat is A little batty, a cat is Cat person. Faith, disability, family, First Nations, heritage, Pride and the country flags were left alone — those already say exactly what they are.
Fixed
- Webhook delivery no longer pins the database on a busy community — every five seconds, for every subscription, the poller scanned the whole change log under that subscription's owner, putting each row through the membership check before anything cheaper got a look. On a community with a few thousand logged changes and a handful of subscriptions, a pass took seconds per subscription and the database sat at its CPU limit doing nothing else. The scan that finds which transactions are still owed now runs as the system, reading only the ids and the ledger's settled-or-leased columns; what a subscription's owner may see of each transaction is still decided by the same visibility rules, on the handful of rows that transaction holds. One consequence: a change the owner could not see when it was written is settled as empty for them rather than held back until they gain access to it later.
- A webhook target that never comes back stops being retried forever — a subscription whose delivery kept failing was retried on an hourly schedule with no end, holding every later change behind it indefinitely. A batch now gives up once its retry schedule is exhausted, and the changes queued behind it are delivered instead of waiting on one that will never succeed. Every subscription's read now also reports
dead_letter_count, so a target that has been failing shows up instead of retrying silently with nothing to see. - The Pride pack's hearts are hearts again — Pride, Non-binary, Trans, Lesbian, Gay, Bisexual, Asexual and Polyamorous each wear a heart trophy whose two lobes were drawn with an arc too tight to reach around itself. Browsers correct that by flattening it, so the top came out as two straight ridges meeting at a shallow notch instead of a rounded heart. The outline is redrawn with real curves, and the striped fill inside it follows the same line.
- A couple of corners still said "guild" — the phrase a community's Danger Zone tab asks you to type to confirm deletion, and the name the calendar app installs under, hadn't caught up with the rest of the app's move to "community." Confirming deletion now asks for
DELETE COMMUNITY <NAME>, and the app installs as "Community calendar."
Downloads
Android App
No new app build this release — installed apps update automatically over the air on next launch.
Docker Image
docker pull morelitea/initiative:0.71.3Or use latest tag. View on Docker Hub.
v0.71.2
Fixed
- Upgrading to 0.71.1 no longer stops at startup — on a server that had ever trashed, archived or purged one of the shared calendars created for it last month, 0.71.1 refused to start: the repair it carried for those calendars' ownership was blocked by the same rule that keeps trashed and archived content read-only, and the server tried the upgrade again on every restart. Nothing was changed on such a server — the upgrade stepped back each time — so 0.71.0 runs against it as before. The repair now sets that rule aside for the one statement and puts it back after, and a failure inside it would name its real cause instead of the aftermath. If 0.71.1 started for you, it did the same thing this does and there is nothing further to run.
Downloads
Android App
No new app build this release — installed apps update automatically over the air on next launch.
Docker Image
docker pull morelitea/initiative:0.71.2Or use latest tag. View on Docker Hub.