Versiohistoria

Mitä uutta?

Sotekooste.fi-palvelun julkaisuhistoria ja versioittain tehdyt uudistukset, parannukset ja korjaukset. Nykyinen tuotantoversio on v0.25.1.

v0.25.1

Uusin

Riippuvuuksien tietoturvapäivitys ja Node.js 24

  • KorjausNext.js päivitetty tietoturvakorjattuun versioon 16.3.4.
  • KorjausKuvankäsittely- ja verkkokirjastot (sharp, undici) päivitetty tietoturvakorjattuihin versioihin.
  • ParannusPalvelun ajoympäristö päivitetty Node.js 24 -versioon.

v0.25.0

Tuotantopolkujen regressiosuoja ja tietoturvakorjaukset (Erä 1B)

Tuotantoskriptien kattava testaus, kuolleen koodin kytkentä, tilausreitin enumeraatiosuojan tiukennus ja lokien tietoturva.

  • ParannusTuotantoskriptit (generate-report ja send-newsletter) kytketty jaettuihin kirjastoihin ja suojattu kattavilla regressiotesteillä (H118, H119).
  • KorjausTilausreitin (/api/subscribe) enumeraatiosuoja säilyy myös sähköpostipalvelun häiriötilanteissa (H120).
  • KorjausSähköpostiosoitteet maskataan automaattisesti myös ulkoisten palveluiden virhelokeista (H121).
  • KorjausEpäonnistuneen katsausajon jatkaminen päivittää olemassaolevan rivin eikä jätä arkistoon orpoa PDF:töntä katsausta (H122).
  • ParannusIdempotenssitestit tehty täysin aikavyöhykeriippumattomiksi ilman ehdollisia tarkistuksia (H124).

v0.24.2

Lähdelinkkien tietoturvakorjaukset (tarkastuskierros 6)

Uutisotsikko tai lähteen osoite ei voi enää lisätä katsaukseen omaa linkkiään.

  • KorjausUutisotsikossa oleva automaattilinkki ei enää tuota lähdeluetteloon toista, vierasta linkkiä (H116).
  • KorjausLähdeuutisen osoite koodataan ennen katsaukseen liittämistä, joten poikkeava osoite ei voi avata omaa linkkiään (H117).

v0.24.1

Tarkastuskierroksen 6 korjaukset (Erä 1)

Lähetyksen ja generoinnin kestävyysparannukset, tietoturvakorjaus markdown-linkkeihin ja virheenkäsittely.

  • KorjausResend API -virheet käsitellään oikein: epäonnistunut lähetys ei enää kirjaudu sent_log-tauluun, eikä tilaaja jää ilman kirjettä (H52).
  • KorjausPelkistä tyhjämerkeistä koostuva TEST_EMAIL-syöte hylätään turvallisesti, eikä se muutu joukkolähetykseksi kaikille tilaajille (H53).
  • KorjausKatsauksen generoinnin idempotenssitarkistus lasketaan aina Helsingin aikavyöhykkeellä, jolloin sunnuntai-illan ja maanantaiaamun ajot osuvat luotettavasti samaan viikkoon myös UTC-ajurilla (H54).
  • KorjausUutisotsikot ja lähteet escapetoidaan markdown-lähdeluettelossa, mikä estää erikoismerkkien aiheuttaman linkkikaappauksen ja linkkien rikkoutumisen (H55).
  • ParannusLähetyksen tilaajatarkistus suoritetaan ennen PDF:n noutoa ja Blob-haku on suojattu virheensiedolla, jolloin tilapäinen yhteysvirhe ei kaada maanantain no-op-varmistusajoa (H44).
  • KorjausGeneroinnin idempotenssi vaatii valmiin pdf_url-osoitteen, jolloin maanantain varmistusajo korjaa sunnuntaina kesken kaatuneen katsauksen (H45).

v0.24.0

Varmistusajo uutislähteen katkoksen varalle

Viikkokatsaus yritetään nyt automaattisesti uudelleen, jos uutislähde on nurin ensimmäisellä yrityksellä.

  • UuttaMaanantaiaamun varmistusajo tekee katsauksen, jos yöllinen ajo ei sitä saanut tehtyä. Onnistuneen yön jälkeen se ei tee mitään eikä kuluta tekoälykutsuja, eikä uutiskirje voi lähteä kahteen kertaan.
  • KorjausViikon 35 katsaus jäi tekemättä, koska uutislähde palautti virhettä kaikkiin 72 hakuun yli 17 minuutin ajan. Tyhjää katsausta ei lähetetty — alarajavahti pysäytti ajon oikein — mutta kirje jouduttiin ajamaan käsin.
  • ParannusAjastuksen valvonta kohdistuu edelleen vain yölliseen ajoon, jottei varmistusajo peitä kokonaan ohittunutta ajastusta.

v0.23.1

Muutoslokin täsmäytys ja testien todistusvoima

Riippumattoman tarkastuskierroksen 5 havaintojen pohjalta tehdyt korjaukset.

  • KorjausMuutoslokin julkaisupäivämäärät täsmäytetty versiohistoriaan; kahdeksan vanhinta merkintää oli 1–12 vuorokautta pielessä ja nanoid-korjaus näkyi väärän version alla.
  • ParannusMuutoslokin järjestys lukittu regressiotestillä, joka vertaa versiot numeerisesti — aiempi testi lupasi nimessään tarkistaa järjestyksen mutta ei tarkistanut sitä.
  • KorjausKehittäjädokumentaatio täsmäytetty todellisuuteen: haaratiedot, ajastetun lähetyksen ja valvontapingin todennus sekä käyttämättömän lipukesävyn poisto.

v0.23.0

Sivuston versionhallinta ja "Mitä uutta?" -muutosloki

Palvelun kehitys ja versiohistoria on nyt avoimesti luettavissa suoraan sivustolta.

  • UuttaUusi "Mitä uutta?" -sivu (/mita-uutta), joka kokoaa palvelun kehityshistorian ja julkaisumuutokset yhteen paikkaan.
  • UuttaAlatunnisteen versioilmoitus ja suora linkki muutoslokiin.
  • ParannusSivukartta (sitemap.xml) päivitetty kattamaan muutoslokisivu.

v0.22.1

Tuoreusvalvonnan ja kehitysympäristön tarkennukset

Riippumattoman tarkastuskierroksen 4 havaintojen pohjalta tehdyt täsmennykset.

  • KorjausTuoreusvalvonnan kattavuussäännön docstring korjattu vastaamaan koodin todellista toimintaa (tilauslomakkeen luontihetki) ja confirmed_at-rajoite dokumentoitu.
  • KorjausNext.js 16.3:n generoima agentRules-lohko otettu versionhallintaan, jotta kehityspalvelimen käynnistys ei jätä committoimattomia muutoksia.
  • KorjausTestimäärä ja katsaustunnisteen H29-regressioinjektio ajantasaistettu dokumentaatioon.

v0.22.0

Turvallisuuden, testauksen ja valvonnan vahvistus

Kattava laatu- ja tietoturvakierros kolmannen tarkastuksen löydöksiin.

  • ParannusNext.js päivitetty versioon 16.3.0 ja tietoturvatarkastusten (audit-ci) sallintalista tyhjennetty.
  • KorjausKatsaustunnisteen tulkinta suojattu tiukasti (tulkitseKatsausId), estäen poikkeavat URL-parametrit ja palvelinvirheet.
  • KorjausTuoreusvalvonnan kattavuussääntö eriyttää katsauksen luomisen jälkeen liittyneet tilaajat aiheettomien hälytysten välttämiseksi.
  • ParannusRegressiotestien kattavuus laajennettu 112 testiin ja lukittu vikainjektioilla.

v0.21.1

Uutislähteiden tarkennus ja haku-uusinnan todennus

  • KorjausMediuutiset poistettu uutislähteistä mittausdatan osoittaman tuloksettomuuden perusteella.
  • ParannusUutishaun automaattinen uudelleenyritys todennettu aitoa RSS-jäsennintä ja HTTP-virhekäyttäytymistä vasten.

v0.21.0

Täsmällinen lähetysaika ja kaksitasoinen ajonvalvonta

Uutiskirjeen toimitusvarmuuden merkittävä parannus.

  • UuttaLähetyshetki naulattu klo 7.00 Suomen aikaa Resendin scheduledAt-ajastuksella, poistaen GitHub Actionsin ajastinviiveiden vaikutuksen.
  • UuttaAutomaattinen tuoreusvalvonta (freshness.yml) tarkistaa maanantaisin katsauksen luonnin ja tilaajakattavuuden.
  • UuttaDead-man's switch -heartbeat-tuki ajastetun generointiajon valvomiseksi.

v0.20.1

Riippuvuuden tietoturvapäivitys

  • KorjausPäivitetty nanoid tietoturvakorjattuun versioon.

v0.20.0

Tietokantapohjainen rate limiting ja luotettavuusparannukset

  • UuttaTilausreitin pyyntörajoitus (rate limit) jaettuun PostgreSQL-tietokantaan atomisella upsertilla serverless-instanssien välille.

v0.19.0

Tekstisähköpostit ja suojattu peruutuskäytäntö

  • UuttaAutomaattinen tekstiversio (plain text) kaikkiin lähetettäviin uutiskirjeisiin toimitettavuuden parantamiseksi.
  • UuttaUutiskirjeen peruutuspainike ohjaa vahvistussivulle, suojaten tilauksia sähköpostijärjestelmien automaattisilta linkkiskannereilta.
  • ParannusKatsauksen generointi tallentaa ja lokittaa lopullisen koosteen lähdejakauman.

v0.18.0

Kaksitasoinen uutishaun virheensieto

  • UuttaUutishaun kaksitasoinen uusintalogiikka (yksittäiset eksponentiaaliset pyyntöretryt ja usean minuutin kierrostason uusintahaku).
  • KorjausPeräkkäisten lähdelinkkien typografinen erottelu verkko- ja PDF-näkymässä.

v0.16.0

Sote-ammattimediat ja laajennettu haku

  • UuttaSote-alan ammattimedioiden seuranta ja laajennettu hakuikkuna.
  • UuttaKoeajolähetystuki (TEST_EMAIL) uutiskirjeen tarkastamiseen ennen tilaajalähetystä.

v0.14.0

Tekoäly ja digitalisaatio -osiot koosteeseen

  • UuttaViikkokatsaukseen omat teemoitetut osiot: tekoäly sote-alalla & julkisessa hallinnossa sekä digitalisaatio & tiedonhallinta.

v0.12.0

Saavutettavuusuudistus ja HTML-arkisto

  • ParannusTäysi WCAG 2.1 AA -saavutettavuus: kontrastit, näppäimistöfokukset, ruudunlukijamerkinnät ja skip-to-content -linkki.
  • UuttaKatsausten HTML-verkkonäkymät ja selattava verkkoarkisto (/arkisto ja /arkisto/[id]).

v0.7.0

Skandinaavinen toimituksellinen ulkoasuuudistus

  • UuttaUusi toimituksellinen ilme, typografiajärjestelmä, selkeä osiojako ja responsiivinen ulkoasu.

v0.1.0

Sotekooste.fi julkaistu

Palvelun ensimmäinen versio.

  • UuttaViikoittainen tekoälykooste sote-uutisista, automaattinen PDF-raportin generointi WeasyPrintillä ja Resend-sähköpostijakelu tilaajille.