Under Review
over 2 years ago

bug: compiler 4.1.6 included broken parts of the 4.2.0 Beta 1 with -l 3

I just found that sdk 4.1.6 included parts of 4.2.0 Beta 1 that other bugreports reported recently as breaking some apps. More interestingly this inclusion wasn't mentioned in the announcment on 4.1.6.

See: https://forums.garmin.com/developer/connect-iq/i/bug-reports/sdk-4-2-0-beta-1-won-t-compile-appbase-getproperty

import Toybox.Application;
import Toybox.Application.Properties;

function setConfig(key as PropertyKeyType, val as PropertyValueType) as Void {
    MyApp.setProperty(key, val);
}

java -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar /home/gavriel/Garmin/ConnectIQ/Sdks/connectiq-sdk-lin-4.1.6-2022-11-04-17f8cfdf3/bin/monkeybrains.jar -o bin/MyApp.prg -f /home/gavriel/Garmin/MyApp/monkey.jungle;/home/gavriel/Garmin/MyApp/barrels.jungle -y /home/gavriel/Garmin/developer_key.der -d fr235_sim -w -l 3

ERROR: fr235: /home/gavriel/Garmin/MyApp/source/Config.mc:17,4: '$.Toybox.Application.AppBase.setProperty' is deprecated.

Parents
  • Guys,

    The AppBase.setProperty and .getProperty methods have been documented as deprecated in since June 2015. We updated our documentation generator to report deprecated API symbols in a pink/red text area to make it more obvious back in July 2020. We added compiler warnings and errors for deprecated API use in December 2022.

    Please, please, pretty please... stop using these deprecated APIs and transition to the alternatives provided. Leave the warning enabled, and actually do something about it. If there are problems with that transition, let us know so we can fix them. Share code to make it easier for others to migrate. Please.

    I can almost guarantee that deprecated functionality is going to go away at some point, and when it does, apps that continue using removed APIs are going to break. It doesn't matter how popular the app is, how well you know the language, or how good looking you were in your twenties. Your app will crash.

    I feel like we've everything we can to help avoid this, and I feel like developers are doing everything they can to ignore us. Please, for the common good, don't ignore us.

Comment
  • Guys,

    The AppBase.setProperty and .getProperty methods have been documented as deprecated in since June 2015. We updated our documentation generator to report deprecated API symbols in a pink/red text area to make it more obvious back in July 2020. We added compiler warnings and errors for deprecated API use in December 2022.

    Please, please, pretty please... stop using these deprecated APIs and transition to the alternatives provided. Leave the warning enabled, and actually do something about it. If there are problems with that transition, let us know so we can fix them. Share code to make it easier for others to migrate. Please.

    I can almost guarantee that deprecated functionality is going to go away at some point, and when it does, apps that continue using removed APIs are going to break. It doesn't matter how popular the app is, how well you know the language, or how good looking you were in your twenties. Your app will crash.

    I feel like we've everything we can to help avoid this, and I feel like developers are doing everything they can to ignore us. Please, for the common good, don't ignore us.

Children
No Data