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

Roadmap for 2019 and beyond #206

Closed
natemcmaster opened this issue Jan 6, 2019 · 10 comments
Closed

Roadmap for 2019 and beyond #206

natemcmaster opened this issue Jan 6, 2019 · 10 comments

Comments

@natemcmaster
Copy link
Owner

natemcmaster commented Jan 6, 2019

The most recent release of this project, 2.3, is a fairly mature API. I became a dad recently, and won't have as much free time to building new features, so I'm not planning to do a bunch of work. That doesn't mean this library is dead, but it means I'm hoping improvements will be driven by your efforts.

Update: enough new contributions have been made, so there will be a 2.4 release in September 2019.

As a result, the future of this project will be guided by these principles:

  • New features are welcome. Please open an issue first, or comment on existing 'help wanted' issues. I generally like to agree on the design first before you write a bunch of code.
  • There is no specific timeline for a 2.4 release or beyond. Releases will happen as contributors make release-worthy changes.
  • I have added stale-bot which closes issues automatically when they grow stale, unless someone has committed to do the work.
  • If you have a lot of passion for this project and are interested in helping me review issues and make improvements, I am open to adding other collaborators. Please reach out so we can discuss your interested.

This project began because the ASP.NET Core team decided to completely halt work on Microsoft.Extensions.CommandLineUtils. As I explained in my history and purpose post in 2017 (see #1), my primary objectives were to (1) fix some bugs in the original API, (2) make some minor improvements to the existing API, and (3) maintain this library so it keeps up with .NET churn, like new platforms and language features. I believe I have accomplished most of what I set out to do in terms of bug fixes and improvements, so the objective now is mostly to maintain this project.

I think it's also worth repeating the "non-goals" from the history and purpose post. These are still not goals.

Non-goal

  • This is unofficial. Don't expect Microsoft-official support.
  • Replacing Microsoft.Extensions.CommandLineUtils. Someone at Microsoft may attempt to restart active dev work on this. If so, bravo. They will be welcome to merge this code, which will also use the Apache license.
  • Competing for an official System.* namespace. Although the .NET team has been drafting System.CommandLine for a long time, it is not yet generally available and has no set roadmap.

By the way, that last part is no longer true. The .NET team has made available System.CommandLine: https://github.com/dotnet/command-line-api. The API is still experimental, so I won't endorse it as a production-ready API yet, but it shows promise and I recommend giving it a try.

Happy New Year, and thank you for all your contributions.
-Nate

@adamralph
Copy link
Contributor

@natemcmaster the README conflicts with this:

This fork, on the other hand, will continue to make improvements, release updates and take contributions.

@adamralph
Copy link
Contributor

Actually reading through this issue again, I guess there isn't stricly a conflict, but the README makes no mention of things like "The most recent release of this project, 2.3, is the last version of this library I am planning to work on." and other pertinent things in this issue.

@stale
Copy link

stale bot commented May 17, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Please comment if you believe this should remain open, otherwise it will be closed in 7 days. Thank you for your contributions to this project.

@stale stale bot added the closed-wontfix This issue is closed because there are no plans to fix this. label May 17, 2019
@adamralph
Copy link
Contributor

I went ahead and raised #235 to address my comments.

@stale stale bot removed the closed-wontfix This issue is closed because there are no plans to fix this. label May 17, 2019
@natemcmaster
Copy link
Owner Author

@adamralph sorry I missed your comment. For more context on this issue (and why I missed your question), I had my first child a few months ago. As you can imagine, I don't have as much free time anymore.

Allow me to clarify - the primary goal of this announcement was meant to communicate that the pace of development here is going to slow down. It was not my intent to say that 2.3 is the last version of this library ever. I will still take contributions and make improvements, but I am looking for community interactions and PRs to take a lead.

So, if there is something you really want to see improved of changed, please let me know. I really am eager to take PRs and talk about ways to improve the library :)

@adamralph
Copy link
Contributor

Thanks @natemcmaster, that changes my understanding significantly. I honestly believed that the library was dead based on the previous text!

BTW - would it be worth seeking a new owner/owners?

@natemcmaster
Copy link
Owner Author

I'd like to maintain ownership. I don't see this library as dead and I will occasionally make improvements. For instance, I was actually just thinking last night that I should try updating this library to C# 8 and incorporate nullable reference types.

That said, if my reduced attention to this repo caused things to stack up, I would be open to adding collaborators who have access to merge PRs, manage issues, and push code. That hasn't been the case so far...I've been able to keep up with the trickle of issues and PRs over the last 4 months.

@natemcmaster
Copy link
Owner Author

Update:

I'm planning to release a 2.4 version of this library in September to match the final release of C# 8 and .NET Core 3.0. The main feature is that I've updated this library to compile using nullable reference types, so if you use this library and want to use this C# 8 feature in your own apps, you'll get nullable type annotations for API from this library. There are a few other things in 2.4 as well, like some community-contributed APIs and bug fixes, and I've obsoleted a few quirky APIs that I plan to remove in a 3.0 release by end of 2019.

@natemcmaster
Copy link
Owner Author

Since release 2.4, there have been more contributions. I would like to do a 2.5 release by the end of the year. I've opened a new thread for this. The plan is open for discussion, so feel free to comment: #315

@natemcmaster
Copy link
Owner Author

Happy New Year! Closing out the 2019 roadmap. Thank you for all the contributions this year.

Next up: the 2020 roadmap. #327

@natemcmaster natemcmaster unpinned this issue Jan 2, 2020
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