1,848
edits
(→Bugs and testing: Strip outdated page.) |
(→🔬 Octave development: Make meeting link soft.) |
||
(47 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
This page contains links to pages of interest to developers. | :''This page contains links to pages of interest to Octave developers.'' | ||
= | = 💡 Getting started 🔰 = | ||
* [[Developer FAQ]] | * [[Developer FAQ]] -- Start here. | ||
* [[Contribution guidelines]] for Octave | * [[Contribution guidelines]] for Octave | ||
** [[C++ style guide]] | ** [[C++ style guide]] | ||
** [[Octave style guide]] | ** [[Octave style guide]] | ||
* | ** [[Help text style guide]] | ||
* [[ | |||
== | = 🔬 Octave development = | ||
: {{Note|Attend our [[meet | Online Developer Meeting]] 🙂💬 (See [[:Category:Meetings | all previous meetings]])}} | |||
== 🛠️ [[:Category:Building|Building]] == | |||
* | * [[Building]] -- General information how to build Octave from source. | ||
* | ** [[Building on Microsoft Windows]] | ||
** [[Building on Ubuntu Virtual Machine]] | |||
* [[Continuous Build]] -- Check changes with [https://buildbot.net/ Buildbot]. | |||
* [[MXE]] -- Cross-compiling to MS Windows. | |||
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Large array support]] -- | |||
== | === 🔧 Tools === | ||
* [[ | |||
* [[ | * [[Mercurial]] -- How to use Octave's version control scheme, creating patches (changesets). | ||
* [[Doxygen]] -- Documentation for C++ files | |||
* [[ | * [https://ccache.samba.org/ ccache] -- How to faster compile Octave. | ||
* [[:Category:Editors|Editors]] -- A list of editors supporting Octave syntax highlighting. | |||
== ⚖️ [[:Category:Testing|Testing]] == | |||
* [[Tests]] | |||
* [[BIST for m-files]] | * [[BIST for m-files]] | ||
* [[Add BIST tests for octave functions written in C++|BIST for C++ files]] | |||
== 🐞 Debugging == | |||
* [[Debugging Octave]] -- How to use [https://www.gnu.org/software/gdb/ gdb] to obtain stack traces. | |||
* [[Finding Memory Leaks]] -- How to use [https://www.valgrind.org/ valgrind]. | |||
== 🎉 [[:Category:Releases|Releasing]] == | |||
* The next major release will be '''GNU Octave 7.1'''. The release procedure has not yet started. Use '''[[6.1 Release Checklist]]''' as template for organization. | |||
* The next minor release will be '''GNU Octave 6.3.0'''. The release procedure has started and progress may be tracked on the [[6.3 Release Checklist]] page. | |||
* [[:Category:Releases|Older releases]] | |||
* "Nightly" Octave releases on https://octave.space | |||
== 🎯 Goals for upcoming releases == | |||
As discussed in the [[Online Developer Meeting (2020-10-27)]], this wiki section is for a list of possible goals for the next release. Although anyone may edit the wiki, '''this section is intended for active developers, not a place to dump wishlist items or feature requests'''. Please create a subsection for your ideas/priorities. | |||
=== jwe priorities === | |||
:''See also [[JWE Project Ideas]] for additional info about some of these items.'' | |||
* Bug fixes, especially those related to compatibility issues. | |||
* Work through the open bug reports for which patches have been submitted. Review/apply/reject and close as many of these reports as possible. | |||
* Refactor/rewrite code for handling load path. | |||
* Refactor/rewrite exist and which functions. | |||
* Create a low-level interface to HDF5 functions. | |||
* Support Matlab's HDF5-based MAT file format using the proposed low-level interface to HDF5 functions. | |||
** Allow all types of function handles to be saved and loaded. | |||
** Allow [[classdef]] objects to be saved and loaded. | |||
* Replace the [[GUI terminal widget|terminal widget in the GUI]]. | |||
* Accept Matlab's new argument validation syntax in parser. | |||
= 💡 [[:Category:Project_Ideas|Project ideas]] and work in progress = | |||
* [[Short projects]] -- Good starting point to get into the Octave development. | |||
* [[ | * [[Summer of Code - Getting Started]] -- Ideas page for GSoC, SOCIS, ... projects. | ||
* [[ | * [[Projects]] -- Many things that would be nice to have done. | ||
** [[Classdef]] -- Define own data types using <code>classdef</code>. | |||
** [[JIT]] -- Just in time compiler for Octave. | |||
** [[GUI terminal widget]] -- Ideas about a new improved terminal widget. | |||
** [[International Characters Support]] -- Using Octave in your own language. | |||
** [[Pythonic]] -- Calling Python functions directly from Octave. | |||
== | = Other = | ||
* [[Project Infrastructure]] | * [[Project Infrastructure]] | ||
[[Category:Contents]] | [[Category:Contents]] |