Online Developer Meeting (2021-07-27): Difference between revisions
Jump to navigation
Jump to search
(→Octave 6.3 released: Add notes of Kai) |
(Add notes of Kai.) |
||
Line 11: | Line 11: | ||
** Contact Debian maintainers of the Octave package to maybe improve our communication (Kai). | ** Contact Debian maintainers of the Octave package to maybe improve our communication (Kai). | ||
=== | === Octave 6.4 / 7 / 8 === | ||
* Discussion how to continue with the development. | |||
** jwe wants to introduce breaking changes (see below). | |||
* Octave should stick with the ~yearly major release cycle | |||
** Probably no Octave 6.4 (only if severe bugs occur). | |||
** Octave 7 (default branch) | |||
*** Should no longer receive "very" breaking changes (e.g. String-class for Octave 8) | |||
*** Has about 305 bugs fixed (not 100% reliable figure) and should not wait another year until many bigger outstanding changes happen (will be deferred to Octave 8) | |||
*** Tentative plan: | |||
**** November 2021 merge default to stable. | |||
**** End of 2021 release of Octave 7 | |||
** Octave 8 (new default branch) | |||
*** No clear decision how to handle very breaking changes until November 2021 merge default to stable. Depends on future needs. | |||
=== Octave 7 / 8 === | |||
* [https://www.mathworks.com/help/matlab/ref/arguments.html Function argument parsing] (introduced in Matlab R2019b, rather new) | |||
** jwe will continue to work on this feature on Octave 7 (default branch) | |||
** If feature cannot be completed by the end of the year, it will be disabled on parser-level (error), and introduced in Octave 8 one year later. | |||
* New GUI command widget | |||
** Possible to introduce it as user opt-in in Octave 7 | |||
** Pending issues: | |||
*** Command-widget does not look like the previous one (textbox for command input) | |||
*** jwe needs better looking widget (avoid developing a new one) | |||
*** No possibility to run external applications (like emacs, pager), which is already partially broken now. Need to implement own paging strategy (scroll bars, etc.) | |||
* Deprecation of Octave operators | |||
** Improve Matlab compatibility | |||
** Some extensions make it painful to implement Matlab compatible command-style function calls? (some clarification needed) | |||
*** Remove rarely used extensions like "**" power. | |||
*** Discussion about removal of "+=", "++", etc. No final decision made. | |||
*** Often used extensions like "!" == "~" must probably stay. | |||
=== C++ shared pointer / liboctave === | |||
* jwe had a look at Octave own reference counting | |||
* Wish to replace it with C++ shared pointers | |||
* Expert knowledge wanted! | |||
** jwe will reach out on Discourse about the exact problems. | |||
* jwe identified "copy expensive" inefficiency about mxArray to octave_value conversion? (some clarification needed) | |||
** Root of the trouble lies in historical handling of complex data?? (some clarification needed) | |||
== Previous topics == | == Previous topics == |
Revision as of 01:33, 28 July 2021
- Date: Tuesday, July 27, 2021 @ 18:00 UTC
- Location: https://meet.jit.si/octave-dev-2021-07-27
Todays topics
- Meet and greet 5 minutes before meeting (audio testing).
Octave 6.3 released
- No "official" announcement happened. Maybe reuse abandoned mailing-lists to announce important events, such as releases.
- How do distribution maintainers get to know about Octave releases?
- Contact Debian maintainers of the Octave package to maybe improve our communication (Kai).
Octave 6.4 / 7 / 8
- Discussion how to continue with the development.
- jwe wants to introduce breaking changes (see below).
- Octave should stick with the ~yearly major release cycle
- Probably no Octave 6.4 (only if severe bugs occur).
- Octave 7 (default branch)
- Should no longer receive "very" breaking changes (e.g. String-class for Octave 8)
- Has about 305 bugs fixed (not 100% reliable figure) and should not wait another year until many bigger outstanding changes happen (will be deferred to Octave 8)
- Tentative plan:
- November 2021 merge default to stable.
- End of 2021 release of Octave 7
- Octave 8 (new default branch)
- No clear decision how to handle very breaking changes until November 2021 merge default to stable. Depends on future needs.
Octave 7 / 8
- Function argument parsing (introduced in Matlab R2019b, rather new)
- jwe will continue to work on this feature on Octave 7 (default branch)
- If feature cannot be completed by the end of the year, it will be disabled on parser-level (error), and introduced in Octave 8 one year later.
- New GUI command widget
- Possible to introduce it as user opt-in in Octave 7
- Pending issues:
- Command-widget does not look like the previous one (textbox for command input)
- jwe needs better looking widget (avoid developing a new one)
- No possibility to run external applications (like emacs, pager), which is already partially broken now. Need to implement own paging strategy (scroll bars, etc.)
- Deprecation of Octave operators
- Improve Matlab compatibility
- Some extensions make it painful to implement Matlab compatible command-style function calls? (some clarification needed)
- Remove rarely used extensions like "**" power.
- Discussion about removal of "+=", "++", etc. No final decision made.
- Often used extensions like "!" == "~" must probably stay.
- jwe had a look at Octave own reference counting
- Wish to replace it with C++ shared pointers
- Expert knowledge wanted!
- jwe will reach out on Discourse about the exact problems.
- jwe identified "copy expensive" inefficiency about mxArray to octave_value conversion? (some clarification needed)
- Root of the trouble lies in historical handling of complex data?? (some clarification needed)
Previous topics
- The following items were not discussed. Just some links to progress on those items are displayed.
Octave 6.3.0
- 6.3 Release Checklist
- jwe prepared a second release candidate.
- If nothing big shows up, go ahead with the release in about 10 days (early July).
OctConf?
- Instead of an in-person conference, meet up virtually.
- Ideas for code-sprint?
- Improve test coverage
- That could include automated tests for GUI features ("expect", Qt test classes, set
OCTAVE_SHOW_GUI_MESSAGES
to 1 to display signals with missing connections, ...). Does anyone have experience with this?
GUI
- Make widgets more modular
- remove connections to parents (or parents of parents,...)
- Only pass settings objects (instead of base qwidget) to widgets?
- Add widgets for:
- displaying call stack. Select function in stack for appropriate
dbup
ordbdown
command. - displaying result to an expression. Similar to debugger (watcher, ...)
- displaying call stack. Select function in stack for appropriate
- User expectations for evaluation code from the editor ("Evaluate selection") or the variable editor ("plot") while there is still pending input on the command line?
Breakpoints
- Add feature to temporarily disable breakpoints
- Check syntax for breakpoints in subfunctions, local functions, private functions, methods, ... (
dbstatus
). See: Identifiers for breakpoints
gsvd
- Current version is not Matlab-compatible nor correct in some circumstances.
- Rik is currently implementing a replacement.
IRC channel on Freenode is down?
- Replacement on libera?
jwe will probably post something on discourse.- See: IRC channel for Octave (on Discourse).
Ideas for next meeting
See also
- Next meeting: Online Developer Meeting (2021-08-24)
- Last meeting: Online Developer Meeting (2021-06-22)