Online Developer Meeting (2021-12-28)
- Meet and greet 5 minutes before meeting (audio testing).
Release process of Octave 7.1Edit
- No blocking issues at the moment.
- Visibility flags are disabled (on the stable branch).
- Polymorphic allocators are disabled by default, but can be enabled with a configure switch.
- Translations are still ongoing.
- Update year in copyright notes.
- Do a first release candidate during the next few days (independent on current status of translations).
Projects for Octave 8Edit
- Array<T> template class:
- Allow implicit instantiations
- Less explicit instantiations (where possible)
- Background: Current design of requiring explicit instantiations was probably "just" for optimization of compile time.
- Make sorting a part of the Array<T> template (instead of a separate template).
- Background: At the time, this was first implemented, there was (probably?) no good sorting method in the STL.
- Maybe move to C++ sorting methods now if possible.
- provide STL compatible iterators (might be a requirement for STL sorting)
- generally try to take better advantage of templating and specializations.
- Make it explicit in the docstring if functions have a return argument.
@seealso links to point to old class functions - like
@ftp/open. (Doesn't work currently in doc cache.)
- Lookup classdef methods for help and debugger.
- Check reason for "disappearing" classdef constructor for MException class: bug #40828
- Is it possible to simplify the implementation of classdef in Octave core?
- General note on changes: Don't over-complicate code for micro-optimizations. Use STL where possible and where it makes sense.
Update strategy for MXE OctaveEdit
default branch was merged to
release a couple of weeks ago. That was meant to get the CI working after the merge from
stable in the main Octave repository. It was not meant to freeze the branch...
- When should the "actual" merge happen? For the (first?) release candidate? For the final release?
- Merge some time during the next few days. Before the first release candidate.
- After that, fix bugs as necessary.
Status of plotting in OctaveEdit
- The following items were not discussed. Just some links to progress on those items are displayed.
- Octave 7.1.0 release activities and timeline
- 7.1 Release Checklist
- Merge default to stable now
- No new features anymore (explain on Octave Discourse @jwe?)
- Go through "ready for test" list, close as much as possible
- Call for translations
- Approx. final release date (early 2022)
MXE Octave merge strategyEdit
- When should the default branch of MXE Octave be merged to the release branch?
- Around the same time as the merge of the default branch of Octave to its stable branch.
- Which branches should the buildbots use in the pre-release phase? Different for jwe's buildbots and octave.space?
- Keep them running like they are. Evaluate if buildbot failures need action in the transition period before the major release.
UCRT version of Octave?Edit
- Should we distribute an UCRT version of Octave for Windows?
- Octave needs more documentation of release tasks.
- jwe updates Project Infrastructure page.
- Start an Octave Discourse thread about ideas how to ensure project continuity.
Octave 8 ideasEdit
- jwe updated Category:Development#jwe_priorities and clean up outdated JWE Project Ideas.
- jwe wants to work on argument-list syntax.
- rik wants to consistently use
OCTAVE_LOCAL_BUFFER in liboctave.
- OpenMP parallelization for trivial cases (e.g. initialize matrix with constant)?
- Ensure thread safeness of Array classes (especially GUI-interpreter communication)
- Maybe based on
std:shared_ptr? But they aren't guaranteed to be thread-safe by design either.
mutable class data.
- Other performance improvements:
- Idea: memory pools: bug #57321
- Idea: static_cast vs. dynamic_cast: patch #10139
- General remark: Prefer standard features instead of "reinventing the wheel" by implementing intricate optimizations.