Category:Development: Difference between revisions
Jump to navigation
Jump to search
Line 67: | Line 67: | ||
** Allow [[classdef]] objects to be saved and loaded | ** Allow [[classdef]] objects to be saved and loaded | ||
* Make import feature work | * Make import feature work | ||
* Use classdef for handle graphics? | |||
==== Internal Improvements ==== | ==== Internal Improvements ==== |
Revision as of 17:01, 23 November 2021
- This page contains links to pages of interest to Octave developers.
💡 Getting started 🔰
- Developer FAQ -- Start here.
- Contribution guidelines for Octave
🔬 Octave development
- Attend our next Online Developer Meeting 🙂💬 (See all previous meetings)
🛠️ Building
- Building -- General information how to build Octave from source.
- Continuous Build -- Check changes with Buildbot.
- MXE -- Cross-compiling to MS Windows.
- Large array support
🔧 Tools
- 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
🐞 Debugging
- Debugging Octave -- How to use gdb to obtain stack traces.
- Finding Memory Leaks -- How to use valgrind.
🎉 Releasing
- The next minor release will be GNU Octave 6.4.0 (end of 2021).
- The next major release will be GNU Octave 7.1.0 (beginning of 2022).
- Release History
- Old release checklists
- "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.
Large New Features
- 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
- Use classdef for handle graphics?
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 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
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
💡 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
classdef
. - 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.
- Classdef -- Define own data types using
Other
Subcategories
This category has the following 7 subcategories, out of 7 total.
Pages in category "Development"
The following 23 pages are in this category, out of 23 total.