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

stability of configuration options #3077

Open
MabezDev opened this issue Jan 31, 2025 · 4 comments
Open

stability of configuration options #3077

MabezDev opened this issue Jan 31, 2025 · 4 comments
Labels
1.0-blocker package:esp-config Issues related to the esp-config package RFC Request for comment

Comments

@MabezDev
Copy link
Member

I can foresee us wanting to try out some configuration options, like in #3054 but don't want to commit to having it around forever.

This could be a simple as documenting the stability, but maybe we should prefix unstable configs to make it more clear? ESP_HAL_CONFIG_UNSTABLE_PLACE_SPI_DRIVER_IN_RAM or something like that?

@MabezDev MabezDev added 1.0-blocker package:esp-config Issues related to the esp-config package RFC Request for comment labels Jan 31, 2025
@bugadani
Copy link
Contributor

bugadani commented Jan 31, 2025

We also have the option to gate configs by the unstable feature, it's just a matter of cfg-ing compiler_error! calls, or option_env unwraps.

@Dominaezzz
Copy link
Collaborator

It would be a good idea to also take into account how stabilisation would work.
If UNSTABLE is in the config name, when the config is stabilised, users should get a nice message saying "This config is now stable, use this instead" rather than "This config isn't recognised".

If it's gated by the unstable feature, where appropriate, users should get a nice message saying "This has been renamed to ...." or "The possible values have been changed to ....". This one might be more difficult to implement. Might also be weird for a config to silently become stable whilst also introducing breaking changes.

@bugadani
Copy link
Contributor

Might also be weird for a config to silently become stable whilst also introducing breaking changes.

That's a good shout, but we should also generally try our best and not insta-stabilize a breaking change.

@bjoernQ
Copy link
Contributor

bjoernQ commented Jan 31, 2025

I guess we should not rename something in the process of stabilizing it.

Hiding an unstable config option behind the unstable feature sounds good to me.

Given they are only available for unstable I don't see a need to warn about their usage - e.g. we also don't warn the user when calling an unstable function. When they get renamed or removed it's no different from changing any other unstable API item

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.0-blocker package:esp-config Issues related to the esp-config package RFC Request for comment
Projects
Status: Todo
Development

No branches or pull requests

4 participants