spf13 / viper

Go configuration with fangs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Viper 2

sagikazarmark opened this issue · comments

Viper 2 is happening! 🎉

Although things are moving slowly, there is absolutely enough information about the most severe issues to start the planning phase and layout a course.

Most of the work is happening in this project:

https://github.com/spf13/viper/projects/1

Issues are being opened with descriptions and proposed solutions.
Feel free to contribute there! (Prepend issue titles with [Viper 2])

You can also reach out on Gitter or Slack.

I can't promise it will be quick or that all issues will be resolved, but I'm hoping we can make Viper a lot better.

Whether Viper 2 will break backwards compatibility or not is yet to be decided, but my plan is to move improvements to the point where we have to make that decision, but not make it any sooner.


Original issue:

There are quite a few requested features that's hard to land in the current version without breaking changes. In order to introduce those changes to Viper we need to consider bumping a major version.

Alternatively, we can try to keep the current Viper as a compatibility layer over a new architecture.

I would like to collect and discuss these changes in this issue.

From the top of my head:

  • dot-notation is a constant pain for users
  • reading from various sources vs writing is very confusing IMHO
  • remote sources are barely functional, they should also probably be exported to another package
  • Viper would benefit from a rearchitecture (eg. abstracting config sources)

Feel free to add items to this list in comments.

Please give us your thoughts and feedback: https://forms.gle/f96kZQuBcuxW2p5E8