# newButton, newLabel, newComboBox, newTextField etc deprecated, what are the alternatives?

**URL:** <https://forum.servoy.com/t/newbutton-newlabel-newcombobox-newtextfield-etc-deprecated-what-are-the-alternatives/24070>\
**Category:** Questions\
**Created:** [August 19, 2025, 8:16am UTC](https://forum.servoy.com/t/newbutton-newlabel-newcombobox-newtextfield-etc-deprecated-what-are-the-alternatives/24070 "2025-08-19T08:16:30Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![equationunequal](https://avatars.discourse-cdn.com/v4/letter/e/a8b319/32.png) [@equationunequal](https://forum.servoy.com/u/equationunequal)\
**Post date:** [August 19, 2025, 8:16am UTC](https://forum.servoy.com/t/newbutton-newlabel-newcombobox-newtextfield-etc-deprecated-what-are-the-alternatives/24070/1 "2025-08-19T08:16:30Z")

</div>

We recently upgraded our application from the 2024.3 LTS to the 2025.3 LTS. We are now getting a ton of warnings for deprecated methods for instances of newButton, newLabel, newComboBox, newTextField, etc.

For example:

 ![image](https://canada1.discourse-cdn.com/flex010/uploads/servoy/original/2X/f/ff8b6cc3e5cd251fb8925e3e2453d1d3e296170b.png)

Unlike other deprecated code, it doesn’t indicate what alternative to use. How can we substitute these deprecated methods?

---

<div class="post-metadata">

**Author:** ![sdevlin](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/sdevlin/32/4488_2.png) [@sdevlin](https://forum.servoy.com/u/sdevlin)\
**Post date:** [August 19, 2025, 1:27pm UTC](https://forum.servoy.com/t/newbutton-newlabel-newcombobox-newtextfield-etc-deprecated-what-are-the-alternatives/24070/2 "2025-08-19T13:27:34Z")

</div>

Hi,

Thanks for posting on the forum.

The legacy built-in components (i.e. Button, Label, etc) are deprecated and you should use WebComponents, which are forward compatible with the newest versions of Servoy.

These are the same components that install with package manager and appear in the pallet.

In your example, you are using the solution model to programmatically create components. In this case, you should use the JSForm.**[newWebComponent](https://docs.servoy.com/reference/servoycore/dev-api/solutionmodel/jsform#newwebcomponent-type-position)** method.

```auto
// create a button
let btn = myForm.newWebComponent("bootstrapcomponents-button");
btn.cssPosition.r("10px").b("10px").w("20%").h("30px")

```

Keep in mind that you now get a [JSWebComponent](https://docs.servoy.com/reference/servoycore/dev-api/solutionmodel/jswebcomponent) instead of a strongly typed legacy component. So you must set component-specific properties according to its JSON spec using [setJSONProperty](https://docs.servoy.com/reference/servoycore/dev-api/solutionmodel/jswebcomponent#setjsonproperty-propertyname-value)

Also, if the rest of your (design-time) solution is using the deprecated components, then you will likely see a style mismatch.

So you kind of need to decide if you want to upgrade your whole solution’s component library.

Hope this helps!

Best,  
Sean

---

<div class="post-metadata">

**Author:** ![seain](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/seain/32/4511_2.png) [@seain](https://forum.servoy.com/u/seain)\
**Post date:** [August 19, 2025, 10:37pm UTC](https://forum.servoy.com/t/newbutton-newlabel-newcombobox-newtextfield-etc-deprecated-what-are-the-alternatives/24070/3 "2025-08-19T22:37:22Z")

</div>

You may want to install `svyUtils$NGClient` package which has helper methods for creating web components which you can extend.

---

<div class="post-metadata">

**Author:** ![sdevlin](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/sdevlin/32/4488_2.png) [@sdevlin](https://forum.servoy.com/u/sdevlin)\
**Post date:** [August 20, 2025, 3:03am UTC](https://forum.servoy.com/t/newbutton-newlabel-newcombobox-newtextfield-etc-deprecated-what-are-the-alternatives/24070/4 "2025-08-20T03:03:18Z")

</div>

> [@seain](#):
>
> svyUtils$NGClient

Oh yeah good point @seain🙂

We don’t het have docs generated from source for helper modules, like this, but you can install it through the Package Manager and view the utility methods directly in GitHub.

> <https://github.com/Servoy/svyUtils/blob/master/svyUtils%24NGClient/ngBootstrapcomponents.js>

---

<div class="post-metadata">

**Author:** ![equationunequal](https://avatars.discourse-cdn.com/v4/letter/e/a8b319/32.png) [@equationunequal](https://forum.servoy.com/u/equationunequal)\
**Post date:** [August 20, 2025, 7:58am UTC](https://forum.servoy.com/t/newbutton-newlabel-newcombobox-newtextfield-etc-deprecated-what-are-the-alternatives/24070/5 "2025-08-20T07:58:35Z")

</div>

Thanks for the info! I’ll go through the application and replace all these legacy components with the newWebComponents.
