dncuug / X.PagedList

Library for easily paging through any IEnumerable/IQueryable in ASP.NET
https://nuget.org/packages/X.PagedList
MIT License
895 stars 212 forks source link

Release 10.x proposal #271

Closed adschmu closed 2 months ago

adschmu commented 2 months ago

There are no additional changes piped at my side at the moment.

I'm not aware of your release strategy, but to make the changes available to a larger audience I would like to see a release at some point.

Since we have breaking changes (UpdateTargetId, to some extent the namespace changes), I would propose to increment the major version for this (10.x).

Changelog proposal:

Breaking changes:

Improvements:

Fixes:

Packages:

Tests:

a-gubskiy commented 2 months ago

Thank you a lot @adschmu for your support in updating project!

Currently published pre-release version of packages:

I also plan update some readme files to provide actual information about packages.

adschmu commented 2 months ago

There are still some issues with the project files. I'll send a quick fix in a few minutes.

adschmu commented 2 months ago

I've updated the changelog above since you merged the PR dropping the async-over-sync extensions.

IMHO the only change not included in the changelog above since 9.1.2 should be your recent changes to Example.Website ("Removed Ajax support and obsolated Bootstrap Ajax examples")

a-gubskiy commented 2 months ago

I want to rewrite examples because the current example project used an outdated Bootstrap version. But I need to find time for it :)

adschmu commented 2 months ago

I want to rewrite examples because the current example project used an outdated Bootstrap version. But I need to find time for it :)

I'm not sure whether the bootstrap version is that critical for an example; but on the other hand I haven't looked so much into the examples ... Still, working on the examples might also reveal issues and shortcomings due to the recent changes.

The quick pre-release effectively took off the pressure on our side, so we could drop all our workarounds; hence, we are not in urgent need of a proper release. In contrast, it also might be a good idea to have it around some time for testing of other interested parties to collect some feedback before an actual release.

After a few days (to wait whether other issues come up), one could also consider releasing a "-pre2" for the nullable change and other quick fixes (if there are any).

I'd also encourage some work on README files/documentation as you brought up in the earlier comment.

Thanks so far for quick merge and (pre-)release.

adschmu commented 2 months ago

How about releasing 10.0.3-pre? 10.0.1-pre release is based on a side arm of the merge, which has changes to Subset that conflict with the version actually taken later ...

adschmu commented 2 months ago

Consider added the following to Breaking Changes in the 10.0.3 release notes:

PagedList will not accept "null" for subset (fe53b3e63f71)

aloksharma1 commented 1 week ago

is async methods going to be rewritten, i didnt noticed before that it was just decoration before update and heavily used them in my project. now i cannot update without doing a massive rewrite everywhere.

adschmu commented 1 week ago

is async methods going to be rewritten, i didnt noticed before that it was just decoration before update and heavily used them in my project. now i cannot update without doing a massive rewrite everywhere.

The async-over-sync methods that have been removed are complete nonsense: They made everything slower and had no advantage at all.

If you want async behavior and use EF Core queries, use the PagedList.EF package that provides actual async extensions that do something useful. If you just enumerate in CPU and do not use EF Core "queries", just use the sync variants of the extensions. It will improve your code and should be straightforward to replace.

Of course, if you want to keep the pointless methods, you can simply copy the four wrappers from PagedListAsyncExtensions removed here: https://github.com/dncuug/X.PagedList/commit/433a5823c8a2ef22cca7805e270bb4f72dbb2ec2

aloksharma1 commented 4 days ago

PagedList.EF

thanks for the input i will explore this package instead, i was under impression that they were truly async methods.