Releases: PhotonVision/photonvision
Latest Development Version
This release contains the latest version of Photon Vision based on the code on the master branch. This code is not as well-tested as the latest stable release! Use at your own risk.
v2025.0.0-beta-8
What's Changed
- Add Rock 5C Release by @dellagd in #1617
- We have followers around the whole globe by @mcm001 in #1622
- Java 17 by @Alextopher in #1440
- Remove usage of RuntimeDetector by @spacey-sooty in #1536
- Actually remove all RuntimeDetector usage by @spacey-sooty in #1636
- Add camera sim smoketest by @mcm001 in #1637
- Remove selective builds by @mcm001 in #1639
- Bump to WPILib beta 3 and OpenCV 4.10 by @spacey-sooty in #1638
- Move to main over master by @spacey-sooty in #1642
- [docs] Document VSCode tests and gradle tasks by @amquake in #1641
- Bump Athena image to 2025 by @mcm001 in #1643
- Fix release action glob exclusion by @crschardt in #1644
New Contributors
Full Changelog: v2025.0.0-beta-6...v2025.0.0-beta-8
v2025.0.0-beta-6
What's Changed
- [Examples] Limit minimum battery voltage in sim to 0.1V by @jlmcmchl in #1600
- More obvious industrial SD card recommendation by @MidgleyM in #1601
- Remove unused JNI artifacts by @Gold856 in #1603
- (Mostly) allow reloading during calibration by @mcm001 in #1593
- [python] Correct time units by @james-ward in #1605
- Set loaded to false when JNI loading fails by @MrRedness in #1614
- Check for exposure setting validity before accessing. by @willtoth in #1618
- Update docs to suggest JDK 17 by @JuliusZhou124 in #1611
- Pull image version from metadata file by @mcm001 in #1599
- Fix formating errors that are in master by @crschardt in #1627
- Fix "Manage Device Networking" toggle being disabled incorrectly by @crschardt in #1620
- Fix typehint problem with ndarrays by @crschardt in #1631
New Contributors
- @jlmcmchl made their first contribution in #1600
- @MidgleyM made their first contribution in #1601
- @JuliusZhou124 made their first contribution in #1611
Full Changelog: v2025.0.0-beta-5...v2025.0.0-beta-6
v2025.0.0-beta-5
Primarily exists to be our first build against WPILib's 2025 Beta 2 release
What's Changed
- Update to WPILib beta 2 by @Gold856 in #1588
- Handle remote UUID mismatch properly by @james-ward in #1590
- Create opinionated pull request template by @mcm001 in #1561
- Refactor program configuration broadcast hashmap spaghetti by @mcm001 in #1592
- add missing log and use logger over print by @LucienMorey in #1596
- add file marker for type checking by @LucienMorey in #1598
- Tidy up of python autogenerated messages by @LucienMorey in #1594
- Simple proof reading by @Dualfuel671 in #1591
New Contributors
- @Dualfuel671 made their first contribution in #1591
Full Changelog: v2025.0.0-beta-4...v2025.0.0-beta-5
v2025.0.0-beta-4
Fixes
- [photon-targeting] Fix JNI loading by @Gold856 in #1563
- Fix roborio duplicate .so's on deploy by @mcm001 in #1571
- Fix mrcal stack overflow when calibrating with crazy large datasets by @Juniormunk in #1585
- Previously was stack-allocating >1MB while feeding data to mrcal. This was only an issue with >588 images of a 10x10 chessboard. We can now handle >7000 snapshots of a 10x10 chessboard.
Other Changes
- Correct all python type hinting by @james-ward in #1555
- stop getting full stack trace on test failure by @LucienMorey in #1568
- bump python dependencies for 2025 by @LucienMorey in #1567
- add mypy to ci by @LucienMorey in #1570
- [photon-targeting] Remove dependency on wpilibc by @spacey-sooty in #1544
- Add Python test harness for openCVHelp class by @LucienMorey in #1557
- Update libcamera version by @Juniormunk in #1566
- Break up masssive python overload hacks by @LucienMorey in #1573
- [docs] Create quick-start guide by @Juniormunk in #1528
- sphinxify java docs for python code by @LucienMorey in #1575
- Explain how to install older version of PhotonVision on Romi by @crschardt in #1577
- Fix rate limiting in sphinx link checker by @crschardt in #1579
- [python] Fix population of metadata by @james-ward in #1578
- [Python] remove opencv dependency for robot installations by @LucienMorey in #1580
- Clean up build by @Gold856 in #1572
- Remove time source override by @mcm001 in #1582
- Skip Vision System Sim Tests on Windows by @mcm001 in #1581
- Add web resource folder back to gitignore by @Gold856 in #1583
- Disable VisionSystemSimTest entirely by @mcm001 in #1584
New Contributors
- @james-ward made their first contribution in #1555
Full Changelog: v2025.0.0-beta-2...v2025.0.0-beta-4
v2025.0.0-beta-2
What's Changed
- [build] Update wpiformat to 2024.45 by @spacey-sooty in #1545
- [ci] Update actions by @spacey-sooty in #1546
- Remove unnecessary symbol exclusions by @Gold856 in #1542
- Publish vendor JSON as released artifact by @mcm001 in #1525
- Automatically detect and report hardware model for most SBCs by @stephenjust in #1540
- Add python simulation by @LucienMorey in #1532
- Add gh cli note by @mcm001 in #1549
- fixed rotation3d constructor by @r4stered in #1553
- Include kernel logs when downloading logs by @crschardt in #1551
- photonlibpy: Fix some type check failures by @auscompgeek in #1548
Full Changelog: v2025.0.0-beta-1...v2025.0.0-beta-2
v2025.0.0-beta-1
PhotonVision v2025.0.0-beta-1
Major Changes
- Create timesync JNI by @mcm001 in #1433
- Undistort pitch/yaw using opencv by @mcm001 in #1250
- Charuco Support by @BytingBulldogs3539 in #1312
- Add sequence ID, capture, publish and recieve timestamp to PhotonPipelineResult by @mcm001 in #1305
- Implement class id/conf in photonlib by @mcm001 in #1266
- Auto-generate packet dataclasses with Jinja by @mcm001 in #1374
- Use ReadQueue for PhotonCamera timestamps by @mcm001 in #1316
- So many camera matching bugfixes
- Adds support for OV9782's quirks by @gautvm in #1284
- Fix OV9782 by @Juniormunk in #1358
- Fixes windows not allowing auto exposure prop for the ov2311 by @r4stered in #1407
- Fix setting gain to max on cameras that don't have a gain quirk by @crschardt in #1424
- Revised 9782 defaults by @gerth2 in #1431
- See3Cam_24CUG Quirks by @Bankst in #1302
- Equal only by usb paths by @Juniormunk in #1481
- Guess more reasonable numbers for 9782 by @mcm001 in #1477
- Another config matching bug by @Juniormunk in #1518
- Fix windows NPEs around exposure+klogs by @mcm001 in #1529
- Big scary nuke my config buttons by @mcm001 in #1471
- Calibration Rotation! by @Juniormunk in #1464
QOL Changes
- https://docs.photonvision.org/ redirects to the latest stable (eg https://docs.photonvision.org/en/v2025.0.0-beta-1/)
- 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 #1517
- Copy common fields when changing pipeline type by @mcm001 in #1461
- Create combine job and offline vendordep ZIP by @mcm001 in #1343
- Allows installing PhotonVision offline, easier install of development versions without a local build environment
All Other Changes
- Fix mjpg stream accumulation by @DevonRD in #1293
- Sticky calibration camera display card by @DevonRD in #1294
- Give up early on empty frames by @mcm001 in #1296
- [Client] Fix issue with clearing multitag buffer by @DevonRD in #1299
- Kill deprecated 2025 stuff by @mcm001 in #1311
- Change sim to use 36h11 tags when doing multitag by @r4stered in #1314
- Bump libcamera to fix picam v1, remove duplicate opencv by @mcm001 in #1263
- Allow file uploads of any size and better report active cameras in PhotonCamera error print by @mcm001 in #1298
- Disable Arm32 Builds by @Craftzman7 in #1325
- [PhotonLib C++] Fix SetVersionCheckEnabled to actually disable version checking by @r4stered in #1323
- Update README.md by @amquake in #1321
- Move PhotonVersion to C++ file by @mcm001 in #949
- Bump wpilib to latest dev by @mcm001 in #1327
- Publish generated proto sources by @mcm001 in #1328
- Disable transitive dependency resolution for known bad deps by @mcm001 in #1329
- Point to new reposolite repo by @mcm001 in #1330
- Allow opencv8 distortion model in PhotonCamera by @mcm001 in #1317
- Fix mac released jar naming by @mcm001 in #1332
- Change default AprilTag family to 36h11 by @spacey-sooty in #1333
- Warn when getBestCameraToTarget returns 0, 0, 0 by @spacey-sooty in #1334
- Fix libcamera not found bug by @Juniormunk in #1326
- Send “Camera lost stream” frames when we get null images by @Juniormunk in #1341
- Add photon.pb.h to cpp headers zip by @mcm001 in #1335
- Only download necessary files in release step by @mcm001 in #1344
- Only publish to maven on main fork by @mcm001 in #1345
- Bump libcamera driver version by @Juniormunk in #1346
- Revert "Warn when getBestCameraToTarget returns 0, 0, 0" by @mcm001 in #1351
- CSI Camera null quirks error by @Juniormunk in #1349
- Support more charuco boards by @Juniormunk in #1348
- Attempt to bump to 2025.0.0-alpha-1 by @mcm001 in #1356
- Move docs in-source by @mcm001 in #1357
- Update docs on docs about docs by @mcm001 in #1360
- Use pnpm instead of npm by @srimanachanta in #1375
- Fixed spelling error by @MADMAN-Modding in #1376
- Revert "Use pnpm instead of npm" by @Juniormunk in #1382
- Run wpiformat by @mcm001 in #1379
- Use new OrangePi5 images and add OrangePi5 Pro by @crschardt in #1388
- Add API docs to sidebar by @spacey-sooty in #1383
- Add rsync & sphinx-autobuild docs by @mcm001 in #1391
- Update install.sh for OPi5 Ubuntu 24.04 by @crschardt in #1390
- Move to using Absolute Exposure Range by @gerth2 in #1352
- Add OrangePi5b image to generated images by @crschardt in #1394
- Document how to install PhotonLib of specific version by @victkk in #1392
- Switch from RST to MyST Markdown by @mdurrani808 in #1395
- Document Charuco by @Juniormunk in #1398
- Update RPI Image 7/4/24 by @Juniormunk in #1373
- [photon-client] Upgrade to Vite 5 by @stephenjust in #1402
- Populate CameraSettingsStore with placeholder value if no cameras are present by @stephenjust in #1401
- Fix getTarget docs by @spacey-sooty in #1404
- Photonlibpy - Best Target Function #1223 by @mcm001 in #1406
- Removed CalibDB by @mdurrani808 in #1396
- Client log view improvements by @DevonRD in #1385
- fix: reflection bug in
onDataChangeEvent
by @Alextopher in #1416 - Examples Clean-Up by @gerth2 in #1408
- Roll Back to 2024.3.2 by @Juniormunk in #1423
- Support selecting Object Detection models by @Alextopher in #1359
- Fix error being printed to console on Chrome when navigating UI by @stephenjust in #1429
- Create photon-targeting-JNI framework by @mcm001 in #1428
- Fix broken links by @gerth2 in #1430
- Update poseest.md by @Alextopher in #1439
- [docs] Remove gerth2 links by @spacey-sooty in #1441
...
v2024.3.1
First major release in way too long! Includes critical bug fixes for Orange Pi object detection crashing/showing no stream/heartbeat freezing, and a new base Orange Pi image. The new base image boots faster without networking and includes other improvements.
Important
Teams with Orange Pis will need to reflash using the v2024.3.1 image. Make sure to export your settings (and keep a backup somewhere safe) prior to doing this. If you've got a spare SD card, try to flash it instead so you've got a known-good hot-spare.
Important
The Orange Pi NetworkManager interface name changed to "netplan-zz-all-eth" -- make sure to have this selected in the dropdown
Note
Teams not using Orange Pi's probably don't need to update, and base images have not changed so a reflash is not required.
Major changes
- Run resize in CPU to avoid RGA-crash/lockup by @mcm001 in #1287
- Bump orange pi images to v1.33 by @mcm001 in #1276
Other changes
- Bump WPILib to 2024.3.2 by @mcm001 in #1283
- Opencv cal: CALIB_USE_LU and use camera focal length guess by @mcm001 in #1268
- Disable camera orientation option when camera is calibrated by @philltran in #1277
- Add proper exposure range for OV2311 by @gautvm in #1282
- Set default pipeline idx in PipelineManager constructor by @mcm001 in #1286
- Free native resources in apriltag pipelines by @mcm001 in #1272
- Release letterboxed frame in rknn pipe by @mcm001 in #1289
- Recreate user pipeline on type change by @mcm001 in #1290
- Fix wpiformat by @mcm001 in #1291
New Contributors
- @philltran made their first contribution in #1277
Full Changelog: v2024.2.9...v2024.3.1
v2024.2.9
Fixes mrcal calibration bug with non-square calibration targets, and implements a incrementally expanding optimization approach to match the behavior of mrcal-calibrate-cameras. We solve first for chessboard pose only, then board pose and pinhole coefficients, then board pose and full camera intrinsics with outlier rejection (but not board warp), and then finally everything.
What's Changed
- Create smoketest mode by @mcm001 in #1264
- Pipe cscore logs through photonvision by @mcm001 in #1260
- Bump mrcal to include solver fixes by @mcm001 in #1265
Full Changelog: v2024.2.8...v2024.2.9
v2024.2.8
Addresses a bug in 2024.2.7 that prevented configs for CSI cameras being saved.
What's Changed
Full Changelog: v2024.2.7...v2024.2.8