PhotonVision v2025.0.0-beta-1
Too many things to list; get it while it’s hot! Vendor JSON is attached to the release.
I’m eternally thankful to everyone who helped pitch in and push us across the finish line to a beta release, and especially to all of our new contributors!! I actually had to go back and delete all the @ mentions because we exceeded CD’s ping limit in a single post, which is a fantastic problem to have .
Unfortunately, we still can’t fix what we don’t know about (and believe us, we tried all the witchy mind-reading spells we could); please create an issue on GitHub or reach out on Discord if anything seems funky.
Major Changes
- Create timesync JNI by mcm001 in Create timesync JNI for testing client by mcm001 · Pull Request #1433 · PhotonVision/photonvision · GitHub
- See Time Synchronization Protocol Specification, Version 1.0 - PhotonVision Docs
- This is a relatively spicy change
- Undistort pitch/yaw using opencv by mcm001 in Undistort pitch/yaw using opencv by mcm001 · Pull Request #1250 · PhotonVision/photonvision · GitHub
- Charuco Support by BytingBulldogs3539 in Charuco Support by BytingBulldogs3539 · Pull Request #1312 · PhotonVision/photonvision · GitHub
- Add sequence ID, capture, publish and receive timestamp to PhotonPipelineResult by mcm001 in Add sequence ID, capture, publish and recieve timestamp to PhotonPipelineResult by mcm001 · Pull Request #1305 · PhotonVision/photonvision · GitHub
- Means you don’t have to check timestamps to determine if a result is newer - the sequence number will have incremented! (or rolled over)
- Implement class id/conf in photonlib by mcm001 in Implement class id/conf in photonlib by mcm001 · Pull Request #1266 · PhotonVision/photonvision · GitHub
- Auto-generate packet dataclasses with Jinja by mcm001 in Auto-generate packet dataclasses with Jinja by mcm001 · Pull Request #1374 · PhotonVision/photonvision · GitHub
- Add message UUID and type names to hash and message definition by mcm001 in Add message UUID and type names to hash and message defintion by mcm001 · Pull Request #1409 · PhotonVision/photonvision · GitHub
- Use ReadQueue for PhotonCamera timestamps by mcm001 in Use ReadQueue for PhotonCamera timestamps by mcm001 · Pull Request #1316 · PhotonVision/photonvision · GitHub
- Deprecated getLatestResult but no intent to remove it; it’s still useful
- So many camera matching bugfixes
- Adds support for OV9782’s quirks by gautvm in Adds support for OV9782's quirks by gautvm · Pull Request #1284 · PhotonVision/photonvision · GitHub
- Fix OV9782 by Juniormunk in Fix OV9782 by Juniormunk · Pull Request #1358 · PhotonVision/photonvision · GitHub
- Fixes windows not allowing auto exposure prop for the ov2311 by r4stered in Fixes windows not allowing auto exposure prop for the ov2311 by r4stered · Pull Request #1407 · PhotonVision/photonvision · GitHub
- Fix setting gain to max on cameras that don’t have a gain quirk by crschardt in Fix setting gain to max on cameras that don't have a gain quirk by crschardt · Pull Request #1424 · PhotonVision/photonvision · GitHub
- Revised 9782 defaults by gerth2 in Revised 9782 defaults by gerth2 · Pull Request #1431 · PhotonVision/photonvision · GitHub
- See3Cam_24CUG Quirks by Bankst in See3Cam_24CUG Quirks by Bankst · Pull Request #1302 · PhotonVision/photonvision · GitHub
- Equal only by usb paths by Juniormunk in Equal only by usb paths by Juniormunk · Pull Request #1481 · PhotonVision/photonvision · GitHub
- Guess more reasonable numbers for 9782 by mcm001 in Guess more reasonable numbers for 9782 by mcm001 · Pull Request #1477 · PhotonVision/photonvision · GitHub
- Another config matching bug by Juniormunk in Another config matching bug by Juniormunk · Pull Request #1518 · PhotonVision/photonvision · GitHub
- Fix windows NPEs around exposure+klogs by mcm001 in Fix windows NPEs around exposure+klogs by mcm001 · Pull Request #1529 · PhotonVision/photonvision · GitHub
- Big scary nuke my config buttons by mcm001 in Big scary buttons by mcm001 · Pull Request #1471 · PhotonVision/photonvision · GitHub
- Calibration Rotation! by Juniormunk in Calibration Rotation! by Juniormunk · Pull Request #1464 · PhotonVision/photonvision · GitHub
QOL Changes
- https://docs.photonvision.org/ redirects to the latest stable (eg PhotonVision Docs)
- This requires someone to do this manually for now
- Pipe kernel logs into Photon logs for USB debugging, export syslogs on settings export by mcm001 in Create FileLogger JNI by mcm001 · Pull Request #1517 · PhotonVision/photonvision · GitHub
- Copy common fields when changing pipeline type by mcm001 in Copy common fields when changing pipeline type by mcm001 · Pull Request #1461 · PhotonVision/photonvision · GitHub
- Create combine job and offline vendordep ZIP by mcm001 in Create combine job and offline vendordep ZIP by mcm001 · Pull Request #1343 · PhotonVision/photonvision · GitHub
- Allows installing PhotonVision offline, easier install of development versions without a local build environment
All Other Changes
- Fix mjpg stream accumulation by DevonRD in Fix mjpg stream accumulation by DevonRD · Pull Request #1293 · PhotonVision/photonvision · GitHub
- Sticky calibration camera display card by DevonRD in Sticky calibration camera display card by DevonRD · Pull Request #1294 · PhotonVision/photonvision · GitHub
- Give up early on empty frames by mcm001 in Give up early on empty frames by mcm001 · Pull Request #1296 · PhotonVision/photonvision · GitHub
- [Client] Fix issue with clearing multitag buffer by DevonRD in [Client] Fix issue with clearing multitag buffer by DevonRD · Pull Request #1299 · PhotonVision/photonvision · GitHub
- Kill deprecated 2025 stuff by mcm001 in Kill deprecated 2025 stuff by mcm001 · Pull Request #1311 · PhotonVision/photonvision · GitHub
- Change sim to use 36h11 tags when doing multitag by r4stered in Change sim to use 36h11 tags when doing multitag by r4stered · Pull Request #1314 · PhotonVision/photonvision · GitHub
- Bump libcamera to fix picam v1, remove duplicate opencv by mcm001 in Bump libcamera to fix picam v1, remove duplicate opencv by mcm001 · Pull Request #1263 · PhotonVision/photonvision · GitHub
- Allow file uploads of any size and better report active cameras in PhotonCamera error print by mcm001 in Allow file uploads of any size and better report active cameras in PhotonCamera error print by mcm001 · Pull Request #1298 · PhotonVision/photonvision · GitHub
- Disable Arm32 Builds by Craftzman7 in Disable Arm32 Builds by Craftzman7 · Pull Request #1325 · PhotonVision/photonvision · GitHub
- [PhotonLib C++] Fix SetVersionCheckEnabled to actually disable version checking by r4stered in [PhotonLib C++] Fix SetVersionCheckEnabled to actually disable version checking by r4stered · Pull Request #1323 · PhotonVision/photonvision · GitHub
- Update README.md by amquake in Update README.md by amquake · Pull Request #1321 · PhotonVision/photonvision · GitHub
- Move PhotonVersion to C++ file by mcm001 in Move PhotonVersion to C++ file by mcm001 · Pull Request #949 · PhotonVision/photonvision · GitHub
- Bump wpilib to latest dev by mcm001 in Bump wpilib to latest dev by mcm001 · Pull Request #1327 · PhotonVision/photonvision · GitHub
- Publish generated proto sources by mcm001 in Publish generated proto sources by mcm001 · Pull Request #1328 · PhotonVision/photonvision · GitHub
- Disable transitive dependency resolution for known bad deps by mcm001 in Disable transitive dependency resolution for known bad deps by mcm001 · Pull Request #1329 · PhotonVision/photonvision · GitHub
- Point to new reposolite repo by mcm001 in Point to new reposolite repo by mcm001 · Pull Request #1330 · PhotonVision/photonvision · GitHub
- Allow opencv8 distortion model in PhotonCamera by mcm001 in Allow opencv8 distortion model in PhotonCamera by mcm001 · Pull Request #1317 · PhotonVision/photonvision · GitHub
- Fix mac released jar naming by mcm001 in Fix mac released jar naming by mcm001 · Pull Request #1332 · PhotonVision/photonvision · GitHub
- Change default AprilTag family to 36h11 by spacey-sooty in Change default AprilTag family to 36h11 by spacey-sooty · Pull Request #1333 · PhotonVision/photonvision · GitHub
- Warn when getBestCameraToTarget returns 0, 0, 0 by spacey-sooty in Warn when getBestCameraToTarget returns 0, 0, 0 by spacey-sooty · Pull Request #1334 · PhotonVision/photonvision · GitHub
- Fix libcamera not found bug by Juniormunk in Fix libcamera not found bug by Juniormunk · Pull Request #1326 · PhotonVision/photonvision · GitHub
- Send “Camera lost stream” frames when we get null images by Juniormunk in Camera Lost Stream by Juniormunk · Pull Request #1341 · PhotonVision/photonvision · GitHub
- Add photon.pb.h to cpp headers zip by mcm001 in Add photon.pb.h to cpp headers zip by mcm001 · Pull Request #1335 · PhotonVision/photonvision · GitHub
- Only download necessary files in release step by mcm001 in Only download necessary files in release step by mcm001 · Pull Request #1344 · PhotonVision/photonvision · GitHub
- Only publish to maven on main fork by mcm001 in https://github.com/PhotonVision/photonvision/pull/1345
- Bump libcamera driver version by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1346
- Revert “Warn when getBestCameraToTarget returns 0, 0, 0” by mcm001 in https://github.com/PhotonVision/photonvision/pull/1351
- CSI Camera null quirks error by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1349
- Support more charuco boards by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1348
- Attempt to bump to 2025.0.0-alpha-1 by mcm001 in https://github.com/PhotonVision/photonvision/pull/1356
- Move docs in-source by mcm001 in https://github.com/PhotonVision/photonvision/pull/1357
- Update docs on docs about docs by mcm001 in https://github.com/PhotonVision/photonvision/pull/1360
- Use pnpm instead of npm by srimanachanta in https://github.com/PhotonVision/photonvision/pull/1375
- Fixed spelling error by MADMAN-Modding in https://github.com/PhotonVision/photonvision/pull/1376
- Revert “Use pnpm instead of npm” by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1382
- Run wpiformat by mcm001 in https://github.com/PhotonVision/photonvision/pull/1379
- Use new OrangePi5 images and add OrangePi5 Pro by crschardt in https://github.com/PhotonVision/photonvision/pull/1388
- Add API docs to sidebar by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1383
- Add rsync & sphinx-autobuild docs by mcm001 in https://github.com/PhotonVision/photonvision/pull/1391
- Update install.sh for OPi5 Ubuntu 24.04 by crschardt in https://github.com/PhotonVision/photonvision/pull/1390
- Move to using Absolute Exposure Range by gerth2 in https://github.com/PhotonVision/photonvision/pull/1352
- Add OrangePi5b image to generated images by crschardt in https://github.com/PhotonVision/photonvision/pull/1394
- Document how to install PhotonLib of specific version by victkk in https://github.com/PhotonVision/photonvision/pull/1392
- Switch from RST to MyST Markdown by mdurrani808 in https://github.com/PhotonVision/photonvision/pull/1395
- Document Charuco by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1398
- Update RPI Image 7/4/24 by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1373
- [photon-client] Upgrade to Vite 5 by stephenjust in https://github.com/PhotonVision/photonvision/pull/1402
- Populate CameraSettingsStore with placeholder value if no cameras are present by stephenjust in https://github.com/PhotonVision/photonvision/pull/1401
- Fix getTarget docs by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1404
- Photonlibpy - Best Target Function #1223 by mcm001 in https://github.com/PhotonVision/photonvision/pull/1406
- Removed CalibDB by mdurrani808 in https://github.com/PhotonVision/photonvision/pull/1396
- Client log view improvements by DevonRD in https://github.com/PhotonVision/photonvision/pull/1385
- fix: reflection bug in
onDataChangeEvent
by Alextopher in https://github.com/PhotonVision/photonvision/pull/1416 - Examples Clean-Up by gerth2 in https://github.com/PhotonVision/photonvision/pull/1408
- Roll Back to 2024.3.2 by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1423
- Support selecting Object Detection models by Alextopher in https://github.com/PhotonVision/photonvision/pull/1359
- Necessary backend housekeeping for future features
- Fix error being printed to console on Chrome when navigating UI by stephenjust in https://github.com/PhotonVision/photonvision/pull/1429
- Create photon-targeting-JNI framework by mcm001 in https://github.com/PhotonVision/photonvision/pull/1428
- Fix broken links by gerth2 in https://github.com/PhotonVision/photonvision/pull/1430
- Update poseest.md by Alextopher in https://github.com/PhotonVision/photonvision/pull/1439
- [docs] Remove gerth2 links by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1441
- [docs] Fix invalid max error bits recommendation by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1443
- [docs] Fix usage of
getTagPose
by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1442 - Add-OrangePi5max-image by crschardt in https://github.com/PhotonVision/photonvision/pull/1444
- Update calibration.md OpenCV Docs Link by GeorgeHorsey in https://github.com/PhotonVision/photonvision/pull/1445
- Camera view updated to better respond to state by stephenjust in https://github.com/PhotonVision/photonvision/pull/1437
- Reduce pipeline use-after-free errors by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1447
- Object detection OOM crash by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1451
- UI Message Passing by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1448
- latest is correct is not correct by gerth2 in https://github.com/PhotonVision/photonvision/pull/1455
- Dont send SolvePNPEnabled in drivermode. by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1454
- Fix large calibration datasets crashes by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1453
- Create AprilTag pipeline by default by mcm001 in https://github.com/PhotonVision/photonvision/pull/1458
- Fix UI Log by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1459
- Add FMS info to snapshot names by mcm001 in https://github.com/PhotonVision/photonvision/pull/1460
- ChArUco: adjust detector params, hide unused by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1463
- Fix aruco draw by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1468
- Fix apriltag detection draw bug by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1467
- Fix reflective null points by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1469
- Default 36h11 by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1470
- Improve network management by crschardt in https://github.com/PhotonVision/photonvision/pull/1478
- Bump Raspberry Pi images to v2025.0.0-beta-6 by crschardt in https://github.com/PhotonVision/photonvision/pull/1483
- Add slider debounce by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1479
- Fix PhotonCamera typestring checks by mcm001 in https://github.com/PhotonVision/photonvision/pull/1480
- Fix test typo by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1486
- Switch to hide cal corners, default to mrcal on if possible by mcm001 in https://github.com/PhotonVision/photonvision/pull/1462
- Fix imports from v2024.3.1 by mcm001 in https://github.com/PhotonVision/photonvision/pull/1487
- Re-set config save default state to true by mcm001 in https://github.com/PhotonVision/photonvision/pull/1489
- docs: fix incorrect link to PhotonVision compiling instructions by MirrorCY in https://github.com/PhotonVision/photonvision/pull/1492
- docs: update link to PhotonVision running examples by MirrorCY in https://github.com/PhotonVision/photonvision/pull/1493
- Reduce log spam if network monitor fails by crschardt in https://github.com/PhotonVision/photonvision/pull/1494
- Install script improvements by EmDash00 in https://github.com/PhotonVision/photonvision/pull/1456
- Remove explicit NativeUtils specification by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1495
- Link to wpilib javadocs in ours by mcm001 in https://github.com/PhotonVision/photonvision/pull/1509
- Bump to WPILib 2025 Beta 1 & remove C++ protobuf by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1484
- Fix videomode is null by Juniormunk in https://github.com/PhotonVision/photonvision/pull/1513
- Remove nonsensical settings.gradles by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1506
- Fix photon-targetting being a seperate project by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1504
- Assert that version checking won’t throw on startup by mcm001 in https://github.com/PhotonVision/photonvision/pull/1512
- Fix typos by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1508
- Create TSP Server in C++ photonlib by mcm001 in https://github.com/PhotonVision/photonvision/pull/1516
- Add QuadThresholdParameters to AprilTag config by crschardt in https://github.com/PhotonVision/photonvision/pull/1519
- Update docs to specify that WPILib JDK is required on Windows by willtoth in https://github.com/PhotonVision/photonvision/pull/1522
- Fixed Python code block being in C++ block by Kouyang07 in https://github.com/PhotonVision/photonvision/pull/1527
- Make install.sh run the version from photon-image-modifier. by crschardt in https://github.com/PhotonVision/photonvision/pull/1531
- Add missing var to dataclass by LucienMorey in https://github.com/PhotonVision/photonvision/pull/1534
- Fix GPL violation by Gold856 in https://github.com/PhotonVision/photonvision/pull/1530
- [ci] Fix unnamed action steps by spacey-sooty in https://github.com/PhotonVision/photonvision/pull/1537
- Stop type hinting members as optional in PhotonTrackedTarget by LucienMorey in https://github.com/PhotonVision/photonvision/pull/1539
- Enable Python tests, standardise variable spelling and fix arg checking by LucienMorey in https://github.com/PhotonVision/photonvision/pull/1533
- generate packing for python messages by LucienMorey in https://github.com/PhotonVision/photonvision/pull/1535
- Fix missing vars and catch bad shim by LucienMorey in https://github.com/PhotonVision/photonvision/pull/1541
- [TSP] Move Bind() to Start by mcm001 in https://github.com/PhotonVision/photonvision/pull/1538
New Contributors
- DevonRD made their first contribution in Fix mjpg stream accumulation by DevonRD · Pull Request #1293 · PhotonVision/photonvision · GitHub
- Craftzman7 made their first contribution in Disable Arm32 Builds by Craftzman7 · Pull Request #1325 · PhotonVision/photonvision · GitHub
- spacey-sooty made their first contribution in Change default AprilTag family to 36h11 by spacey-sooty · Pull Request #1333 · PhotonVision/photonvision · GitHub
- Juniormunk made their first contribution in Fix libcamera not found bug by Juniormunk · Pull Request #1326 · PhotonVision/photonvision · GitHub
- MADMAN-Modding made their first contribution in https://github.com/PhotonVision/photonvision/pull/1376
- victkk made their first contribution in https://github.com/PhotonVision/photonvision/pull/1392
- stephenjust made their first contribution in https://github.com/PhotonVision/photonvision/pull/1402
- Alextopher made their first contribution in https://github.com/PhotonVision/photonvision/pull/1416
- GeorgeHorsey made their first contribution in https://github.com/PhotonVision/photonvision/pull/1445
- MirrorCY made their first contribution in https://github.com/PhotonVision/photonvision/pull/1492
- EmDash00 made their first contribution in https://github.com/PhotonVision/photonvision/pull/1456
- willtoth made their first contribution in https://github.com/PhotonVision/photonvision/pull/1522
- Kouyang07 made their first contribution in https://github.com/PhotonVision/photonvision/pull/1527
- LucienMorey made their first contribution in https://github.com/PhotonVision/photonvision/pull/1534
- Gold856 made their first contribution in https://github.com/PhotonVision/photonvision/pull/1530
Full Changelog: https://github.com/PhotonVision/photonvision/compare/v2024.3.1...v2025.0.0-beta-1