Difference between revisions of "Online Developer Meeting (2021-12-28)"
Jump to navigation
Jump to search
(Create page.) |
|||
(4 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
* Meet and greet 5 minutes before meeting (audio testing). | * 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. | ||
+ | * Update year in copyright notes. | ||
+ | * 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 === | ||
+ | |||
+ | * <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? | ||
+ | ** 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 | ||
+ | *** https://octave.discourse.group/t/how-to-update-the-gui-translation-files/1834 | ||
+ | ** 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: [https://octave.discourse.group/t/1821 Windows, UTF-8, and UCRT - yet another variant of Octave on Windows?] | ||
+ | |||
+ | === [https://en.wikipedia.org/wiki/Bus_factor Bus factor] === | ||
+ | |||
+ | * Octave needs more documentation of release tasks. | ||
+ | ** E.g. https://octave.discourse.group/t/how-to-update-the-gui-translation-files/1834 | ||
+ | * 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 <code>OCTAVE_LOCAL_BUFFER</code> 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 <code>std:shared_ptr</code>? But they aren't guaranteed to be thread-safe by design either. | ||
+ | ** Eliminate <code>mutable</code> class data. | ||
+ | * Other performance improvements: | ||
+ | ** Idea: memory pools: bug {{bug|57321}} | ||
+ | ** Idea: static_cast vs. dynamic_cast: patch {{patch|10139}} | ||
+ | ** General remark: Prefer standard features instead of "reinventing the wheel" by implementing intricate optimizations. | ||
== See also == | == See also == |
Latest revision as of 16:34, 28 December 2021
- Date: Tuesday, December 28, 2021 @ 18:00 UTC
- Location: https://meet.jit.si/octave-dev-2021-12-28
Todays topics[edit]
- Meet and greet 5 minutes before meeting (audio testing).
Release process of Octave 7.1[edit]
- 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 8[edit]
- 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[edit]
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[edit]
- 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[edit]
- The following items were not discussed. Just some links to progress on those items are displayed.
Octave 7[edit]
- 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[edit]
- 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?
- 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[edit]
- 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[edit]
- 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[edit]
- Next meeting: Online Developer Meeting (2022-01-25)
- Last meeting: Online Developer Meeting (2021-11-23)