> For the complete documentation index, see [llms.txt](https://docs.wisej.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wisej.com/docs/welcome/releases/whats-new-in-3.5.md).

# What's new in 3.5

Wisej.NET 3.5 adds native support for hybrid applications running on all sorts of devices, including full offline support, and many enhancements to the .NET class library and the corresponding JavaScript widgets.

## Getting Started

The latest Wisej.NET 3.5 is available on [NuGet](https://www.nuget.org/packages/Wisej-3).

The Visual Studio 2019 and 2022 extension packages are linked below:

* :package: [Visual Studio 2019](https://s3.us-east-1.amazonaws.com/setup.wisej.com/downloads/Wisej.NET-3-VS2019.vsix)
* :package: [Visual Studio 2022](https://s3.us-east-1.amazonaws.com/setup.wisej.com/downloads/Wisej.NET-3-VS2022.vsix)

## Wisej.NET Targets .NET 7

Wisej.NET 3.5 is now compiled against .NET 7. This means that existing .NET 6 projects that would like to use the latest version of 3.5 must update the target framework dependency.

## Wisej.NET Hybrid and Offline Support

Wisej.NET 3.5 is now able to run on iOS, Android, and MacOS devices using the [EmbedIO ](https://github.com/unosquare/embedio/)server in a new Wisej.NET Hybrid shell build using MAUI's native integrations.

{% embed url="<https://docs.wisej.com/hybrid/getting-started>" %}

Wisej.NET Hybrid includes three new project templates for creating applications:

<figure><img src="/files/TbF72fLiiKDk7zVAVcmD" alt=""><figcaption><p>New Wisej.NET Hybrid Templates</p></figcaption></figure>

### Client Application

This project template is used to create a Wisej.NET Hybrid Client. The Client project builds and runs an executable (.exe, .apk, .ipa, etc.) that can be deployed on any desktop or mobile platform.

{% hint style="success" %}
This template is based on .NET MAUI. You can interact with this project the same way you would with any other MAUI project.
{% endhint %}

### **Remote Application**

Allows developers to build and deploy a traditional Wisej.NET application with the added ability of interacting with the Hybrid device's native functionalities.

This application is deployed to a remote web server such as IIS, Kestrel, or Nginx on Windows or Linux.

{% hint style="success" %}
Alternatively, you can add the [Wisej-3-Hybrid](https://www.nuget.org/packages/Wisej-3-Hybrid/) NuGet package to an existing Wisej.NET project.
{% endhint %}

{% hint style="warning" %}
To use native device functionalities, you must access this application through the **Wisej.NET Hybrid Client Application**
{% endhint %}

### Local Application

Allows developers to build and deploy applications that run entirely on the Hybrid device. The project template contains similar features to the Remote application template such as a **Page** control.

{% hint style="danger" %}
This project needs to be linked into the **Wisej.NET Hybrid Client Application** to use.
{% endhint %}

## API and Component Enhancements

In 3.5 we also focused on extending the programming side of Wisej.NET with a number of enhancements to the object model, data a binding, the various components.

### New Features

* [ListViewItem ](https://docs.wisej.com/api/wisej.web/lists-and-grids/listview/wisej.web.listviewitem)gained the new Visible property. It allows the application to hide items without having to remove and add them back to the [Items ](https://docs.wisej.com/api/wisej.web/lists-and-grids/listview#items)collection.
* All controls that show a label gained a new `AutoToolTip` property. When set to `true` and the text is truncated, it will automatically use the title attribute to show the full label as a native tooltip.
* The [Validation ](https://docs.wisej.com/api/wisej.web/extenders/validation)extender now supports the [IDataErrorInfo](https://learn.microsoft.com/en-us/dotnet/api/system.componentmodel.idataerrorinfo) interface and data binding. We also added the `Enabled` property to the base [ValidationRule](https://docs.wisej.com/api/wisej.web/extenders/validation/wisej.web.validationrule) class to allow the code to disable a specific validation rule without removing it from the Validation extender.
* [DataGridView](https://docs.wisej.com/api/wisej.web/lists-and-grids/datagridview) exposes the CreateSummaryRow, CreateDataBoundColumn, and CreateDataGridViewColumnFromType methods as public virtual to allow an application to customize the grid's inner behavior and fully control the automatica creation of rows and columns.
* The [ErrorProvider ](https://docs.wisej.com/api/wisej.web/extenders/wisej.web.errorprovider)extender allows a derived class to override its methods and fires the new ErrorChanged event to allow an application to customize error message and icons in a single location.
* `TextBox.Text` now converts all \n to \r\n when `Multiline` is `true`. Previously Wisej.NET allowed the browser to strip \r\n and instead return only \n as a new line.

### New Constructors

Most controls have gained several new constructors, some with optional and default arguments, that allow developers to use the controls in code adopting a more flexible and easier syntax:

```csharp
// Previous syntax.
var button1 = new Button
{
    Text = "Click Me",
    Size = new Size(100, 24),
    Location = new Point(10, 10)
});
button1.Click += (s, e) => { AlertBox.Show("Clicked!"); };
this.Controls.Add(button1);

// New syntax.
this.Controls.Add(
    new Button(
        "Click Me",
        new Point(10, 10),
        new Size(100, 24),
        (s, e) => { AlertBox.Show("Clicked!"); })
);

```

### Common Method Chaining

All basic methods in [Control ](https://docs.wisej.com/api/wisej.web/general/control)now return `this` to allow code to chain calls:

```csharp
this.textBox1.Show().CenterToParent().BringToFront();
```

## Bootstrap Dark Theme

Wisej.NET 3.5 includes a new theme for building dark-style applications. The new Bootstrap Dark theme (BootstrapDark-4) is based on the existing Bootstrap-4 light theme.

<figure><img src="/files/Ff5YTUOcGBUqcFgEvRsJ" alt=""><figcaption><p>Wisej.NET BootstrapDark-4 Theme</p></figcaption></figure>

## New Extensions

### Chat Control

The new Chat control can be used to build conversations into an existing Wisej.NET application. The new chat control supports text and custom message types, allowing users to share any type of control or data in the conversation.

<figure><img src="/files/XArujb7pTjcRLEhSe9Ub" alt="" width="375"><figcaption><p>Wisej.NET Chat Control</p></figcaption></figure>

{% embed url="<https://www.nuget.org/packages/Wisej-3-Chat>" %}
Get the Wisej.NET Chat Control
{% endembed %}

### Signature Control

The new Signature control can be used to collect and export user signatures. The control includes undo, redo, image import/export, and line customization features.

<figure><img src="/files/s1ybrZQSYRkuSwRrUJy3" alt="" width="375"><figcaption><p>Wisej.NET Signature Control</p></figcaption></figure>

{% embed url="<https://www.nuget.org/packages/Wisej-3-Signature>" %}
Get the Signature Control
{% endembed %}

See documentation: <https://docs.wisej.com/extensions/extensions/signature>

### Pull-to-Refresh Component

The new Pull to Refresh component can be used to trigger a refresh of a data source associated with a scrollable panel. All containers inheriting from **ScrollablePanel** support the Pull-to-Refresh component.

<figure><img src="/files/thkge4VKE0rNK9Drbnho" alt="" width="222"><figcaption><p>Wisej.NET Pull-to-Refresh Component</p></figcaption></figure>

{% embed url="<https://www.nuget.org/packages/Wisej-3-PullToRefresh>" %}
Get the Pull-to-Refresh Component
{% endembed %}

### TesseractJS Component

The new TesseractJS component allows developers to add real-time OCR scanning to the **Wisej.Web.Ext.Camera** control.

{% embed url="<https://www.nuget.org/packages/Wisej-3-Tesseract>" %}
Get the TesseractJS Component
{% endembed %}

## New Premium Extensions

### Dynamsoft Barcode & Scanning Premium Extension

The new [Dynamsoft](https://www.dynamsoft.com/) Barcode & Scanning premium extension gives developers an enterprise-ready option for barcode scanning and text (OCR) scanning on the web.

Developers are required to purchase the following licenses from [Dynamsoft](https://www.dynamsoft.com/):

* Dynamsoft Barcode Reader – JavaScript Web SDK
* Dynamsoft Document Normalizer – JavaScript Web SDK

{% embed url="<https://www.nuget.org/packages/Wisej-3-Dynamsoft>" %}
Get the Dynamsoft Premium Extension
{% endembed %}

### Mobiscroll Premium Extension

The new [Mobiscroll](https://mobiscroll.com/) premium extension gives developers a suite of mobile-friendly controls and components to use in Wisej.NET applications.

Developers are required to purchase a license from Mobiscroll for use of any components. The Wisej.NET integration uses the **Mobiscroll JavaScript integration**.

{% embed url="<https://www.nuget.org/packages/Wisej-3-MobiScroll>" %}
Get the MobiScroll Premium Extension
{% endembed %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/docs/welcome/releases/whats-new-in-3.5.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
