Online Developer Meeting (2021-12-28): Difference between revisions

Jump to navigation Jump to search
(Create page.)
 
 
(4 intermediate revisions by 2 users not shown)
Line 6: Line 6:
* Meet and greet 5 minutes before meeting (audio testing).
* Meet and greet 5 minutes before meeting (audio testing).


=== Topic 1 ===
=== Release process of Octave 7.1 ===


* Point 1
* No blocking issues at the moment.
** Visibility flags are disabled (on the stable branch).
** Polymorphic allocators are disabled by default, but can be enabled with a configure switch.
* Translations are still ongoing.
* Update year in copyright notes.
* Do a first release candidate during the next few days (independent on current status of translations).
 
=== Projects for Octave 8 ===
 
* Array<T> template class:
** Allow implicit instantiations
** Less explicit instantiations (where possible)
*** Background: Current design of requiring explicit instantiations was probably "just" for optimization of compile time.
** Make sorting a part of the Array<T> template (instead of a separate template).
*** Background: At the time, this was first implemented, there was (probably?) no good sorting method in the STL.
*** Maybe move to C++ sorting methods now if possible.
** provide STL compatible iterators (might be a requirement for STL sorting)
** generally try to take better advantage of templating and specializations.
 
* Make it explicit in the docstring if functions have a return argument.
* Allow <code>@seealso</code> links to point to old class functions - like <code>@ftp/open</code>. (Doesn't work currently in doc cache.)
* Lookup classdef methods for help and debugger.
* Check reason for "disappearing" classdef constructor for MException class: [https://savannah.gnu.org/bugs/?40828 bug #40828]
* Is it possible to simplify the implementation of classdef in Octave core?
 
* General note on changes: Don't over-complicate code for micro-optimizations. Use STL where possible and where it makes sense.
 
=== Update strategy for MXE Octave ===
 
* <code>default</code> branch was merged to <code>release</code> a couple of weeks ago. That was meant to get the CI working after the merge from <code>default</code> to <code>stable</code> in the main Octave repository. It was '''not''' meant to freeze the branch...
* When should the "actual" merge happen? For the (first?) release candidate? For the final release?
** Merge some time during the next few days. Before the first release candidate.
** After that, fix bugs as necessary.
 
=== Status of plotting in Octave ===
 
* https://octave.discourse.group/t/plotting-backend-for-web-ui/2008
** The "gnuplot" graphics interface will eventually be removed.
** It's probably difficult (or impossible) to make it a package.
** The "qt" graphics interface is the default now.
 
== Previous topics ==
:''The following items were not discussed.  Just some links to progress on those items are displayed.''
 
=== Octave 7 ===
 
* Octave 7.1.0 release activities and timeline
** [[7.1 Release Checklist]]
** Merge default to stable now
** '''No new features anymore''' (explain on Octave Discourse @jwe?)
*** Focus on stabilization
*** Bugs to be fixed marked on Savannah with "7.0.90" or "Octave 7" on https://octave.space/savannah/
** Go through "ready for test" list, close as much as possible
** Call for translations
*** https://octave.discourse.group/t/how-to-update-the-gui-translation-files/1834
** Approx. final release date (early 2022)
 
=== MXE Octave merge strategy ===
 
* When should the default branch of MXE Octave be merged to the release branch?
** Around the same time as the merge of the default branch of Octave to its stable branch.
* Which branches should the buildbots use in the pre-release phase? Different for jwe's buildbots and octave.space?
** Keep them running like they are. Evaluate if buildbot failures need action in the transition period before the major release.
 
=== UCRT version of Octave? ===
 
* Should we distribute an UCRT version of Octave for Windows?
** No big opposition to adding new versions if it doesn't become too many and they add value.
** Probably changes inside Octave necessary as well. Long time project. Maybe for Octave 8 (or later).
** See: [https://octave.discourse.group/t/1821 Windows, UTF-8, and UCRT - yet another variant of Octave on Windows?]
 
=== [https://en.wikipedia.org/wiki/Bus_factor Bus factor] ===
 
* Octave needs more documentation of release tasks.
** E.g. https://octave.discourse.group/t/how-to-update-the-gui-translation-files/1834
* jwe updates [[Project Infrastructure]] page.
* Start an Octave Discourse thread about ideas how to ensure project continuity.
 
=== Octave 8 ideas ===
 
* jwe updated [[:Category:Development#jwe_priorities]] and clean up outdated [[JWE Project Ideas]].
** @jwe: shall I (Kai) merge and redirect [[JWE Project Ideas]] into the general [[Projects]] page??
* jwe wants to work on argument-list syntax.
* rik wants to consistently use <code>OCTAVE_LOCAL_BUFFER</code> in liboctave.
* OpenMP parallelization for trivial cases (e.g. initialize matrix with constant)?
** Ensure thread safeness of Array classes (especially GUI-interpreter communication)
** Maybe based on <code>std:shared_ptr</code>? But they aren't guaranteed to be thread-safe by design either.
** Eliminate <code>mutable</code> class data.
* Other performance improvements:
** Idea: memory pools: bug {{bug|57321}}
** Idea: static_cast vs. dynamic_cast: patch {{patch|10139}}
** General remark: Prefer standard features instead of "reinventing the wheel" by implementing intricate optimizations.


== See also ==
== See also ==
216

edits

Navigation menu