Online Developer Meeting (2024-05-28): Difference between revisions
Jump to navigation
Jump to search
(→Today's topics: Add notes about use of config.h / octave-config.h in Octave header files) |
|||
(12 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
== Today's topics == | == Today's topics == | ||
* Timing for next bugfix release | * We've used just 483GB of our 4000GB Digital Ocean outbound data transfer limit so far in May. We could consider (limited?) distribution of default branch builds for testing purposes. | ||
* Timing for next bugfix release: Expected by now, but delayed again because of bugs(?) - do we need another release candidate? | |||
** We do not need another RC. TODO: @jwe to do release. | |||
** Some discussion about release-candidates: we generally do RC only for 9.1 but not for 9.2, 9.3 etc. | |||
*** This is now documented in https://wiki.octave.org/9.1_Release_Checklist | |||
*** TODO: Does that checklist have a template? We should update that template... | |||
* Using Octave 10 (or 11?) to introduce the string class and other changes that will break backward compatibility without the usual two-release deprecation period. | |||
** Most seemed to feel that trying to maintain both via switches or | |||
** TODO: strings branch ASAP | |||
** TODO: @jwe to make posts/wiki whatever track/identify isuses | |||
* GSoC | * GSoC | ||
** Brief introduction to the three summer projects. | |||
** Note: focus on classdef. | |||
* Octave in MSYS2 (binary distributor for Windows MinGW) | * Octave in MSYS2 (binary distributor for Windows MinGW) | ||
** Idea was to consider *adding* Octave to their project | |||
*** this *might* decrease our maintainence efforts for Windows. | |||
**** this is currently taking at least several hours per week. | |||
*** but it is perhaps too fast-moving for us, as they do rolling releases | |||
*** perhaps does not give us a .exe-based installer. | |||
**** MXE is about cross-compiling from Linux to Windows | |||
**** MSYS2 is about building **on** Windows | |||
** aside: don't bring back 32-bit binaries even if MSYS2 is about to drop support for that platform. | |||
* OctConf | * OctConf | ||
* | ** Rik to continue thinking about San Fran for now. | ||
* Use of config.h / octave-config.h in Octave header files. What symbols belong in octave-config.h? | |||
** <code>config.h</code> should never be included in header files. The same holds for not-installed header files (like for libgui). | |||
** <code>octave-config.h</code> should preferably '''not''' define platform-specific macros. Only ever define macros for features that can be enabled or disabled by configure switches. | |||
** Design classes preferably such that the class definition doesn't differ depending on the target platform or Octave configuration. I.e., move conditional feature selection from the header files to the files that implement the member functions. | |||
:: That means there should be no member functions or properties that are guarded by pre-processor macros in header files (independent on whether they are installed) if possible. | |||
== Previous topics == | == Previous topics == |
Latest revision as of 09:39, 10 June 2024
- Date: Tuesday, May 28, 2024 @ 18:00 UTC Convert timezones here!
- Location: https://meet.jit.si/octave-dev
Today's topics[edit]
- We've used just 483GB of our 4000GB Digital Ocean outbound data transfer limit so far in May. We could consider (limited?) distribution of default branch builds for testing purposes.
- Timing for next bugfix release: Expected by now, but delayed again because of bugs(?) - do we need another release candidate?
- We do not need another RC. TODO: @jwe to do release.
- Some discussion about release-candidates: we generally do RC only for 9.1 but not for 9.2, 9.3 etc.
- This is now documented in https://wiki.octave.org/9.1_Release_Checklist
- TODO: Does that checklist have a template? We should update that template...
- Using Octave 10 (or 11?) to introduce the string class and other changes that will break backward compatibility without the usual two-release deprecation period.
- Most seemed to feel that trying to maintain both via switches or
- TODO: strings branch ASAP
- TODO: @jwe to make posts/wiki whatever track/identify isuses
- GSoC
- Brief introduction to the three summer projects.
- Note: focus on classdef.
- Octave in MSYS2 (binary distributor for Windows MinGW)
- Idea was to consider *adding* Octave to their project
- this *might* decrease our maintainence efforts for Windows.
- this is currently taking at least several hours per week.
- but it is perhaps too fast-moving for us, as they do rolling releases
- perhaps does not give us a .exe-based installer.
- MXE is about cross-compiling from Linux to Windows
- MSYS2 is about building **on** Windows
- this *might* decrease our maintainence efforts for Windows.
- aside: don't bring back 32-bit binaries even if MSYS2 is about to drop support for that platform.
- Idea was to consider *adding* Octave to their project
- OctConf
- Rik to continue thinking about San Fran for now.
- Use of config.h / octave-config.h in Octave header files. What symbols belong in octave-config.h?
config.h
should never be included in header files. The same holds for not-installed header files (like for libgui).octave-config.h
should preferably not define platform-specific macros. Only ever define macros for features that can be enabled or disabled by configure switches.- Design classes preferably such that the class definition doesn't differ depending on the target platform or Octave configuration. I.e., move conditional feature selection from the header files to the files that implement the member functions.
- That means there should be no member functions or properties that are guarded by pre-processor macros in header files (independent on whether they are installed) if possible.
Previous topics[edit]
- Timing for next bugfix release
- potential blocker(?): bug #65605: Octave call to function figure(); results in segfault with Qt6 6.7.0
- jwe creates release candidate (see: Release candidate for Octave 9.2.0 available
- GSoC projects
- 8 applications
- Selection the day after the meeting
- OctConf 2024
- Roadmap and priorities for Octave 10
- Discuss a potential timeline for native string class support
- Blocker: Inability to save classdef objects to files. Potentially realizable in incremental steps:
- Implement a low-level HDF5 interface that is usable from .m code.
- Implement saving double arrays in Matlab-compatible -v7.3 format in .m files.
- Implement saving in that format for other types (including classdef).
- Blocker: Inability to save classdef objects to files. Potentially realizable in incremental steps:
- Should we make and distribute nightly builds for Windows for the default branch?
- Traffic from Digital Ocean limited to 4 TB. (Higher monthly rate if exceeded?)
- Probably no additional nightly build configurations for now.
- Octave in MSYS2 (binary distributor for Windows MinGW)
See also[edit]
- Next meeting: Online Developer Meeting (2024-06-25)
- Prev meeting: Online Developer Meeting (2024-04-23)