- This is a collection of small projects to start contributing to Octave. Projects of long duration are listed in the Projects page.
Review and fix existing bugs
- Review bugs that catch your interest on the Octave bug tracker on GNU Savannah.
- A modern interface to the Octave bug tracker is given by SavannahAPI.
- Discuss with the developers there how to fix that bug or upload a patch there.
- Some bugs have already patches attached.
- Help testing those patches.
- Help updating outdated patches to the latest development version (this requires some Mercurial knowledge).
Implement missing Matlab functions
Use the Savannah patch tracker for submissions unrelated to an existing bug.
Write Built-In Self Tests (BISTs)
Writing BISTs improves Octave's regression testing and ensures that we don't break anything when we add new features.
- BIST for C++ functions
- BIST for m-files. See also Projects#Tests.
Work on Octave packages
- Take a look at https://gnu-octave.github.io/packages/ if you would like to work on some package there.
Below is a non exhaustive list of bugs which should be looked at and appear to be easy. Completed scrub using 6.1 as non expert. Status column provides notes from last review to facilitate addressing each bug. (Reviewing and updating status of items in this list as well as adding new ones are themselves good beginner tasks.)
- The last full scrub came from hardy for v4.2
- Suspect many java bugs could be closed.
- Appears plotting bugs have been fixed, but not have been reviewed for 5 years.
- Did not include most documentation bugs.
- Experts: rik5, nrjank, etc. will be able to find significantly more to close.
|#36954||datenum / datevec convert date-time string incorrectly during hour lost to DST||siko1056 suggests closing as won't fix. nrjank reverted from Postponed to Confirmed / removed Assigned To tag after dormant for 2 years.|
|#40357||OOM when converting from sparse double to sparse logical||hardy thinks this might be a DUPLICATE, nrjank changed to Need Info, needs better test to determine if the OOM comes from known sparse indexing issue or something else.|
|#43717||rats LEN Matlab incompatibility||patch submitted for test and review.|
|#45404||Breakpoints cannot be set in classdef methods or +package function files||package part fixed. classdef part remains. jwe suggest closing either this or #46451 and tracking classdef on the one that remains, or close both and make a new report. changed to Need Info for someone familiar to decide what would be best for tracking the issue after 2 yrs of dormancy.|
|#48088||document that issquare, iscolumn, isempty, etc operate on cell arrays||documentation patch candidate submitted and needs review.|
|#49886||ezplot: octave does not warn when function not vectorized||Rik states This would be easy to fix if #42691 was first solved. That bug was closed as fixed in August 2021, so supposedly this one should now be easier manageable.|
|#49360||odeset lacks documentation for solver options||Needs someone to review and make a to-do list.|
|#53214||area.m needs update to implement ShowBaseline and other properties||nrjank states the main bug has been fixed. Suggests closing or retitle|
|#54437||optimset missing documentation for 5 options||Documentation task. rik states AutoScaling, ComplexEqn, and Updating can be copied from fsolve.m so this would be an improvement.|
|#54679||datenum accepts a matrix, which is undocumented||apjanke provided a patch. patch was updated to current default tip in 2021 and nrjank suggested ready to push. needs re-verification.|
|#55065||Implement uiopen and uisave||both a patch and m-file versions of the two functions have been separately submitted. they both need to be evaluated for fitness.|
|#56208||GUI Editor autocomplete list could show variables from current workspace||suggested it might be fixed, but appears to still not be meeting summary requst. marked as Needs Info|
|#57352||text height for blank line should approximate that of ordinary character||initial patch suggestion provided but still needs some trial and error to get good height behavior|
|#58530||missing functions: xline() and yline()||initial patch submitted in 2022, needs rework according to rik's comments|
The equivalent suggestions for patches.
A list of patch reports with attachments not marked "Done or Cancelled" can be viewed in the SavannaAPI, sorted by oldest first or sorted by "longest since last comment" first. While some of these older submissions may still be viable and just need a patch refresh to the current code base, many will have become out of date or rendered inapplicable due to code or function changes, and could be closed as 'Wont Fix'.