コンテンツへスキップ
Yuva

変更履歴

リリース

Yuva のすべてのバージョンと、その変更内容。バージョンはセマンティックバージョニングに従い、1.0 までは、どのリリースでも API とデータベーススキーマが変わる可能性があります。

CHANGELOG.mdGitHub のすべてのリリース

リリースノートは英語で書かれています。

  1. 0.0.26最新

    7 件の変更

    GitHub のタグ →変更点を比較 →

    追加5

    • api Response charts, day bars and month strips are drawn square by square a2898

    • sdk <yuva-status> draws the 90-day strip as square cells that follow the width 87bd1

    • sdk <yuva-status> snaps the strip to 90, 60, 30 or 14 days and lets the state text keep its width 8d840

    • site Yuva's own status band at the bottom of the footer 219fd

    • site Draw the status illustrations square by square ca3e3

    修正1

    • api Keep two wash rows under every point of the cell chart e236f

    パフォーマンス1

    • api Strip quoted history from long replies without scanning every whole line af134

  2. 0.0.25

    49 件の変更

    GitHub のタグ →変更点を比較 →

    追加29

    • api Filter contacts by inbox and list each contact's inboxes 2c20b

    • api Status pages with components, incidents and scheduled maintenance 138e1

    • api Heartbeat and push monitors for status pages 10e1a

    • api Incident status in the widget and apps, linked conversations and reply to linked ba175

    • api Contract for status page e-mail subscribers and notices (M19.4) a0315

    • api Status page subscriber lists with their own kind, exclusions and opt-out rules (M19.4) 01d25

    • api Subscribe page for status page e-mail notices (M19.4) 6c33d

    • api Status page notices to e-mail subscribers (M19.4) 6dfcf

    • api Http and tcp status monitors with response times (M19.5) d2fd3

    • api Own domains for status pages (M19.6) 9308f

    • api Status.page.updated realtime event and own_domains on status pages 3e9c6

    • api Status pages in the lined design with response times and a language select (M19.7) 48a04

    • api Status home page at the root of the status origin, in 47 languages b818e

    • api Status pages and status home in all 47 languages 59fd5

    • panel A Status section with status pages, components and incidents (M19.1) 58a81

    • panel A Monitors tab for heartbeat and push monitors (M19.2) 5630a

    • panel Link conversations to status incidents and reply to the linked ones (M19.3) 79128

    • panel E-mail subscribers of status pages, notify checkboxes and notice lines (M19.4) dbfc5

    • panel Skip reason nothing_earlier on notice lines (M19.4) d9e5f

    • panel Http and tcp monitors with response-time chart (M19.5) e7939

    • panel Own domain card for status pages (M19.6) 11fcf

    • panel Own domain card follows own_domains, status.page.updated reloads pages c1937

    • sdk Incident status line in the Swift and Kotlin SDKs (M19.3) 8ef8e

    • sdk <yuva-status>, a status band for site footers 3149f

    • site Show the iOS and Android SDK screens on the home page c42c8

    • site Status pages product page and home section 1e651

    • web Pick an inbox on the contacts page and show each contact's inboxes b6765

    • widget A dismissible status line for open incidents and maintenance (M19.3) 1f966

    • widget Translate the status line strings 44e57

    修正20

    • api Status page review findings 52eb2

    • api Monitor review findings (override rule, paused monitors, ingress limits, idempotent notify) b594c

    • api Resume sends the current status frame, link in a transaction with a limit, reply outcomes and run-time caller checks ce241

    • api Review findings on status page subscribers and notices (M19.4) 3c7b8

    • api Only canaries drop a round of status checks (M19.5) 94a07

    • api Own status page domains held only once verified (M19.6) 8223a

    • api Status notices cover only updates that asked to notify and show current components 5eac1

    • api Status notices cover exactly their attached updates, final ones name components, quiet closes cancel waiting notices 0e0a7

    • api Status notices carry the opening text on publish, window wording only for a real window change dbed0

    • api Own domain Cloudflare sync signals after commit and only on a change 92902

    • api Status pages fit narrow screens, incident charts connect, affected components show their state at the end 18df7

    • api East asian dates read year, month, day in ja, ko, zh-Hans and zh-Hant f1a1c

    • api Track the yuva-status.js placeholder so builds without the widget start 20db6

    • mobile A resolved feedback keeps its resolved line when a progress is set 2e344

    • sdk Keep dismissed status lines while the inbox status is still loading cc51b

    • sdk Align component rows, keep the component grid complete and never shrink the Yuva link bf9c2

    • sdk Rule above every component cell so the grid is closed on both axes c358d

    • site Keep the docs sidebar open on the current group and track headings 44f14

    • site Translate the status band's sample footer and the pushed-states text e9ffc

    • widget A closed feedback reads Resolved in the chat list and thread 5a73a

  3. 追加7

    • android Vector category icons and Material 3 components in the views bd9b0

    • android Material 3 Expressive look built from stable components 504af

    • api Members tell a contact where a feedback stands 0eab0

    • mobile Conversation lists and threads look like a messaging app cfdba

    • mobile Show a feedback's progress in the list and the thread 123d7

    • mobile Links, image viewer, jump to latest, typing bubble and modern samples e5c37

    • panel Set a feedback's progress from its header and see it in the list aa062

  4. 追加1

    • mobile Show Messages or Feedback alone, reply time in hours and days b3ba2

    修正1

    • examples Pass the conversation status as a list 1f870

  5. 追加4

    • api Filter by kind on counts and the contact's list, and never rate feedback a47c0

    • api Take several statuses in the conversation list f93d0

    • panel A Feedback section with open and resolved feedback by category c7bb9

    • sdk Feedback gets its own tab with its state in the iOS and Android SDKs 3cab1

    修正1

    • panel A resolved feedback's header reads Resolved a3e3f

  6. 追加2

    • Share the chosen language between the site and the panel 9aafb

    • site Remember the visitor's language 2de48

  7. 追加2

    • site Links to the panel carry the page's language d9408

    • web Open the panel in the language passed as ?lang e1c67

  8. 0.0.19

    10 件の変更

    GitHub のタグ →変更点を比較 →

    追加10

    • api A person's language can be any of the 47 panel languages 60a31

    • sdk The widget and the mobile SDKs speak 50 languages 62c70

    • site The site speaks the SDK's 47 languages f25a1

    • web Every channel gets its own settings page 4aa32

    • web Adding an inbox creates nothing until its channel is set up 1fccb

    • web Set up an e-mail channel step by step bd426

    • web Add a webhook endpoint step by step 5794a

    • web Create an API key step by step 64b8a

    • web Start a mailing list step by step e1bbe

    • web The panel speaks 47 languages fb878

  9. 0.0.18

    10 件の変更

    GitHub のタグ →変更点を比較 →

    追加4

    • api Broadcasts can set their own pace, at most so many mails an hour, a day and a month 3a833

    • api Each inbox sends in its own Amazon SES tenant aa777

    • web Set and change a broadcast's sending pace in the panel d765f

    • web Show each inbox's Amazon SES tenant and act on its pauses 0d4d6

    修正6

    • api Widget realtime refuses ?token=, image quota is race-free, GeoIP refuses redirects eaf22

    • api Analytics caps monthly events by default and sends CORS only to matching origins; mail headers refuse control characters 952b8

    • api Consent history is for managers, and e-mail image uploads are rate limited and share a decode budget 0d91d

    • deploy The dev compose stack binds to loopback and its known secrets refuse a public URL 65673

    • samples Cleartext only to the local dev host, and the CLI token file is 0600 84962

    • web Agents no longer request or see subscribers' consent records d5b8c

  10. 0.0.17

    11 件の変更

    GitHub のタグ →変更点を比較 →

    追加1

    • site Ruled layout, a home page that walks through the product, and a grouped docs sidebar 9744e

    修正10

    • api Only owners and admins can approve, hide or mark discussion posts as spam 61441

    • api The analytics collector believes X-Forwarded-For only from trusted proxies bfd17

    • api A bounce or complaint suppresses only the address it was sent to ffdbb

    • api A sender's own Authentication-Results can no longer pass DMARC for it 1cb02

    • api Mail ingress checks a header signature before reading the body 08c6a

    • api Keep per-recipient link tokens out of request and error logs ac40a

    • api A reader token works only from the origin it was minted on 3fbf0

    • api Registering another person's push endpoint answers 409 instead of taking it over dd398

    • api A contact with no conversation is visible only to managers and its creator 54e02

    • site Phone menu covers the screen, docs header fits at 360px, text-only home regions use the full width 32abd

  11. 修正1

    • api Discussion posts show images as links, so opening a post never loads a URL its author chose 3c661

  12. 追加2

    • api GET /v1/home answers the inbox, analytics, last broadcast and setup checklist in one request 0eaa5

    • web Home for owners and admins and one setup hub for everything Yuva does aba23

    修正1

    • web No sideways scroll from the phone tab bar, the waiting row wraps, room for the inbox picker 5d1d4

  13. 0.0.14

    12 件の変更

    GitHub のタグ →変更点を比較 →

    追加6

    • sdk/js Useyuva/server signs identity tokens, verifies webhooks and sends server-side analytics 1cc53

    • sdk/js Useyuva/h3 serves identity tokens, webhooks and analytics from an h3 app d83e4

    • sdk/js Useyuva/nitro and the Nuxt module serve identity tokens, webhooks and server analytics 8748b

    • site AI assistants page to connect Yuva and say the first sentence f1016

    • site Cloudflare e-mail page and a works-with strip on the home page eba64

    • site Nitro's mark in the works-with strip 13f58

    修正6

    • api An analytics query with an empty metrics list answers 400 instead of 500 1887f

    • sdk/js The h3 identity route answers with JSON like the documented examples 5883f

    • site One works-with strip on the home page ecadf

    • site Real h3 mark, MinIO and Firebase marks, phone code blocks scroll 41c2a

    • site Cloudflare e-mail code blocks start at their first character bac8a

    • web The analytics chart no longer crashes while it switches between hourly and daily buckets 58536

  14. 追加1

    • mcp Init prompt, get_setup_state and report_yuva_issue: add Yuva to a project from an AI assistant, and prepare bug reports with names, addresses and keys removed a1c89

    修正3

    • sdk/kotlin Build on JitPack, whose builders Maven Central rate-limits b6648

    • web A new user signing in from an assistant can create a workspace before consent 91b07

    • widget Every widget part applies its styles as adopted sheets for a strict style-src 0925b

  15. 0.0.12

    11 件の変更

    GitHub のタグ →変更点を比較 →

    修正11

    • api Build on Go 1.27.2 and x/net 0.60.0 to clear 12 reachable stdlib advisories f78d7

    • api List confirmation must not grant address ownership; require manager for GET /v1/usage c3416

    • api Deleted workspaces stop getting analytics mail and lose their migration uploads a6fcd

    • api Re-check inbox access before pushing broadcast reply counts 3ddb8

    • api Re-check inbox access on every push attempt 18854

    • api Delete a contact's files from conversations they did not own 18854

    • api A share link cannot order rows by a metric it does not show 18854

    • api Refuse a passkey sign-in whose signature counter went backwards 18854

    • sdk/kotlin Seal the contact session token with a device-bound key 18854

    • sdk/swift Keep the contact session token on this device only 18854

    • widget Apply chat styles with adoptedStyleSheets so a strict style-src CSP accepts them 9fd11

  16. 0.0.11

    34 件の変更

    GitHub のタグ →変更点を比較 →

    追加20

    • /yuva-analytics-consent.js, the analytics script with the consent features e8668

    • api Apps and backends send analytics events 1a6e3

    • api Read-only analytics share links and CSV and NDJSON exports a8337

    • api Support per page next to traffic, analytics alerts and e-mail reports, broadcast campaigns and MCP analytics tools 4d617

    • api Consent features for analytics: persistent ids, identify, retention and a contact's visits 84115

    • deploy Helm chart for Kubernetes 5282f

    • sdk/go Analytics package sends server-side events from Go backends dd1f8

    • sdk/go Client calls for analytics share links and exports b985a

    • sdk/go Client calls for analytics subscriptions, alerts, the support dataset and broadcast UTM 2631e

    • sdk/go Client calls for analytics retention, consented visitors and a contact's visits; persistent ids on server events 05bd8

    • sdk/js Conversations started from the widget carry the page they start on 8ed0e

    • sdk/js Consent features in useyuva/analytics: persistent id, identify and withdrawal 8d979

    • sdk/kotlin Yuva-analytics module sends app screens, events and revenue 08544

    • sdk/kotlin Persistent id and identify for visitors who consent in yuva-analytics 9ede9

    • sdk/swift YuvaAnalytics product sends app screens, events and revenue 60b5a

    • sdk/swift Persistent id and identify for visitors who consent in YuvaAnalytics 7b046

    • web Platforms, app versions, screens, app and server install, test events in analytics (M15.3) bc93e

    • web Analytics share links, public share page and exports 8aeba

    • web Support report per page, insights, alert and report subscriptions, broadcast campaign visits 0d59b

    • web Retention, new and returning visitors, consent features and a contact's recent visits 769fe

    修正14

    • api A consent property never stores an invalid event that carries consent 99ae2

    • api An unlocked share link no longer asks for its password again e8489

    • api A page never refuses a conversation 8b691

    • api Insights never report a change from an empty or small baseline 5e802

    • sdk/kotlin The sample opens yuva_open screens while running and toggles whole rows d1a6c

    • sdk/swift The example's privacy switches toggle from the whole row 01cc0

    • site Releases page reads GitHub Releases, so it shows every version 6bdf2

    • web Swift and Kotlin analytics install snippets use the SDKs' real APIs 400f5

    • web Test events keep counting across reloads, code blocks scroll instead of breaking words 2a5c6

    • web Share expiry in the property's time zone, visible export filters, unlock without trusting a stale flag eb990

    • web Plural counts in insight and alert sentences, no percentage against a zero baseline, no support rate without views a6f4e

    • web Render the metric_new insight and count new values with plurals af40b

    • web Show each overview insight once 78011

    • web Accept UTC as a time zone c2e3b

  17. 追加2

    • site Home section for newsletters, migrations and analytics 96aea

    • site Screenshots for newsletters, migrations and analytics on the home page f310b

    修正2

    • sdk/js Chat replies arrive live after a visitor's first message 0141c

    • web Daily charts fit three-digit axis labels, durations use short units 5248c

  18. 0.0.9

    139 件の変更

    GitHub のタグ →変更点を比較 →

    追加88

    • Let the panel count its own screens in analytics 2f230

    • api Serve /yuva-subscribe.js, the mailing list sign-up form aaafc

    • api Mailing list, subscription, consent and opt-out tables (M13.1) 0247a

    • api Mailing lists, consent and subscribe forms (M13.1) 85d13

    • api E-mail design renderer with rich-text policy and merge fields (M13.2) 66be8

    • api Normalise uploaded e-mail images (M13.2) 9d808

    • api Email_designs, email_design_versions and email_images tables (M13.2) d3ad5

    • api E-mail designs, images and the template gallery (M13.2) 3c5df

    • api Broadcasts, deliveries, links, clicks and sending days tables (M13.3) 45f98

    • api Reusable SMTP sessions and ARF abuse reports (M13.3) e39d4

    • api Send broadcasts with replies, bounces, complaints and reports (M13.3) 87f0b

    • api Import subscribers from CSV files with attestation, checks and live progress (M13.4) 3c731

    • api Check a channel's SPF, DKIM and DMARC with a probe and sign broadcasts with Yuva DKIM (M13.4) 1b1c3

    • api Export a list's consents in İYS's fields (M13.5) 4bcd1

    • api MCP tools, prompts and resource for broadcasts (M13.5) bcfc5

    • api Subscribe form variants of get_install_snippet (M13.5) 5eea4

    • api Read-only IMAP reader behind a wire guard (M14.1) d0222

    • api Tables for moving mailboxes into Yuva; imported rows stay quiet (M14.1) 3158d

    • api Connect a mailbox to move it into Yuva: presets, detection, connection test (M14.1) cde78

    • api Scan a mailbox for a dry run, then copy its history quietly (M14.1) aa7c1

    • api Switch a moved mailbox over: catch-up sync, forwarding address, test message, finish (M14.1) 46cb9

    • api MCP tools and the move_to_yuva prompt for moving a mailbox (M14.1) 63e95

    • api Inboxes show a running import to every member, and hosted_limit names its limit (M14.1) 985ff

    • api Suggest team addresses from the mailbox's Sent folders (M14.1) 40565

    • api Read Takeout, mbox, .eml and Maildir export files (M14.3) a4afa

    • api Import export files uploaded in parts, then newer mail over IMAP (M14.3) c02be

    • api Read Zendesk and Help Scout over GET-only clients (M14.4) bd8e3

    • api Move Zendesk and Help Scout history into Yuva (M14.4) bc9b0

    • api Sign in to a Microsoft mailbox with XOAUTH2, refresh only at the token endpoint (M14.2) 24438

    • api Move Outlook.com and Microsoft 365 mailboxes with Sign in with Microsoft (M14.2) 7803d

    • api Count the web without cookies or stored addresses (M15.1) 2cfa0

    • api Enrich, roll up and query analytics (M15.1) 3233e

    • api Count visitors behind a site's own analytics proxy (M15.1) ca045

    • api Analytics events with props and revenue, goals, funnels, segments and annotations (M15.2) 85716

    • openapi Mailing lists, subscriptions and consent contract (M13.1) 183b0

    • openapi E-mail designs, images and the template gallery contract (M13.2) 96f67

    • openapi Broadcasts contract: drafts, review, tests, sending and reports (M13.3) 1cc02

    • openapi Zendesk and Help Scout sources, their sign-in and brand or mailbox to inbox mapping (M14.4) dfc56

    • openapi Sign in with Microsoft for Outlook.com and Microsoft 365 mailboxes (M14.2) 86876

    • openapi Analytics properties and the collection endpoint (M15.1) 7d658

    • openapi Analytics query, realtime and health (M15.1) 65cbb

    • sdk/go List import operations and realtime events (M13.4) 581fc

    • sdk/go Deliverability check and DKIM key operations (M13.4) 93d37

    • sdk/go Help-desk migrations, their sign-in and inbox mapping (M14.4) ed076

    • sdk/go Sign in with Microsoft for mailbox migrations (M14.2) d0d43

    • sdk/js <yuva-subscribe> mailing list form and headless list methods 60551

    • sdk/js Types for broadcasts, list imports, deliverability and DKIM keys in useyuva/api (M13.5) ce585

    • sdk/js German for the widget, the docs components and the subscribe form (M13.1) 85412

    • sdk/js Regenerate the contract types with the analytics schemas (M15.1) 6d304

    • sdk/js Cookieless web analytics script, useyuva/analytics, React and Nuxt helpers (M15.1) a11d1

    • sdk/js Regenerate the contract types with event props, revenue, goals and funnels (M15.2) 12ed8

    • sdk/js Track custom events with props and revenue, notFound, and opt-in outbound, file and chat-open events (M15.2) d9bc9

    • sdk/kotlin Newsletter subscriptions for signed-in users (M13.5) 59cd2

    • sdk/shadcn Yuva-subscribe form and use-yuva-subscribe hook 82ddf

    • sdk/swift Newsletter subscriptions for signed-in users (M13.5) 8bb37

    • site Template gallery with live previews and Use this template (M13.5) eeb64

    • templates Six starter e-mail designs in en, tr and de (M13.2) 609b2

    • web Mailing lists, subscribers and consent (M13.1) 2691c

    • web E-mail designer and template gallery (M13.2) b30ca

    • web Broadcasts: composer, review and send, live sending and reports (M13.3) df305

    • web Broadcast sending settings for e-mail channels and the workspace (M13.3) a783b

    • web Import subscribers from CSV files on a list (M13.4) 3fef3

    • web Deliverability check, Yuva DKIM and the review item (M13.4) c7246

    • web Download a list's consents for İYS from the Export tab (M13.5) bc278

    • web SetupLayout takes its step names, so the migration wizard can share it (M14.1) bee44

    • web Settings › Move to Yuva lists migrations live, with state, progress and actions (M14.1) 1fba4

    • web Move to Yuva wizard: Source, Connect, Choose and Map (M14.1) 9c999

    • web Move to Yuva wizard: Review, Copy, Switch and Done (M14.1) 9ec8a

    • web Members see imported history as such: inbox banner, Imported chip, divider and original authors (M14.1) d712b

    • web E-mail channel settings show the forwarding address, with copy and rotate (M14.1) fe8b2

    • web The import banner follows the inbox's import for every member, and hosted limits name their limit (M14.1) 9e470

    • web Offer the Sent folders' addresses as team addresses in the Map step (M14.1) 5e01e

    • web Upload export files in parts, with resume, for file migrations (M14.3) f6195

    • web Start large Gmail mailboxes with a Takeout file, then read newer mail (M14.3) 8890c

    • web The Done step of a file migration speaks of the deleted file, not credentials (M14.3) 4a131

    • web Forward the help-desk sign-in callback to the API in the dev proxy (M14.4) 549aa

    • web Zendesk and Help Scout tiles and their sign-in on the Connect step (M14.4) d8471

    • web Map help-desk brands or mailboxes, agents and tags (M14.4) 57be2

    • web Help-desk review and copy count conversations, preview shows assignees and notes (M14.4) 0fbce

    • web Help-desk switch and the OAuth client to delete when done (M14.4) aec63

    • web Offer Outlook.com and Microsoft 365 in the Source step (M14.2) 3d41d

    • web Connect an Outlook.com or Microsoft 365 mailbox with Sign in with Microsoft (M14.2) e74d2

    • web Sign in to Microsoft again when a Microsoft migration needs attention (M14.2) 15f7b

    • web Say where to remove Yuva's Microsoft access when a migration is done (M14.2) 1f270

    • web Describe the analytics scopes for API keys and assistants (M15.1) 8bcf9

    • web Analytics properties, install, views and settings (M15.1) 40730

    • web Events, goals, funnels, segments and chart notes in analytics (M15.2) 55eb3

    • web Edit an analytics property's tracked props (M15.2) ac95f

    修正47

    • api Only the person brings back an address that unsubscribed from a list 95518

    • api Template previews keep their styles; drop CSS mail clients ignore 8bcfc

    • api Keep the winning edit as a conflict snapshot when a design save or restore answers 409 8dc48

    • api Fill the broadcast summary of each membership in /v1/me 08707

    • api A finish by an API key is not recorded as a member's (M14.1) 6875d

    • api Panel links from MCP tools name their workspace dbbde

    • api PATCH /v1/migrations/{id} without a change answers 400 (M14.1) adf2d

    • api Migration counts include the duplicates and skips the dry run set aside (M14.1) fcbb0

    • api Create_migration creates the inbox's e-mail channel when it has none (M14.1) a7f21

    • api The connection test counts every folder's messages (M14.1) 69d5a

    • api Suggest team addresses for Gmail migrations too (M14.1) 829ad

    • api Let the forwarding domain carry ordinary channel addresses (M14.1) 57b12

    • api Read the MAIL FROM SPF result, not the HELO one (M13.4) 877b7

    • api Leave Message-ID and Feedback-ID out of the Yuva DKIM signature (M13.4) e5002

    • api Find mail by the Message-ID Amazon SES puts in place of ours (M13.4) ec3dc

    • api Keep Yuva DKIM valid through relays that normalize headers (M13.4) 82400

    • api Never sign with Yuva DKIM through Amazon SES (M13.4) 1f528

    • api Measure the large migration's peak memory from the scan on (M14.1) b76bb

    • api Accept a Microsoft sign-in whose account can open the mailbox (M14.2) 54209

    • api Stop a deleted analytics key on every process at once (M15.1) d739b

    • api One visit stays one visit when its first events reach different server processes (M15.1) 56849

    • api An invalid event in an analytics batch no longer drops the page views sent with it 20685

    • api Goal and event queries with a comparison no longer fail f4e62

    • sdk/js Draw the subscribe list toggles as switches in identity mode 9f9f0

    • sdk/js Take the analytics key as publicKey in <YuvaAnalytics> (M15.1) fe065

    • web Message buttons work on phones; sender address wraps; day chip fades its band 27c1e

    • web Translate consent sources and say which growth figures are windowed 7620c

    • web Designer fixes from the M13.2 device check 64ebc

    • web Wrap long block names in the designer palette ade9b

    • web Offer broadcast scopes when creating API keys 0045d

    • web Broadcast summary heading by state, merge tags shown as seen in the inbox preview, wrapping list row meta f161e

    • web Show reading DNS instead of missing records while a check starts (M13.4) 14284

    • web Links that name a workspace open it and leave a clean address cab29

    • web The import banner's Details link opens Settings › Move to Yuva (M14.1) 43dc6

    • web The certificate fingerprint breaks only after a colon (M14.1) 7055d

    • web The Archive folder kind is a noun in Turkish (M14.1) 47232

    • web Translate the generic migration preset names (M14.1) 36a05

    • web The Map step's label choice shows in full (M14.1) 28ccc

    • web Say why a Gmail Sent folder is read in the Choose step (M14.1) 48b7f

    • web Show the whole forwarding address in channel settings (M14.1) 9a334

    • web Explain that Amazon SES channels sign with Easy DKIM, not Yuva DKIM (M13.4) e5b21

    • web Translate the export file preset name and keep the inbox placeholder out of the options (M14.3) 9cae3

    • web Show copyable values in full instead of cutting them (M14.4) 4cb29

    • web The React install snippet passes publicKey, which React hands to the component (M15.1) fe9ee

    • web Keep long metric names inside the analytics tiles on phones 0af9d

    • web Show every currency's revenue in the events and goals tables b6eb5

    • web Bring the selected tab into view in tab strips that scroll 54459

    パフォーマンス4

    • api Plan a migration's mailbox in bounded memory (M14.1) a8dc8

    • api Keep the source folder open across copy batches (M14.1) bd955

    • api Fold the open day and read pages per visit for the 10M query targets (M15.1) b9878

    • api Funnel reports read the steps' events unsorted and order each day's visits in the server 2bcfc

  19. 0.0.8

    15 件の変更

    GitHub のタグ →変更点を比較 →

    追加10

    • api Server e-mails come with an HTML part 73744

    • api Open sign-up with YUVA_SIGNUP=open 12238

    • api Set up live chat from an assistant over MCP 2f0d1

    • api Serve the widget's on-demand chunks at /widget/<name>-<hash>.js e48b8

    • api E-mail the operator about new sign-ups and workspaces 30073

    • openapi Open sign-up setting and POST /v1/workspaces 24645

    • openapi Sign-in code request takes the page's locale 8a54d

    • sdk/js Load the discussion thread, composer and preview on first open ef83c

    • site Open the app's sign-up form from Create an account 5f7d8

    • web Open sign-up: create-account wording, first workspace step and Create workspace 50247

    修正5

    • api Name unnamed digest authors in the reader's language and shorten fallback links 54929

    • api A new person gets the sign-in page's language e9344

    • sdk/js Keep the server URL loader out of useyuva/docs d181d

    • web Send the page's language with the sign-in code request; keep the resend link in the gutter b8944

    • web Let the conversation header wrap on phones and keep the active tab label whole 8df8f

  20. 0.0.7

    36 件の変更

    GitHub のタグ →変更点を比較 →

    追加27

    • api Ratings, feedback, questions and published answers for documentation pages 1e1ff

    • api Serve /yuva-docs.js, the documentation page elements without the chat ab5cd

    • api Sort documentation pages and summarise them per day 3a0de

    • api Yuva channel create-chat creates a widget channel from the command line a06b7

    • api Conversation source filters and documentation sites contract 5b3fe

    • api Filter conversations by source and list documentation sites 863ea

    • api Discussions on documentation pages and reader accounts 3d66f

    • openapi Discussions on documentation pages and reader accounts 5db77

    • sdk/js Page feedback and questions elements for documentation sites c1522

    • sdk/js Nuxt module useyuva/nuxt with YuvaChat, YuvaPageFeedback and YuvaPageQuestions bd60c

    • sdk/js Headless discussions client and reader sign-in fcc78

    • sdk/js <yuva-discussions> for documentation pages 9cc6f

    • sdk/js Open the thread a #yuva-discussion-<id> link points at abced

    • sdk/shadcn Shadcn registry with discussions components for React sites 6c4ca

    • sdk/shadcn Open the thread a #yuva-discussion-<id> link points at f2f52

    • site Localized docs pages from docs/tr and docs/de 4bcb5

    • site Serve the shadcn registry at /r/<item>.json 98831

    • web A Docs view with page ratings, feedback, questions and published answers f6db0

    • web Send and publish to page, and say when a question is answered only privately c8df8

    • web Show where each conversation came from, and filter by type and site 37f7f

    • web Pick a site in the Docs view 9c682

    • web Set up a documentation site from the setup and the inbox settings 1e0a2

    • web Drop page questions and published answers, count discussions in Docs 75213

    • web Discussions in Docs, with a thread view and a moderation queue ca367

    • web Turn a conversation into a public discussion f56c7

    • web Discussions setting on chat channels, and discussions in the docs setup 1736c

    • web Reader account at /account and the /account/connect popup e8e12

    修正9

    • api Create a reader's contact only with a write that goes through 2d905

    • api Excerpts of discussion posts are plain text bd5b9

    • examples Mobile-first Nuxt Content layout, favicons and current lockfiles 1487d

    • sdk Call deleted authors "Deleted reader" and "Deleted member" as the panel does cd134

    • sdk/js Load a page's answers once, never without a page c3c91

    • sdk/js One answers request per page across navigations and remounts ee4bb

    • site Decode link anchors in the check and point quick start at each locale's heading af4a3

    • web Show the helpful share everywhere in the Docs view 75929

    • web Draw the Docs charts without waiting for an animation bae1f

  21. 追加7

    • api Let the server's own origin use every chat channel 64335

    • api Tell the panel when a contact comes online or leaves d1a4a

    • site Talk to us through Yuva's own chat on every page 5117d

    • site A new home page hero for the messaging panel d83aa

    • web A live chat in the setup preview, to send the first message from it 85560

    • web Talk live chats through in the queue and put them first a1a83

    • web A messaging panel with every page in one shell ef039

  22. 追加8

    • Queue panel, live teamwork and satisfaction ratings 9bc69

    • api Original_html on GET /v1/messages/{id}/email 7cfbf

    • mcp Send_draft delivers a stored draft instead of a copy of its text ec4df

    • web E-mail HTML in the panel's theme, with the original on demand 21cd4

    • web Darken the original e-mail view in the dark theme 15845

    • web Open HTML e-mails in the original view, with a per-device preference 93eb5

    • web Connect an assistant from Settings › Connected apps 7fec4

    • web A setup page that takes a new workspace to its first conversation 613a0

    修正3

    • api Accept OAuth clients that also list grant types Yuva does not offer 65198

    • mcp Send_reply refuses while the caller has a draft in the conversation 01059

    • web A wider conversation column in the queue 0f521

  23. 追加29

    • MCP Bundle on every release and server.json for the MCP Registry 568ce

    • api Scoped API keys, bot authors and drafts 21b92

    • api Idempotency-Key on authenticated POST requests 7ebfa

    • api Yuva as an OAuth 2.1 authorization server 7e365

    • api MCP endpoint at /mcp for AI assistants 2608a

    • api Event feed at GET /v1/events for clients that poll 6ec8a

    • api API-only mode with YUVA_PANEL=off and YUVA_WIDGET=off 2a4cf

    • api Yuva mcp stdio bridges local MCP clients to a server's /mcp c9a76

    • examples Headless chat, event feed and draft bot ea0a7

    • sdk/go Typed /v1 client generated from the contract 10281

    • sdk/js Headless contact client createYuvaClient(), and <yuva-chat> built on it 9ec6e

    • sdk/js Publish as @useyuva/js with chat, react and api entries 3f3b7

    • site Redesign the site; add blog, releases, brand, contact and German 1dc60

    • site Documentation with search and an API reference generated from the contract a94d4

    • site Documentation in Turkish and German 987ac

    • site A simpler documentation home 52e8a

    • site Connecting a support e-mail on the documentation home fd036

    • site The documentation home as a three-step setup path 9d295

    • site Docs app with Scalar API reference, custom components and full-width layout 2eb79

    • site Publish llms.txt and llms-full.txt 0e535

    • web New Yuva logo, icons and the site's colours and type in the panel cfc45

    • web Redesign the sign-in page in the site's style cb1f6

    • web A quieter panel shell with a slim sidebar, feature folders and calmer primitives d332e

    • web Calmer conversation list and thread bf04f

    • web A quieter contact panel and merge dialog de10a

    • web Settings as clear pages with a simple navigation 94f84

    • web Scoped API keys with bots, bot sending and draft review 922be

    • web OAuth consent page, connected apps and "via" in the timeline 816e3

    • widget Show bot replies with their name and avatar 59597

    修正5

    • api Report bots_may_send in /v1/me memberships ff1c9

    • api Allow Idempotency-Key in the /client/v1 CORS preflight adb5f

    • api Accept OAuth loopback redirects on any port 7760f

    • mcp Answer in-flight calls before yuva mcp stdio exits on closed stdin 76cfa

    • web Show the new logo instead of a cached old one cee14

  24. 追加3

    • Bulk actions

      Select conversations in the list (checkboxes, shift-click for a range, select all on the page) and close, reopen, snooze, assign, unassign or label them at once. One POST /v1/conversations/bulk call for up to 100 conversations; the ones the caller cannot change are listed with the reason and stay selected.

    • Contact merge

      Owners and admins merge two contacts of the same person, for example the e-mail one and the in-app one (POST /v1/contacts/{id}/merge). The target gains the source's addresses, external ids, attributes and conversations; the source is deleted and contact.deleted carries merged_into_id.

    • Move a conversation to another inbox

      (POST /v1/conversations/{id}/move, shortcut m): replies continue on the target inbox's channel, an e-mail conversation is refused when the target has no e-mail channel, and the timeline shows "Moved from …". New realtime event conversation.moved.

  25. 追加4

    • Workspace deletion

      Owners delete a workspace in the panel (Settings → Workspace → Danger zone) or with DELETE /v1/workspace; it stops working at once and a background job deletes its data and stored files in batches. Operators use yuva workspace delete.

    • Account deletion

      Members delete their account in the panel (Settings → My profile) or with DELETE /v1/me, refused while they are a workspace's only owner; their messages stay, shown as from a deleted member. Operators use yuva person delete.

    • Panel

      Replies from a visitor's typed, unconfirmed address are marked "Unverified sender".

    • Android SDK on JitPack

      implementation("com.github.productdevbook:yuva:v0.0.2") from https://jitpack.io; the local module still works.

    変更1

    • A person who belongs to no workspace can sign in, sees that, and can delete their account.

  26. 0.0.1

    15 件の変更

    GitHub のタグ →

    The first public release. Pre-alpha: do not put real customer data in it yet.

    追加14

    • Server

      One Go binary with Postgres, applying its own migrations on start; River jobs in the same process; attachments and raw e-mails on local disk or S3-compatible storage; /healthz, /readyz and Prometheus metrics. Docker image for linux/amd64 and linux/arm64.

    • Workspaces and members

      Owners, admins and agents with per-inbox access; sign-in with e-mailed codes and passkeys; invites; workspace API keys; usage counters.

    • Inboxes, contacts and conversations

      Per-inbox branding, language, time zone, business hours and live or async mode; messages, notes, attachments, assignment, status, priority, labels, canned replies, events and the /v1 REST API for all of them, described in openapi/openapi.yaml.

    • Agent panel

      Conversation list with filters and search, thread view, composer, contact sidebar, settings, realtime updates over WebSocket, English and Turkish; installable as a PWA.

    • E-mail channel

      Signed /ingress/email fed by a Cloudflare Email Worker (edge/, with a fallback address when the server is unreachable) or by any MTA through yuva ingest-email; threading, quote stripping, HTML sanitizing, attachments and raw message storage; outbound SMTP per channel with thread headers; loop protection; bounce and complaint handling, including Amazon SES notifications.

    • Catch-all e-mail channels

      *@example.com receives every address of a domain that no other channel has, and replies go out from the address the contact wrote to.

    • Volume without bounces

      A sender opens at most 20 new conversations per channel per hour; further mail joins their latest conversation. Only senders above YUVA_EMAIL_SENDER_HOURLY_CAP are refused.

    • Web widget

      The <yuva-chat> web component for live chat and embedded threads, on the /client/v1 API with contact sessions, anonymous visitors, identity tokens signed by the host backend, allowed origins, presence, typing, read receipts and e-mail continuity for unread replies.

    • Mobile SDKs

      sdk/swift (YuvaKit) and sdk/kotlin with a client, conversation list, thread, composer and feedback form.

    • Feedback and webhooks

      Feedback conversations with metadata, posting by API key, Standard Webhooks delivery with retries and a delivery log, contact deletion by external id.

    • `sdk/go`

      Identity token signing and webhook verification for host backends.

    • Member notifications

      Web Push with per-member preferences and e-mail fallback.

    • Retention

      An optional per-workspace period after which closed conversations and raw e-mails are deleted.

    • Operator commands

      yuva bootstrap, migrate, api-key, inbox, channel, vapid-keys.

    セキュリティ1

    • Hardening of sign-in, sessions, client sessions and identity tokens, inbound mail and outbound connections, attachment handling, rate limiting behind proxies, and the panel's security headers. Report vulnerabilities as described in SECURITY.md.