# Breaking Changes

> What a Windows Forms project changes on the way to TX Text Control 34.0: target frameworks, licensing, removed barcode overloads, PDF and obsolete members.

- **Product:** TX Text Control .NET for Windows Forms
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for Windows Forms > Installation Guide > Upgrade Guide > Breaking Changes
- **1507 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/breaking-changes/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/breaking-changes/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/breaking-changes/llms-full.txt

---

Most Windows Forms projects move to TX Text Control 34.0 without code changes, but a project that comes from an older version may have to change its target framework, its licensing or a few calls. The changes are listed below by version, each with what your project has to do. Go through the sections from the version you use now up to 34.0.

### At a Glance

| Coming from | What to check |
|---|---|
| 33.0 | Nothing in your code. Test your PDF output: PDF documents are now tagged, and PDF/A is saved as PDF/A-3a. |
| 32.0 | Move the project to .NET 8 or higher, and replace calls of the removed barcode overloads. |
| 32.0 before Service Pack 2 | On .NET, the license file replaces *licenses.licx*. |
| 29.0 or earlier | In .NET Framework projects, each *licenses.licx* entry needs the full assembly version. |

### Version 34.0

- **No changes to existing API.** The Update Notes table of version 34.0 has a single empty row, so no changed classes, properties, methods or events are listed. Some renderings of the table show the [AppendSettings](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/appendsettings/enumeration/llms-full.txt) enumeration without a description in that row. It isn't a change: `AppendSettings` and its values `None`, `StartWithNewParagraph` and `StartWithNewSection` have existed since the `Append` methods were introduced in version 14.0.
- **Same target framework as 33.0.** The 34.0 package targets .NET 8, like the 33.0 package, so a project that already uses 33.0 keeps its target framework. Version 34.0 also runs on .NET 10 without code changes.
- **Tagged PDF output.** PDF documents are now saved with the tags and metadata of PDF/UA, the standard for accessible PDF. `StreamType.AdobePDFA` saves PDF/A-3a. If your application validates, compares or post-processes the PDF files it creates, test it with the new output. See [PDF/A](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/pdf/pdf-a/llms-full.txt).
- **New properties for accessible PDF.** The `DescriptiveText` properties of [HypertextLink](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/hypertextlink/descriptivetext-property/llms-full.txt), [DocumentLink](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/documentlink/descriptivetext-property/llms-full.txt), [FormField](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formfield/descriptivetext-property/llms-full.txt), [Table](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/table/descriptivetext-property/llms-full.txt) and [FrameBase](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/framebase/descriptivetext-property/llms-full.txt) are new. Existing code does not need them.
- **Toolbox.** The toolbox items are the same as in earlier versions. Only the tab is now named **TX Text Control 34.0**.

### Version 33.0

- **.NET 8 or higher.** The 32.0 packages targeted .NET 5 and, from Service Pack 2, .NET 6. Since version 33.0, the package targets .NET 8. A project on .NET 6 or .NET 7 has to change its target framework to .NET 8 or higher before it installs the 33.0 or 34.0 package.
- **Barcode overloads removed.** The overloads of [TXBarcodeControl.Load](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-barcode/txbarcodecontrol/load-method/llms-full.txt) and [TXBarcodeControl.Save](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-barcode/txbarcodecontrol/save-method/llms-full.txt) that take a `SerializationFormat` were removed. Use the remaining overloads, which load from a file name, a `Stream`, a `TextReader` or an `XmlReader`, and save to a file name, a `Stream`, a `TextWriter` or an `XmlWriter`.
- **File names in the package.** The 33.0 and 34.0 packages contain *TXSVGResources.dll* where the 32.0 package contained *TXSVGGenerator.dll*, and the native libraries *txkernel.dll*, *txtools.dll* and *txic.dll* of the 32.0 package are replaced by libraries named after the major version, such as *tx33.dll*, *tx33\_tls.dll* and *tx33\_ic.dll* in version 33.0 and *tx34.dll*, *tx34\_tls.dll* and *tx34\_ic.dll* in version 34.0. The format libraries, such as *tx32\_pdf.dll*, already carried the major version. A project that references the package needs no change. A project or installer that lists the files by hand has to follow the new names.

### Version 32.0

- **Licensing on .NET since Service Pack 2.** In .NET projects, the license compiler and *licenses.licx* are no longer used. The package adds the license file *txtextcontrol.winforms.license*, which the build embeds into your assembly. Check that your project no longer contains *licenses.licx* after the update, and delete it if it does. .NET Framework projects keep *licenses.licx* unchanged. See [Development Licenses](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/licensing/development/llms-full.txt).
- **SVG images of pages.** The Update Notes of version 32.0 list a new overload of [Page.GetImage](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/page/getimage-method/llms-full.txt) that returns a page as an SVG image. Existing calls keep working.
- **Class libraries and user controls.** Since Service Pack 2, TX Text Control can be used in a class library or a user control that is called from unlicensed assemblies, once [TextControl.EntryAssembly](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/entryassembly-property/llms-full.txt) names the assembly that holds the license. See [Application Licensing](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/licensing/application/#class-libraries-and-user-controls).

### Version 31.0

Version 31.0 has no change that requires work. A project that references the assemblies directly can move to the NuGet packages, which were introduced with this version.

### Version 30.0

Since version 30.0, the setup no longer registers the assemblies in the global assembly cache, and each entry of *licenses.licx* in a .NET Framework project has to contain the full assembly version of the assemblies your project references. Without the version, an older installed version can be used and cause a licensing error. [.NET Framework: licenses.licx](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/licensing/development/#net-framework-licenses-licx) shows an entry.

The Update Notes of version 30.0 list one change: [LoadSettings.PDFImportSettings](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/loadsettings/pdfimportsettings-property/llms-full.txt) was extended with settings for the data that a PDF document carries besides its text. Existing calls keep working.

### Obsolete Members

Some members of the document engine and of mail merge, such as `MailMerge.MergeBlocks` and `ListFormat.CharAfterNumber`, still exist but are obsolete. Replace them when you touch the code: [Deprecated APIs](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/deprecated-apis/#obsolete-members) in What's New lists each one with its replacement.

### Related Pages

- [Upgrading from Previous Versions](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/previous-versions/llms-full.txt): the steps to move a project to version 34.0.
- [Migrating from .NET Framework to .NET](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/from-dotnet-framework/llms-full.txt): move a .NET Framework project to .NET 8 or higher.
- [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/breaking-changes/llms-full.txt) in What's New: the changes of each version.
- The blog article [TX Text Control 32.0 SP2 Licensing Changes: Say Goodbye to licenses.licx](https://www.textcontrol.com/blog/2024/01/05/tx-text-control-32-0-sp2-licensing-changes/): the licensing change of version 32.0 in detail.

---

## Nearby

- **Previous:** [Migrating From .NET Framework to .NET](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/from-dotnet-framework/llms-full.txt)
- **Next:** [Migrating From ActiveX](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/activex/llms-full.txt)
