Category:Development: Difference between revisions

From Octave
Jump to navigation Jump to search
(→‎🎉 Releasing: Octave 9.2.0 release)
 
(8 intermediate revisions by 3 users not shown)
Line 42: Line 42:
== 🎉 [[:Category:Releases|Releasing]] ==
== 🎉 [[:Category:Releases|Releasing]] ==


* The next minor release will be '''GNU Octave 6.4.0''' (end of 2021).
* The next minor release will be '''GNU Octave 9.3.0''' (a few months major release).
* The next major release will be [[7.1 Release Checklist | '''GNU Octave 7.1.0''']] (beginning of 2022).
* The next major release will be [[9.1 Release Checklist | '''GNU Octave 10.1.0''']] (beginning of 2025).
* [[Release History]]
* [[Release History]]
* [[:Category:Releases|Old release checklists]]
* [[:Category:Releases|Old release checklists]]
* "Nightly" Octave releases on https://octave.space
* "Nightly" Octave releases on https://nightly.octave.org


== 🎯 Goals for upcoming releases ==
== 🎯 Goals for upcoming releases ==
Line 79: Line 79:
* Eliminate mutable class data where possible
* Eliminate mutable class data where possible
* Eliminate singleton objects
* Eliminate singleton objects
* Use classdef for handle graphics?


==== Other ====
==== Other ====

Latest revision as of 19:31, 28 June 2024

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.

Large New Features[edit]

  • Compatible arguments block (some work has been done; need to execute actions when functions are called)
  • Compatible local functions
  • Compatible string class
    • Define class itself ([initial implementation?)
    • Construct strings objects from double quoted strings (painful transition).
  • Compatible table class (initial implementation?)
  • 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
  • Make import feature work

Internal Improvements[edit]

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

  • 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

💡 Project ideas and work in progress[edit]

Other[edit]