Dependencies of Steema.TeeChart.NET

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
lukas.gruetzmacher
Newbie
Newbie
Posts: 5
Joined: Fri Jul 30, 2021 12:00 am
Contact:

Dependencies of Steema.TeeChart.NET

Post by lukas.gruetzmacher » Mon Jun 19, 2023 12:36 pm

We want to update to recent version of Steema.TeeChart.NET, which is currently 4.2023.6.6.
We found that some packages are referenced indirectly which does not fully apply to the quality rules of our company:

1. SixLabors.ImageSharp.Drawing and SixLabors.Fonts are referenced (directly and indirectly) but only available as beta version since more than 5 years. This does not feel right when we have purchased a commercial product.
2. System.Text.Json is referenced in version 7.0.2. This looks like using api of net7 which is not the target platform. Wouldn't it be sufficient to reference version 6.0.x?
Lukas Grützmacher
https://lg2.de

Christopher
Guru
Posts: 1603
Joined: Fri Nov 15, 2002 12:00 am

Re: Dependencies of Steema.TeeChart.NET

Post by Christopher » Mon Jun 19, 2023 2:30 pm

Hello,
lukas.gruetzmacher wrote:
Mon Jun 19, 2023 12:36 pm
1. SixLabors.ImageSharp.Drawing and SixLabors.Fonts are referenced (directly and indirectly) but only available as beta version since more than 5 years. This does not feel right when we have purchased a commercial product.
We can understand your concern, although it must be said we chose SixLabors on an explicit recommendation from MIcrosoft itself. At that time the only alternative to SixLabors Microsoft gave to developers was Skia, which Microsoft suggested might be overly featured (and with binaries of large on-disk sizes) for more simple rendering tasks, such as that done by TeeChart.Server.dll.

Which brings us to the second point: these beta NuGet packages are only used by TeeChart.Server.dll and TeeChart.WASM.dll, they are not used by any other of the net6.0, net40 or net48 assemblies.

In any case we have registered your concern and will bring it up for discussion in our next technical meeting.
lukas.gruetzmacher wrote:
Mon Jun 19, 2023 12:36 pm
2. System.Text.Json is referenced in version 7.0.2. This looks like using api of net7 which is not the target platform. Wouldn't it be sufficient to reference version 6.0.x?
System.Text.Json v7.0.3. is built for net6.0, as you can see both in the nuget package itself:
Screenshot from 2023-06-19 16-19-52.png
Screenshot from 2023-06-19 16-19-52.png (16.82 KiB) Viewed 24428 times
And in the documentation on its NuGet page:
Screenshot from 2023-06-19 16-22-02.png
Screenshot from 2023-06-19 16-22-02.png (93.38 KiB) Viewed 24428 times
I cannot see any technical reason for believing that this NuGet is incompatible with net6.0, or that it was designed exclusively for use in net7.0
Best Regards,
Christopher Ireland / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Instructions - How to post in this forum

lukas.gruetzmacher
Newbie
Newbie
Posts: 5
Joined: Fri Jul 30, 2021 12:00 am
Contact:

Re: Dependencies of Steema.TeeChart.NET

Post by lukas.gruetzmacher » Mon Jun 19, 2023 3:18 pm

In any case we have registered your concern and will bring it up for discussion in our next technical meeting.
Great, when the next meeting is scheduled? For us, this will determine how we act in the short term.
Maybe it is time for SixLabors to leave the beta phase. If it is used productive, it should not be beta anymore.
I cannot see any technical reason for believing that this NuGet is incompatible with net6.0, or that it was designed exclusively for use in net7.0
You are right, there is no technical reason, but organizational reason to believe it is incompatible.

Vice versa question: What is the technical reason to explicitly refer to version 7.0,2?
Lukas Grützmacher
https://lg2.de

Christopher
Guru
Posts: 1603
Joined: Fri Nov 15, 2002 12:00 am

Re: Dependencies of Steema.TeeChart.NET

Post by Christopher » Mon Jun 19, 2023 3:30 pm

Hello,
lukas.gruetzmacher wrote:
Mon Jun 19, 2023 3:18 pm
Great, when the next meeting is scheduled? For us, this will determine how we act in the short term.
We will let you know when we've come to a decision as to what to do in this area. One simple solution would be to split off the TeeChart.Server.dll from the other assemblies, just as we do for TeeChart.WASM.dll.
lukas.gruetzmacher wrote:
Mon Jun 19, 2023 3:18 pm
You are right, there is no technical reason, but organizational reason to believe it is incompatible.
What are the 'organizational reasons' you refer to here? if you were able to give us cogent, compelling reasons for moving from v.7.0 to v.6.0 we could consider doing so.
Best Regards,
Christopher Ireland / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Instructions - How to post in this forum

Marc
Site Admin
Site Admin
Posts: 1272
Joined: Thu Oct 16, 2003 4:00 am
Location: Girona
Contact:

Re: Dependencies of Steema.TeeChart.NET

Post by Marc » Wed Jun 21, 2023 11:44 am

Hello Lukas,

A question whilst we study options. If we split TeeChart.Server.dll from the core Nuget, can we be sure that would that resolve the beta-dependency issue you comment on? ie. Is it correct to assume that you are working on a different platform (eg. Winform or WPF)?

With thanks.
Regards,
Marc Meumann
Steema Support

lukas.gruetzmacher
Newbie
Newbie
Posts: 5
Joined: Fri Jul 30, 2021 12:00 am
Contact:

Re: Dependencies of Steema.TeeChart.NET

Post by lukas.gruetzmacher » Wed Jun 21, 2023 2:41 pm

Yes, we are using WPF.
What are the 'organizational reasons' you refer to here? if you were able to give us cogent, compelling reasons for moving from v.7.0 to v.6.0 we could consider doing so.
As stated initially, we have an internal package feed with approved packages.
Currently net7 is not allowed for our development. So, packages "related" to net7 are not allowed.
Even System.Text.Json v7.0.2 is not only for net7, it was released with the net7 sdk 7.0.2. There is big risk for confusion.
We decided to use only 6.X packages.

So, I'm back on my previous question: What is the technical reason to explicitly refer to version 7.0.2?
Was this the latest version available? Or are you using a specific fix which is not available in the 6.x version?
Lukas Grützmacher
https://lg2.de

Marc
Site Admin
Site Admin
Posts: 1272
Joined: Thu Oct 16, 2003 4:00 am
Location: Girona
Contact:

Re: Dependencies of Steema.TeeChart.NET

Post by Marc » Thu Jun 22, 2023 3:49 pm

Greetings,
  • With respect to the request to remove support for a package titled as Beta, SixLabors ImageSharp, we understand the requirement and propose this optional solution: To create a standalone TeeChart WPF Nuget that does not include the dependency. The currently active TeeChart Nugets will continue to include WPF support and the SixLabors dependency, important so a not to break existing code/projects, but the new Nuget will be completely free of that dependency.
  • We have reviewed the requirement of the dependency of System.Text.Json v7.x.x and don’t find that it presents a compatibility issue with NET 6.0 as that forms part of the supported Framework list. It does not require the installation of the NET 7 framework and acts as a standalone dependency, automatically called by TeeChart. However, as we have proposed the option to create a standalone wpf Nuget to meet your requirements, we could go one step further and add the Json v6 to that Nuget. If that option is chosen, it does however, present us with a maintenance management overhead as we will need to continue to support Json v7 in the main TeeChart Nuget package. I ask you to reconsider your position and accept the proposal to continue to include Json v7 (that does not require NET7).
Please note. We have opened a question with the authors of SixLabors (see https://github.com/SixLabors/ImageSharp ... ssions/277) and are confident that their assemblies will emerge from beta at some stage in the near future, hopefully very soon. Our professional desire would be to continue with the TeeChart Nuget packages as we have them now - to not change anything related to their setup or to add a new Package. As the WPF assembly does not use the SixLabors image library although they cohabit in the same space, no reliance is made on that code, neither in beta nor post-beta. The question may be considered aesthetic rather than operational. With that in mind we reiterate our preferred option, which is for the package format to remain as it is now.

Please advise us of the options you consider acceptable.

With thanks.
Regards,
Marc
Steema Support

lukas.gruetzmacher
Newbie
Newbie
Posts: 5
Joined: Fri Jul 30, 2021 12:00 am
Contact:

Re: Dependencies of Steema.TeeChart.NET

Post by lukas.gruetzmacher » Fri Jun 23, 2023 11:05 am

I'm very happy that you get in detail with my questions!
Anyway there is a question open.
Marc wrote:
Thu Jun 22, 2023 3:49 pm
... as we will need to continue to support Json v7 in the main TeeChart Nuget package
You can support Json V7 also with referencing 6.0.X.
I'm quite sure, all users can easily refer 7.0.X even you package defines and uses the interface of 6.0.X.

Why do you think that you need to refer this version?
Lukas Grützmacher
https://lg2.de

Marc
Site Admin
Site Admin
Posts: 1272
Joined: Thu Oct 16, 2003 4:00 am
Location: Girona
Contact:

Re: Dependencies of Steema.TeeChart.NET

Post by Marc » Fri Jun 23, 2023 2:38 pm

We choose version 7. It's the version going forward.

lukas.gruetzmacher
Newbie
Newbie
Posts: 5
Joined: Fri Jul 30, 2021 12:00 am
Contact:

Re: Dependencies of Steema.TeeChart.NET

Post by lukas.gruetzmacher » Wed Jun 28, 2023 1:12 pm

We identified another issue: TeeChart has several dependencies. But, they are intended for internal use, I guess.
Currently we are inheriting these dependencies which may result in unwanted, accidental use of these internals which may not be covered by the license.

So, please hide these references.
You nuspec file should look like this:

<dependencies>
<group targetFramework="net6.0">
<dependency id="PdfSharpCore" version="1.3.56" exclude="Compile,Build,Analyzers" />
<dependency id="SixLabors.ImageSharp" version="3.0.1" exclude="Compile,Build,Analyzers" />
<dependency id="SixLabors.ImageSharp.Drawing" version="1.0.0-beta15" exclude="Compile,Build,Analyzers" />
<dependency id="System.Text.Json" version="7.0.2" exclude="Compile,Build,Analyzers" />
<dependency id="System.Data.DataSetExtensions" version="4.5.0" exclude="Compile,Build,Analyzers" />
</group>
[...]
</dependencies>
Lukas Grützmacher
https://lg2.de

Marc
Site Admin
Site Admin
Posts: 1272
Joined: Thu Oct 16, 2003 4:00 am
Location: Girona
Contact:

Re: Dependencies of Steema.TeeChart.NET

Post by Marc » Thu Jun 29, 2023 9:06 am

Thanks for the feedback/suggestion, we'll review the proposal.

Regards,
Marc
Steema Support

Christopher
Guru
Posts: 1603
Joined: Fri Nov 15, 2002 12:00 am

Re: Dependencies of Steema.TeeChart.NET

Post by Christopher » Wed Jul 05, 2023 2:11 pm

Hello,
lukas.gruetzmacher wrote:
Wed Jun 28, 2023 1:12 pm
So, please hide these references.
We have modified our nuspec files and have published a new set of NuGet packages you can find here.
Best Regards,
Christopher Ireland / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Instructions - How to post in this forum

Post Reply