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

Announcement: Intent to split Dapper, Dapper.Contrib, and other repositories #1658

Open
NickCraver opened this issue May 2, 2021 · 1 comment
Assignees

Comments

@NickCraver
Copy link
Member

Hey all,
As Marc and I plan on the future of Dapper on the technical side (we’re looking at current APIs, which platforms to support, using generators to help with AOT scenarios, etc.), one thing is apparent: Dapper.Contrib isn’t a goal we are after (pointing most users to Entity Framework or alternatives there). But, we also realize a number in the community use it.

What we’ve done lately is move Dapper to this new org: https://github.com/DapperLib, this is in preparation to more cleanly lay things out. It’s our intent to split Dapper.Contrib out of the main repository, into a DapperLib/Dapper.Contrib repository of its own, potentially with another crew helping maintain it long-term.

We’re just being up front here: we don’t use it, and aren’t invested in it as a result. That’s just the reality of anything when your time is maxed out and something is out of sight. The pains and gaps just are not visible to us, relying 100% on community input of what’s needed and what’s problematic. It may seem backwards, but that takes even more time (both trying to understand the initial problem, and then if the big picture and specific solution makes sense, both now and directionally). To be blunt: we can give API advice, but aren’t in a position to intelligently judge what Dapper.Contrib should do.

Most of the contributions there in the past several years are almost entirely breaking changes - currently versioning in step with Dapper’s core...that also presents problems.

In short: there are many reasons to split it out and few reasons to keep it in the main repository. I think we’ll likely pause Dapper.Contrib bits until we have Dapper vNext ready (in which we plan to move Column and Table attribute functionality into core), because the shape of Dapper.Contrib’s bottom layer would change greatly.

I’m posting this here ahead of time so this isn’t a surprise and it’s something we can reference. Yes, this does mean a lot of older PRs will need to close, but unfortunately they were breaking to begin with. I hate closing PRs, especially from new contributors, but letting a change that can’t be taken sit indefinitely isn’t fair either, so we need to go through and clean up. Luckily though, a more comprehensive solution to most of the Contrib-related PRs is coming through vNext of the core library.

The next steps in mind are:

  • Move Dapper.Contrib to another repo, maintaining as much history as possible
  • Delete the duplicate Dapper.Contrib code in the /Dapper repository
  • Clean out PRs that no longer make sense, pointing them here for more info
  • Splitting out seldom updated bits like Dapper.Rainbow and Dapper.SqlBuilder perhaps

If anyone has feedback or ideas, please comment here. We’ve never done this before...and we’re as new to it as anyone. Ideas welcome!

@NickCraver
Copy link
Member Author

Heads up: the repo split has begun - I'll work on moving issues, etc. over to https://github.com/DapperLib/Dapper.Contrib and cleaning up the folders in the main repository here next.

This was referenced May 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants