Online Developer Meeting (2023-12-19): Difference between revisions

From Octave
Jump to navigation Jump to search
m (Add agenda item)
m (Add agenda item)
Line 5: Line 5:
* Octave 9 remaining release activities
* Octave 9 remaining release activities
** Blocking bugs
** Blocking bugs
*** Change in BLAS/LAPACK condition number for `inf (2,2)`
** Translation files
** Translation files
** First names or abbreviated names in `contributors.in`?
** First names or abbreviated names in `contributors.in`?
Line 14: Line 15:
*** Break return type of function and put on separate line for class methods within class definition?
*** Break return type of function and put on separate line for class methods within class definition?
*** `enum`, `struct` style not particularly clear or documented
*** `enum`, `struct` style not particularly clear or documented
*** #ifdef indentation and styling


* Public roadmap discussion.
* Public roadmap discussion.

Revision as of 19:09, 13 December 2023

Today's topics

  • Octave 9 remaining release activities
    • Blocking bugs
      • Change in BLAS/LAPACK condition number for `inf (2,2)`
    • 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