Online Developer Meeting (2023-12-19)

From Octave
Revision as of 23:29, 18 December 2023 by Rik (talk | contribs) (→‎Today's topics)
Jump to navigation Jump to search

Today's topics

  • Octave 9 remaining release activities
    • Blocking bugs
      • Change in BLAS/LAPACK condition number for `inf (2,2)`. Should we disable tests for this feature to avoid confusion that something is wrong with Octave, while we work on a strategy for this?
      • Windows Terminal problems
    • Translation files
    • First names or abbreviated names in `contributors.in`?
    • `-fsanitize` and other checks on code
  • Octave coding guidelines
    • Need refresh as recommendations are out of date
      • Line length
      • Break return type of function and put on separate line for class methods within class definition?
      • `enum`, `struct` style not particularly clear or documented
      • #ifdef indentation and styling
  • Public roadmap discussion.
  • Proposal [from cbm]: set aside last 15 or 20 minutes to hack on the bytecode interpreter.
    • JWE asks questions, rest of us file issues or take notes.
    • Example: last meeting something came up about int types...
      • perhaps we can find a few more "low hanging fruit"
    • If nothing else, a few of us will spend a few minutes trying the interpreter.

Previous topics

  • Octave 9 release activities
  • Consider reverting the removal of the configure flag that allows disabling the bytecode VM?
  • Clarify changes that should target the stable or the default branch.
    • No universal guidelines, generally ask whether it absolutely needs to be in stable without introducing new problems
    • Importance of impact, if any: does it make a difference whether it addresses a crash vs addresses something minor?
    • Importance of frequency, if any: does it make a difference whether the bug is commonly encountered or rare?
    • Size of code change, if any.
    • When to graft changes from default to stable?
  • Clarify what should be part of reviewing a change before pushing it to the repository. Any difference for changes to the stable or the default branch?
    • No all-use guidelines, but avoid compiler specific code, platform specific code, and in general ask why something is written this way
  • Decide on criteria for which bugs should be fixed before 9.1.0 release
    • Tag all bugs which meet criteria with Planned Release of 9.1.0
  • Default to Qt6 for Octave 9? Also for MXE Octave? That raises minimum requirements for compiler (C++17) and target platform (for Windows: minimum Windows 10 64-bit, see post on discourse).
  • Enable polymorphic allocators by default (C++17 feature)? Might prevent Octave packages from building if they set a lower C++ standard. (Known example: the ltfat package does this currently, adding -std=gnu++11 to its flags, preventing it from being built as-is with polymorphic allocators.)

See also