Online Developer Meeting (2021-09-28)

From Octave
Jump to navigation Jump to search


Todays topics

  • Meet and greet 5 minutes before meeting (audio testing).

Octave 6.4.0?

  • Last(?) Octave 6 release?
  • Background: 12 changes on the stable branch (~10 on the release branch of MXE Octave) since the last release. Most important ones:
    • Octave GUI doesn't start for some Windows users. Bug in Qt 5.14 that is fixed in Qt 5.15.
    • Crash to desktop fixed in Octave core (bug #61191).
    • Crash to desktop fixed in librsb (bug #60042, only affects Windows bundle).
    • Command line arguments with parameters (e.g. --path) can't be combined with --gui (bug #60886).

Approximate release date for Octave 7?

  • Last few cycles: merge to stable and release date of first stable version:
    • 6.x: merge to stable: 2020-02-17 --- release: 2020-11-26 (~ 9.5 month)
    • 5.x: merge to stable: 2018-12-20 --- release: 2019-02-23 (~ 2 month)
    • 4.4.x: merge to stable: 2018-04-04 --- release: 2018-04-30 (< 1 month)
    • 4.2.x: merge to stable: 2016-09-28 --- release: 2016-11-13 (~ 1.5 month)
  • Unfinished projects:
    • Symbol visibility breaks tests for indexing expressions on macOS. Also many linker warnings similar to this:
ld: warning: direct access in function 'conv_to_int_array(Array<octave::idx_vector> const&)' from file 'liboctave/array/.libs/libarray.a(libarray_la-Array-util.o)' to global weak symbol 'vtable for Array<long long>' from file 'liboctave/array/.libs/libarray.a(libarray_la-Array-i.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
    • others?

CamelCase in Octave functions?

  • What is our current stance on that?


Previous topics

The following items were not discussed. Just some links to progress on those items are displayed.

Switch this meeting to more casual format

  • In the future notes of the talks will be added to this wiki in a more sparse fashion.

liboctave

  • Make more use of STL
  • Not all liboctave components can be replaced by STL containers, as the ND-indexing is not supported.
  • string_vector class probably replaceable by STL containers.

Tips for Octave C++ code writers

Such as packages, toolboxes, etc.

  • Prefer OCTAVE_LOCAL_BUFFER over heavy-weight Array object to store results of (Fortran-) library calls.
  • Prefer octave_value type variables over internal data structures.
    • Examples: Function handle class and Range class.

For package maintainers

octave namespace

  • jwe made many breaking changes on the default branch moving symbols in the octave namespace, to keep the namespaces tidy.

Deprecations

Trolling

  • In case of trolling behavior of users, please mark the thread, thus a Discourse admin can close the threat and mute the user.
    • DO NOT FEED THE TROLL: Any further answer or conversation is most likely a waste of emotions and time.
  • Any user violating the usage conditions https://octave.discourse.group/tos#heading--conditions will be muted or removed from the forum entirely.

Code sprints

See also