-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
Is your feature request related to a problem?
First of all, thank you for your continuous work on esptool and the improvements introduced in v5.
I am an engineer who frequently switches between multiple development environments, including different versions of ESP-IDF and Arduino (PlatformIO and Arduino IDE). Because these environments bundle different versions of esptool, the recent change from underscore (_) command/option names to dash (-) names has caused some practical compatibility issues.
Background of the issue
- Newer Arduino builds already include esptool v5.x, where old commands with
_still work but print deprecation warnings. - Older Arduino / ESP-IDF environments only support the old
_form. - This means I cannot use the new
-style universally without breaking older environments. - At the same time, keeping the
_style causes v5 to output warnings every time, which becomes noisy in daily use.
Because I frequently jump between these environments (and many automation scripts rely on consistent commands), this change brings noticeable inconvenience.
Describe the solution you'd like
I would like to propose two enhancements:
1. Keep long-term compatibility for underscore (_) command and option names
Even if they remain marked as “deprecated”, keeping them functional permanently would greatly improve compatibility across mixed-toolchain environments and avoid breaking older Arduino/IDF setups.
2. Add an environment variable to disable the deprecation warnings
Something like:
ESPTOOL_HIDE_DEPRECATED_WARNING=1
or any similar flag.
This would:
- Reduce console noise for users who must continue using old-style commands for compatibility reasons
- Avoid modifying many scripts just to silence harmless warnings
- Keep default behavior unchanged for most users
Additional context
Many users work with mixed environments (IDF, Arduino, PlatformIO, CI systems). Since these ecosystems evolve at different speeds and bundle different versions of esptool, it’s currently impossible to use a single consistent command style across all of them.
Having a compatibility switch + warning suppression would significantly improve workflow for engineers dealing with legacy and new environments simultaneously.