v4.8.11

v4.8.11 is een stabiliteits- en correctheidsrelease die zich richt op robuustheid op macOS, serialisatie van externe tools en betrouwbaarheid van firmware-updates. Hij is gebouwd op Qt Creator 14.0.2 (ongewijzigd ten opzichte van de vorige release) en bevat geen ingrijpende wijzigingen voor gebruikersprojecten.

Hoogtepunten

  • macOS-crashverharding — een sporadische stille NSRangeException-afbreking is geëlimineerd die werd veroorzaakt door het bijwerken van selecties in boom-/lijst-/combostructuren voordat een paneel of pop-up volledig was opgebouwd of tijdens een asynchrone vernieuwing, in de outline-combo, oproep-/typehiërarchie, voltooiings- en locator-pop-ups, projectboom en meer.

  • Geserialiseerde externe tools — de voortgangsdialoog van de loader is nu applicatie-modaal en schort alle apparaat-polling op, zodat lopende dfu-util, bossac, picotool en de andere tools niet langer opnieuw kunnen worden binnengetreden door de camerastream of automatisch opnieuw verbinden.

  • Betrouwbare firmware-updates — automatisch opnieuw verbinden kan een firmware-update niet langer halverwege het flashen kapen, wat voorheen de echte voortzetting liet vallen en een misleidende DFU-dialoog liet verschijnen.

  • Hello World-veiligheid — het verbinden van een board overschrijft niet langer af en toe een Hello World-programma dat u erin hebt getypt, door te vergelijken met een ongewijzigde momentopname in plaats van met de onbetrouwbare gewijzigd-vlag.

  • Duidelijkere DFU-fouten — de fout “no matching interface” noemt nu het gedetecteerde board en de firmwarebestandsnamen die het accepteert in plaats van een ruwe VID/PID te tonen.

Nieuwe functies

  • ST Edge AI (STM32N6) produceert nu de verplaatsbare netwerkbinary rechtstreeks via de --relocatable-modus van de compiler, waarmee de aparte Python-verplaatsingsstap en het extra Relocation CLI Options-veld uit de dialoog zijn verwijderd (7613135c5).

Overige wijzigingen en verbeteringen

  • DFU-interfacefouten noemen nu het gedetecteerde board en geven de firmwarebestandsnamen weer die dat board accepteert, met aanwijzingen om het juiste bestand te hernoemen of te kiezen, in plaats van een ruwe VID/PID te tonen (ac509b369).

  • macOS-tabnavigatie-sneltoetsen gebruiken nu de bereikbare Cmd+Shift+[ / Cmd+Shift+] (vorige/volgende) en Cmd+Alt+[ / Cmd+Alt+] (verplaatsen) in plaats van de onbruikbare Ctrl+PageUp / Ctrl+PageDown; de bindingen op Windows en Linux zijn ongewijzigd (6c09e10b1).

  • Licentie-/boardverzoeken aan upload.openmv.io (check.php, insert.php, register.php) sturen nu een platformspecifieke browserachtige User-Agent zodat de licentieserver het besturingssysteem van de client kan identificeren (6bfd74b36).

Bugfixes

  • Een sporadische macOS-crash is opgelost (een stille NSRangeException-afbreking zonder crashdialoog) waarbij het bijwerken van selecties in boom-/lijst-/combostructuren terwijl een paneel of pop-up nog verborgen was of tijdens een asynchrone vernieuwing, zou indexeren in een niet-opgebouwde Cocoa-toegankelijkheidscache. Selecteren, scrollen en uitvouwen worden nu uitgesteld of bewaakt in de outline-combo, oproep-/typehiërarchie, codevoltooiings-pop-up, locator-pop-up, Save Items-dialoog, projectboom, mapnavigatie, Open Documents, de Issues/Tasks-lijst en de boomweergave-combobox (94c8f9def, ae40a3806, ed23b5c60, c6baf89cd, d7b6f5838, d8b70609c, 21740d9c2, 9217fc8a9, fe75924d5, 9cc247ffb, 3ca71e915, 559b6005f).

  • Een aparte macOS-crash (NSRangeException/SIGABRT) in de code-outline-combobox is opgelost, veroorzaakt door een verouderde index buiten bereik wanneer de Python-language-server symbolen asynchroon vernieuwde; setCurrentIndex valideert nu opnieuw de rij-/kolomgrenzen tegen het live model (3e0ce89f1).

  • De ROMFS-modeleditor en dataset-editor zijn verhard tegen asynchrone races in QFileSystemModel door het vooraf uitvouwen van de boom uit te stellen tot de map klaar is met laden en pas nieuw aangemaakte bestanden/mappen/modellen te selecteren zodra het model een geldige index voor ze heeft (5eaa91aff).

  • Externe-toolbewerkingen (dfu-util, bossac, picotool, alif, imx, ST Cube, mpy-cross, vela, ST Edge AI, videoconversie) laten de camerastream of in de wachtrij staand werk niet langer een apparaatbewerking binnentreden achter de lopende tool: de voortgangsdialoog van de loader is nu applicatie-modaal en apparaat-polling wordt volledig opgeschort zolang die wordt weergegeven (3069e8ec0).

  • Automatisch opnieuw verbinden kaapt een firmware-update niet langer halverwege het flashen, via een vastgehouden firmware-update-in-uitvoering-vlag die voor de hele geforceerde/bootloader-/wisbewerking is vastgezet en die de reconnect-timer nu ook controleert (b7745484a).

  • Het verbinden van een board overschrijft niet langer af en toe een Hello World-programma dat u erin hebt getypt, door het live document te vergelijken met een ongewijzigde momentopname die bij het openen is vastgelegd in plaats van te vertrouwen op de onbetrouwbare gewijzigd-vlag voordat het sensorspecifieke voorbeeld automatisch wordt gesynchroniseerd (6f4539d44).

  • Omhoog scrollen in de seriële terminal tijdens snelle continue uitvoer trekt de weergave niet langer terug naar de onderkant: de append-paden volgen nu de vastgehouden gebruiker-scroll-intentie-vlag in plaats van “onderaan” opnieuw af te leiden uit een scrollbalkpositie die elk fragment net opnieuw had vastgezet (9aea0f1a2).

  • Escape sluit nu betrouwbaar de Code Profiler-dialoog, ongeacht welke onderliggende widget de focus heeft (203ffd1e6).

  • Op macOS werken globale menu- en commando-sneltoetsen nu app-breed in plaats van alleen wanneer de editor de focus had, door de verborgen menubalk op elk platform onder het hoofdvenster te plaatsen (6d52cbe73).

  • De meegeleverde Python-interpreter wordt nu bij elke start als standaard afgedwongen, zodat een verouderde opgeslagen standaard de Python-language-server (voltooiing en oproephints) niet langer stilletjes uitschakelt (1d5069a52).

  • De OpenMV-instellingen-I/O is verhard tegen herintreding: beginGroup / endGroup op het gedeelde globale instellingenobject (die modale dialogen spawnen en geneste event-loops uitvoeren) zijn vervangen door volledige sleutelpaden, zodat een herintredende instellingentoegang tijdens een modale dialoog sleutels niet langer onder de verkeerde groep kan plaatsen. De paden op schijf zijn byte-identiek, zodat de instellingen van bestaande gebruikers exact behouden blijven (91e78a9e3, f4bb9f48c).

  • Een regressie is opgelost waarbij verschillende dialogen en helpers die het gedeelde instellingenobject ontvangen, kale-sleutel-I/O uitvoerden op de instellingenwortel in plaats van onder OpenMV/, waardoor de venstergeometrie, splitter en uitgevouwen status van het model zoo en de status van de zes loader-dialogen (dfu-util, imx, bossac, alif, picotool en ST Cube Programmer) verloren gingen, samen met de compileropties van mpy-cross, vela en ST Edge AI; de groep wordt nu in elke sleutel gebakken zodat het juiste pad wordt gebruikt (258448bdf).

Platform- en toolondersteuning

  • Qt Creator-basis: 14.0.2.

  • OpenMV IDE-versie verhoogd naar 4.8.11.

Ingrijpende wijzigingen

Geen. Alle wijzigingen zijn bugfixes en verbeteringen die op de bestaande Qt Creator 14.0.2-basis zijn gelegd; bestaande projecten en workflows blijven onaangetast.