Editing Category:Development

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 7: Line 7:
** [[Octave style guide]]
** [[Octave style guide]]
** [[Help text style guide]]
** [[Help text style guide]]
** [[Commit message guidelines]]


= πŸ”¬ Octave development =
= πŸ”¬ Octave development =


: {{Note|'''Attend our next [[meet | Online Developer Meeting]]''' πŸ™‚πŸ’¬ (See [[:Category:Meetings | all previous meetings]])}}
: {{Note|Attend our [[Online Developer Meeting (2021-07-27)]] πŸ™‚πŸ’¬ (See [[:Category:Meetings | all meetings]])}}


== πŸ› οΈ [[:Category:Building|Building]] ==
== πŸ› οΈ [[:Category:Building|Building]] ==
Line 20: Line 19:
* [[Continuous Build]] -- Check changes with [https://buildbot.net/ Buildbot].
* [[Continuous Build]] -- Check changes with [https://buildbot.net/ Buildbot].
* [[MXE]] -- Cross-compiling to MS Windows.
* [[MXE]] -- Cross-compiling to MS Windows.
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Large array support]]
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Large array support]] --


=== πŸ”§ Tools ===
=== πŸ”§ Tools ===
Line 42: Line 41:
== πŸŽ‰ [[:Category:Releases|Releasing]] ==
== πŸŽ‰ [[:Category:Releases|Releasing]] ==


* The next minor release will be '''GNU Octave 9.2.0''' (a few months major release).
* 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 major release will be [[9.1 Release Checklist | '''GNU Octave 9.1.0''']] (beginning of 2024).
* 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.
* [[Release History]]
* [[:Category:Releases|Older releases]]
* [[:Category:Releases|Old release checklists]]
* "Nightly" Octave releases on https://octave.space
* "Nightly" Octave releases on https://octave.space


Line 55: Line 53:
:''See also [[JWE Project Ideas]] for additional info about some of these items.''
:''See also [[JWE Project Ideas]] for additional info about some of these items.''


==== Large New Features ====
* Bug fixes, especially those related to compatibility issues.
* Compatible arguments block ([https://savannah.gnu.org/bugs/?func=detailitem&item_id=59405 some work has been done]; need to execute actions when functions are called)
* Work through the open bug reports for which patches have been submitted.Β  Review/apply/reject and close as many of these reports as possible.
* Compatible local functions
* Refactor/rewrite code for handling load path.
* Compatible string class
* Refactor/rewrite exist and which functions.
** Define class itself ([[https://github.com/apjanke/octave-tablicious/inst initial implementation]?)
* Create a low-level interface to HDF5 functions.
** Construct strings objects from double quoted strings (painful transition).
* Support Matlab's HDF5-based MAT file format using the proposed low-level interface to HDF5 functions.
* Compatible table class ([https://github.com/apjanke/octave-tablicious initial implementation]?)
** Allow all types of function handles to be saved and loaded.
* Create a low-level interface to HDF5 functions
** Allow [[classdef]] objects to be saved and loaded.
** Support Matlab's HDF5-based MAT file format using the proposed low-level interface to HDF5 functions
* Replace the [[GUI terminal widget|terminal widget in the GUI]].
** Allow all types of function handles to be saved and loaded
* Accept Matlab's new argument validation syntax in parser.
** Allow [[classdef]] objects to be saved and loaded
* Make import feature work
Β 
==== Internal Improvements ====
* Refactor/rewrite code for handling load path
* Refactor/rewrite exist and which functions
* Refactor function objects
* Refactor broadcasting and make it work for sparse matrices
* Replace the [[GUI terminal widget|terminal widget in the GUI]]
* Write stack-based byte-code interpreter that doesn't result in deeply nested function calls to evaluate code
* JIT compiler
* Move more code inside octave namespace
* Eliminate mutable class data where possible
* Eliminate singleton objects
* Use classdef for handle graphics?
Β 
==== Other ====
* 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


= πŸ’‘ [[:Category:Project_Ideas|Project ideas]] and work in progress =
= πŸ’‘ [[:Category:Project_Ideas|Project ideas]] and work in progress =
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: