v4.8.11

A v4.8.11 egy stabilitási és helyességi kiadás, amely a macOS robusztusságára, a külső eszközök sorosítására és a firmware-frissítés megbízhatóságára összpontosít. A Qt Creator 14.0.2 verziójára épül (változatlan az előző kiadáshoz képest), és nem tartalmaz a felhasználói projekteket érintő, kompatibilitást törő változtatásokat.

Kiemelt újdonságok

  • macOS összeomlás-megerősítés — megszüntettük az időszakos, néma NSRangeException megszakítást, amelyet az okozott, hogy fa-/lista-/legördülő kijelölések frissültek, mielőtt egy panel vagy felugró ablak teljesen felépült volna, illetve aszinkron frissítés közben — a vázlat-legördülőben, a hívási/típus-hierarchiában, a kiegészítés és a lokátor felugró ablakaiban, a projektfában és máshol.

  • Sorosított külső eszközök — a betöltő folyamatjelző párbeszédablaka mostantól alkalmazás-modális, és felfüggeszti az összes eszközlekérdezést, így a dfu-util, bossac, picotool és a többi futó eszközbe a kamerafolyam vagy az automatikus újracsatlakozás már nem léphet be ismételten.

  • Megbízható firmware-frissítések — az automatikus újracsatlakozás már nem ragadhatja el a firmware-frissítést a flashelés közben, ami korábban eldobta a valódi folytatást és egy hamis DFU párbeszédablakot dobott fel.

  • Hello World biztonság — egy kártya csatlakoztatása már nem írja felül alkalmanként a Hello World programot, amelybe beírtál, mivel egy érintetlen pillanatképpel hasonlít össze a megbízhatatlan „módosított” jelző helyett.

  • Érthetőbb DFU hibák — a „no matching interface” hiba mostantól megnevezi az észlelt kártyát és az általa elfogadott firmware-fájlneveket, ahelyett hogy egy nyers VID/PID-et írna ki.

Új funkciók

  • Az ST Edge AI (STM32N6) mostantól közvetlenül a fordító --relocatable módjával állítja elő az áthelyezhető hálózati binárist, megszüntetve a külön Python áthelyezési lépést és a párbeszédablak extra Relocation CLI Options mezőjét (7613135c5).

Egyéb változások és fejlesztések

  • A DFU interfész-hibák mostantól megnevezik az észlelt kártyát, és felsorolják az adott kártya által elfogadott firmware-fájlneveket, útmutatással a fájl átnevezéséhez vagy a megfelelő fájl kiválasztásához, ahelyett hogy egy nyers VID/PID-et írnának ki (ac509b369).

  • A macOS fülnavigációs gyorsbillentyűk mostantól az elérhető Cmd+Shift+[ / Cmd+Shift+] (előző/következő) és Cmd+Alt+[ / Cmd+Alt+] (áthelyezés) kombinációkat használják a lenyomhatatlan Ctrl+PageUp / Ctrl+PageDown helyett; a Windows és Linux kiosztások változatlanok (6c09e10b1).

  • A upload.openmv.io címre küldött licenc-/kártyakérések (check.php, insert.php, register.php) mostantól platformfüggő, böngészőstílusú User-Agent fejlécet küldenek, így a licencszerver azonosítani tudja a kliens operációs rendszerét (6bfd74b36).

Hibajavítások

  • Javítottunk egy időszakos macOS összeomlást (néma NSRangeException megszakítás összeomlási párbeszédablak nélkül), ahol fa-/lista-/legördülő kijelölések frissítése miközben egy panel vagy felugró ablak még rejtve volt vagy aszinkron frissítés alatt állt, egy fel nem épült Cocoa akadálymentesítési gyorsítótárba indexelt. A kijelölés, görgetés és kibontás mostantól késleltetve vagy védetten történik a vázlat-legördülőben, a hívási/típus-hierarchiában, a kódkiegészítés felugró ablakában, a lokátor felugró ablakában, a Save Items párbeszédablakban, a projektfában, a mappanavigációban, az Open Documents ablakban, az Issues/Tasks listában és a fanézet-legördülőben (94c8f9def, ae40a3806, ed23b5c60, c6baf89cd, d7b6f5838, d8b70609c, 21740d9c2, 9217fc8a9, fe75924d5, 9cc247ffb, 3ca71e915, 559b6005f).

  • Javítottunk egy másik macOS összeomlást (NSRangeException/SIGABRT) a kódvázlat-legördülőben, amelyet egy elavult, tartományon kívüli index okozott, amikor a Python nyelvi szerver aszinkron módon frissítette a szimbólumokat; a setCurrentIndex mostantól újraellenőrzi a sor-/oszlophatárokat az élő modellhez képest (3e0ce89f1).

  • Megerősítettük a ROMFS modellszerkesztőt és az adathalmaz-szerkesztőt a QFileSystemModel aszinkron versenyhelyzeteivel szemben azáltal, hogy a fa előzetes kibontását elhalasztjuk, amíg a könyvtár betöltése be nem fejeződik, és az újonnan létrehozott fájlokat/mappákat/modelleket csak akkor jelöljük ki, ha a modellnek már van érvényes indexe hozzájuk (5eaa91aff).

  • A külső eszközök műveletei (dfu-util, bossac, picotool, alif, imx, ST Cube, mpy-cross, vela, ST Edge AI, videókonvertálás) mostantól nem engedik, hogy a kamerafolyam vagy a sorba állított munka ismételten belépjen egy eszközműveletbe a futó eszköz mögött: a betöltő folyamatjelző párbeszédablaka mostantól alkalmazás-modális, és az eszközlekérdezés teljesen fel van függesztve, amíg az megjelenik (3069e8ec0).

  • Az automatikus újracsatlakozás már nem ragadhatja el a firmware-frissítést a flashelés közben, egy ragadós „firmware-frissítés folyamatban” jelzőnek köszönhetően, amely a teljes kényszerített/rendszerbetöltő/törlés művelet idejére be van zárolva, és amelyet az újracsatlakozási időzítő mostantól szintén ellenőriz (b7745484a).

  • Egy kártya csatlakoztatása már nem írja felül alkalmanként a Hello World programot, amelybe beírtál, mivel az élő dokumentumot egy a megnyitáskor rögzített érintetlen pillanatképpel hasonlítja össze, ahelyett hogy a megbízhatatlan „módosított” jelzőre támaszkodna, mielőtt automatikusan szinkronizálná az érzékelőnkénti példát (6f4539d44).

  • A soros terminálban felfelé görgetés gyors, folyamatos kimenet közben már nem rántja vissza a nézetet az aljára: a hozzáfűzési útvonalak mostantól a ragadós „felhasználói görgetési szándék” jelzőt követik, ahelyett hogy az „alul van” állapotot egy görgetősáv-pozícióból vezetnék le újra, amelyet minden egyes adatdarab épp az imént rögzített újra (9aea0f1a2).

  • Az Escape mostantól megbízhatóan bezárja a Code Profiler párbeszédablakot, függetlenül attól, hogy melyik gyermek-vezérlőn van a fókusz (203ffd1e6).

  • macOS-en a globális menü és parancs gyorsbillentyűk mostantól az egész alkalmazásban működnek, nem csak akkor, amikor a szerkesztőn van a fókusz, azáltal, hogy a rejtett menüsort minden platformon a főablakba ágyazzuk (6d52cbe73).

  • A csomagolt Python interpreter mostantól minden indításkor alapértelmezettként van kényszerítve, így egy elavult, eltárolt alapértelmezés már nem tiltja le némán a Python nyelvi szervert (kiegészítés és hívási tippek) (1d5069a52).

  • Megerősítettük az OpenMV beállítások I/O-ját az újrabelépéssel szemben: a megosztott globális beállításobjektumon végzett beginGroup / endGroup hívásokat (amelyek modális párbeszédablakokat indítanak és beágyazott eseményhurkokat futtatnak) teljes kulcsútvonalakra cseréltük, így egy modális párbeszédablak alatti újrabelépő beállítás-hozzáférés már nem helyezhet el kulcsokat tévesen rossz csoport alá. A lemezen lévő útvonalak bájtra azonosak, így a meglévő felhasználók beállításai pontosan megmaradnak (91e78a9e3, f4bb9f48c).

  • Javítottunk egy regressziót, ahol több párbeszédablak és segédobjektum, amely a megosztott beállításobjektumot kapja meg, csupasz kulcsú I/O-t végzett a beállítások gyökerében az OpenMV/ alatt helyett, elveszítve a model zoo ablakgeometriáját, elválasztóját és kibontott állapotát, valamint a hat betöltő párbeszédablak állapotát (dfu-util, imx, bossac, alif, picotool és ST Cube Programmer) az mpy-cross, vela és ST Edge AI fordítóbeállításokkal együtt; a csoport mostantól minden kulcsba be van sütve, így a helyes útvonal kerül felhasználásra (258448bdf).

Platform- és eszköztámogatás

  • Qt Creator alap: 14.0.2.

  • Az OpenMV IDE verziója 4.8.11-re emelkedett.

Kompatibilitást törő változtatások

Nincsenek. Minden változtatás hibajavítás és fejlesztés, amely a meglévő Qt Creator 14.0.2 alapra épül; a meglévő projekteket és munkafolyamatokat ez nem érinti.