Išleista stabili spinta versija 1.0.0

Jeigu jau naudojate naujausią Spinta pre-release versiją, papildomų pakeitimų nepastebėsite - stabili 1.0.0 versija yra identiška naujausiai pre-release versijai. Jeigu naudojate Spinta 0.1.85 ar senesnę versiją, atnaujinant gali būti daugiau pakeitimų.

Svarbu prieš atnaujinant:

  • Prieš diegiant stabilią Spinta 1.0.0 versiją rekomenduojama pasidaryti visų DSA aprašų atsargines kopijas ir sukurti keymap duomenų bazės atsarginę kopiją.

Esminiai pokyčiai:

  • Pakeista spinta upgrade komandos sintaksė - nebereikia naudoti -r; skriptai perduodami tiesiogiai kaip argumentai. Galima perduoti kelis skriptus iš karto.
  • Palaikomi nauji DSA stulpeliai: status, visibility, eli (neprivalomi).
  • Pridėta rezervuota _same_as savybė, leidžianti paprasčiau keisti DSA.
  • Pridėtas SOAP + WSDL backend.
  • Pridėti perkėlimo įrašai redirect ir /:move, leidžiantys patogiau keisti duomenis.
  • Pridėtos spinta comment ir spinta uncomment komandos, leidžiančios paprasčiau pridėti ir pašalinti komentarus.
  • Pridėtas Mermaid diagramų generavimas naudojant spinta copy.
  • Pridėtas Python 3.13 ir Python 3.14 palaikymas.
  • Nutrauktas Python 3.9 palaikymas.

Nauji išoriniai backend'ai ir duomenų tipai:

  • Oracle SDO_GEOMETRY;
  • SAS per JDBC;
  • Oracle LONG RAW;
  • MySQL BLOB ir JSON tipai.

Patobulinimai:

  • spinta inspect nebesustoja ties neatpažintais duomenų tipais. Jei tipas neatpažįstamas, DSA jis pažymimas kaip UNKNOWN, todėl vėliau jį galima patikslinti rankiniu būdu.
  • Pridėtas konfigūracijos parametras check_ref_filters, suteikiantis galimybę išjungti numatytąjį netiesioginį filtravimą pagal susietų modelių filtrus.

Išleista spinta versija 0.2dev28

Šioje versijoje ištaisytos kelios su lentelinio (tabular) manifesto apdorojimu susijusios klaidos bei atlikti podėlio (cache) nustatymų patobulinimai, didinantys sistemos patikimumą ir stabilumą.

  • Klaidų pataisymai:
    • Ištaisytas duomenų tipų nustatymas lentelinio (tabular) manifesto skaitytuve, todėl modifikatoriai, tokie kaip required ar unique, nebetrukdo teisingai nustatyti tėvinės struktūros. backref tipo array dabar teisingai atpažįstamas kaip nuorodų masyvas (array backref), o pakartotinai apibrėžiant object arba array savybę su modifikatoriumi nebemetama klaidinga įdėties (nesting) klaida (#1970).
  • Patobulinimai:
    • Saugesni podėlio (cache) nustatymai.

Išleista spinta versija 0.2dev26 (pre-release)

Patobulinimai:

  • Pridėta validacija, kuri grąžina klaidą, kai vardinis enum (turintis ref) deklaruojamas tiesiogiai prie savybės (property), o ne prie dataset. Anksčiau tokia konfigūracija būdavo tyliai priimama (#1935).
  • Pridėtas naujas pagalbinis mechanizmas, analogiškas esamam ref keitimui object. Kai modelio bazės (base) nepavyksta rasti manifeste, vietoj klaidos bazė iš modelio pašalinama, o šalia pridedama sisteminė komentaro eilutė, kad vėliau bazę būtų galima atkurti (#1928).
    • spinta comment - papildyta, kad apimtų ir bazės atkūrimo komentarus
    • spinta uncomment - papildyta, kad atkurtų bazės eilutes
  • Pakeista internal postgresql duomenų bazės variklio konfigūracija - dabar tikrinama, ar ryšiai su duomenų baze vis dar galiojantys (nebenaudojami nutrūkę ryšiai) (#1965).
  • Pridėta konfigūracijos parinktis check_ref_filters (numatytoji reikšmė - true). Nustačius false, modelis nebebus netiesiogiai filtruojamas pagal modelių, į kuriuos jis rodo (ref), filtrus (#1901).

Naujos funkcijos:

  • Įgyvendintas prieigos sričių (scope) taikymas duomenų prieigai riboti. Sritys aprašomos manifeste ir taikomos kiekvienai užklausai - jos nustato, kurias eilutes ir laukus gali matyti duomenų naudotojas (#1937).
    • Srities filtrai pritaikomi po naudotojo užklausos sąlygų patikrinimo, todėl naudotojas negali jų apeiti ar pašalinti.
    • Jei naudotojo filtras prieštarauja srities filtrui (pvz., country_code='de', kai sritis leidžia tik country_code='lt'), grąžinamas tuščias rezultatas - apribojimas nėra apeinamas.
    • Kai sritis apibrėžia matomus laukus per select(...), bandant filtruoti ar rikiuoti pagal paslėptą lauką grąžinama klaida PropertyNotFound - taip neatskleidžiama, kad toks laukas apskritai egzistuoja.

Klaidų taisymai:

  • Ištaisyta klaida, dėl kurios getone metodas sql duomenų šaltinyje (backend) negrąžindavo ref duomenų (#1900).
  • Ištaisyta count() funkcija, kuri netinkamai veikė su dask duomenų šaltiniais (#1950).
  • Ištaisytas eq palyginimas, kuris netinkamai veikė su dask duomenų šaltiniais lyginant Number, Integer ir Boolean reikšmes (#1959).