Online Developer Meeting (2021-12-28): Difference between revisions
Jump to navigation
Jump to search
(Update notes from meeting.) |
|||
Line 8: | Line 8: | ||
=== Release process of Octave 7.1 === | === Release process of Octave 7.1 === | ||
* | * No blocking issues at the moment. | ||
* Translations | ** 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 <code>@seealso</code> links to point to old class functions - like <code>@ftp/open</code>. (Doesn't work currently in doc cache.) | |||
* Lookup classdef methods for help and debugger. | |||
* Check reason for "disappearing" classdef constructor for MException class: [https://savannah.gnu.org/bugs/?40828 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 === | === Update strategy for MXE Octave === | ||
Line 16: | Line 38: | ||
* <code>default</code> branch was merged to <code>release</code> a couple of weeks ago. That was meant to get the CI working after the merge from <code>default</code> to <code>stable</code> in the main Octave repository. It was '''not''' meant to freeze the branch... | * <code>default</code> branch was merged to <code>release</code> a couple of weeks ago. That was meant to get the CI working after the merge from <code>default</code> to <code>stable</code> 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? | * 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 === | === Status of plotting in Octave === | ||
* https://octave.discourse.group/t/plotting-backend-for-web-ui/2008 | * 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 == | == Previous topics == |
Revision as of 20:22, 28 December 2021
- 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)