Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Changelog for Beta 2 #2847

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 39 additions & 3 deletions source/docs/yearly-overview/yearly-changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ Supported Operating Systems and Architectures:

### General Library

- The units library has been refactored to have unit-specific measurement classes instead of a single generic ``Measure`` class. The new measurement classes have clearer names (``Distance`` instead of ``Measure<Distance>``, or ``LinearAcceleration`` instead of ``Measure<Velocity<Velocity<Distance>>>``), and implement math operations to return the most specific result types possible instead of a wildcard ``Measure<?>``.
- Add persistent alerts API. Alerts are displayed on supported dashboards such as Shuffleboard and Elastic.
- Add LED pattern API for easily animating addressable LEDs
- Breaking: Remove deprecated ``Gyro`` and ``Accelerometer`` interface
Expand All @@ -45,6 +44,9 @@ Supported Operating Systems and Architectures:
- Implement ``Sendable`` for HID classes
- Include sendable type information in topic metadata
- ``GenericHID.setRumble``: Fix Java integer overflow
- rename SysId example to SysIdRoutine
sciencewhiz marked this conversation as resolved.
Show resolved Hide resolved
- Add ``Timer.isRunning`` method
- Add Java unit support for RobotController

#### Commands

Expand All @@ -67,13 +69,15 @@ Supported Operating Systems and Architectures:
- Server round robin message processing
- Client: only connect to IPv4 addresses
- Deprecate setNetworkTablesFlushEnabled
- Set NetworkTables 3 client network identity

#### Data Logging

- Added :doc:`annotation based logging (Epilogue) </docs/software/telemetry/robot-telemetry-with-annotations>` for Java
- Logging the console can be enabled with ``DatalogManager.logConsoleOutput``
- DataLog: Add last value and change detection
- DataLogManager: Fix behavior when low on space
- Epilogue: Autogenerate nicer data names by default, not just raw element names

#### Hardware interfaces

Expand Down Expand Up @@ -113,6 +117,11 @@ Supported Operating Systems and Architectures:
- Add geometry classes for ``Rectangle2d`` and ``Ellipse2d``
- Add reset methods to ``Odometry`` and ``PoseEstimator``
- Add ArmFeedforward calculate() overload that takes current and next velocity instead of acceleration
- Fix C++ pose estimator poseEstimate initialization
- ChassisSpeeds fromRelative and discretize methods made instance methods
- Fix PIDController error tolerance getters
- Add time-varying RKDP
- Add 2D to 3D geometry constructors

### Simulation

Expand All @@ -122,11 +131,27 @@ Supported Operating Systems and Architectures:
- Fix interrupt edges being flipped in sim
- Don't send joystick data during auto
- Initialize DIO to true in sim
- Clamp battery voltage to 0

### Romi/XRP

- XRP: Add ``GetRotation2d`` to ``Gyro``
- XRP: Add Support for Encoder Period
- Add Getter for XRP LED state

### Java units

- The units library has been refactored to have unit-specific measurement classes instead of a single generic ``Measure`` class. The new measurement classes have clearer names (``Distance`` instead of ``Measure<Distance>``, or ``LinearAcceleration`` instead of ``Measure<Velocity<Velocity<Distance>>>``), and implement math operations to return the most specific result types possible instead of a wildcard ``Measure<?>``.
- Add resistance units
- Use div instead of divide
- Add absolute value and copy sign functionalit
sciencewhiz marked this conversation as resolved.
Show resolved Hide resolved

### CameraServer

- Wake up even if no frames received
- Fix wakeup on sink destruction
- HttpCamera: Send width/height/fps stream settings
- HttpCamera: Auto-detect mode from stream if not set

### Util

Expand Down Expand Up @@ -160,12 +185,15 @@ Supported Operating Systems and Architectures:

- Save input after clicking away
- Check for struct descriptor size 0
- Align Field2d border and image padding for custom images
- Add Alerts widget

## GradleRIO

- Use Gradle 8.10.2
- Use Gradle 8.11
- Use shell scripts for launching tools on Linux / macOS, since macOS doesn't ship Python any more
- Add method to delete files on roboRIO that have been deleted in the deploy directory. :ref:`Set deleteOldFiles to true <docs/software/advanced-gradlerio/compiler-args:Deleting Unused Deploy Files>` in the frcStaticFileDeploy block
- Gradle now consolidates Java compile errors at the bottom of the terminal to aid discoverability https://docs.gradle.org/8.11/release-notes.html#error-warning

## WPILib All in One Installer

Expand All @@ -175,13 +203,16 @@ Supported Operating Systems and Architectures:
- Only install scripts if they are used by a specific platform
- Make shortcuts use the app icon
- Add AppArmor file for electron apps for Ubuntu 24.04
- Fix icon in dock on Ubuntu 24.04

## Visual Studio Code Extension

- Add :doc:`Dependency Manager extension </docs/software/vscode-overview/3rd-party-libraries>` for easier finding and updating of 3rd party libraries
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Add :doc:`Dependency Manager extension </docs/software/vscode-overview/3rd-party-libraries>` for easier finding and updating of 3rd party libraries
- Add :doc:`Dependency Manager extension </docs/software/vscode-overview/3rd-party-libraries>` for easier finding and updating of 3rd party libraries
- The Dependency Manager will now automatically initiate a build when the utility loses focus, but only if the user has made changes.

Copy link
Collaborator Author

@sciencewhiz sciencewhiz Nov 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normally we only put things in the changelog that changed from year to year, since that's what's relevant come January. The release documents what changed since the last beta.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it depends on how you look at it. I am thinking about this as a change from what people are expecting coming from past years which is a pop up that prompts them to build. We didn't include anything about this previously because the functionality prior to this matched that expectation from previous years.

The new functionality is something completely different that doesn't match the expectations of people coming from last year. It now builds automatically with no prompt.

- Add gradle clean command
- Use shell scripts for launching tools on Linux / macOS, since macOS doesn't ship Python any more
- Add option to importer to import XRP project
- Importer: Update for Java Units changes
- Extract WPILib Utility on mac
- Define java.configuration.runtimes in settings.json to ensure WPILib JDK is used

## RobotBuilder

Expand All @@ -191,6 +222,7 @@ Supported Operating Systems and Architectures:

- Fix crash when all data is filtered out during analysis
- Remove obsolete WPILib & CTRE presets, rename CTRE presets
- Clamp feedback measurement delay to zero or higher

## PathWeaver

Expand All @@ -203,3 +235,7 @@ Supported Operating Systems and Architectures:
## Choreo

Choreo is bundled in the installer! Choreo is an application for creating time optimal autonomous trajectories. :doc:`Read more here </docs/software/wpilib-tools/choreo/index>`.

## Elastic

Elastic is bundled in the installer! Elastic is a simple and modern dashboard.