Fix
f1ada68 ↗
Site changelog
Compiled from the GitHub main-branch history, covering SKYTICAL from its creation through the latest site change.
168
site changes
2026-07-26
History starts
2026-10-05
Updated through
Automated hourly news, daily briefing and flight-state data commits are omitted so operational refreshes do not bury real site changes.
View the complete GitHub commit history ↗
Feature
5e9f73a ↗
Added morning, afternoon and evening aviation briefing editions each day. The homepage shows the latest edition, with reports organised into safety, Taiwan aviation and international industry sections and browsable by date and time.
Design
1fa4b2e ↗
Set the homepage headline carousel to advance every 2.5 seconds while keeping manual controls and hover/focus pause behavior.
Design
e00c33f ↗
Added DeepSeek V4 Flash to article bylines so readers can identify the actual drafting model used.
Fix
9a0ae79 ↗
Moved GPT-6 Luna to the end of the model fallback order and reserved enough time for earlier routes to run, allowing its slower MAX reasoning to take over while keeping each story bounded.
Fix
7cb4894 ↗
Extended per-call and per-story time budgets for GPT-6 Luna MAX reasoning to reduce premature termination of longer model responses.
Feature
4d30a92 ↗
Added OpenAI GPT-6 Luna with MAX reasoning to automatic drafting and the manual model catalog, with structured output and usage tracking.
System
76a765f ↗
Queued hourly runs now refresh persisted news retry and provider cooldown state before processing, avoiding stale limits from an older event revision.
Fix
3833978 ↗
Counted malformed or truncated model responses against each story's retry cap so unusable output cannot bypass retry limits and consume repeated resources.
System
a2b0de4 ↗
Added retry caps and cooling intervals across news runs so failed older stories do not repeatedly crowd out new items. News lists now sort by article publication time, with source publication time shown separately.
Feature
3f565b4 ↗
Added an All news link to the shared English and Chinese site navigation for direct access to the full news index.
Fix
1e90310 ↗
Fixed the homepage latest-news list so headline stories remain in the chronological feed even when also shown in the featured carousel.
Fix
16f5a72 ↗
Lowered the minimum length for source-supported brief drafts and bounded per-story drafting time. Unfinished stories remain available for retries instead of blocking the full run.
System
6135a20 ↗
Added backward-compatible article normalization at the build read boundary so historical stories remain renderable when newer optional fields are absent. Also added a build safety budget that blocks publication when render failures exceed five pages or 1%, preventing broadly incomplete site versions from reaching production.
System
87d95e4 ↗
Decoupled radar and manual-news builds from the shared GitHub Pages publication queue so only final deployment is serialized. Temporary radar-source outages now keep the last successful snapshot and skip deployment, while persistent provider cooldowns reduce repeated timeouts, quota exhaustion and authentication failures across runs.
Fix
f0eaa94 ↗
Aligned chronological ordering on the homepage, news index and search with the displayed source publication time, falling back to article publication time when unavailable or invalid. Older stories generated later no longer appear above newer news.
Feature
f5fee49 ↗
Added a pilot publishing path for ChatGPT scheduled news, validating bilingual copy, sources, verification records, news timestamps and event identifiers before using the existing site build. The original automated news pipeline remains available.
System
2d7f169 ↗
Limited each drafting attempt to 180 seconds and each regular news drafting run to 15 minutes. Completed drafts are saved when the budget expires, while remaining stories stay available for retries.
Fix
a0fd69b ↗
Recovered source inputs for the STARLUX–American codeshare and Vietnam Airlines Munich interim report while preserving original dates, deduplication and verification rules. Adjusted model fallback order to reduce repeated timeouts.
Fix
6a56892 ↗
Improved draft repair retries with specific validation errors while retaining evidence and length requirements. Prioritized investigation updates and new codeshare agreements, and recorded stalled runs when pending news produced no publications.
System
62c6950 ↗
Moved hourly news collection to minute 45 to reduce scheduling delays around the top of the hour.
Fix
745e354 ↗
Strengthened source binding for explicit dates, times, counts and aviation technical identifiers. New structured entities must carry a source URL and verbatim supporting quote, for both automatic and manually initiated drafting.
Fix
c39b2f5 ↗
Allowed news and briefing deployments to finish when radar data is temporarily unavailable without producing an empty snapshot. Independent radar updates still report source failures.
Feature
3e19d27 ↗
Enabled search supplementation and overviews for morning, afternoon and evening briefings, with event-based categorization and section introductions. Search items require source timestamps within the issue window, and pages list deduplicated cited sources.
Fix
101e0ac ↗
Allowed source-supported military and other state-aircraft events in the incident database regardless of article category, and clarified its scope and classification notes.
System
f865ed3 ↗
Serialized production news, briefing and radar publication in a shared queue to prevent concurrent GitHub Pages deployment failures, and corrected Simplified Chinese text in a homepage flash.
Fix
f962812 ↗
Added pre-publication Traditional Chinese checks for article copy, summaries, flashes and incident fields, and corrected affected titles and summaries in existing articles and a morning briefing.
Fix
8c737d6 ↗
Restored direct official or media source URLs for 14 historical articles that only had Google News redirects, and added archive-wide checks requiring at least one direct source for every active article.
System
228e24c ↗
Expanded pre-merge regression coverage for flight tracking, airport codes, source extraction, fact checking, briefings and images, and made test-file changes trigger regression checks.
Fix
2c13757 ↗
Added a fallback source for aircraft tracking, labeled observations by the source actually used, prevented repeated queries to one provider from counting as independent corroboration, and expanded airport-name recognition.
Design
8452d44 ↗
Improved the homepage live-news rail with fixed time and headline columns, two-line truncation for long headlines, and stable spacing when priority labels are present.
Feature
56b5863 ↗
Added airline IATA/ICAO code recognition to search, restricting results through structured airline identities and requiring whole-token matches for one-to-three-character Latin searches so short codes such as DE cannot match ordinary words.
Fix
ae00adb ↗
Fixed daily search suggestions becoming ineffective after the next rotation by persistently linking displayed suggestions to their source articles and backfilling 272 existing bilingual suggestion pairs.
Fix
d4c8c6e ↗
Fixed airline stories whose brand names do not contain the words Airline or Aviation being incorrectly excluded, while limiting daily search suggestions to articles that will appear in the search index.
Fix
f7a6578 ↗
Fixed daily search suggestions drifting from the article index by linking each suggestion to its source article and preventing generic hints from being submitted as searches.
Feature
7f51371 ↗
Added a Taiwan-focused headline carousel to the homepage, prioritizing Taiwan-related aviation news with eight-second autoplay, previous/next controls, pause support and accessible controls.
Fix
7e03c1c ↗
Fixed the radar display for Spring Airlines' legacy flight-code alias by preserving the raw upstream callsign, canonicalizing the known historical 9S alias to the current 9C only in IATA view, and adding regression coverage.
Design
89bf712 ↗
Unified the public interface, historical articles, image credits and project links under SKYTICAL, while updating legacy asset URLs.
Fix
5f29896 ↗
Fixed an iPad portrait layout issue that could apply desktop ordering, keeping the lead story before the live ticker and source status while aligning the navigation breakpoint.
Fix
e8e1f7b ↗
Fixed suggested searches that could return no results by applying the selected suggestion to empty searches, allowing one synonymous fragment in strict matching, and expanding bilingual suggestion regression coverage.
Fix
67c2a6a ↗
Strengthened aircraft evidence for source images by using an AeroTime image filename when it clearly matches a verified aircraft entity. Multi-airline, multi-aircraft stories may use the model actually shown by a bound source photo, while models absent from structured entities remain rejected; successful recovery also clears stale rejection state.
Fix
46d611b ↗
Fixed subject labels for multi-aircraft event photos by using the aircraft actually identified in AeroTime's source caption, rejecting captions that explicitly name a model absent from the headline, and rechecking existing automatic source images after parser upgrades.
Fix
34015a5 ↗
Improved source-image coverage for non-aircraft stories when the image is bound to the cited article and its caption directly verifies the primary headline organization or an exact short named subject; indirect context images and long illustrative captions remain rejected.
Fix
997d7b5 ↗
Expanded officially verified modern-fleet matching for the Delta and Delta Connection brand relationship and regional E175s, added the in-service American Airlines A321XLR as a representative type, and recognized full A330-800neo and A330-900neo variant names.
Fix
9e77fc8 ↗
Fixed image matching for fleet-transition stories so a photo may depict any aircraft type explicitly named in the headline; verified brand aliases now support airline checks, with an explicit competing-carrier guard to prevent incidental words such as photographer names from causing false matches.
Fix
17d9359 ↗
Expanded shared airline image rules with official fleet roles and brand aliases for Air Canada, Alaska, JetBlue, Breeze, EgyptAir and Frontier, so stories without a named aircraft prefer representative current types such as the 787, 737 MAX, A321neo or A220 while article-specific aircraft remain the highest priority.
Fix
b3fc232 ↗
Improved AeroTime image recovery by matching WebP-wrapped thumbnails and short organisation credits such as IAI, while immediately retrying stale negative cache entries after parser upgrades; third-party library photos still require airline and aircraft evidence so unrelated images such as Air Force One are rejected.
Fix
08e6974 ↗
Improved representative airline imagery with shared fleet roles for flagship, regional and cargo stories, preference for high-resolution landscape photos, and removal of a single-airline hard-coded aircraft fallback; also corrected six existing stories that inappropriately used a China Airlines 737-800.
Fix
e909a09 ↗
Improved news-image availability by supporting credited AeroTime event photos, resolving aircraft registrations from structured entities, and accepting exact-airframe photos when a freighter subtype is verified; lookup capacity now scales with the due backlog and cached misses retain rejection reasons.
Design
f2a0004 ↗
Replaced unavailable homepage disruption totals with a link to FlightAware's public live statistics.
Design
7d22cf1 ↗
Shortened the Anak Krakatau photo caption while retaining its capture date in image metadata.
Fix
63f5add ↗
Added a matching historical file photo for Anak Krakatau with author, licence and source attribution.
Editorial
981120f ↗
Expanded Asian airline fleet coverage and official Hainan Airlines sources while preserving original publisher attribution.
Design
84910e3 ↗
Stabilised mobile live-ticker typography with separate sizing and weights for stories and timestamps.
Fix
d2edd8e ↗
Fixed transient iPhone header spacing during logo loading and ticker text painting outside its viewport.
System
a601588 ↗
Removed persistently failing automatic drafting routes to reduce update delays from repeated failed requests.
Fix
d307b1d ↗
Improved regional-airline and parent-brand image matching to avoid rejecting valid aircraft file photos.
Feature
0d07e37 ↗
Made each morning, afternoon and evening briefing a complete 24-hour digest, with separate Taiwan civil and military aviation sections.
Feature
0959f7c ↗
Added breadcrumb structured data and improved sitemap modification dates, article authorship and social-sharing metadata.
Fix
31db04c ↗
Improved portrait iPad navigation, homepage reading order and single-column radar layout without horizontal overflow.
Design
3dbd19c ↗
Completed Chinese and English social-sharing locale metadata and preview-image alternative text.
Feature
243d6c7 ↗
Added news-index pagination and strengthened airport-code and original-source links, excluding unresolved aggregator URLs from public pages.
Feature
c27c1f1 ↗
Added bilingual news indexes and RSS, deferred search-index loading and strengthened story-scope and recent-image checks.
Design
9fa79e3 ↗
Shortened homepage priority for weather-related national-airline flight changes to 16 hours.
Fix
8e4d4d6 ↗
Strengthened recent-news image relevance checks against unrelated airlines, aircraft, terminals, cabins and accident imagery.
Fix
1a4adf7 ↗
Included airport short names in first-mention IATA annotation and added Chicago O'Hare aliases.
Feature
1bea1c0 ↗
Added five-minute homepage rotation for qualifying weather-related national-airline flight-change stories.
Fix
b875e03 ↗
Excluded cabin interiors from generic airline image fallbacks in favour of matching exterior aircraft photos.
Feature
4ed4256 ↗
Linked the homepage weekly serious-event count to the matching incident list and full articles.
Design
8b4981d ↗
Expanded summary width on home and topic pages to reduce premature desktop line wrapping.
Fix
a885e0f ↗
Kept neutral imagery for multi-event safety roundups and prevented later fallback stages from attaching single-event photos.
Editorial
e3ce6b5 ↗
Separated unrelated events in safety roundups, expanded aircraft and location descriptions and avoided treating a roundup as one incident.
Editorial
313e035 ↗
Standardised the Chinese term for aircraft age and prevented the road-vehicle equivalent.
Fix
9dd8e10 ↗
Adjusted iPhone header SVG loading to reduce grey fringes during scaling.
Fix
be52359 ↗
Added summary-boundary checks to prevent incomplete sentences caused by legacy truncation.
Editorial
104d516 ↗
Standardised the Taiwan Chinese rendering of Heathrow Airport.
Design
0761997 ↗
Restored the approved SKYTICAL logo master in headers and footers and removed the redrawn wing overlay.
Editorial
519140e ↗
Added database-backed first-mention airport IATA annotation before publication without guessing ambiguous names.
Editorial
cd2869b ↗
Added trusted sources associated with Airway magazine for cross-source news verification.
Feature
dd34481 ↗
Extended image search to identified airports worldwide while retaining licence, relevance and site-fallback checks.
Design
b13ab59 ↗
Added a clearly labelled SKYTICAL fallback image when a verified news photo is unavailable.
Feature
962442d ↗
Launched skytical.tech and updated bilingual URLs, sitemaps and search and sharing metadata.
Editorial
80e5614 ↗
Backfilled significant public site, news-quality and interface changes from 29 July through 10 August.
Design
766b4e4 ↗
Limited visible news summaries to the homepage while retaining article text and search metadata.
Fix
b62f106 ↗
Prevented summaries from splitting names, dropping the event or leaving isolated keywords.
Feature
68ba63c ↗
Added Apple-style homepage summaries covering the operator, place, time and impact at a glance.
Feature
97af30c ↗
Added brief in-article highlighting for search terms and their aliases after opening a result.
Design
b739f1f ↗
Moved the Google-style news search field into the global site header.
Feature
4d92c55 ↗
Added airline short-name and formal-name alias matching to news search.
Feature
e51a50d ↗
Added search suggestions generated from each day's published news.
Fix
1c34ad0 ↗
Replaced an outdated China Airlines image and limited the age gap for generic aircraft photos.
Fix
f361a47 ↗
Strengthened airline and aircraft image matching to prevent unrelated operator photos.
Editorial
bd3e362 ↗
Improved rare-aircraft identification with operator, region, model and route context.
Feature
4c1f36e ↗
Added the actual drafting model used to each article footer.
Editorial
0a6cfb2 ↗
Updated drafting rules to preserve IATA codes for airports named in a story.
Editorial
96c755a ↗
Tightened article copy and banned reader-irrelevant descriptions of data and editorial processing.
Fix
3b0abbc ↗
Corrected responsive layout, navigation and news-list display on iPhone.
Design
7ab6038 ↗
Improved the typography and scrolling speed of the mobile LIVE ticker.
Fix
75399e0 ↗
Completed additional airline-code mappings used by the live flight radar.
Design
922d70d ↗
Rebranded the site as SKYTICAL with its new logo and the tagline “SKYLINE TO AVIATION NEWS.”
Editorial
22f96f0 ↗
Improved cross-source event enrichment so related reports can jointly support drafting.
Feature
228aef5 ↗
Added Aerospace Global News as an aviation news source.
Feature
ed12f59 ↗
Added AeroTime as an aviation news source.
System
026dd73 ↗
Configured drafting-model priority and quality profiles.
Fix
499af3d ↗
Corrected and backfilled the Daily Briefing pages.
Editorial
4b7895f ↗
Revised the site changelog with neutral, precise and consistent technical language
Feature
f17b545 ↗
Added a bilingual site changelog and a footer entry point on every page
Fix
3d06ac0 ↗
Prevented civil-company results from being classified as military solely because they mention secondary defence operations
Feature
c2170da ↗
Added official aircraft and engine manufacturer news sources
System
616fa8c ↗
Refined drafting-model credits in article footers
Editorial
51d2778 ↗
Manually reviewed and published the SWISS LX16 Bangor smoke diversion
Design
0e1f146 ↗
Simplified the automated-generation notice and model credit in article footers
Feature
d4ce44d ↗
Added traceable verified historical context and controlled brief fallback to drafting
Feature
155cb67 ↗
Added ICAO/IATA callsign switching and origin-destination routes to flight radar
Feature
1089c36 ↗
Added the Taiwan civil ADS-B flight radar
Editorial
62f691b ↗
Filtered military stories without a direct aviation or transport subject
Editorial
9883b8b ↗
Strengthened relevance filtering and added article archiving
Editorial
dbbb047 ↗
Enforced minimum length and paragraph requirements for full articles
Fix
e7f04f4 ↗
Corrected the Taiwan rendering of Gatwick
Feature
867faaf ↗
Added the military news category and front-end label
Fix
883d47b ↗
Synced current briefing data before hourly builds to prevent deployment races
Design
ffe2f63 ↗
Replaced internal service-limit details with neutral reader-facing source-availability notices
Fix
e3c6b6a ↗
Enforced briefing-versus-formal-article separation during rendering
Editorial
b309c74 ↗
Made briefings standalone bulletins instead of mirrors of formal articles
Feature
bd65912 ↗
Added verified SKYTICAL statistics as comparison context for PLA aircraft and vessel activity reports
Design
8fb3716 ↗
Linked each homepage live-update item directly to its corresponding story
Editorial
d157938 ↗
Turned excerpt-only feeds into discovery indexes instead of full-article evidence
Editorial
ca02039 ↗
Added content-integrity checks and conservative handling for derivative reports with insufficient evidence
Editorial
c89ebbe ↗
Added a programmatically validated glossary for Taiwan-standard proper-name renderings
Fix
1440c88 ↗
Included response bodies in retrieval-augmented briefing failure diagnostics
Fix
2d31eaf ↗
Prevented an empty retrieval-model setting from overriding the default model ID
Feature
3c569d9 ↗
Added the approved retrieval-augmented source scan to the briefing preview
Feature
9e13218 ↗
Standardised the briefing format and added Taiwan military aviation and transport sources
Feature
7f4234e ↗
Enabled direct publication of special-aircraft observations after automated rule-based verification
Design
a7e8d76 ↗
Changed news imagery to full-frame colour display with subject labels
Feature
c207832 ↗
Added airport aliases and official-agency source fallback to image matching
Feature
e568151 ↗
Fed official-page full text into drafting to support full-length articles
Feature
e817e0b ↗
Added automated matching of reusable news imagery through public sources that require no third-party API credentials
Feature
54cc760 ↗
Added three daily air-and-transport briefings on fixed Taipei windows
Editorial
6dc975b ↗
Rewrote the methodology page to reflect the complete editorial standards
Design
6661e3d ↗
Started crediting the actual drafting model in article footers
Feature
f2a0da1 ↗
Added Taiwan special-aircraft arrival detection and source-text normalisation
Fix
4679522 ↗
Resolved all 12 adversarial-review findings in the model reasoning profiles
System
09ee870 ↗
Added per-model reasoning profiles, a DeepSeek V4 Pro fallback route and improved observability
Fix
68142ff ↗
Excluded completeness-check rejections from the per-run drafting cap
System
7251de3 ↗
Made the news recency window configurable
Editorial
8984f05 ↗
Added editorial-rejection handling and a code-level completeness pre-check
System
af752fc ↗
Mapped the configured NVIDIA NIM credential environment variable in CI
System
5605953 ↗
Added model-level failover routing under the configured model-service policy
Feature
17124bb ↗
Upgraded drafting to a multi-provider model and editorial verification engine v2
Design
0f78821 ↗
Changed the site to a centred 1280px content sheet with side gutters
System
c6907c9 ↗
Added public-source headline aggregation without model API dependencies and resolved 18 review findings
System
75ce323 ↗
Imported the first production source data and completed the empty-state site build
System
f60f59f ↗