2026-10-19 (RTL-022): When a thread's browser page comes back with no post on it, the run reads that page once more. The re-read counts toward the same limits of 10 browser reads and 600 seconds per run; a second page with no post leaves the thread unread, as before. Billing is unchanged: at most one browser-thread-read event per thread that delivers rows.
2026-10-18 (RTL-021): A saved-session read or save failure no longer stops a run. Unreadable saved sessions are skipped; when the store cannot be read, the run sets up its own session and saves none; when a save fails, the run keeps its current session. Each failure logs one line and adds one to SUMMARY jarPoolErrors (new key).
2026-10-18 (RTL-020): Post search can fall back to HTML at sort=new with timeRange=all, whether new is set explicitly or supplied as the Apify default. Comment-search pages at those settings are read directly when they show comment results. Routing for other sorts and time ranges is in the RTL-017 entry.
2026-10-18 (RTL-017): Refused post searches at relevance with timeRange=all and profile histories at sort new read HTML, paging serially through each page's own next link. Profile HTML covers sort new only. Comment search at relevance with timeRange=all reads the page directly when it shows comment results and makes no JSON request to fill its fields. Paging stops at maxPostsPerSource or maxItems. Profile paging can also stop once every selected data type is older than its date filter; search filters by date without stopping. Browser expansion uses the listing permalink, with no HEAD request. Other post-search and profile sorts and time ranges keep JSON and report the refusal, as do media search, community and user search, and profile metadata. Other comment searches take comment IDs from the page and details from JSON. Profile post field losses match the 2026-10-16 HTML post table in README. Search-post and standalone-comment field differences are in the README table under "Search and profile HTML".
2026-10-18: A run may reuse an anonymous session saved by an earlier run, under six hours old, which skips session setup. When the rate limit is used up and the response says when it resets, it switches to another saved session or waits within maxRunSeconds, otherwise it reports the refusal; with session reuse active, a 429 never starts a new session. If no saved session can be used and none is waiting on a reset, the run sets up its own and tries once to save it, after a successful HTML page with recognized listing content. A session carrying Reddit's login cookie is never reused. Session cookies never appear in results, logs, SUMMARY or ERRORS. When session reuse is active, SUMMARY adds jarLeased, jarSource, jarParks, jarDeposits and bootstrapRequests.
2026-10-18: Dependencies pinned to exact version constraints and the base image to its digest.
2026-10-16: Refused community new listings use the server-rendered document and load-after partials. Limits stop paging without an extra page request; metadata errors stay separate from post delivery. README documents rendered body text, unavailable fields and the moderator-title removal marker. All-failed statuses name any recorded HTTP refusal codes instead of empty-input guidance. Other sorts, search, user sources and thread comment reads keep their routes.
2026-10-07: Refresh public listing and README copy in a docs-only rebuild; preserve runtime, schemas, prefills and pricing.
2026-10-14: When Reddit blocks a thread's data, read its web page instead (one page of comments, no "more replies"). SUMMARY and ERRORS report declared, captured and delivered comment counts. Billing is unchanged.
2026-10-14: Thread data 403/302 responses go directly to the browser read without identity retries, except in change-feed mode. Add browser-thread-read once per browser-read thread with delivered rows when that event is in the run's active pricing. The README states the ten-thread bound and explains billing before and after the event price takes effect.