3.2.0
Summary:
- Add Makefile variable for excluding libraries from cold image (#121, #129)
- Improve Makefile compile speed (#123)
- Various ADI/VDML bugfixes (#124, #125, #139, #151, #160)
- Add alternate API for generic serial comms and fix generic serial comms driver (#141)
- Support GCC 8.3 out of the box (#155)
- Enable hot/cold linking in projects by default (#154)
- Combine template source files into main.cpp for new projects (#152, #165)
- Upgrade LVGL to version 5.3 (#144, #147)
- Add a default .gitignore file to new projects by default (#156)
- Add an alternate constructor for
pros::Task
(#158) - Add a better data abort handler (#112)
- Recompile for changes in header files (#167)
Special thanks to @Jerrylum, @TixoRebel, @Octogonapus, @theol0403, and @SpencerJ21 for their contributions!
Important Upgrade Notes
We are replacing the three initialize.cpp
, autonomous.cpp
, and opcontrol.cpp
files with a single main.cpp
file for new projects, so the main.cpp
file will be introduced into your project when you upgrade. If you compile the project right away, you will likely be faced with multiple definition errors for the competition tasks. To resolve this, you can either delete the new main.cpp
, or move the contents of your competition task functions into the new file, deleting the previous files. If your project structure has been significantly modified from the default, we trust that you will know how to resolve this issue on your own. Also note that if you have already consolidated the three files listed above into a single main.cpp
file, this will not be an issue.
You may also get multiple definition errors if you added the temporary __sync_synchronize
fix that was necessary for some users. After upgrading, you may safely remove that fix from your own code.
If your code checked errno
values set by PROS functions, you may need to change the values you compare with. Check each function's documentation for more information.
We have upgraded LVGL to 5.3, but since starting the upgrade process LVGL 6.0 was released, which has changed things a lot, and the online documentation for LVGL now reflects information for version 6.0. Please see this link for information on where to find the documentation for LVGL 5.3.