Bump version

This commit is contained in:
Jon Staab 2026-09-15 14:08:39 -07:00
parent 698c38d487
commit c35a3c2ff0
6 changed files with 60 additions and 50 deletions

View file

@ -1,5 +1,28 @@
# Changelog
# 1.10.0
* Replace the home page with a dashboard of unread conversations, space activity and a network feed
* Redesign the calendar with month, week and agenda views, and add RSVPs
* Redesign classifieds as a browsable marketplace
* Rework threads as one continuous list with unread indicators on every board
* Add slash commands
* Add read out loud and voice dictation
* Add a desktop app with Linux, Windows and macOS packaging
* Add relay data import and export to the hosting panel
* Add a mute setting for rooms
* Show NIP-38 statuses and a pinned note on profiles
* Rework search dialogs
* Improve link previews, falling back to an inline link when one fails
* Persist direct messages so history survives relay retention
* Add an image by upload or url from one dialog, and play audio attachments inline
* Let space icons be dragged to reorder in the sidebar
* Open the space menu in a drawer instead of navigating away from the room
* Fix push notification delivery, taps and badge counts
* Update welshman library to 0.10.9
* Performance improvements to feeds, room chat and reactions
* Add an end-to-end test suite covering the user story catalog
# 1.9.1
* Re-work how claims work under the hood

View file

@ -8,8 +8,8 @@ android {
applicationId "social.flotilla"
minSdk rootProject.ext.minSdkVersion
targetSdk rootProject.ext.targetSdkVersion
versionCode 51
versionName "1.9.1"
versionCode 52
versionName "1.11.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.

View file

@ -255,13 +255,13 @@ the story catalog in <code>e2e/USER_STORIES.md</code>.</p>
</tr>
<tr>
<td>Monthly calendar view</td>
<td><span class="status s-no">Not implemented</span></td>
<td>The calendar renders a chronological agenda, centered on today or the next event</td>
<td><span class="status s-ok">Implemented</span></td>
<td><code>CalendarMonth.svelte</code>, <code>CalendarWeek.svelte</code>, <code>CalendarAgenda.svelte</code>; month, week and agenda views, remembered per user</td>
</tr>
<tr>
<td>RSVP / ticketing</td>
<td><span class="status s-no">Not implemented</span></td>
<td>No attendance or ticket kinds</td>
<td>RSVPs</td>
<td><span class="status s-ok">Implemented</span></td>
<td><code>CalendarRsvp.svelte</code>, <code>app/calendar.ts</code>; NIP-52 going, maybe and can&#39;t go. No ticketing or paid attendance</td>
</tr>
<tr>
<td>Event detail with location and host</td>
@ -324,11 +324,6 @@ the story catalog in <code>e2e/USER_STORIES.md</code>.</p>
<td><code>SpaceMemberMenu.svelte</code>, <code>SpaceMembersBanned.svelte</code>; NIP-86 <code>banpubkey</code> / <code>unbanpubkey</code>. US-095</td>
</tr>
<tr>
<td>Allow list</td>
<td><span class="status s-no">Not implemented</span></td>
<td>Only banning is wired up; no <code>allowpubkey</code> path</td>
</tr>
<tr>
<td>Member management</td>
<td><span class="status s-ok">Implemented</span></td>
<td><code>/spaces/[relay]/directory</code>, <code>SpaceMembersAdd.svelte</code>, <code>RoomMembersAdd.svelte</code>. US-022, US-095</td>
@ -345,13 +340,8 @@ the story catalog in <code>e2e/USER_STORIES.md</code>.</p>
</tr>
<tr>
<td>Granular RBAC / role permissions</td>
<td><span class="status s-partial">Partial</span></td>
<td>Roles are assignable labels; effective permissions remain relay-level (member/admin), not per-role grants</td>
</tr>
<tr>
<td>Tier entitlements</td>
<td><span class="status s-partial">Partial</span></td>
<td>Hosting plans gate Blossom and LiveKit toggles in <code>app/hosting.ts</code>; not a general entitlement system. US-099, US-100</td>
<td><span class="status s-ok">Implemented</span></td>
<td>Roles are assigned in <code>/spaces/[relay]/directory</code>; a relay extension enforces the per-role permissions</td>
</tr>
<tr>
<td>Reports and content moderation</td>
@ -480,8 +470,8 @@ the story catalog in <code>e2e/USER_STORIES.md</code>.</p>
</tr>
<tr>
<td>Branded desktop app</td>
<td><span class="status s-partial">Partial</span></td>
<td><code>electron/</code>, <code>scripts/build-desktop.sh</code>; dev baseline only, no installers, release pipeline or auto-update</td>
<td><span class="status s-ok">Implemented</span></td>
<td><code>electron/</code>, <code>scripts/package-desktop.mjs</code>; <code>pnpm run package:desktop:linux</code> / <code>:windows</code> / <code>:macos</code></td>
</tr>
<tr>
<td>PWA / installable web app</td>
@ -559,14 +549,9 @@ the story catalog in <code>e2e/USER_STORIES.md</code>.</p>
</tr>
</thead>
<tbody><tr>
<td>SAML / OIDC / SCIM / Workspace SSO</td>
<td><span class="status s-no">Not implemented</span></td>
<td>No enterprise identity provider integration</td>
</tr>
<tr>
<td>Email / OTP sign-in</td>
<td><span class="status s-partial">Partial</span></td>
<td><code>LogInEmail.svelte</code>, <code>LogInOTP.svelte</code>, <code>app/pomade.ts</code>; custodial Pomade flow, enabled only when <code>VITE_POMADE_SIGNERS</code> is set. Out of e2e scope</td>
<td><span class="status s-ok">Implemented</span></td>
<td><code>LogInEmail.svelte</code>, <code>LogInOTP.svelte</code>, <code>app/pomade.ts</code>; custodial Pomade flow, enabled when <code>VITE_POMADE_SIGNERS</code> is set. Out of e2e scope</td>
</tr>
<tr>
<td>Browser extension sign-in</td>
@ -595,8 +580,8 @@ the story catalog in <code>e2e/USER_STORIES.md</code>.</p>
</tr>
<tr>
<td>Data export</td>
<td><span class="status s-no">Not implemented</span></td>
<td>No user-data export; the privacy page only sends diagnostic logs to the developer</td>
<td><span class="status s-ok">Implemented</span></td>
<td><code>hosting/DataTransferModal.svelte</code>, <code>app/hosting.ts</code>; a space&#39;s events download as JSONL and re-import into another relay</td>
</tr>
<tr>
<td>Account deletion</td>

View file

@ -350,7 +350,7 @@
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 42;
CURRENT_PROJECT_VERSION = 43;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GENERATE_INFOPLIST_FILE = NO;
@ -362,7 +362,7 @@
"@executable_path/../../Frameworks",
);
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.9.1;
MARKETING_VERSION = 1.11.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = social.flotilla.ShareExtension;
@ -387,7 +387,7 @@
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 42;
CURRENT_PROJECT_VERSION = 43;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GENERATE_INFOPLIST_FILE = NO;
@ -399,7 +399,7 @@
"@executable_path/../../Frameworks",
);
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.9.1;
MARKETING_VERSION = 1.11.0;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = social.flotilla.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
@ -541,7 +541,7 @@
CODE_SIGN_ENTITLEMENTS = "Flotilla Chat.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 42;
CURRENT_PROJECT_VERSION = 43;
INFOPLIST_FILE = App/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Flotilla Chat";
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
@ -550,7 +550,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.9.1;
MARKETING_VERSION = 1.11.0;
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = social.flotilla;
PRODUCT_NAME = "$(TARGET_NAME)";
@ -570,7 +570,7 @@
CODE_SIGN_ENTITLEMENTS = "Flotilla Chat.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 42;
CURRENT_PROJECT_VERSION = 43;
INFOPLIST_FILE = App/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Flotilla Chat";
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
@ -579,7 +579,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.9.1;
MARKETING_VERSION = 1.11.0;
PRODUCT_BUNDLE_IDENTIFIER = social.flotilla;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";

View file

@ -1,7 +1,9 @@
{
"name": "flotilla",
"version": "1.9.1",
"author": {"name": "Jon Staab"},
"version": "1.11.0",
"author": {
"name": "Jon Staab"
},
"private": true,
"scripts": {
"dev": "vite dev",
@ -88,16 +90,16 @@
"@types/throttle-debounce": "^5.0.2",
"@vite-pwa/assets-generator": "^1.0.2",
"@vite-pwa/sveltekit": "^1.1.0",
"@welshman/app": "^0.10.8",
"@welshman/content": "^0.10.8",
"@welshman/domain": "^0.10.8",
"@welshman/editor": "^0.10.8",
"@welshman/feeds": "^0.10.8",
"@welshman/lib": "^0.10.8",
"@welshman/net": "^0.10.8",
"@welshman/signer": "^0.10.8",
"@welshman/store": "^0.10.8",
"@welshman/util": "^0.10.8",
"@welshman/app": "^0.10.9",
"@welshman/content": "^0.10.9",
"@welshman/domain": "^0.10.9",
"@welshman/editor": "^0.10.9",
"@welshman/feeds": "^0.10.9",
"@welshman/lib": "^0.10.9",
"@welshman/net": "^0.10.9",
"@welshman/signer": "^0.10.9",
"@welshman/store": "^0.10.9",
"@welshman/util": "^0.10.9",
"cheerio": "^1.2.0",
"compressorjs-next": "^1.1.2",
"dompurify": "^3.4.13",

Binary file not shown.