Releases: Zeugwerk/Twinpack
Releases · Zeugwerk/Twinpack
v1.2.10
What's Changed
Features
- Improved documentation on creating NuGet packages (including handling dependencies). See: https://doc.zeugwerk.dev/userguide/twinpack/twinpack_nuget_package.html#example-local-repository
Bugfixes
- NuGet repositories now correctly support three-part version numbers.
- The NuGet client does not allow manually setting a timeout when connecting to servers. As a result, login attempts could take several minutes on limited network connections. We now perform a simple HTTP request with a short connection timeout to verify server reachability, making Twinpack more reliable under poor connectivity.
- In TwinCAT 4026, existing .library files are no longer automatically overwritten if they already exist. The SaveAsLibrary method now checks whether the file is present and manually deletes it to prevent a TwinCAT exception.
Full Changelog: v1.2.8..v1.2.10
v1.2.8
What's Changed
Features
- Login to Package Servers now only happens when the sources are changed rather than everytime the Catalog is opened. This results in a faster start-up time of the catalog
Bugfixes
- Search is not case-insensitive again (regresssion from v1.1)
Full Changelog: v1.2.7..v1.2.8
v1.2.7
What's Changed
Features
- Improved support for NuGet repositories without authentication:
In previous versions, connecting to a NuGet repository required entering an arbitrary password, even if the server didn’t require authentication. This is no longer necessary. Similar to the behavior already implemented for Twinpack repositories, it is now sufficient to simply configure the server URL. If the server allows unauthenticated access, a connection will be established automatically, and the "chain" icon will close to indicate a successful connection without logging in.
Logging in is still possible and may be required for accessing private packages available only to authenticated users.
Bugfixes
- Publishing a package directly in Visual Studio does not work in TwinCAT 4026
Full Changelog: v1.2.5..v1.2.7
v1.2.5
What's Changed
Features
- Improved logging when a NuGet package includes a library version that does not match the version specified in the `.nuspec file.
- Package server login is now cancelable via a control
- Running requests are now properly canceled, and cancellation is awaited before initiating new requests.
- The
<title>tag of a.nuspecfile can now be used in case the name of the library does not match the exact name of the package. This is useful if the library title should contain whitespaces. Updated the documentation accordingly.
Bugfixes
- Fixed an issue where a corrupted NuGet cache could prevent the installation of packages from the affected repository. If the cache is temporarily corrupted, Twinpack now falls back to using no cache.
- Resolved a race condition that could occur when a package is available in multiple branches (handled with the cancellation feature)
Full Changelog: v1.2.3..v1.2.5
v1.2.3
What's Changed
Bugfixes
- Twinpack VSIX would not start without a sourceRepositories.json. It had to be created via the command line interface or was already present on the system. Now, if there is no such file, Twinpack does a fallback to defaults
Full Changelog: v1.2.2..v1.2.3
v1.2.2
What's Changed
Features
-
New CLI Interface (Documentation)
- Twinpack now features a command-line interface (CLI) that can run in headless mode, eliminating the need for the TwinCAT Automation Interface.
- The CLI comes in two flavors:
- A platform-independent .NET version that runs on Windows, Linux, and macOS.
- A Windows-only version that supports both headless mode and the TwinCAT Automation Interface for enhanced TwinCAT integration.
- The CLI now supports JSON output, making it easier to use Twinpack as a backend.
- Improved error handling for scenarios where the solution does not exist.
- All actions, which can be performed in the Visual Studio Extension are now available in the command line (configuring repositories, adding, removing, updating packages, browsing the catalog, ...), making this tool perfect for use in Continuous Integration.
-
Twinpack now supports NuGet icons, improving visibility of packages in the catalog.
-
Only packages tagged as library are displayed in the catalog.
-
Improved repository authentication: Now supports NuGet servers requiring an API key but no username.
-
Performance & Stability Improvements
- Optimized package resolution: Queries only the necessary package server when information is already available.
- Improved dependency handling: Dependencies that cannot be resolved are no longer added.
- Faster package version updates with better caching mechanisms.
- Enhanced synchronization context checks to prevent crashes and improve automation interface stability.
Bugfixes
-
Improved Package Management
- Fixed an issue where dependencies were added even when they couldn't be resolved.
- Catalog selection now properly caches results, reducing unnecessary requests.
- Fixed a bug where the package version loading indicator stayed busy if a referenced package was unavailable.
- Solutions without PLC projects no longer cause errors—Twinpack is simply disabled for these cases.
- Save solution before configuration creation to ensure all TwinCAT projects are present in the .sln file.
-
General Bug Fixes
- Fixed redundant message boxes when logging into a repository.
- Fixed issue where the configuration was not recreated after editing package sources, preventing detection of newly available packages.
- Resolved an exception occurring after installing a package from a NuGet server when the package was missing from the first listed repository.
- Improved error handling when updating packages, ensuring only a subset of packages can be updated when needed.
Full Changelog: v1.1.0..v1.1.100 and v1.2.0..v1.2.2
v1.0.11
What's Changed
Features
- Support NuGet servers, which only support api keys. For this kind of servers, in the login dialog you can now leave the
Usernameempty and write theApikeyinto thePasswordfield - If a NuGet server was used to host packages other than PLC libraries, this library would show up in the catalog. Now this kind of packages are filtered away to avoid clutter and having packages, which ultimately can not be installed on the TwinCAT system.
Bugfixes
- When using multiple NuGet repositories (this included Beckhoff repositories, because they are essentially NuGet repositories with some tweaks), an error would show up after successfully installing a package, if the repository was not the first configured NuGet repository.
Full Changelog: v1.0.10..v1.0.11
v1.0.10
What's Changed
Features
- Support for parameters
/CLI/TCXAE15/TCXAE17, which can be used together with/SILENTfor running a 'silent' installation (no prompts)/CLIinstall command-line utilities in the (default) installation folder (C:\Program Files (x86)\Zeugwerk GmbH\Twinpack)/TCXAE15integrate Twinpack into TcXaeShell 32-bit/TCXAE17integrate Twinpack into TcXaeShell 64-bit
Full Changelog: v1.0.9..v1.0.10
v1.0.9
What's Changed
Bug Fixes
- Uncompiled packages on a custom NuGet server could not be installed, because the implementation had the flag for compiled hardcoded. Now the flag is evaluated by checking the tags of the NuGet package for the tag
tp-compiled-libraryand by default packages are uncompiled for NuGet packages. Closes #138
Full Changelog: v1.0.8..v1.0.9
v1.0.8
What's Changed
Features
- The version of Twinpack is now shown in the Visual Studio Output Window, if no update is available the version is also shown in the Catalog instead of the 'new release is available hint' (#130)
Bug Fixes
- When using a NuGet Server, the Login dialog would not close unless login was successful (#135, #136)
- When using a NuGet Server, the download counter could be null, causing a nullpointer exception. Made download counter nullable and hide it in the catalog if it is 'null' or '0' (#137). Thanks @dfreiberger for this contribution
Full Changelog: v1.0.7..v1.0.8