Skip to content

Releases

Marsad v0.7.4

Choose a tag to compare

@github-actions github-actions released this 04 Nov 17:18
  • Marsad sections on the WordPress Dashboard (the home screen after login). In Settings each role card, administrators included, has "On the WordPress Dashboard": the ticked sections appear there as boxes with their key numbers for the last 28 days and a link to the full section. Users can hide or move them under Screen Options. A role nobody configured gets the overview; a section the role may not see never appears.

Marsad v0.7.3

Choose a tag to compare

@github-actions github-actions released this 04 Nov 17:10
  • Overview shows only what a role may see: no platform card, finding or "All" link that leads to a hidden section (the Site & hosting card stayed visible to roles without the Hosting tab).

Marsad v0.7.2

Choose a tag to compare

@github-actions github-actions released this 04 Nov 17:08
  • Settings: whether a role sees the statistics is now the first switch in that role's card, next to its sections and platforms. The separate list at the top could disagree with the cards: a role given sections there still saw nothing.

Marsad v0.7.1

Choose a tag to compare

@github-actions github-actions released this 04 Nov 16:45
  • Live stream platforms are stored as keys and named in each admin's own language when shown (they were stored in the site's language at push time).
  • The collector counts a viewer only when media segments are downloaded: playlist-only requests (health checks, link previews) are not watching.

Marsad v0.7.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 16:43
  • Live stream: a collector for the streaming server (server/stream, Python, systemd timer) counts who watches the HLS stream and on what — website, live player page, iPhone and Android apps, Samsung/LG/Fire/Roku/Apple/Android TVs, IPTV players, other sites playing the stream, re-broadcasting tools — and pushes counts only (no IPs) to /wp-json/marsad/v1/push/stream. Viewers a day, hours watched, peak viewers at once, and "watching now".
  • Roles: Settings chooses, per role, which dashboard sections it sees and which platforms it may connect (the Google account, own sources, or single sources). The Connections page then shows that role only those cards; every handler checks the same rule.
  • X (Twitter) (paid API plan required), Threads (token renewed weekly, pasted once) and TikTok (refresh token rotated automatically).
  • Social audience in the headline now includes X, Threads and TikTok.
  • The All time subtitle no longer shows one start date that contradicts sources keeping longer history.
  • docs/google-oauth-verification.md: everything Google's app verification asks for.
  • Translations for all 15 languages.

Marsad v0.6.1

Choose a tag to compare

@github-actions github-actions released this 04 Nov 00:35
  • The total in the middle of the channels donut is drawn left-to-right, so Arabic, Persian and Urdu screens no longer cut it at the ring.
  • Search Console tables say "5,000+" when Google stopped at the requested limit, instead of presenting the limit as the true count.

Marsad v0.6.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 00:30
  • Range snapshots: for 7, 28, 90 and 365 days and all time, Marsad stores Google's own report of the period (deduplicated users, impression-weighted CTR and position, full tables, previous-period comparison), refreshed in the background with a shared time budget. Visitors now match Google Analytics (e.g. 5,132 active users for 28 days, where the daily average 209 was shown before).
  • Google Analytics 4: 29 reports: totals, pages, landing pages, channels, source/medium, campaigns, social, referrals, countries, cities, languages, devices, OS, browsers, models, resolutions, new vs returning, age, gender, an hour-by-day heatmap, events, key events, site search terms, outbound links, and the Site Kit dimensions (authors, publish dates, scroll depth, video). Live visitors refresh every minute.
  • Search Console: web, image, video, news, Discover and Google News totals; up to 1,000 queries and 500 pages with previous values; countries, devices, search appearance, query→page; opportunities with estimated extra clicks; rising and falling queries; sitemaps.
  • Overview: headline numbers from Google's reports, key findings in plain sentences, one card per platform, channels donut, devices, top countries, new vs returning and search-type splits.
  • Tables: sortable, filterable, "show all", change column, CSV export that Excel opens correctly (formulas neutralised).
  • Hardening from an independent review: honest comparisons when the previous period is not kept, ranges that crash the host are retried last and reported, lower memory, refresh on every hourly run, old property data dropped when the property changes, failed saves reported.
  • Translations for all 15 languages.

Marsad v0.5.2

Choose a tag to compare

@github-actions github-actions released this 03 Nov 23:20
  • Google Play: a 403 from the reports bucket now names the account and the exact Play Console permission to grant ("View app information and download bulk reports"), in every language, instead of the raw storage error.

Marsad v0.5.1

Choose a tag to compare

@github-actions github-actions released this 03 Nov 22:57
  • "Connect with Google" appears only when Marsad Connect can actually sign in (checked through its new status.php); otherwise the card explains the way that works today instead of sending people to an error page.
  • Translation sources live in languages/source/ so rebuilds keep every string.

Marsad v0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 22:55
  • 15 languages: the plugin follows each admin's own WordPress language: Arabic, English, French, Spanish, German, Italian, Portuguese, Russian, Turkish, Persian, Urdu, Hindi, Indonesian, Chinese and Japanese. Regional variants fall back to their language. bin/l10n-catalog.php and bin/l10n-build.php keep them complete; a test fails on any missing string or broken placeholder.
  • YouTube without access: paste any public channel's link or @handle. Numbers come through Marsad Connect's shared key, so no key is needed (your own key and Connect with Google remain).
  • Instagram without access: follow any public business or creator account by username (Business Discovery, read through your own connected account).
  • Every setup step has a button that opens the exact page it talks about.
  • Full history: the WordPress source imports every day since the first post and keeps it regardless of the retention setting. Posts later moved to the trash still count on the day they were published.
  • Deleted posts: posts moved to the trash per day, posts deleted permanently (counted from install), and posts by status (published, drafts, pending, scheduled, private, trash).
  • All time range, with monthly columns for long periods.