Difference between revisions of "Category:Development"

From Octave
Jump to navigation Jump to search
(→‎Releasing: "Nightly" Octave releases on https://octave.space)
 
(41 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This pages serves as a collecting point for all issues related to the development of Octave.
+
:''This page contains links to pages of interest to Octave developers.''
 +
 
 +
== Getting started ==
 +
* [[Developer FAQ]] -- Start here.
 +
* [[Contribution guidelines]] for Octave
 +
** [[C++ style guide]]
 +
** [[Octave style guide]]
 +
** [[Help text style guide]]
 +
 
 +
== Octave development ==
 +
 
 +
=== [[: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]]
 +
* [[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 release will be '''GNU Octave 6.1'''. See the '''[[6.1 Release Checklist]]''' for more information.
 +
* [[: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 progess ==
 +
* [[Short projects]] -- Good starting point to get into the Octave development.
 +
* [[Summer of Code Project Ideas]] -- 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.
 +
 
 +
== Meetings ==
 +
 
 +
* Read about past [[:Category:Meetings | developer meetings]].
 +
 
 +
== Other ==
 +
* [[Project Infrastructure]]
  
 
[[Category:Contents]]
 
[[Category:Contents]]

Latest revision as of 21:09, 9 November 2020

This page contains links to pages of interest to Octave developers.

Getting started[edit]

Octave development[edit]

Building[edit]

Tools[edit]

  • Mercurial -- How to use Octave's version control scheme, creating patches (changesets).
  • Doxygen -- Documentation for C++ files
  • ccache -- How to faster compile Octave.
  • Editors -- A list of editors supporting Octave syntax highlighting.

Testing[edit]

Debugging[edit]

Releasing[edit]

Goals for upcoming releases[edit]

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[edit]

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 terminal widget in the GUI.
  • Accept Matlab's new argument validation syntax in parser.

Project ideas and work in progess[edit]

Meetings[edit]

Other[edit]