Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OF 0.12.0 Release Checklist #6692

Closed
48 of 77 tasks
ofTheo opened this issue Feb 23, 2021 · 63 comments
Closed
48 of 77 tasks

OF 0.12.0 Release Checklist #6692

ofTheo opened this issue Feb 23, 2021 · 63 comments
Milestone

Comments

@ofTheo
Copy link
Member

ofTheo commented Feb 23, 2021

I found this format quite helpful to organize tracking issues for releases.
Just wanted to put this here so we can start collecting any issues/PR for the next patch release.

Please add links to issues based on testing the nightly packages on different platforms.

0.12.0 SPECIFIC:

Addons:

  • See if @bakercp wants to take over ofxPoco now it is not used in core ( but include ofxPoco for next few releases )

Libraries:

  • What libraries to drop?
  • Remove boost as dependency - but keep it in the download

All Platforms:

Windows:

VS:

MSYS2:

macOS:

Linux/ARM:

Arm64 / aarch64

iOS:

Android:

emscripten:

CI:

Apothecary:

Examples:

  • - remove 3D Model loader example and rename assimpExample

GENERAL:

Move to 0.13.0

@ofTheo ofTheo added this to the 0.12.0 milestone Feb 23, 2021
@dimitre
Copy link
Member

dimitre commented Nov 23, 2021

suggestions:

  • build RtAudio compatible with macOs 10.13
  • removing deprecated functions like loadMovie, etc.
  • remove QTKit

@dimitre
Copy link
Member

dimitre commented Mar 4, 2022

Suggestions: Folders naming and location

it would be great to change some parts of structure for a major version like 0.12.0
changing osx to macos in docs, scripts and templates

and moving templates to root, not inside scripts. it is just strange that this folder sits there, together with lots of .sh folders.

@ofTheo
Copy link
Member Author

ofTheo commented Mar 8, 2022

Be great if people could add any open issues not listed above to this - either in the comments or by editing this issue.

@Jonathhhan
Copy link
Contributor

Jonathhhan commented Mar 11, 2022

Regarding my Emscripten branch: Not sure what is the best way to do the bitesized pull requests, but I am open for that...
(actually I tried to keep everything together, but now I read this: https://yihui.org/en/2018/02/bite-sized-pull-requests/)
Should I make another branch with less changes (only one at a time)?
Would also be great if someone can review my changes, because there are possibly some beginner mistakes (still it works fine for me so far)...
And which of the changes should be included and which not (for now)?

I tried to make a list for a better overview (hope I did not forget anything):

Done:
Fullscreen
Font antialiasing

Done, but could be optimized:
Update OF libs for current Emscripten
Update OF libs for atomics / sharedArrayBuffer (which is needed for AudioWorklet for example)
AudioWorklet
(wasm workers were just merged into the official branch, so could be usable with the official Emscripten branch soon emscripten-core/emscripten#16449)
WebMidi
Simplification (?) of ofxEmscriptenSoundPlayer
Routing of audio nodes (for processing ofxEmscriptenSoundPlayer and ofxEmscriptenVideoPlayer sound with audioWorklets)

Not done (but I have examples for using the file system):
Simplified use of the Emscripten file system

@ofTheo
Copy link
Member Author

ofTheo commented Mar 11, 2022 via email

@Jonathhhan
Copy link
Contributor

Jonathhhan commented Mar 11, 2022

Alright, actually I think I need somebody who can help me (already asked in the forum - but it seems quite difficult to find someone, even if paid), also I dont have a lot of time at the moment. But I will try, if I have more time (not sure if that is before 0.12.0). (My problem starts with: This branch is 186 commits behind the upstream and has conflicts that must be resolved.) I am a little lost and have other important things to do at the moment. I am sorry for that.

@Jonathhhan
Copy link
Contributor

Implement audioWorklet from official Emscripten branch: https://github.com/emscripten-core/emscripten/pull/16449/files

@roymacdonald
Copy link
Member

hey @Jonathhhan sorry for not being able to help so far. I will take a look at your branch and see how I can help to make a nice and clean PR.

@Jonathhhan
Copy link
Contributor

Jonathhhan commented Mar 16, 2022

@roymacdonald no problem. And sorry if I sounded a bit grumpy, it wasnt meant like that. I was just a little overwhelmed and exhausted.... But I think it would be a good idea to implement audioWorklets from the official Emscripten branch instead. Still, my implementation could help to show how to implement it (maybe (hopefully) it doesnt need a lot of changes).

@roymacdonald
Copy link
Member

@Jonathhhan no worries. It did not sound like that at all to me. I see that there your most up to date branches are named bitesize-audioworklet and bitesize-AudioWorklet which one should be used?

@Jonathhhan
Copy link
Contributor

Jonathhhan commented Mar 16, 2022

@roymacdonald those two branches were my attempts to get clean up to date branches for making the bitsize changes. But I had no luck, because I made some changes to my master branch once (they include none of my current changes yet). So this is still the branch that includes all my changes: https://github.com/Jonathhhan/openFrameworks/tree/AudioWorklet

@dimitre
Copy link
Member

dimitre commented Apr 2, 2022

Edit: Done
ofxSVG object renamed to ofxSvg

@dimitre
Copy link
Member

dimitre commented Apr 2, 2022

Anybody else likes the idea of having https://github.com/danomatika/ofxMidi as a core addon?

@Jonathhhan
Copy link
Contributor

Anybody else likes the idea of having https://github.com/danomatika/ofxMidi as a core addon?

definitely :)

@danoli3
Copy link
Member

danoli3 commented Apr 3, 2022 via email

@dimitre
Copy link
Member

dimitre commented Apr 4, 2022

Edit: Done
Suggestion: this PR can be added to 0.12 checklist too

@dimitre
Copy link
Member

dimitre commented May 4, 2022

hey @ofTheo I've took a look at this:
settings.monitor not being clamped

and moved functionality to outside the if, so it is clamped correctly once
#6954

@dimitre
Copy link
Member

dimitre commented May 5, 2022

hey @ofTheo I was reading this one " Change template to make missing a return a hard error instead of allowing functions not return anything."
and it is already an error in XCode and a warning in make.
This can be changed adding

PLATFORM_CFLAGS += -Werror=return-type

in line 93 of config.osx.default.mk
should I submit a PR?

@ofTheo
Copy link
Member Author

ofTheo commented May 5, 2022

@dimitre that would be great for make! Thanks!!

@dimitre
Copy link
Member

dimitre commented May 5, 2022

Nice, its here

@dimitre
Copy link
Member

dimitre commented May 5, 2022

Hey @ofTheo can you explain better about retina support item?

@ofTheo
Copy link
Member Author

ofTheo commented May 6, 2022

@dimitre there is is more info here: #4789

Originally I was imagining that say you had a 2x retina scale OF would render everything twice as large into a 2x frame buffer. However fonts would also need to be loaded at 2x and then things start to get tricky as if you move the window to a 1x ( non retina window ), do you reload the fonts? Or if you start on a non retina monitor and move to a retina monitor do you reload the fonts at 2x?

There are definitely some edge cases where things get tricky.

It might be worth trying out some different approaches and see what is the simplest and most robust approach.

We can query the pixel coordinate scale and we can enable retina support via the plist so, the basic info is there.

Hope that helps!
Theo

@dimitre
Copy link
Member

dimitre commented May 7, 2022

Other suggestion, older deprecated API should be removed already
loadMovie -> load
loadImage -> load
saveImage -> save
initGrabber -> setup

@dimitre
Copy link
Member

dimitre commented Jun 2, 2022

Just to add to list.
it would be great to have orientation issues solved for 0.12

@StaffanMelin
Copy link

I saw the Linux issue "Try and get Rpi 4 working without X" in the list. Does this mean running oF headless and without windowing system? I just did something similar on a Rock Pi 4 and I basically just used the ofAppNoWindow feature.

@StaffanMelin
Copy link

I think this should be addressed for Linux:
#6871

@dimitre
Copy link
Member

dimitre commented Jun 18, 2022

Hey @StaffanMelin do you think it is an OF issue rather than GStreamer? Is Processing still shipping a previous version binary to make it work?

@artificiel
Copy link
Contributor

if i may point 2 minor and easy-to-validate PRs: #7583 #7564

@artificiel
Copy link
Contributor

ofRandom: #7598

@artificiel
Copy link
Contributor

allow me to also point #7600

@artificiel
Copy link
Contributor

also #7601

@artificiel
Copy link
Contributor

and just in case it's an easy thing to fix (i guess it's more of a PG (or template?) thing?): make "release" the default -- as discussed in 2012: #1022 -- there seems to be more and more performance difference between debug and release (at least macOS).

@ofTheo
Copy link
Member Author

ofTheo commented Aug 20, 2023

Also this:
openframeworks/projectGenerator#377

@ofTheo
Copy link
Member Author

ofTheo commented Aug 25, 2023

Just a heads up that aside from a couple of very small fixes I think we're close to 0.12.0 release.

@dimitre if we can hold off on merging big feature or refactoring PRs for now. Let's let master sit as is for a few days and just focus on testing nightlies and addressing critical platform breaking issues.

Goal will be to post 0.12 early next week.

Edit: I'm guessing that install_dependencies scripts will need testing for ubuntu, debian and arch platforms. Maybe trying a fresh install on RPI3 ( 32bit bullseye raspbian ) and RPi4 ( 64bit bullseye debian ). Testing msys2 with @oxillo 's help.

We could also do a forum post to ask people to test the nightly builds on their platform.

@dimitre
Copy link
Member

dimitre commented Aug 25, 2023

Great! no more news for pg until release. only bugfixes if they are found.

About RPI:
aarch64 works well for RPI 3B+ in my tests here
it seems to suport every one since RPI3 and zero 2, so this effort can make it work with any PI from after 2016
in my opinion we can drop importance in RPI 32bits release

@ofTheo
Copy link
Member Author

ofTheo commented Aug 25, 2023

Nice @dimitre!

Thanks for testing. Were you using the 64bit Raspberry Pi Bullseye OS or the Debian 64 bit OS or something different?
It would be awesome if you could try the nightly aarch64 release tomorrow as some of the libs were broken and now should be fixed.

@dimitre
Copy link
Member

dimitre commented Aug 25, 2023

Raspberry Pi Bullseye.
I've tested some weeks ago before the changes.
I'll be travelling soon so no RPI near for the next two weeks.
I'll post on the forum if somebody else can do some testing.

@ofTheo
Copy link
Member Author

ofTheo commented Aug 25, 2023

cool! thanks @dimitre
I think I have 2-3 devices I can rummage up and give a try.

@artificiel
Copy link
Contributor

on the x64 archlinux side, fresh install on i5 with of_v20230823_linux64gcc6_release.tar.gz: the download libs scripts work, as does compile and run the 3dprimitives example.

@ofTheo
Copy link
Member Author

ofTheo commented Aug 25, 2023

Awesome thanks @artificiel !

@Jonathhhan
Copy link
Contributor

ProjectGenerator still does not open projects with Open in IDE. Tested with of_v20230823_vs_release.
Does not matter much to me, just want to mention it.

@ofTheo
Copy link
Member Author

ofTheo commented Aug 28, 2023

@Jonathhhan yup - trying to track that one down.
If I can't solve it quickly I think we can package nightlies as 0.12.0

@artificiel
Copy link
Contributor

great!

i will still advocate a bit for #7601 as these don't help anyone currently and even if a quickie ARC fix is possible, it will not turn them into good examples.

also I had #7271 on a lingering list -- just tested it, it works and feels more "correct" than executing an arbitrary downloaded script with complete sudo privileges.

@ofTheo
Copy link
Member Author

ofTheo commented Aug 28, 2023

cool!
Merged #7601 and bumped #7271 to 0.12.1 :)

@ofTheo
Copy link
Member Author

ofTheo commented Aug 29, 2023

0.12.0 RC 1 is out here:
https://github.com/openframeworks/openFrameworks/releases/tag/0.12.0-rc1

If there are no major issues we'll convert it to full 0.12.0.
Thank you everyone involved for all the work getting this out. 🙏

@moebiussurfing
Copy link

Hey, thanks for the update!

Just reporting about PG:

Dragging any example folder to PG is not allowed here on Windows 11.
Also when opening PG with admin rights.

Using the "import" button it works.
"Open IDE" button now works fine too.

@ofTheo
Copy link
Member Author

ofTheo commented Aug 29, 2023

Thanks for checking @moebiussurfing !!
Yes, I think the dragging into PG not working is okay ( did the older 0.11.2 release PG allow it? ).

Many thanks!
Theo

@moebiussurfing
Copy link

moebiussurfing commented Aug 29, 2023

yes, older versions allowed drag a project folder to PG

@oxillo
Copy link
Contributor

oxillo commented Aug 29, 2023

On MSYS2, compilation raises a lot of annoying deprecation warnings for ofSeedRandom().
The message should be only emitted if the function is used by the user code. Not in the core.

Error in the compilation directory. Sorry !

@oxillo
Copy link
Contributor

oxillo commented Aug 29, 2023

Warning about compilation of C files with C++ only option

cc1.exe: warning: command-line option '-std=gnu++17' is valid for C++/ObjC++ but not for C

This is only for addon compilation! fix is not simple.
Not blocking for 12.0 release; let's move it to 12.1 (#7623)

@artificiel
Copy link
Contributor

@oxillo srand-based random will be removed from core soon, but right now the deprecation warning should only be on the argument version. (we still need a single call in the new random engine to keep the seeds in sync but that will also go away).

I've just removed instances of ofSeedRandom in the examples with #7622; can you point if you have others lines for which you get errors?

@oxillo
Copy link
Contributor

oxillo commented Aug 30, 2023

@artificiel : I've compiled in the wrong directory... RC1 doesn't seem to have this deprecation warning !
Sorry about the disturbance.

@oxillo
Copy link
Contributor

oxillo commented Aug 30, 2023

Only warning that is remaining in the core is about unused function in ofFileUtils.cpp

C:/N/openframeworks/of_v0.12.0-rc1_msys2_mingw64_release/libs/openFrameworks/utils/ofFileUtils.cpp:1480:13: warning: 'bool natural(const ofFile&, const ofFile&)' defined but not used [-Wunused-function]

I think it can be safely deleted as it is replace by naturalStr(). @ofTheo what do you think ?

@ofTheo
Copy link
Member Author

ofTheo commented Aug 30, 2023

Closing this issue!
https://github.com/openframeworks/openFrameworks/releases/tag/0.12.0
https://forum.openframeworks.cc/t/0-12-0-is-released/42426

Thanks everyone!!!! 🎉

@ofTheo ofTheo closed this as completed Aug 30, 2023
@ofTheo ofTheo unpinned this issue Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests