Online Developer Meeting (2021-12-28): Difference between revisions
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 20: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)