Repository navigation
What's Changed
- More mobile work. by @barankyle in #3070
- Find photos by the place they were taken at by @hanzlamateen in #3154
- Repair mail filed as sent by you, and stop leaving stale sender links by @hanzlamateen in #3159
- Let chat look something up and then act on it in the same turn by @hanzlamateen in #3158
- Let web GraphQL codegen run again by building one test's documents with parse() by @hanzlamateen in #3157
- Add remembered facts to the existing person, place or concept instead of a copy by @hanzlamateen in #3156
- Tell the Today action chat which action it is about by @hanzlamateen in #3155
- Stop memory compaction from storing names that are not in the notes by @hanzlamateen in #3153
- Make photo asks match photos, not the word "photos" by @hanzlamateen in #3152
- Take a sighting off Review sightings after "Not a thing" by @hanzlamateen in #3148
- Find receipts by part of the merchant name by @hanzlamateen in #3150
- Turn thinking off for background jobs on Ollama's OpenAI endpoint by @hanzlamateen in #3151
- Show a thing's Acquired date on the day you picked, west of UTC too by @hanzlamateen in #3147
- Show the dossier formatted and family by role on Self by @hanzlamateen in #3143
- Put the cursor in the first field of forms opened from + by @hanzlamateen in #3145
- Show as many Connections cards as fit the row by @hanzlamateen in #3142
- Make Describe images follow a chat-model switch right away by @hanzlamateen in #3146
- Stop the event drawer printing the place's internal record by @hanzlamateen in #3138
- List imports under the importer that made them in Stats by @hanzlamateen in #3149
- Keep forgotten people out of search, the relationship picker and note links by @hanzlamateen in #3144
- Don't fill an event's coordinates when Look up only finds the surrounding area by @hanzlamateen in #3141
- Make Surface Texture previews and the page texture follow the theme by @hanzlamateen in #3140
- Make Name (A–Z) without search text sorted and complete by @hanzlamateen in #3139
- Show the owner when hidden characters were removed from an ask by @hanzlamateen in #3137
- Don't file mail from someone using your display name as sent by you by @hanzlamateen in #3136
- Clear the stale password mismatch message by @hanzlamateen in #3135
- Leave chat threads out of a When filter with search text by @hanzlamateen in #3134
- Make the splash page's theme button clickable by @hanzlamateen in #3133
- Stop sign-in hanging for a minute when the api is down by @hanzlamateen in #3132
- Stop Change History recording event renames that never happened by @hanzlamateen in #3131
- Make From and To in a saved search replace a stored Last month by @hanzlamateen in #3130
- Don't send a signed-in person to Log In when Memory is briefly unreachable by @hanzlamateen in #3129
- Show untitled chat threads as Untitled chat instead of blank rows by @hanzlamateen in #3128
- Show hand edits, hand-made people and places, and new connections in Change History by @hanzlamateen in #3127
- Stop a typed end date from dragging the start date along by @hanzlamateen in #3126
- Show Log In, not 404, for signed-out links to Self, Chat and Jobs by @hanzlamateen in #3125
- Keep the explorer list's scroll position on Back from a full page by @hanzlamateen in #3124
- Let an account import its own export by @hanzlamateen in #3119
- Explain the 1 to 64 range when a job concurrency is out of range by @hanzlamateen in #3116
- Let Try again recover a view whose code failed to download by @hanzlamateen in #3120
- Keep the admin handover only when the account delete succeeds by @hanzlamateen in #3115
- Open the right-click menu on the map's side-panel cards by @hanzlamateen in #3117
- Check ci import's --timeout before starting the import by @hanzlamateen in #3114
- Keep the server's stack trace out of tool errors by @hanzlamateen in #3113
- Stream chat replies, and allow Stop, through the Hub's public address by @hanzlamateen in #3108
- Let the 30-day account purge delete old location data by @hanzlamateen in #3111
- Give bulk ingest rejections a usable reason instead of the raw database error by @hanzlamateen in #3112
- Make Timeline's Try again work after the script failed to load by @hanzlamateen in #3118
- Let Slack and Signal be connected (accept any UUID shape in route ids) by @hanzlamateen in #3103
- Fix POST /users/me/delete failing with a 500 by @hanzlamateen in #3105
- Open Memory from the Hub at your memory, not the splash page by @hanzlamateen in #3106
- Ring the Hub at the address it gives apps, so Dispatch wakes OpenClaw by @hanzlamateen in #3107
- Read the Hub's installed apps from Companion Portal with the device key by @hanzlamateen in #3109
- Show errors on a service's connect page by @hanzlamateen in #3099
- Store what you say to an agent as your own words by @hanzlamateen in #3083
- Make Enter and the list buttons work in notes by @hanzlamateen in #3086
- Save new notes from the web again by @hanzlamateen in #3082
- Explain why a place near another can't be added, and hide merged places by @hanzlamateen in #3088
- Make picked photos one import instead of one per file by @hanzlamateen in #3095
- Show the unknown-source warning in a visible colour by @hanzlamateen in #3097
- Keep [[ people links in notes after a reload by @hanzlamateen in https://github.com//pull/3093
- Open a graph dot's info card on the first click by @hanzlamateen in #3122
- Keep the account record out of memory search results by @hanzlamateen in #3096
- Bring a revoked peer link back when you add them again by @hanzlamateen in #3094
- Let the media-dimensions backfill finish when one image can't be read by @hanzlamateen in #3110
- Refuse BlueBubbles webhook deliveries while BlueBubbles is off by @hanzlamateen in #3104
- Show a small map area's two ends apart in the Where filter by @hanzlamateen in #3098
- Show Summary not found for a summary link with a bad id by @hanzlamateen in #3091
- Let a failed import's leftover steps stop blocking discard and cleanup by @hanzlamateen in #3087
- Show the location-history caption above the playback bar by @hanzlamateen in #3100
- Give the chat box focus back after a reply by @hanzlamateen in #3089
- Stop ci doctor failing on every Hub with a connected agent by @hanzlamateen in #3085
- Open a file instead of Memory's 404 page by @hanzlamateen in #3102
- Tell people a note isn't saved while Memory isn't answering by @hanzlamateen in #3101
- Clear the delete and import dialogs on Cancel by @hanzlamateen in #3121
- Start web chat on the Hub's default model when no model was picked by @hanzlamateen in #3084
- Show a contact's nickname, birthday, website, note and name parts after a vCard import by @hanzlamateen in #3123
- Let an event's description and a message's subject be cleared by @hanzlamateen in #3092
- Show the phase a failed import step stopped in by @hanzlamateen in #3090
- Make the iOS app build from main again and let its local search read the replica by @mrhegemon in #3169
- Get main's tests and lint green again by @mrhegemon in #3168
- chore(deps): fix 242 of 244 open Dependabot alerts by @FzzySwtr in #3160
- Count a message's attached files under the importer that made them in Stats by @mrhegemon in #3162
- Show "Can't reach Memory" when Memory accepts the request and never answers by @mrhegemon in #3164
- Stop Change History noise and refresh it after Edit Person saves by @mrhegemon in #3165
- Create the owner's own Person before an import pushes anything by @mrhegemon in #3166
- Keep an existing embedding when a created event or content row is re-indexed by @mrhegemon in #3167
- Stop iOS autocorrecting the email typed at sign-in and sign-up by @mrhegemon in #3163
- Read a legacy UTC-midnight thing date as the day it names by @mrhegemon in #3161
- Adopt an unpointed self Person and leave one is_self row after an onboarding race by @mrhegemon in #3174
- Send phones the corrected direction of agent-turn messages by @hanzlamateen in #3170
- Delete the files, imports and pipeline records an immediate account delete left behind by @hanzlamateen in #3172
- Take the Hub-bridge-on-retry change back out of the session check by @mrhegemon in #3173
- Give the chat box focus back after a file upload too by @hanzlamateen in #3171
- Keep the password hash out of browser visit records by @hanzlamateen in #3175
- Format the files Prettier rejects on main by @hanzlamateen in #3179
- Expect the hand-edit flag in the contact-conflicts database test by @hanzlamateen in #3177
- Keep appliance settings and finish dense compressed chunks in the 30-day account purge by @hanzlamateen in #3176
- Keep the chat's working dots up through the stream's keep-alives by @hanzlamateen in #3191
- Show a Today action once on phones and put the cursor in its chat by @hanzlamateen in #3190
- Clear the change-email form's old error when you edit it by @hanzlamateen in #3189
- Show a failed import's message inside the dialog by @hanzlamateen in #3188
- Give up on Portal's device app list after 5 seconds by @hanzlamateen in #3178
- Import your own export after edited messages, tags, HBPE clusters and receipts by @hanzlamateen in #3187
- Revoke a peer's old grants when its ended link is added back by @hanzlamateen in #3186
- Stop offering chat tools after a write, and spot repeats by tool and arguments by @hanzlamateen in #3185
- Match remembered names exactly and link new entities in the same call by @hanzlamateen in #3180
- Find photos at a place by the name you gave it, and only measured ones by @hanzlamateen in #3183
- Strip bidi controls from asks so a block grant still applies by @hanzlamateen in #3184
- Never leave Memory without an administrator when an immediate account delete fails by @hanzlamateen in #3181
- Close the gaps left in the photo ask fix by @hanzlamateen in #3182
- Drop the prompt's example from compaction even when a note names it by @hanzlamateen in #3192
- Keep sync stamps out of Change History and record null clears by @hanzlamateen in #3215
- Show connect errors during onboarding and at the top on phones by @hanzlamateen in #3214
- When > Custom: an Escaped date no longer comes back and applies itself by @hanzlamateen in #3217
- Check the BlueBubbles webhook secret before looking at the delivery by @hanzlamateen in #3216
- Saved searches: repair rows that kept Last month next to picked dates by @hanzlamateen in #3213
- Show Can't reach Memory, not Log In, when a gated page is reloaded during an outage by @hanzlamateen in #3193
- Store onboarding's parents and children the right way round by @hanzlamateen in #3194
- Keep the Conway texture's board when the theme changes by @hanzlamateen in #3201
- Keep failed imports from blocking retention and stop promising a cleanup that never comes by @hanzlamateen in #3203
- Keep forgotten places and concepts out of search, and forgotten people out of chat search by @hanzlamateen in #3205
- Treat a blank description or subject as cleared and skip no-op clears by @hanzlamateen in #3208
- Show a running import step's phase instead of a stale "acquiring" by @hanzlamateen in #3206
- Drop a place lookup's answer once the event form has moved on by @hanzlamateen in #3207
- Stop a picked file with a repeated name from failing the whole import by @hanzlamateen in #3210
- Close the races left around Describe images after a model switch by @hanzlamateen in #3195
- Retry a refused reasoning_effort per call, and let the refusal expire by @hanzlamateen in #3199
- Show the place's coordinates in the event drawer when the event has none by @hanzlamateen in #3202
- Keep "Not a thing" when the same photo is captured again by @hanzlamateen in #3218
- Keep blank form fields and person merges from claiming hand edits by @hanzlamateen in #3212
- When filter: also set aside tasks, actions, raw messages and GPS fixes by @hanzlamateen in #3211
- Name sort: order receipts, answers and excerpts by the title their row shows by @hanzlamateen in #3209
- Put the splash theme button below the iPhone status bar by @hanzlamateen in #3200
- Give the object store and phone sync the same 5 s gateway connect timeout by @hanzlamateen in #3198
- Keep planned blocks out of the imports on Stats by @hanzlamateen in #3197
- Keep the outage card for an expired sign-in and for a page already on screen by @hanzlamateen in #3196
- Map controls: a right press no longer holds map dragging off by @hanzlamateen in #3233
- List scroll restore: save the position the list really has by @hanzlamateen in #3232
- Say which job concurrency box was refused, in plain words by @hanzlamateen in #3231
- Graph: open the card for every dot clicked, not just the first by @hanzlamateen in #3230
- Check the CLI's number options before a command does anything by @hanzlamateen in #3229
- Timeline: refetch the stylesheet too when Try again follows a failed load by @hanzlamateen in #3228
- Keep database error text out of bulk upload and maintenance replies by @hanzlamateen in #3222
- Point a place conflict at the right place and stop offering merged places by @hanzlamateen in #3204
- Keep database errors and internal addresses out of tool and MCP replies by @hanzlamateen in #3227
- Keep the owner's Sent mail from an unknown address the owner's by @hanzlamateen in #3226
- Let the media-dimensions backfill pick up photos an older version gave up on by @hanzlamateen in #3219
- Trace status: sit above the playback bar at whatever height it is by @hanzlamateen in #3220
- Record only what moved when a thing, file, message or event is saved by @hanzlamateen in #3221
- Unknown source: say why it is flagged, on hover and keyboard focus by @hanzlamateen in #3223
- [fix-migrations] Reissue the owner-sent mail repair without moving the owner's own messages by @hanzlamateen in #3224
- Map area label: wrap world-copy longitudes and steady the decimals by @hanzlamateen in #3225
- View retry: reload when a view's stylesheet failed to download too by @hanzlamateen in #3234
- feat(peers): support KERI AID verification in HTTP message signatures by @mrhegemon in #3235
- Refuse a confirmation-gated call whose input could never run, instead of queueing it by @mrhegemon in #3237
- Retry failed note saves, ask before leaving unsaved notes, keep first-save edits by @hanzlamateen in #3236
- feat(keri): expand KERI / ToIP usage across Companion Memory (forward-auth, sovereign asks, and audit SAIDs) by @mrhegemon in #3238
- Accept the peer link id createPeerLink returns when creating a peer grant by @mrhegemon in #3250
- Refuse a position whose coordinates are off the globe instead of storing it wrapped by @mrhegemon in #3249
- Strip every default-ignorable character from ask classes, so a hidden one cannot slip past a block by @mrhegemon in #3248
- Trust only Google's own X-Gmail-Labels, so a forged Sent label cannot make a stranger the owner by @mrhegemon in #3247
- Bump rustls from 0.23.45 to 0.23.46 in /frontend/apps/desktop/src-tauri in the cargo group across 1 directory by @dependabot[bot] in #3246
- fix(e2e,gates): runnable yarn e2e under PnP, current-UX specs, green lint:canon + root typecheck, QA doc drift by @mrhegemon in #3245
- fix(web): MCP test result + catalog badge, graph retry, phone drawer tab order, rail aria-current, Scan focus by @mrhegemon in #3244
- Let a discard take a failed upload run's scratch tree, so the run can be collected by @mrhegemon in #3243
- Truncate the search index tables in one statement so the reset and index truncate run by @mrhegemon in #3242
- Make POST /users/me/delete one transaction, and take the account out of ask records by @mrhegemon in #3241
- Answer a GraphQL variable that does not coerce as a 400, not a masked 500 by @mrhegemon in #3240
- Even more mobile work by @barankyle in #3239
- Stop the unsigned Hub AID header from choosing or binding an account; repair the KERI build break by @mrhegemon in #3251
- feat(icons): ship the new Companion Memory icon in the iOS, Android and desktop apps by @mrhegemon in #3252
- Replace the Companion Memory logo on web, docs, listing and video surfaces by @mrhegemon in #3253
- End the account in a short transaction and purge it in batches on POST /users/me/delete by @mrhegemon in #3254
- Fix import order and Prettier formatting on main by @mrhegemon in #3256
- Close share links and peer links when an account ends, and stop purges sticking silently by @mrhegemon in #3257
- docs(qa): baseline for the 2026-10-27 release by @mrhegemon in #3258
- docs: align README with Companion Hub layout by @mrhegemon in #3255
- Fix release QA gates and cross-domain imports by @mrhegemon in #3259
- Refuse imports that link to another account, show the outage card on / and /login, re-resolve gateway upstreams by @hanzlamateen in #3267
- Keep agent replies out of Today, add ended peers back as new links and widen photo asks by @hanzlamateen in #3266
- Return a failed inbox import's file on discard, fail --wait on failed runs, refuse job caps above the build by @hanzlamateen in #3265
- Give each chat thread its own tile in the sidebar by @hanzlamateen in #3264
- Say why hub-identity leaves out the account and act on it by @hanzlamateen in #3262
- Ask before chat writes on what a lookup returned, plus four chat follow-ups by @hanzlamateen in #3261
- Keep picked thing dates, sightings, city lookups and event titles as the person meant them by @hanzlamateen in #3260
- Refuse archives that cannot hide, and name untitled chats the same everywhere by @hanzlamateen in #3263
- fix: gate mobile and macOS release secrets by @mrhegemon in #3270
- Pin iOS Safari extension to 1.6.0 by @mrhegemon in #3272
- Use macOS 26 for desktop release by @mrhegemon in #3273
- Use iOS 26 SDK for App Store validation by @mrhegemon in #3275
- Pin iOS Safari extension to v1.6.1 by @mrhegemon in #3276
- Capture Apple notarization diagnostics by @mrhegemon in #3277
- Fix macOS bridge notarization by @mrhegemon in #3278
- Keep a Companion URL the person saved, internal host included by @barankyle in #3279
- Keep Android GPS hardware optional in Play by @mrhegemon in #3281
- Added translucent arrows to show horizontal scrolling on mobile by @barankyle in #3280
- Bump zip from 2.4.2 to 9.0.5 in /frontend/apps/desktop/src-tauri in the cargo group across 1 directory by @dependabot[bot] in #3274
- Background location tracking for the Play resubmission by @barankyle in #3271
- Ask again in prose on OpenAI-compatible endpoints and key held phone numbers as stored by @hanzlamateen in #3269
- Fix/planning scan real tasks by @mrhegemon in #3268
- fix(api): share identifier normalization across domains by @mrhegemon in #3288
- test(e2e): disable scheduled summaries in seeder by @mrhegemon in #3290
- fix(deps): update vulnerable authlib and dnspython by @mrhegemon in #3292
- Say when a name sort leaves out older rows by @hanzlamateen in #3293
- Clear stale daily stats days and keep a thing's No on the thing it named by @hanzlamateen in #3287
- Ask before chat reads a third-party service right after a lookup by @hanzlamateen in #3291
- Refuse links to rows with no owner and check receipt, sighting and product links on write by @hanzlamateen in #3286
- Refuse links to another account's rows on message, event, position and content writes by @hanzlamateen in #3294
- Keep hub-identity's refusal in step with the session bridge by @hanzlamateen in #3283
- Keep a discard from deleting an unpacked inbox export and tighten the inbox return by @hanzlamateen in #3284
- Keep a photo's place from askers who may not learn places, hold Approve until hidden characters are checked and guard peer link edits by @hanzlamateen in #3285
- Let forget delete a product and archive only what it can hide by @hanzlamateen in #3282
- Allow pinch-zoom in the web app and both Capacitor shells (audit AA-1) by @mrhegemon in #3289
- Size 14 more text fields at 16px+ on phones so iOS does not zoom by @mrhegemon in #3299
- Backport deepmerge and GLib security fixes by @mrhegemon in #3301
- fix(api): keep product forget test within memory boundary by @mrhegemon in #3302
- fix(ci): configure scratch database admin in consent gate by @mrhegemon in #3303
- Hiding files that have associated events from default list by @barankyle in #3304
- A number of production mobile fixes by @barankyle in #3300
- fix(api): include Yarn patches in Docker build context by @mrhegemon in #3305
- fix(ios): authenticate Safari extension release fetch by @mrhegemon in #3306
- Update uv-build requirement from <0.10,>=0.9 to >=0.9,<0.14 by @dependabot[bot] in #3323
- Bump tauri from 2.11.5 to 2.11.6 in /frontend/apps/desktop/src-tauri by @dependabot[bot] in #3322
- Bump tokio from 1.53.1 to 1.54.1 in /frontend/apps/desktop/src-tauri by @dependabot[bot] in #3321
- Bump gradle-wrapper from 8.11.1 to 9.8.2 in /frontend/apps/android/android by @dependabot[bot] in #3320
- Bump tauri-plugin-single-instance from 2.4.3 to 2.4.5 in /frontend/apps/desktop/src-tauri by @dependabot[bot] in #3319
- Bump zstd from 0.13.3 to 0.14.3 in /frontend/apps/desktop/src-tauri by @dependabot[bot] in #3318
- Bump @tauri-apps/cli from 2.11.4 to 2.12.4 in /frontend/apps/desktop by @dependabot[bot] in #3316
- Bump org.json:json from 20240303 to 20260814 in /frontend/apps/android/android by @dependabot[bot] in #3317
- Bump zip from 9.0.5 to 9.1.3 in /frontend/apps/desktop/src-tauri by @dependabot[bot] in #3315
- Bump org.robolectric:robolectric from 4.14.1 to 4.17 in /frontend/apps/android/android by @dependabot[bot] in #3314
- Bump alpine from 3.21 to 3.24 in /infrastructure/setup-secrets by @dependabot[bot] in #3313
- Bump node from 22.15.1-slim to 26.12.0-slim in /backend/apps/api by @dependabot[bot] in #3312
- Bump com.google.gms:google-services from 4.4.2 to 4.5.0 in /frontend/apps/android/android by @dependabot[bot] in #3311
- Bump postgres from 16-alpine to 18-alpine in /infrastructure/setup-database by @dependabot[bot] in #3309
- Bump nvidia/cuda from 12.9.2-cudnn-devel-ubuntu22.04 to 13.4.3-cudnn-devel-ubuntu22.04 in /backend/apps/hbpe by @dependabot[bot] in #3310
- Bump python from 3.11.12-slim-bookworm to 3.15.0-slim-bookworm in /backend/apps/summary by @dependabot[bot] in #3308
- Bump nginx from 1.28.0-bookworm to 1.29.1-bookworm in /infrastructure/gateway by @dependabot[bot] in #3307
- fix(docker): install Corepack for Node 26 images by @mrhegemon in #3324
- fix(summary): sync dependencies into project venv by @mrhegemon in #3325
- test(web): cover previously untested memory views by @mrhegemon in #3326
- fix(deps): patch vulnerable transitive dependencies by @mrhegemon in #3328
- docs(android): refresh Play release status by @mrhegemon in #3327
- fix(deps): resolve glob in mobile lockfiles by @mrhegemon in #3329
- fix(ci): mask E2E test credentials in public logs by @mrhegemon in #3330
- fix(ios): pin Safari extension 1.6.2 for next release by @mrhegemon in #3331
- fix(ios): source Safari extension in mobile release by @mrhegemon in #3332
- Fix iOS Memory reconnection checks by @mrhegemon in #3333
- fix: distribute TestFlight builds to internal testers by @mrhegemon in #3334
- fix: use supported TestFlight group lookup by @mrhegemon in #3335
- feat: check TestFlight Apple ID group access by @mrhegemon in #3336
- Fix Memory installs: run the summary service's Python from outside /root by @hanzlamateen in #3338
- Make the summary image's build check cover what its services load by @hanzlamateen in #3340
- Let Memory start with no AI engine and hold summary work until a model appears by @hanzlamateen in #3341
- fix: safely resend pending TestFlight invitations by @mrhegemon in #3342
- Keep shorter texts whole when an embed batch is cut by @barankyle in #3343
- feat(auth): admit companion-atlas Portal tokens to PORTAL_OIDC_AUDIENCE by @mrhegemon in #3346
- docs(readme): show the Companion Memory icon by @mrhegemon in #3344
- ci: weekly grouped Dependabot and manual-only workflows by @mrhegemon in #3347
- Stop accepting the retired Import Tools client by @mrhegemon in #3345
- build(deps): bump the major group in /frontend/apps/ios with 12 updates by @dependabot[bot] in #3356
- build(deps): bump the major group in /frontend/apps/android with 13 updates by @dependabot[bot] in #3357
- build(deps): bump swatinem/rust-cache from 2.9.2 to 2.9.3 in the minor-patch group by @dependabot[bot] in #3355
- build(deps): bump postgres from 18.4-bookworm to 18.6-bookworm in /infrastructure/database in the minor-patch group by @dependabot[bot] in #3348
- build(deps): bump node from 26.12.0-slim to 26.13.0-slim in /backend/apps/api in the minor-patch group by @dependabot[bot] in #3349
- build(deps): bump python from 3.11-slim-bookworm to 3.15-slim-bookworm in /backend/apps/hbpe in the minor-patch group by @dependabot[bot] in #3350
- build(deps): bump the minor-patch group in /frontend/apps/ios with 2 updates by @dependabot[bot] in #3351
- build(deps): bump the minor-patch group in /frontend/apps/android with 2 updates by @dependabot[bot] in #3352
- build(deps): bump sha2 from 0.10.9 to 0.11.1 in /frontend/apps/desktop/src-tauri in the major group by @dependabot[bot] in #3354
- build(deps): bump the minor-patch group in /frontend/apps/desktop/src-tauri with 8 updates by @dependabot[bot] in #3353
- build(deps): bump dtolnay/rust-toolchain from 7e38f4b43b4db5c8dd498af069a4f6196df1d067 to 683b588c487a69d01f6c6ddf40f036ff682cc2c8 by @dependabot[bot] in #3359
- build(deps): bump the major group with 12 updates by @dependabot[bot] in #3358
- build(deps): bump the minor-patch group with 76 updates by @dependabot[bot] in #3360
- Restyle Memory screens and fix verified UI audit findings by @mrhegemon in #3361
- Compact PowerSync storage hourly so deleted text stops reaching new devices by @hanzlamateen in #3362
- fix(web): make the web app build again after the Nov 2 dependency update by @hanzlamateen in #3365
- build(deps): bump @capacitor-mlkit/barcode-scanning from 8.2.1 to 8.2.2 in /frontend/apps/ios in the minor-patch group by @dependabot[bot] in #3368
- build(deps): bump @capacitor-mlkit/barcode-scanning from 8.2.1 to 8.2.2 in /frontend/apps/android in the minor-patch group by @dependabot[bot] in #3367
- build(deps): bump zip from 9.1.3 to 9.2.0 in /frontend/apps/desktop/src-tauri in the minor-patch group by @dependabot[bot] in #3366
- fix(desktop): device key in the OS keychain; web packages on Capacitor 8 by @mrhegemon in #3363
- Wrap a long line in the embedding service test by @hanzlamateen in #3372
New Contributors
- @dependabot[bot] made their first contribution in #3246
Full Changelog: v2026.10.23...v2026.11.4