Skip to content

chore(main): release 1.0.0 - #212

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--libredb_mobile
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--libredb_mobile

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

🤖 I have created a release beep boop

1.0.0 (2026-10-25)

Features

  • add a cancelled run to the history as Failed (1899f8f)
  • add Redis to tool/studio-dev and record the key-scan answers (9b6e8a9)
  • add Remove my data to a Privacy section in Settings (3d69819)
  • add the fail-closed interim write check (26aa095)
  • add the write confirmation sheet (352b312)
  • app lock with biometrics or the device screen lock (438663a)
  • auth: store the session target with the session (be29c4d)
  • auth: store the session target with the session (d060ed0)
  • browse a connection's container levels and kind counts (713921c)
  • browse a connection's container levels and kind counts (0f2e80d)
  • browse the keys of every engine that declares keyScan (a5b9455)
  • cancel a running statement from the SQL editor (ac60b42)
  • cancel a running statement, and stop waiting for a preview the user left (40d9aeb)
  • catalog picker for server-level connections (34076ba)
  • check a connection from its details sheet with a status chip (3150eda)
  • check a connection from its details sheet with a status chip (98fc0c0)
  • client-side result masking with Studio's role rules (77bc247)
  • colour the editor's text only up to 10,000 characters (35b1cf8)
  • drop a preview or key read in flight when its page closes (8bfaec8)
  • fail-closed write check and confirmation sheet (e970d04)
  • give Load more background time and an interrupted report (ef2fad8), closes #150
  • give the Browse rows page background time and an interrupted report (edede9b)
  • give the content the height of a phone held sideways (e96ab51)
  • group, search and badge the connection list (4ea24c5)
  • group, search and badge the connection list (8eff71c)
  • highlight the editor's text, add the keyboard accessory row and keep drafts (881bba5)
  • keep a role the app does not know as Studio sent it (89eac99)
  • keep a run alive in the background and say when it was interrupted (7a54597)
  • keep a run alive in the background and say when it was interrupted (8478db7)
  • keep loaded data offline, mark it stale and refresh on reconnect (847dc08)
  • keep loaded data offline, mark it stale and refresh on reconnect (28c5044)
  • keep provider-meta and object browser answers in memory, and drop them after a schema change (139896b)
  • keep provider-meta and object browser answers in memory, and drop them after a schema change (dbc815a)
  • keep results, a row's detail, a key's value and a source out of screen captures (1bc133b)
  • keep statement text on the device encrypted per account (55361c8)
  • keep statement text on the device encrypted per account (64be118)
  • keep the connection list live and never show an outage as empty (b2c2a04)
  • keep the connection list live and never show an outage as empty (49b3602)
  • keep the draft's database, and wrap the editor's actions at large text (fa09172)
  • keep the statement history on the device (79dccf8)
  • keep the statement history on the device (de217c7)
  • key browser for every engine that declares keyScan (a2ffe2a)
  • let a statement request be dropped, and cancel a run from the shared repository (aaeb455)
  • let phones rotate between portrait and landscape (97fb62f)
  • let the active catalog and collapsed section stores forget an account's data (c383dd1)
  • link the community section to the LibreDB repository (b575fb2)
  • list a kind's objects with a local filter (28d5dd6)
  • list a kind's objects with a local filter (861660a)
  • list every store that keeps an account's data in one registry (e15b1ef)
  • lock the app with the device's biometrics or screen lock (c29aa16)
  • mask results with Studio's default rules and role settings (8e5dc96)
  • name a requested database the server does not list (459b43d)
  • obfuscate release builds and upload their symbols to Sentry (1b9a9ea)
  • obfuscate release builds and upload their symbols to Sentry (35194f9)
  • object detail with columns, indexes and foreign keys (bb75ebd)
  • object search across a connection (ae78729)
  • object source viewer (78432d5)
  • object-browser: narrow a search Studio refuses as too broad by kind (caa5ca6)
  • one replace prompt wording for every open request (a6ffbcc)
  • open a Redis key's value from the key browser (3efd6d6)
  • open a Redis key's value from the key browser (f0ade9a), closes #99
  • open an object's detail from the object list's tap and long press (80b7170)
  • open an object's preview statement in the editor (78667d8)
  • open an object's preview statement in the editor from the object browser (44858b3)
  • open an object's source from the object list (f6ed8c8)
  • open an object's source on its own Browse page (d72bdf6)
  • open one active connection, switch it from the top bar and react when it vanishes (49c52ef)
  • open one active connection, switch it from the top bar and react when it vanishes (4987abd)
  • open the editor with a statement, a connection and a database (4eb4dd1)
  • open the editor with a statement, a connection and a database (ecc7cba)
  • open the object search from the Browse root's heading row (b6d3558)
  • pin Studio and Keycloak by public key from per-host defines (7d1737e)
  • platform: Platform API client, error mapping and the /v1/me repository (39ea193)
  • platform: Platform API client, error mapping and the /v1/me repository (9416a34)
  • platform: Platform shell, router branch and sign-out (ab6d004)
  • platform: Platform shell, router branch and sign-out (5b25b26)
  • read a column's declared type and an object's exclusion constraints (ce2e0ab)
  • read a source part's origin, its truncation and a neutral statement (bbaf135)
  • read color, readOnly, managed, seedId and cacheHint of managed connections (2b9f011)
  • read color, readOnly, managed, seedId and cacheHint of managed connections (ba6202d)
  • read every provider-meta field the browser, result and editor screens need (fe9f314)
  • read the level, loss and cluster fields of a key page and send level (abdeff7)
  • record sign-out in Studio's audit trail (f8ca7e1)
  • record sign-out in Studio's audit trail (20c3b76)
  • refuse a search match without a name, a kind or a path (9c0f19f)
  • Remove my data in Settings, with one registry of what the app keeps per account (41e3c4b)
  • render result cells by Studio's value rules (45e1113)
  • render result cells by Studio's value rules (86025ea)
  • result table, view mode setting and load more (042ec7e)
  • result view with a card per row and a stats strip (3a056ed)
  • result view with a card per row and a stats strip (ba7c7c7), closes #95
  • rework the app shell into three tabs with a profile sheet (156caf7)
  • rework the app shell into three tabs with a profile sheet (70831cb)
  • row detail sheet and sensitive copy of a cell or a row (fb71a32)
  • row detail sheet and sensitive copy of a cell or a row (f1edd50)
  • run a script in the database Run named on a server-level connection (f65d851)
  • run a script with per-statement results, and run a selection (e983fdc)
  • run a script with per-statement results, and run a selection (b8ae4a3)
  • run one statement from the SQL editor (67fe491)
  • run one statement from the SQL editor (0c881e9)
  • run statements in the picked database of a server-level connection (87bdf4e)
  • search a connection's objects after a pause or on submit (a333e40)
  • set the Sentry privacy options explicitly and keep Studio text out of crash reports (c27ed9a)
  • share the statement runner and query result across features (940286e)
  • share the statement runner and query result across features (294bc25)
  • show a full-screen page when Studio refuses the signed-in account (dc71a7b)
  • show a full-screen page when Studio refuses the signed-in account (0a96939)
  • show an identity provider outage as a transient Studio error (69e1ac8)
  • show an object's columns, indexes and foreign keys on its own Browse page (28c3dde)
  • show favorites in the connection switcher and record its openings (7adfa6b)
  • show search matches with the object list's tile (5eda302)
  • show Studio's cross-cutting errors the same way on every screen (4be9d4e)
  • show Studio's cross-cutting errors the same way on every screen (5097478)
  • show the read-only lock for a read grant of a governed Studio (fc35aaf)
  • show the read-only lock for a read grant of a governed Studio (0281096)
  • show the warnings Studio sends with a connection check (9e1f072)
  • star connections and show the recently opened ones on the device (6072f09)
  • star connections and show the recently opened ones on the device (eff4020)
  • take the role only from Studio and sign in only when it accepts the account (947aacd), closes #11
  • tell an unreachable Studio apart from a session failure (28aebef)
  • tell an unreachable Studio apart from a session failure (f7450b8)
  • view a source part in monospace with line numbers, highlighting, copy and share (6c39d1c)
  • view rows and count rows from the object browser (1fc3f4d), closes #98
  • wait each statement route as long as Studio may run it (56583b7)
  • wait each statement route as long as Studio may run it (e4d44c7)
  • wire the table to the row sheet and Load more to View rows (2051f29)
  • write one history entry for a script's whole text (b6d35a9)

Bug Fixes

  • answer each transaction action from its own mock file (7763eb5)
  • answer each transaction action from its own mock file (4bc91c2)
  • answer no confirmation once a session end disposed the editor (152f6c5)
  • answer no object search for an engine with no kind, and test the Turkish key counts (dca8aec)
  • ask for the connection policy again when the profile sheet opens after a failure (b4dd558)
  • ask on a Unicode-escaped identifier and on EXPLAIN PLAN or ALL (fd2b253)
  • ask on number-led runs, side-effect built-ins and other terminators (bd6af9c)
  • ask when a leading comment is read differently by the engines (00bf6e2)
  • bound source parts at Studio's limit and read any number as a truncation limit (56a7413)
  • check https with one pattern in Dart, Kotlin and the release script (cac5e0e)
  • check the pushed authorization endpoint and name the refused key in every log (7d67193)
  • choose no database from a list that answers after its connection closed (a64e5e0)
  • choose no database from a list that answers after its connection closed (59c4a80)
  • clear share files at sign-in and accept a share file a sign-out already removed (f8e8412)
  • close the confirmation sheet with the editor that opened it (451a62a)
  • close the connection switcher when the active connection vanishes (e521f41)
  • close the M3 browse gaps of #90 (01521f8)
  • compare AppError by type, and RateLimitedError by its retryAfter (0ab6734)
  • date old stale data, pull on empty lists, recheck Studio only when unreachable (35444fd)
  • describe LibreDB on the login brand panel (11cc2d1)
  • disable the editor's Cancel offline with the shared reason (31a2ce0)
  • disable the editor's Cancel offline with the shared reason (50ea6f8), closes #164
  • drop a second sign-out request and block the shell until it is done (11bcb0b)
  • drop the Discussions link the repository does not serve (fd20a7a)
  • drop the duplicate @sql_history_replace the rebase left in the ARB files (afe51f5)
  • end a pull to refresh quietly when the connection list page closes (a415f1d)
  • fail a check whose warnings are not a list, and share Studio's warning line (2081d21)
  • fail the read of a script statement whose row count is not a whole number (4ae8f39)
  • fail the Redis seed on any unexpected reply or key count, and pin the key-scan chain (79fac5f)
  • fit result columns to the measured width of the table's fonts (34d7ecf)
  • fit result columns to the measured width of the table's fonts (dedde6d)
  • fit the compact layout to the gesture bar and let the rail scroll above the keyboard (f1429ea)
  • follow no redirect from Studio, so a 3xx to http is an error answer (b9cd2c9)
  • follow no redirect from the identity provider (562571e)
  • group browse counts in the locale's way and say found, not scanned, under a key pattern (30921e0)
  • guard a script's whole answer and the database's own words, and log a failed protection as an error (d457963)
  • hide the app until the lock has decided, keep the keyboard off hidden pages, and fail closed on a failed check (9187cd2)
  • hold Run until the engine is read, and tell a provider-meta failure from a failed database list (94b96a0)
  • keep a governance outage until governance answers (81cbcdd)
  • keep a running refresh and its failure across a search or filter change (2626a6d)
  • keep every result notice reachable at large text sizes (2df71a8)
  • keep frames after an obfuscated header in the local stack log (e92fd1e)
  • keep frames after an obfuscated header in the local stack log (c0caf0d)
  • keep no history entry for a run the background interrupted (996ee14)
  • keep stored JSON past the double range and show an absent field as NULL (e316096)
  • keep the app mounted under the unreachable page (055811b)
  • keep the capture note and the search above the keyboard of a phone held sideways (4d7b097)
  • keep the cursor after a cancelled confirmation and cover the shell (36f72e7)
  • keep the draft's database when leaving a server-level connection (729be03)
  • keep the draft's database when leaving a server-level connection (d736670)
  • keep the editor open without an account, and ask before a draft replaces typed text (52021b0)
  • keep the key limit notice on a trimmed last page (673c371)
  • keep the loaded connections when offline refreshes overlap (a50166e)
  • keep the offline behaviour of #22 in the grouped connection list (cf34ae5)
  • keep the open request's text clear of the connection's draft (a8896ea)
  • keep the pages hidden while a required lock checks the device after a sign-in (63575b6)
  • keep the portrait chip row centered and give the search the whole row without chips (4112b93)
  • keep the restored draft's database, wait for the account, and say a late refused save (5108088)
  • keep the search in flight until another request is sent (886d41a)
  • keep the search term on screen in a field, so a clear and a submit in one burst search again (5c41665)
  • keep the session on a second 401 without a code after a refresh (97b033e)
  • keep the session on a second 401 without a code after a refresh (2198668)
  • keep the session when the token endpoint redirects a refresh (6de297d), closes #229
  • keep the snack bar's copy action working after its page is popped (c86837e)
  • keep the SQL editor and the write confirmation usable with the keyboard up in landscape (fc53b67)
  • keep the upload key in a release-signing environment and release only commits on main (1126d98)
  • label a failed connection check as failed, not unreachable (f4fe942)
  • lay out the longest value and scale each text with the real scaler (246ae72)
  • leave out a queryTimeout or cacheHint above Studio's cap (e5bef93)
  • let Remove my data clear unreadable favorites and keep the app in step after a failure (ddbeeec)
  • let the connection list banners give way above the keyboard of a phone held sideways (e9c233a)
  • list secure storage keys without resetting the store on Android (ebe22dd)
  • load a Browse page that failed for want of a connection again once the device is back online (52496b8)
  • log a failed connection list load by its type and code, and wait for the Sentry event in the crash report tests (7377870)
  • make the mock-backed tests independent of removed mocks (8ee67ff)
  • mask a fieldless page under the columns on screen, and let a replace cancel the page in flight (c651d59)
  • name an OIDC request's role from the endpoint it targets (15d4650), closes #229
  • name the active connection in the SQL tab's top bar (c94f1df)
  • name the active connection in the SQL tab's top bar (7f0d919)
  • name the app LibreDB and drop the template config (062fbf0)
  • name the catalog on transaction commit, rollback and status (ea8ed14)
  • name the catalog on transaction commit, rollback and status (b12cbde)
  • name the reason Studio has no sign-out record in one warn line (c8f799a)
  • never drop a loss notice and hold exactly 10,000 keys (8599311)
  • never send a search again for the term already searched (d3ecd1f)
  • offer no object search on an engine whose every kind only the key browser lists (4a6d0fe)
  • offer Stop waiting after a cancel that failed, and wrap two long doc comments (f0eff1a)
  • open a link to a Browse page of the active connection instead of its session default container (c39e175)
  • open every section while a search is active (4fe1cd3)
  • platform: refuse a Platform account only under a Platform session (cce9c0f)
  • read the ID token before the sign-out refresh (3cd9bda)
  • recover a malformed key, share the store queue and clear stray keys (5f19553)
  • refresh an expired access token before the sign-out record (a47b14a)
  • refuse a walked database number too long for an int (c4048fc)
  • refuse an OIDC discovery document that names an endpoint that is not https (af5c8ab)
  • refuse every source shape Studio's client refuses, and show a failed copy (4e79f3b)
  • release the Source tab's capture lease while another detail tab is on screen (99aafd1)
  • reload a screen that failed under the refusal page once Studio accepts the account (b29e8ef)
  • reload on reconnect only a request the offline device never sent (30e7082)
  • remove a shared source file after the share, at sign-out and with Remove my data (7cd16a6)
  • remove a shared source file after the share, at sign-out and with Remove my data (f120527), closes #202
  • remove the start-up check that reads an app config Studio does not serve (c565947)
  • remove the start-up check that reads an app config Studio does not serve (e7e91e1)
  • require wasLimited in a page and refuse a negative database (615f647)
  • route a copied selection of a row value through the sensitive clipboard (6822b52)
  • route a screen reader's copy of a row value through the sensitive clipboard (8fa5b26)
  • say when foreign-key links were not checked, and word empty answers as Studio's (911aa69)
  • scrub spans, transactions and logs, read the crash extra only with the define, throw the device check from a microtask (97d07dd)
  • send the Studio probes past the retries and the circuit breaker (3c7b0dd)
  • send the Translate action to the issue forms (59b8e39)
  • set FLAG_SECURE through MainActivity and raise when it does not take (e26b66c)
  • set FLAG_SECURE through MainActivity and raise when it does not take (5d0fac6)
  • set sentry-java dataCollection to collect no personal data (053ef66)
  • set sentry-java dataCollection to collect no personal data (02762a1)
  • ship the NOTICE in the app and show it on a licenses page (9c6bdfe)
  • show a blank warning's code once in the result view (7431a85)
  • show every object status, attach by attachedTo and drop a filter on an empty answer (6db88de)
  • show the app's own search hint on an engine with a key browser (9abff35)
  • show the generic message, not a type name, for a failure without a code (5ca41fa)
  • show the generic message, not a type name, for a failure without a code (97eb78d)
  • show the time Studio gave a kept browse answer on the offline marker (7f3e7e4)
  • size the write confirmation from its content when space is short (b15190c)
  • sort a Turkish letter next to its base letter (ede9725)
  • sql-editor: report a vanished connection as the Browse pages do (ff56db9)
  • sql-editor: report a vanished connection from a refused run (512311d)
  • sql-editor: report a vanished connection from the database list and engine read (610b5b2)
  • start the draft in a state of its own, so an account's first frame says nothing (33fb198)
  • start the object list's heading at the start edge (9b5478e)
  • stop a prod start that has no PROD_API_URL (6e938b3)
  • stop a prod start when Studio, Keycloak or Sentry is not https (18e81b9)
  • stop a prod start when Studio, Keycloak or Sentry is not https (3a50823)
  • stop asking for a connection on Browse while one is open (e18fa20)
  • stop claiming an automatic retry for governance unavailable (c66ae04)
  • stop retrying and caching over Studio's own answers (4ce062f)
  • stop retrying and caching over Studio's own answers (ef8dbf7)
  • stop the release before the build on a non-https Studio, Keycloak or Sentry URL (9701a39)
  • stop the rows and key value pages at their ends, and refresh from the table (6df58db)
  • stop the rows and key value pages at their ends, and refresh from the table (a8b3706)
  • test that a cancelled script holds no start, and place the script bullet after #113's (43afc78)
  • treat a blank connection name as none and quote the typed name (2f21bc6)
  • wait as long as Studio lets a statement run (aa4ba90)
  • wait as long as Studio lets a statement run (e02a120)
  • wrap the confirmation buttons when a narrow sheet has no room for both (498ecee)
  • wrap the warnings chip text at large text sizes (9ef814b)

This PR was generated with Release Please. See documentation.

@github-actions github-actions Bot changed the title chore(main): release 1.1.0 chore(main): release 1.0.0 Oct 24, 2026
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--libredb_mobile branch 16 times, most recently from 271fe4c to 614079e Compare October 25, 2026 03:56
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--libredb_mobile branch from 614079e to 103dec2 Compare October 25, 2026 05:18

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment