=== TickerRelay Free Stories ===
Contributors: tickerrelay
Tags: sports, ticker, scores, local news
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 0.4.14
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Put your latest stories across the top of your site, with optional live sports coverage from TickerRelay.

== Description ==

TickerRelay adds a moving top rail to an ordinary WordPress site. It works as
soon as it is activated: the free version shows the site's five newest public
posts and does not require an account, key, or outside connection.

Choose Broadcast Rail for a scrolling line or Spotlight Rail for one complete
story or score at a time. Both are included. Choose a design and sitewide or
inline placement from Settings > TickerRelay Setup.

TickerRelay branding is optional and off by default on every plan. Enable the
Ticker credit setting to show a small linked credit in your selected design.
The same design is used in sitewide and inline placement.

Empty lanes and their controls are hidden. If there are no usable Stories or
games, the ticker leaves no blank strip. It returns when content is available.
Local Stories remain available while hosted setup waits or fails.

Live scores are an optional hosted service. They are not required for the free
Stories ticker. TickerRelay makes no external request unless an administrator
explicitly saves a site feed key in the setup screen.

Publishers can request a no-card 7-day Scores trial from the setup screen. A
trial does not renew or begin billing automatically. TickerRelay confirms the
requested teams and leagues before supplying a one-site feed key. When hosted
access expires, the plugin returns to the local Stories ticker and keeps the
publisher's saved display choices.

== Installation ==

1. Install and activate TickerRelay Free Stories.
2. Visit the public site. The Stories rail is already on.
3. Open Settings > TickerRelay Setup to change its placement or style.
4. Optional: save a TickerRelay site feed key to add the sports lanes included with your service.

== Frequently Asked Questions ==

= Can I connect another website's stories? =

This native plugin reads public posts from this WordPress installation. For
sister-site feeds, authorized partner feeds, or manually approved sports
updates, ask for the hosted embed setup. That embed can also run on WordPress.

= Does this version support WordPress Multisite? =

No. It supports ordinary single-site installations. Activation is rejected on
a Multisite installation, including activation for just one network site.

= How long can a story headline be? =

Long headlines stay in the ticker. Only unusually long titles are shortened
for display, and the link still opens the original article. The post itself
is never edited. Wrapping designs let readers scroll longer titles when needed.
Draft, private, and password-protected posts are excluded.

= Does the free ticker need a TickerRelay account? =

No. It reads ordinary published posts from the same WordPress site. Drafts,
password-protected posts, and off-site links are not included.

= Can I change the ticker design? =

Yes. Broadcast Rail is the default. Included styles and the optional
inline placement are available under Settings > TickerRelay Setup.

= Does the Scores trial require a payment card? =

No. The 7-day trial is available by request, does not renew automatically, and
does not remove the free Stories ticker when it ends.

= Does the plugin contact an outside service? =

Not in free mode. If an administrator chooses to connect hosted sports
coverage, WordPress makes authenticated server-side requests to the fixed
TickerRelay feed described below. Visitors' browsers continue to request only
the site's own WordPress REST endpoint.

== External services ==

Optional sports coverage uses the TickerRelay sports-data service operated by
TickerRelay. After an administrator explicitly saves a site feed key, the
plugin requests
`https://tickerrelay-sports-data-production.up.railway.app/v1/feed` about once
per minute through the WordPress HTTP API. Each request sends the site-bound
feed credential in an Authorization header, the canonical WordPress home URL
in an X-TickerRelay-Site header, and the previous response identifier when one
exists. These values are used to authenticate the site, select its configured
coverage, and return current feed data. The credential is never sent to public
page visitors.

Service information: https://tickerrelay.com/

Privacy policy: https://tickerrelay.com/privacy

== Changelog ==

= 0.4.14 =

* Kept long wrapping stories and ticker controls within a smaller reading area on short or zoomed-in screens.

= 0.4.13 =

* Kept large Unicode story and score updates readable with WordPress's default JSON encoding.

= 0.4.12 =

* Kept long story headlines and their original links instead of skipping stories.
* Shortened only unusually large titles for display, without splitting emoji or changing posts.
* Kept wrapping headlines readable with keyboard scrolling, pause and reading-position retention.

= 0.4.11 =

* Kept local Stories available during first connection, interrupted setup, rejected access, and expiry.
* Made connection status reflect received data rather than a saved key or schedule.
* Hid empty lanes and restored the ticker when new content arrives.
* Applied the chosen design in inline placement and made opted-in credit visible.
* Prepared a separate two-design Free directory edition while retaining the earlier seven-design edition.

= 0.4.10 =

* Made TickerRelay branding optional and off by default, including after background updates.
* Added the publisher and product links to the plugin details.
* Improved WordPress-specific input checks, output escaping, and URL handling for directory review.

= 0.4.9 =

* Added Spotlight Rail with complete stories and scores.
* Simplified Broadcast Rail and kept readers' selections through background updates.
* Added keyboard browsing, full headline reading, reduced-motion controls and automatic page spacing for the new layouts.

= 0.4.8 =

* Added a no-card request path for a 7-day hosted Scores trial.
* Returns to free Stories when hosted authorization ends while keeping the publisher's saved display choices.

= 0.4.7 =

* Added the account-free Stories ticker as the default activation experience.
* Kept Fixed Category Rail as the default while allowing included styles to be changed in Settings.
* Added a separate WordPress.org package profile that relies only on WordPress.org for plugin updates.
