Skip to content

Releases: tomaszboloz/SEOmi

SEOmi v0.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 23:27
b393adc

Added

  • Google Analytics 4 authorization, property discovery and landing-page reports for the active project.
  • Joining observed GA4, Search Console and crawl data from comparable periods.
  • Topical diagnosis: multilingual documents, hubs, topics and recommendations for specific pages.
  • Importing multi-document topics into topical plans, with source URLs retained.

Fixed

  • Search Console property matching and actionable Google error messages.
  • Transient crawler retries, structured robots status and safer redirect handling.
  • External-link verification classes and per-host concurrency limits.
  • Comparable health-score versions, cross-page structured-data checks and page-specific content guidance.
  • Security-header interpretation and repeated-header handling.
  • Windows TLS error classification and desktop regression fixtures.
  • Embedded Unicode PDF fonts for Latin, Cyrillic, CJK and Arabic text, with long URL wrapping. Fonts are included only when used; the CJK font is currently embedded in full.
  • Isolated Windows renderer profiles prevent one WebView2 session from losing the next session’s capture callbacks.
  • Topical diagnosis distinguishes post navigation from listing pagination, folds redirect aliases, avoids unsupported link verdicts in legacy crawls and groups duplicate content.
  • Complete topic-pair evaluation within the 500-page bound, expandable verdict lists and migration of obsolete graph filters.
  • Stored credentials stay on the native side for desktop cloud AI; settings read credential presence rather than stored values.
  • MCP shutdown handlers are registered before the server announces readiness.
  • Renderer capture sources have standalone JavaScript syntax while retaining acknowledged transfers and duplicate-capture protection.

Changes since 0.1.2

  • New PDF reports. Audit and crawl reports are now styled A4 documents built on a new layout engine: header and footer with page numbers, a coloured health score, severity counts and KPI cards, and every finding as a card with where it applies (page, element, current value, affected URLs) and how to fix it. Nothing is silently omitted: missing values show "—" and a coverage table lists every section. Latin, Cyrillic, CJK and right-to-left Arabic text keep working and the text stays searchable.
  • The audit report adds a "Passed checks" summary and a detail table per audit area (meta tags, headings, content, images, links, redirects, indexability, security headers, structured data, Open Graph, accessibility, AMP, performance).
  • The crawl report adds the full pages table, issues grouped by type with the affected URLs and advice for every crawler issue code, and detailed sections for duplicates, redirects, broken links, canonicals, hreflang, structured data, images, resources and robots.txt/sitemap. Report templates still select which sections are included.
  • PDFs previously dropped each finding's recommendation and showed stray "-" lines for blanks; both are fixed.

Changes since 0.1.1

  • More native error paths are covered by tests: crawler delay and cancellation, sitemap and robots scope, redirect and metadata verdicts, RDAP client construction, the render worker's accept loop (now in render_worker/admission.rs) and request-size checks.
  • Removed branches that could never run (an always-true render-worker request-size sum, a redundant empty-host check on proxy URLs, a redundant alias comparison in robots scope).

Changes since 0.1.0

  • OpenAI requests no longer send temperature, so newer models (gpt-5.x, gpt-6.x, o-series) stop failing with HTTP 400; provider model lists are sorted newest first and skip models that chat completions rejects (fix by @RafalSzy).
  • API keys are entered in a shared field that keeps the typed text as a draft until "Save key" or Enter, shows when a key is saved, offers "Remove key", and no longer stores only the last typed character; the chosen model is remembered per provider, provider errors are readable and translated, and the Optimizer no longer asks for a manual connection test after a restart (fix by @RafalSzy).

Changes since 0.0.7

  • Native code gained test seams without changing behaviour: injected endpoints and credential store for Google Analytics 4 commands, the rendered-fetch cancel/timeout race, the external-link runner, file-lock error classification and the public-feed client. These make previously unreachable error paths testable.
  • Domain age lookup sends a User-Agent, so rdap.org no longer answers HTTP 403 (fix by @RafalSzy, #43).
  • Removed defensive branches that could never run (always-true URL checks, an unreachable findings cap, a plain-HTTP proxy body write the parser already rejects).

Changes since 0.0.6

  • Test runs no longer print React act(...) warnings.

Changes since 0.0.5

  • Domain age lookup runs through a native RDAP command (validated hostname, HTTPS-only redirects, 1 MiB limit); the WebView policy no longer allows connections to arbitrary https: hosts (#35).
  • PDF reports draw multiword Arabic and mixed-direction text in right-to-left visual order while text extraction still returns the logical string (#30).
  • The release workflow's publish step passes --repo, so a finished build is published automatically.

Release and security

  • Releases publish automatically: when main carries an application version without a tag, the release workflow builds the macOS and Windows packages, creates the tag and publishes the release.
  • macOS packages now include the signed updater archive (.app.tar.gz), so in-app updates work on Apple Silicon and Intel; the release job no longer fails with "No signed updater artifacts were produced".
  • Third-party GitHub Actions are pinned to commit SHAs and workflows run with a read-only default token.
  • HTML entities are unescaped once in the MCP semantic audit (< stays <).
  • Test files no longer trigger CodeQL findings for URL checks, regular expressions or temporary files.

Quality

  • Expanded frontend, native and MCP regression coverage: frontend branches 99.6%, native lines 99.3%, functions 98.8%, branches 98.9% (unit tests only).
  • Preserved fallible production errors, bounded history reads and the 150-line code/test limit.
  • One application version source in package.json.
  • A security reporting policy and extended CodeQL scanning for JavaScript/TypeScript and GitHub Actions.

Downloads and updates

The selected distribution uses signed Tauri updates and installers without Apple/Windows system certificates. Operating systems may show publisher warnings. Download packages are listed in the release assets.

Thanks

Thank you @RafalSzy for contributions, topical diagnosis, detailed issue reports and regression-test feedback in PR #13 and subsequent reviews.

SEOmi v0.1.2

Choose a tag to compare

@github-actions github-actions released this 13 Oct 20:03
21778aa

Added

  • Google Analytics 4 authorization, property discovery and landing-page reports for the active project.
  • Joining observed GA4, Search Console and crawl data from comparable periods.
  • Topical diagnosis: multilingual documents, hubs, topics and recommendations for specific pages.
  • Importing multi-document topics into topical plans, with source URLs retained.

Fixed

  • Search Console property matching and actionable Google error messages.
  • Transient crawler retries, structured robots status and safer redirect handling.
  • External-link verification classes and per-host concurrency limits.
  • Comparable health-score versions, cross-page structured-data checks and page-specific content guidance.
  • Security-header interpretation and repeated-header handling.
  • Windows TLS error classification and desktop regression fixtures.
  • Embedded Unicode PDF fonts for Latin, Cyrillic, CJK and Arabic text, with long URL wrapping. Fonts are included only when used; the CJK font is currently embedded in full.
  • Isolated Windows renderer profiles prevent one WebView2 session from losing the next session’s capture callbacks.
  • Topical diagnosis distinguishes post navigation from listing pagination, folds redirect aliases, avoids unsupported link verdicts in legacy crawls and groups duplicate content.
  • Complete topic-pair evaluation within the 500-page bound, expandable verdict lists and migration of obsolete graph filters.
  • Stored credentials stay on the native side for desktop cloud AI; settings read credential presence rather than stored values.
  • MCP shutdown handlers are registered before the server announces readiness.
  • Renderer capture sources have standalone JavaScript syntax while retaining acknowledged transfers and duplicate-capture protection.

Changes since 0.1.1

  • More native error paths are covered by tests: crawler delay and cancellation, sitemap and robots scope, redirect and metadata verdicts, RDAP client construction, the render worker's accept loop (now in render_worker/admission.rs) and request-size checks.
  • Removed branches that could never run (an always-true render-worker request-size sum, a redundant empty-host check on proxy URLs, a redundant alias comparison in robots scope).

Changes since 0.1.0

  • OpenAI requests no longer send temperature, so newer models (gpt-5.x, gpt-6.x, o-series) stop failing with HTTP 400; provider model lists are sorted newest first and skip models that chat completions rejects (fix by @RafalSzy).
  • API keys are entered in a shared field that keeps the typed text as a draft until "Save key" or Enter, shows when a key is saved, offers "Remove key", and no longer stores only the last typed character; the chosen model is remembered per provider, provider errors are readable and translated, and the Optimizer no longer asks for a manual connection test after a restart (fix by @RafalSzy).

Changes since 0.0.7

  • Native code gained test seams without changing behaviour: injected endpoints and credential store for Google Analytics 4 commands, the rendered-fetch cancel/timeout race, the external-link runner, file-lock error classification and the public-feed client. These make previously unreachable error paths testable.
  • Domain age lookup sends a User-Agent, so rdap.org no longer answers HTTP 403 (fix by @RafalSzy, #43).
  • Removed defensive branches that could never run (always-true URL checks, an unreachable findings cap, a plain-HTTP proxy body write the parser already rejects).

Changes since 0.0.6

  • Test runs no longer print React act(...) warnings.

Changes since 0.0.5

  • Domain age lookup runs through a native RDAP command (validated hostname, HTTPS-only redirects, 1 MiB limit); the WebView policy no longer allows connections to arbitrary https: hosts (#35).
  • PDF reports draw multiword Arabic and mixed-direction text in right-to-left visual order while text extraction still returns the logical string (#30).
  • The release workflow's publish step passes --repo, so a finished build is published automatically.

Release and security

  • Releases publish automatically: when main carries an application version without a tag, the release workflow builds the macOS and Windows packages, creates the tag and publishes the release.
  • macOS packages now include the signed updater archive (.app.tar.gz), so in-app updates work on Apple Silicon and Intel; the release job no longer fails with "No signed updater artifacts were produced".
  • Third-party GitHub Actions are pinned to commit SHAs and workflows run with a read-only default token.
  • HTML entities are unescaped once in the MCP semantic audit (< stays <).
  • Test files no longer trigger CodeQL findings for URL checks, regular expressions or temporary files.

Quality

  • Expanded frontend, native and MCP regression coverage: frontend branches 99.6%, native lines 99.3%, functions 98.8%, branches 98.9% (unit tests only).
  • Preserved fallible production errors, bounded history reads and the 150-line code/test limit.
  • One application version source in package.json.
  • A security reporting policy and extended CodeQL scanning for JavaScript/TypeScript and GitHub Actions.

Downloads and updates

The selected distribution uses signed Tauri updates and installers without Apple/Windows system certificates. Operating systems may show publisher warnings. Download packages are listed in the release assets.

Thanks

Thank you @RafalSzy for contributions, topical diagnosis, detailed issue reports and regression-test feedback in PR #13 and subsequent reviews.

SEOmi v0.1.1

Choose a tag to compare

@github-actions github-actions released this 13 Oct 18:31
c0f9ad9

Added

  • Google Analytics 4 authorization, property discovery and landing-page reports for the active project.
  • Joining observed GA4, Search Console and crawl data from comparable periods.
  • Topical diagnosis: multilingual documents, hubs, topics and recommendations for specific pages.
  • Importing multi-document topics into topical plans, with source URLs retained.

Fixed

  • Search Console property matching and actionable Google error messages.
  • Transient crawler retries, structured robots status and safer redirect handling.
  • External-link verification classes and per-host concurrency limits.
  • Comparable health-score versions, cross-page structured-data checks and page-specific content guidance.
  • Security-header interpretation and repeated-header handling.
  • Windows TLS error classification and desktop regression fixtures.
  • Embedded Unicode PDF fonts for Latin, Cyrillic, CJK and Arabic text, with long URL wrapping. Fonts are included only when used; the CJK font is currently embedded in full.
  • Isolated Windows renderer profiles prevent one WebView2 session from losing the next session’s capture callbacks.
  • Topical diagnosis distinguishes post navigation from listing pagination, folds redirect aliases, avoids unsupported link verdicts in legacy crawls and groups duplicate content.
  • Complete topic-pair evaluation within the 500-page bound, expandable verdict lists and migration of obsolete graph filters.
  • Stored credentials stay on the native side for desktop cloud AI; settings read credential presence rather than stored values.
  • MCP shutdown handlers are registered before the server announces readiness.
  • Renderer capture sources have standalone JavaScript syntax while retaining acknowledged transfers and duplicate-capture protection.

Changes since 0.1.0

  • OpenAI requests no longer send temperature, so newer models (gpt-5.x, gpt-6.x, o-series) stop failing with HTTP 400; provider model lists are sorted newest first and skip models that chat completions rejects (fix by @RafalSzy).
  • API keys are entered in a shared field that keeps the typed text as a draft until "Save key" or Enter, shows when a key is saved, offers "Remove key", and no longer stores only the last typed character; the chosen model is remembered per provider, provider errors are readable and translated, and the Optimizer no longer asks for a manual connection test after a restart (fix by @RafalSzy).

Changes since 0.0.7

  • Native code gained test seams without changing behaviour: injected endpoints and credential store for Google Analytics 4 commands, the rendered-fetch cancel/timeout race, the external-link runner, file-lock error classification and the public-feed client. These make previously unreachable error paths testable.
  • Domain age lookup sends a User-Agent, so rdap.org no longer answers HTTP 403 (fix by @RafalSzy, #43).
  • Removed defensive branches that could never run (always-true URL checks, an unreachable findings cap, a plain-HTTP proxy body write the parser already rejects).

Changes since 0.0.6

  • Test runs no longer print React act(...) warnings.

Changes since 0.0.5

  • Domain age lookup runs through a native RDAP command (validated hostname, HTTPS-only redirects, 1 MiB limit); the WebView policy no longer allows connections to arbitrary https: hosts (#35).
  • PDF reports draw multiword Arabic and mixed-direction text in right-to-left visual order while text extraction still returns the logical string (#30).
  • The release workflow's publish step passes --repo, so a finished build is published automatically.

Release and security

  • Releases publish automatically: when main carries an application version without a tag, the release workflow builds the macOS and Windows packages, creates the tag and publishes the release.
  • macOS packages now include the signed updater archive (.app.tar.gz), so in-app updates work on Apple Silicon and Intel; the release job no longer fails with "No signed updater artifacts were produced".
  • Third-party GitHub Actions are pinned to commit SHAs and workflows run with a read-only default token.
  • HTML entities are unescaped once in the MCP semantic audit (< stays <).
  • Test files no longer trigger CodeQL findings for URL checks, regular expressions or temporary files.

Quality

  • Expanded frontend, native and MCP regression coverage: frontend branches 99.6%, native lines 99.3%, functions 98.8%, branches 98.9% (unit tests only).
  • Preserved fallible production errors, bounded history reads and the 150-line code/test limit.
  • One application version source in package.json.
  • A security reporting policy and extended CodeQL scanning for JavaScript/TypeScript and GitHub Actions.

Downloads and updates

The selected distribution uses signed Tauri updates and installers without Apple/Windows system certificates. Operating systems may show publisher warnings. Download packages are listed in the release assets.

Thanks

Thank you @RafalSzy for contributions, topical diagnosis, detailed issue reports and regression-test feedback in PR #13 and subsequent reviews.

SEOmi v0.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 17:00
a22c62e

Added

  • Google Analytics 4 authorization, property discovery and landing-page reports for the active project.
  • Joining observed GA4, Search Console and crawl data from comparable periods.
  • Topical diagnosis: multilingual documents, hubs, topics and recommendations for specific pages.
  • Importing multi-document topics into topical plans, with source URLs retained.

Fixed

  • Search Console property matching and actionable Google error messages.
  • Transient crawler retries, structured robots status and safer redirect handling.
  • External-link verification classes and per-host concurrency limits.
  • Comparable health-score versions, cross-page structured-data checks and page-specific content guidance.
  • Security-header interpretation and repeated-header handling.
  • Windows TLS error classification and desktop regression fixtures.
  • Embedded Unicode PDF fonts for Latin, Cyrillic, CJK and Arabic text, with long URL wrapping. Fonts are included only when used; the CJK font is currently embedded in full.
  • Isolated Windows renderer profiles prevent one WebView2 session from losing the next session’s capture callbacks.
  • Topical diagnosis distinguishes post navigation from listing pagination, folds redirect aliases, avoids unsupported link verdicts in legacy crawls and groups duplicate content.
  • Complete topic-pair evaluation within the 500-page bound, expandable verdict lists and migration of obsolete graph filters.
  • Stored credentials stay on the native side for desktop cloud AI; settings read credential presence rather than stored values.
  • MCP shutdown handlers are registered before the server announces readiness.
  • Renderer capture sources have standalone JavaScript syntax while retaining acknowledged transfers and duplicate-capture protection.

Changes since 0.0.7

  • Native code gained test seams without changing behaviour: injected endpoints and credential store for Google Analytics 4 commands, the rendered-fetch cancel/timeout race, the external-link runner, file-lock error classification and the public-feed client. These make previously unreachable error paths testable.
  • Domain age lookup sends a User-Agent, so rdap.org no longer answers HTTP 403 (fix by @RafalSzy, #43).
  • Removed defensive branches that could never run (always-true URL checks, an unreachable findings cap, a plain-HTTP proxy body write the parser already rejects).

Changes since 0.0.6

  • Test runs no longer print React act(...) warnings.

Changes since 0.0.5

  • Domain age lookup runs through a native RDAP command (validated hostname, HTTPS-only redirects, 1 MiB limit); the WebView policy no longer allows connections to arbitrary https: hosts (#35).
  • PDF reports draw multiword Arabic and mixed-direction text in right-to-left visual order while text extraction still returns the logical string (#30).
  • The release workflow's publish step passes --repo, so a finished build is published automatically.

Release and security

  • Releases publish automatically: when main carries an application version without a tag, the release workflow builds the macOS and Windows packages, creates the tag and publishes the release.
  • macOS packages now include the signed updater archive (.app.tar.gz), so in-app updates work on Apple Silicon and Intel; the release job no longer fails with "No signed updater artifacts were produced".
  • Third-party GitHub Actions are pinned to commit SHAs and workflows run with a read-only default token.
  • HTML entities are unescaped once in the MCP semantic audit (< stays <).
  • Test files no longer trigger CodeQL findings for URL checks, regular expressions or temporary files.

Quality

  • Expanded frontend, native and MCP regression coverage: frontend branches 99.6%, native lines 99.3%, functions 98.8%, branches 98.9% (unit tests only).
  • Preserved fallible production errors, bounded history reads and the 150-line code/test limit.
  • One application version source in package.json.
  • A security reporting policy and extended CodeQL scanning for JavaScript/TypeScript and GitHub Actions.

Downloads and updates

The selected distribution uses signed Tauri updates and installers without Apple/Windows system certificates. Operating systems may show publisher warnings. Download packages are listed in the release assets.

Thanks

Thank you @RafalSzy for contributions, topical diagnosis, detailed issue reports and regression-test feedback in PR #13 and subsequent reviews.

SEOmi v0.0.7

Choose a tag to compare

@github-actions github-actions released this 13 Oct 15:07
fe3e208

Added

  • Google Analytics 4 authorization, property discovery and landing-page reports for the active project.
  • Joining observed GA4, Search Console and crawl data from comparable periods.
  • Topical diagnosis: multilingual documents, hubs, topics and recommendations for specific pages.
  • Importing multi-document topics into topical plans, with source URLs retained.

Fixed

  • Search Console property matching and actionable Google error messages.
  • Transient crawler retries, structured robots status and safer redirect handling.
  • External-link verification classes and per-host concurrency limits.
  • Comparable health-score versions, cross-page structured-data checks and page-specific content guidance.
  • Security-header interpretation and repeated-header handling.
  • Windows TLS error classification and desktop regression fixtures.
  • Embedded Unicode PDF fonts for Latin, Cyrillic, CJK and Arabic text, with long URL wrapping. Fonts are included only when used; the CJK font is currently embedded in full.
  • Isolated Windows renderer profiles prevent one WebView2 session from losing the next session’s capture callbacks.
  • Topical diagnosis distinguishes post navigation from listing pagination, folds redirect aliases, avoids unsupported link verdicts in legacy crawls and groups duplicate content.
  • Complete topic-pair evaluation within the 500-page bound, expandable verdict lists and migration of obsolete graph filters.
  • Stored credentials stay on the native side for desktop cloud AI; settings read credential presence rather than stored values.
  • MCP shutdown handlers are registered before the server announces readiness.
  • Renderer capture sources have standalone JavaScript syntax while retaining acknowledged transfers and duplicate-capture protection.

Changes since 0.0.6

  • Test runs no longer print React act(...) warnings.

Changes since 0.0.5

  • Domain age lookup runs through a native RDAP command (validated hostname, HTTPS-only redirects, 1 MiB limit); the WebView policy no longer allows connections to arbitrary https: hosts (#35).
  • PDF reports draw multiword Arabic and mixed-direction text in right-to-left visual order while text extraction still returns the logical string (#30).
  • The release workflow's publish step passes --repo, so a finished build is published automatically.

Release and security

  • Releases publish automatically: when main carries an application version without a tag, the release workflow builds the macOS and Windows packages, creates the tag and publishes the release.
  • macOS packages now include the signed updater archive (.app.tar.gz), so in-app updates work on Apple Silicon and Intel; the release job no longer fails with "No signed updater artifacts were produced".
  • Third-party GitHub Actions are pinned to commit SHAs and workflows run with a read-only default token.
  • HTML entities are unescaped once in the MCP semantic audit (< stays <).
  • Test files no longer trigger CodeQL findings for URL checks, regular expressions or temporary files.

Quality

  • Expanded frontend, native and MCP regression coverage: frontend branches 99.6%, native lines 99.3%, functions 98.8%, branches 98.9% (unit tests only).
  • Preserved fallible production errors, bounded history reads and the 150-line code/test limit.
  • One application version source in package.json.
  • A security reporting policy and extended CodeQL scanning for JavaScript/TypeScript and GitHub Actions.

Downloads and updates

The selected distribution uses signed Tauri updates and installers without Apple/Windows system certificates. Operating systems may show publisher warnings. Download packages are listed in the release assets.

Thanks

Thank you @RafalSzy for contributions, topical diagnosis, detailed issue reports and regression-test feedback in PR #13 and subsequent reviews.

SEOmi v0.0.6

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:06
8946c84

Added

  • Google Analytics 4 authorization, property discovery and landing-page reports for the active project.
  • Joining observed GA4, Search Console and crawl data from comparable periods.
  • Topical diagnosis: multilingual documents, hubs, topics and recommendations for specific pages.
  • Importing multi-document topics into topical plans, with source URLs retained.

Fixed

  • Search Console property matching and actionable Google error messages.
  • Transient crawler retries, structured robots status and safer redirect handling.
  • External-link verification classes and per-host concurrency limits.
  • Comparable health-score versions, cross-page structured-data checks and page-specific content guidance.
  • Security-header interpretation and repeated-header handling.
  • Windows TLS error classification and desktop regression fixtures.
  • Embedded Unicode PDF fonts for Latin, Cyrillic, CJK and Arabic text, with long URL wrapping. Fonts are included only when used; the CJK font is currently embedded in full.
  • Isolated Windows renderer profiles prevent one WebView2 session from losing the next session’s capture callbacks.
  • Topical diagnosis distinguishes post navigation from listing pagination, folds redirect aliases, avoids unsupported link verdicts in legacy crawls and groups duplicate content.
  • Complete topic-pair evaluation within the 500-page bound, expandable verdict lists and migration of obsolete graph filters.
  • Stored credentials stay on the native side for desktop cloud AI; settings read credential presence rather than stored values.
  • MCP shutdown handlers are registered before the server announces readiness.
  • Renderer capture sources have standalone JavaScript syntax while retaining acknowledged transfers and duplicate-capture protection.

Changes since 0.0.5

  • Domain age lookup runs through a native RDAP command (validated hostname, HTTPS-only redirects, 1 MiB limit); the WebView policy no longer allows connections to arbitrary https: hosts (#35).
  • PDF reports draw multiword Arabic and mixed-direction text in right-to-left visual order while text extraction still returns the logical string (#30).
  • The release workflow's publish step passes --repo, so a finished build is published automatically.

Release and security

  • Releases publish automatically: when main carries an application version without a tag, the release workflow builds the macOS and Windows packages, creates the tag and publishes the release.
  • macOS packages now include the signed updater archive (.app.tar.gz), so in-app updates work on Apple Silicon and Intel; the release job no longer fails with "No signed updater artifacts were produced".
  • Third-party GitHub Actions are pinned to commit SHAs and workflows run with a read-only default token.
  • HTML entities are unescaped once in the MCP semantic audit (< stays <).
  • Test files no longer trigger CodeQL findings for URL checks, regular expressions or temporary files.

Quality

  • Expanded frontend, native and MCP regression coverage: frontend branches 99.6%, native lines 99.3%, functions 98.8%, branches 98.9% (unit tests only).
  • Preserved fallible production errors, bounded history reads and the 150-line code/test limit.
  • One application version source in package.json.
  • A security reporting policy and extended CodeQL scanning for JavaScript/TypeScript and GitHub Actions.

Downloads and updates

The selected distribution uses signed Tauri updates and installers without Apple/Windows system certificates. Operating systems may show publisher warnings. Download packages are listed in the release assets.

Thanks

Thank you @RafalSzy for contributions, topical diagnosis, detailed issue reports and regression-test feedback in PR #13 and subsequent reviews.

SEOmi v0.0.5

Choose a tag to compare

@github-actions github-actions released this 13 Oct 06:27
6fd7a98

Added

  • Google Analytics 4 authorization, property discovery and landing-page reports for the active project.
  • Joining observed GA4, Search Console and crawl data from comparable periods.
  • Topical diagnosis: multilingual documents, hubs, topics and recommendations for specific pages.
  • Importing multi-document topics into topical plans, with source URLs retained.

Fixed

  • Search Console property matching and actionable Google error messages.
  • Transient crawler retries, structured robots status and safer redirect handling.
  • External-link verification classes and per-host concurrency limits.
  • Comparable health-score versions, cross-page structured-data checks and page-specific content guidance.
  • Security-header interpretation and repeated-header handling.
  • Windows TLS error classification and desktop regression fixtures.
  • Embedded Unicode PDF fonts for Latin, Cyrillic, CJK and Arabic text, with long URL wrapping. Fonts are included only when used; the CJK font is currently embedded in full.
  • Isolated Windows renderer profiles prevent one WebView2 session from losing the next session’s capture callbacks.
  • Topical diagnosis distinguishes post navigation from listing pagination, folds redirect aliases, avoids unsupported link verdicts in legacy crawls and groups duplicate content.
  • Complete topic-pair evaluation within the 500-page bound, expandable verdict lists and migration of obsolete graph filters.
  • Stored credentials stay on the native side for desktop cloud AI; settings read credential presence rather than stored values.
  • MCP shutdown handlers are registered before the server announces readiness.
  • Renderer capture sources have standalone JavaScript syntax while retaining acknowledged transfers and duplicate-capture protection.

Release and security

  • Releases publish automatically: when main carries an application version without a tag, the release workflow builds the macOS and Windows packages, creates the tag and publishes the release.
  • macOS packages now include the signed updater archive (.app.tar.gz), so in-app updates work on Apple Silicon and Intel; the release job no longer fails with "No signed updater artifacts were produced".
  • Third-party GitHub Actions are pinned to commit SHAs and workflows run with a read-only default token.
  • HTML entities are unescaped once in the MCP semantic audit (< stays <).
  • Test files no longer trigger CodeQL findings for URL checks, regular expressions or temporary files.

Quality

  • Expanded frontend, native and MCP regression coverage: frontend branches 99.6%, native lines 99.3%, functions 98.8%, branches 98.9% (unit tests only).
  • Preserved fallible production errors, bounded history reads and the 150-line code/test limit.
  • One application version source in package.json.
  • A security reporting policy and extended CodeQL scanning for JavaScript/TypeScript and GitHub Actions.

Downloads and updates

The selected distribution uses signed Tauri updates and installers without Apple/Windows system certificates. Operating systems may show publisher warnings. Download packages are listed in the release assets.

Thanks

Thank you @RafalSzy for contributions, topical diagnosis, detailed issue reports and regression-test feedback in PR #13 and subsequent reviews.

SEOmi v0.0.3

Choose a tag to compare

@tomaszboloz tomaszboloz released this 01 Oct 10:34
9f1d3a8

This release merges PR #12 and addresses the follow-up in #11, plus the remaining reproducible cases from #7 and #9. Local AI clients keep their existing login directories. Claude research uses safe mode and only web tools; Codex disables user configuration, rules, project instructions, memory and web search; Gemini uses bounded research settings with context, skills, hooks, MCP and tools disabled. Unsupported CLI isolation flags produce an explicit upgrade error. Connection tests check authentication, and Gemini's explicit test makes one minimal subscription request. Prompts travel through stdin so Windows command shims cannot interpret prompt text as shell commands.

AI visibility now requires project-owned customer questions without the brand or domain, supports up to ten questions and five repetitions, and records the question, run, provider, search mode, mention position among tracked brands, competitor mentions, own-domain citations and share of voice. Name-only matches with no support for the supplied domain are excluded. Older branded reports remain readable and are labelled as recognition runs rather than visibility measurements. Both AI workspaces redact email addresses and local paths before saving; citations remain unverified unless independently checked against evidence.

The updater matches the native ReleaseNotFound variant. DataForSEO rejects unknown markets, shares project defaults, derives dofollow from the summary's referring_links_attributes.nofollow count, retains successful clustering snapshots and retries only missing keywords, warns about paid request counts, and records a successful rank check outside the top 100. Empty alt text no longer requires extra ARIA attributes; Polish function words are filtered; page audits receive timeout, redirect and TLS settings; missing CrUX percentiles remain unknown rather than zero. Browser capture transfers one acknowledged fragment at a time, retries dropped navigation and reports transfer failure promptly.

This is a source release. Signed macOS/Windows installers and an updater manifest require repository signing secrets, which are not configured. Automated tests cover the repaired behaviors; local provider accounts, paid APIs and complete desktop browser crawls still require environment-specific end-to-end verification.

Podziękowania / Thanks

Thank you @RafalSzy for PRs #1, #2 and #12, detailed reports #3–#9 and #11, reproducible API/CLI examples, macOS verification and the suggestions that shaped the visibility methodology. Your follow-up caught regressions and incomplete fixes in 0.0.2 and helped improve the regression tests.

Verified locally: 632 frontend tests, 311 Rust tests, 27 MCP tests; TypeScript/Vite production build; Tauri debug desktop build without bundling; cargo fmt and strict Clippy; npm audits report zero vulnerabilities in both Node packages. Desktop builds on macOS and Windows and dependency security checks are also covered by GitHub Actions.

Live Claude CLI smoke with the research isolation flags and prompt on stdin returned OK (exit 0). This verifies authentication plus a minimal response, not a full web-grounded visibility run.

Live Codex CLI smoke with the same research configuration and stdin prompt also returned OK (exit 0).

SEOmi v0.0.2

Choose a tag to compare

@tomaszboloz tomaszboloz released this 29 Sep 17:19
b9ff83c

SEOmi v0.0.2 closes the seven desktop evaluation issue reports from RafalSzy.

Highlights

  • Search Console Desktop OAuth client secret storage, refresh support, and ordered connect and resume requests
  • DataForSEO keyword response parsing, strict project aware markets, full searchable catalogues, partial clustering support, and corrected metrics
  • CrUX percentile units, string CLS parsing, threshold based ratings, and a clear not enough field data state
  • Safer AI visibility evidence, isolated local clients, redacted local context, and explicit browsing limitations
  • Reliable rendered crawler delivery, crawler settings wiring, decorative image handling, Polish readability bounds, and complete project backups
  • Updater missing manifest handling, clickable Lighthouse links, native English errors, settings for user agent and SSL verification, and aligned locale keys

Verification

Frontend 611 tests passed. Native Rust 302 tests passed. MCP server 27 tests passed. GitHub CI passed on macOS and Windows, including dependency scanning.

Thanks to RafalSzy for the detailed reports, reproduction steps, and earlier pull requests.

This is a source only release. Signed macOS and Windows installers are intentionally not attached until the required Apple, Windows, and Tauri signing secrets are configured. Unsigned desktop artifacts are not published.

SEOmi v0.0.1

Choose a tag to compare

@tomaszboloz tomaszboloz released this 28 Sep 11:56

SEOmi 0.0.1 source release for macOS and Windows. The repository tag points to the verified source commit. Signed desktop installers are not attached because release signing credentials are not configured yet. No unsigned desktop artifacts are published.