Editing Online Developer Meeting (2022-02-22)

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
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 ===
* Blocking issues: 8 open bugs targeting 7.0.90, 3 marked as "ready for test" (see [https://octave.space/savannah/# Savannah overview on octave.space])
* Good progress on some of the blocking issues by jwe. Most important remaining ones:
** bug {{bug|61788}}: arrays of type int16 contain wrong numbers
*** The <code>:</code>-operator will probably be changed to return an array (instead of a range object) before Octave 7.
*** Image package had trouble with this change (bug {{bug|61815}}).  These changes should be reviewed with the next Octave 7 release candidate.
*** jwe summarized options for the release in comment #18 of the bug report.
*** jwe will revert most changes on "stable" (Octave 7) and continue developing on "default".
** bug {{bug|61813}}: memory management bug when calling MEX that returns an output
*** @jwe check in a fix that will also revert to copying data in the .mex interface (less efficient, but also the way it has always been done until now) unless Octave is compiled with C++17 pmr.
*** This also avoids the <code>malloc</code>-<code>operator delete[]</code> mismatch.
*** Confirmed fixed now.
** bug {{bug|61821}}: segfault using tree_parameter_list in oct file
*** Lower priority, only 32-bit (only on Windows?). Maybe a compiler bug?
*** Not a blocker.
** bug {{bug|61898}}: subsref: Error when field syntax is used on non-scalar @class object
*** Not a bug in Octave core. Recent changes to output argument validation uncovered an issue in interval package.
** Similar bug {{bug|61843}}: Regression with subscripted assignments with arrays of objects
*** Older regression.
** Use suffix for API string when it requires C++17 pmr?
*** Should indicate if Octave was compiled with C++17 support or not.
*** Need to recompile packages.
*** Agreed to avoid suffix.  Leave things as is.
** bug {{bug|61687}}: Ignore not updated translations.  Open new bug report for further translations.
** '''There will be soon a second release candidate.'''
=== Minimum Qt5 version for Octave 8? ===
* No real conclusion.  Wait for progress with Linux distributions.
* See [https://octave.discourse.group/t/qt5-15-already-unsupported-upstream-except-commercial-license/737/15 Qt5.15 already unsupported upstream (except commercial license)?]
=== libinterp ===
* suggestion to prefer <code>std::copy_n</code> instead of for-loop to duplicate data
** try to avoid making too many copies anyways!
* rik updated about the progress on bug {{bug|61753}} (https://octave.discourse.group/t/project-to-review-and-replace-c-assert-with-error-calls/2043)
** jwe suggest to use [https://en.cppreference.com/w/cpp/language/exceptions proper C++ exceptions] in some future release of Octave, instead of error function pointers.
=== dynamic loader (oct-files) ===
* jwe worked on refactoring dynamic code loading with <code>std::shared_ptr</code>, also for reference counting.
* Not clear if there is a portable "standard" way of loading code dynamically (oct-file).  Ideas are welcome.
=== (Not discussed) Where to announce package updates now? ===


* See [https://octave.discourse.group/t/2246 Do we still announce new OF package releases and if yes, where?]


== Previous topics ==
== Previous topics ==
Line 61: Line 15:
* Blocking issues: 9 bugs targeting 7.0.90 (see [https://octave.space/savannah/# Savannah overview on octave.space])
* Blocking issues: 9 bugs targeting 7.0.90 (see [https://octave.space/savannah/# Savannah overview on octave.space])
* Most important ones (in no particular order):
* Most important ones (in no particular order):
** bug {{bug|61788}}: arrays of type int16 contain wrong numbers
** bug {{bug|61788}}: arrays of type int16 contain wrong numbers]
*** The <code>:</code>-operator will probably be changed to return an array (instead of a range object) before Octave 7.
*** Will probably be reverted before Octave 7.
** bug {{bug|61813}}: memory management bug when calling MEX that returns an output
** bug {{bug|61813}}: memory management bug when calling MEX that returns an output]
*** Probably caused by changes for more efficient data interface for .mex files.  @jwe will check this.
*** Issue if Octave is compiled with C++17, while the mex file not. @jwe checks on this.
** Possible issues if Octave is compiled with C++17 (<code>--enable-pmr-polymorphic-allocator</code>), while .oct files are not.
*** maybe also: <code>malloc</code>-<code>delete[]</code> combination in the .mex interface
*** Maybe change the API string if Octave is configured with polymorphic allocators?
** bug {{bug|61821}}: segfault using tree_parameter_list in oct file]
*** Leave that option in. But disable it by default. (That is already the current state.)
*** Lower priority, only conditionally reproducible.
** <code>malloc</code>-<code>delete[]</code> combination in the .mex interface
** bug {{bug|61898}}: subsref: Error when field syntax is used on non-scalar @class object]
*** No decision made. Maybe leave as is?
*** Needs reproducible example without interval package. Similar bug {{bug|61843}} reported.   
** bug {{bug|61821}}: segfault using tree_parameter_list in oct file
* A few package releases with fixes for Octave 7 were pushed to mxe default, e.g. https://hg.octave.org/mxe-octave/rev/d601436d29f2 (ga, control, communications)
*** Check if we are doing something wrong for 32bit. Probably not a blocker.
** Should those changes be applied to the "release" branch?  -YES.
** bug {{bug|61898}}: subsref: Error when field syntax is used on non-scalar @class object
*** Try finding a minimal reproducer (without interval package). Similar bug {{bug|61843}} reported.   
* A few package releases with fixes for Octave 7 were pushed to the default branch of MXE Octave, e.g. https://hg.octave.org/mxe-octave/rev/d601436d29f2 (ga, control, communications)
** Should those changes be grafted to the "release" branch?  -YES.
* Revisit load path caching: https://octave.discourse.group/t/rfc-remove-faulty-load-path-caching/2136
* Revisit load path caching: https://octave.discourse.group/t/rfc-remove-faulty-load-path-caching/2136
** Improving the caching strategy is the way to go (see e.g. bug {{bug|54636}}).
** Improving the caching strategy is the way to go.
** Long-term: A complete overhaul of the load path caching implementation is probably necessary.


=== C++17 features in Octave API? ===
=== C++17 features in Octave API? ===
Line 87: Line 36:
* Should we announce that possible requirement for some time in the future with the release of Octave 7?
* Should we announce that possible requirement for some time in the future with the release of Octave 7?
* See also: [https://octave.discourse.group/t/should-octave-switch-to-c-17-if-so-when/2114 Should Octave switch to C++17? If so, when?] on Discourse.
* See also: [https://octave.discourse.group/t/should-octave-switch-to-c-17-if-so-when/2114 Should Octave switch to C++17? If so, when?] on Discourse.
* We'll start an experiment by enabling polymorphic allocators for default Octave on the default branch of MXE Octave. We'll evaluate if the necessary changes to dependent packages are trivial.


=== GSOC 2022 opening soon ===
=== GSOC 2022 opening soon ===
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: