Online Developer Meeting (2021-12-28)
Jump to navigation
Jump to search
- Date: Tuesday, December 28, 2021 @ 18:00 UTC
- Location: https://meet.jit.si/octave-dev-2021-12-28
Todays topics
- Meet and greet 5 minutes before meeting (audio testing).
Release process of Octave 7.1
- 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.
- Do a first release candidate during the next few days (independent on current status of translations).
Projects for Octave 8
- 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.
- Allow
@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 Octave
default
branch was merged torelease
a couple of weeks ago. That was meant to get the CI working after the merge fromdefault
tostable
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 Octave
- https://octave.discourse.group/t/plotting-backend-for-web-ui/2008
- The "gnuplot" graphics interface will eventually be removed.
- It's probably difficult (or impossible) to make it a package.
- The "qt" graphics interface is the default now.
Previous topics
- The following items were not discussed. Just some links to progress on those items are displayed.
Octave 7
- 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?)
- Focus on stabilization
- Bugs to be fixed marked on Savannah with "7.0.90" or "Octave 7" on https://octave.space/savannah/
- Go through "ready for test" list, close as much as possible
- Call for translations
- Approx. final release date (early 2022)
MXE Octave merge strategy
- 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?
- Should we distribute an UCRT version of Octave for Windows?
- No big opposition to adding new versions if it doesn't become too many and they add value.
- Probably changes inside Octave necessary as well. Long time project. Maybe for Octave 8 (or later).
- See: Windows, UTF-8, and UCRT - yet another variant of Octave on Windows?
Bus factor
- 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 ideas
- jwe updated Category:Development#jwe_priorities and clean up outdated JWE Project Ideas.
- @jwe: shall I (Kai) merge and redirect JWE Project Ideas into the general Projects page??
- 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. - Eliminate
mutable
class data.
- Other performance improvements:
See also
- Next meeting: Online Developer Meeting (2022-01-25)
- Last meeting: Online Developer Meeting (2021-11-23)