Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing pieces before NLog 5.0 release candidate #4274

Closed
23 tasks done
snakefoot opened this issue Jan 31, 2021 · 19 comments
Closed
23 tasks done

Missing pieces before NLog 5.0 release candidate #4274

snakefoot opened this issue Jan 31, 2021 · 19 comments
Assignees
Milestone

Comments

@snakefoot
Copy link
Contributor

snakefoot commented Jan 31, 2021

Have now made a draft document of the upcoming release:

NLog/NLog.github.io#158

Have the following tasks remaining:

@snakefoot snakefoot added this to the 5.0 (new) milestone Jan 31, 2021
@snakefoot
Copy link
Contributor Author

Because of Travis-build-pipeline issues, then waiting for #4271 to be approved and Travis being disabled for this project.

@snakefoot
Copy link
Contributor Author

snakefoot commented Feb 2, 2021

@304NotModified Since we are working on extracting exotic stuff from the NLog-package. Would it be a big issue if the QueryPerformanceCounterLayoutRenderer ${qpc} was just dropped into the sea of the forgotten? (Without it being extracted into its own nuget-package, see also my doubts about this package in the todo-list above).

@snakefoot
Copy link
Contributor Author

snakefoot commented Feb 3, 2021

@304NotModified Thinking that it might be an idea to create a meta-package for the NLog-project, that includes the following nuget-packages:

  • NLog
  • NLog.Database
  • NLog.NetworkSocket
  • NLog.WebRequest
  • NLog.SmtpClient
  • NLog.HttpClient (one day)

The meta-package should automatically bump its version, whenever updating one of its dependencies. It could be done by not moving these dependencies out of the NLog-repository. But try to ensure they don't have Windows-specific unit-testing.

@snakefoot
Copy link
Contributor Author

snakefoot commented Feb 11, 2021

Starting to convince myself that a lot of the convenience with NLog is lost when extracting these into seperate packages:

  • NetworkTarget.cs
  • MailTarget.cs
  • WebServiceTarget

Did a comparison of adding NLog to a simple ConsoleApp with AppTriming and SingleEXE. It grew from 11 MByte to 21 MByte. When using NLog without the above packages then it became 19 MByte. Think NLog needs to be re-assembled completely if wanting to reduce its dependencies.

Maybe it should just be an exercise in removing Windows-specific stuff from the respository so people on other platforms can approach the Nlog-project. Along with removing DatabaseTarget to fix the code-analysis warnings because it can execute SQL.

@304NotModified
Copy link
Member

Thinking that it might be an idea to create a meta-package

I like meta packages. Best if both worlds. I think the metal package should be called NLog and the "core" NLog.Core

@304NotModified
Copy link
Member

Starting to convince myself that a lot of the convenience with NLog is lost when extracting these into seperate package

What's lost if we've a meta package?

@snakefoot
Copy link
Contributor Author

snakefoot commented Feb 11, 2021

I have decided to bravely revert the changes of extracting MailTarget + NetworkTarget + WebServiceTarget, so they become part of the default NLog-project (again).

Will instead just focus on extracting the database-target and the other exotic targets that are very Windows specific. To make the NLog-project approachable from other operating systems than Windows.

Made some stabs on stripping all targets and all layoutrenderers from the NLog-project, and still the AppTriming could not reduce below 19 MByte. Think somebody has to take a microscope and check parts of the NLog-infrastructure that prevents triming.

@snakefoot
Copy link
Contributor Author

snakefoot commented Feb 11, 2021

What's lost if we've a meta package?

That it just generates a lot of inconvience without providing any real benefit. Lots of loosers and no winners.

@304NotModified
Copy link
Member

The real benefit is that an user could choose to include less targets. That is also nice for security reasons.

Also I think in the future those should be separate repositores and builds, so the build don't take ages.

@snakefoot
Copy link
Contributor Author

snakefoot commented Feb 11, 2021

That is also nice for security reasons.

Since NLog doesn't start doing random things on its own, but only perform logging to the targets that has been configured. Then I don't see this an issue. The only security issue that I see is the automatic assembly loading, and that will now be disabled in NLog 5.

I'm not going to revert everything, but I will just let WebServiceTarget and MailTarget glide back into the NLog-project. Neither of them gives any overhead in the build-process.

@snakefoot
Copy link
Contributor Author

Believe the remaining pieces for completing NLog 5.0 are now ready as pull-requests.

@snakefoot
Copy link
Contributor Author

Now just need #4351 for extracting DatabaseTarget into its own nuget-package.

@snakefoot
Copy link
Contributor Author

@304NotModified So that's what I mean before, maybe trim the milestone

Have now removed all my own issues where no pull-request is ready. Maybe you could do the same?

@304NotModified
Copy link
Member

Yes, will do that

@304NotModified 304NotModified self-assigned this Jun 3, 2021
@snakefoot
Copy link
Contributor Author

snakefoot commented Jun 12, 2021

Yes, will do that

You want me to move the outstanding issues to NLog 6.0 ?

@snakefoot
Copy link
Contributor Author

snakefoot commented Jun 19, 2021

All checkboxes has been ticked. Created #4468 with major-version bump to 5.0-preview1

@snakefoot
Copy link
Contributor Author

snakefoot commented Aug 22, 2021

Issues that need attention after releasing NLog 5.0 Preview 1 (needs documentation on wiki)

@snakefoot
Copy link
Contributor Author

snakefoot commented Nov 27, 2021

Completed updating the necessary wiki-pages, but left one for @304NotModified to complete.

@snakefoot
Copy link
Contributor Author

Closing since NLog 5.0-rc1 is now out. Still waiting for pending wiki-update: #4716

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants