In an attempt to drive a more production-like process prior to v1, I'm going to start releasing periodic alpha and beta releases. I'm not going to list all of our current features, but instead I'll list the things that need to happen for us to hit beta (i.e. v0.5+
) and final release (i.e. v1+
).
Alpha development (v0.4.x and lower):
Expected state:
- Where we're currently at
Development process:
- Focus on features and rapid development
- Breaking changes in master can happen; we'll make some attempt to keep each release stable though
Beta development (v0.5.x through v0.9.x):
Expected state:
- Fully decoupled from
gxui
gxui
will still be the default UI, but it should be possible to override it with other UI libraries via plugins
- LSP is supported via an internal
Bindable
type. - All current go-specific plugins that can be moved to LSP are using LSP
Development process:
- Focus on stability and regression tests
- Polish the existing UX
- Add build scripts to create installers (at minimum:
.deb
,.rpm
,.ebuild
,.pkgbuild
,.dmg
[or some other darwin installer], and.exe
[or some other windows installer]) - Work on a release pipeline
- Set up a plugin registry
- Most new features will be third party plugins (i.e. not included in the main
vidar
repo)
Final release:
Expected state:
- No data loss is possible
- No known bugs
- Plugins work on all three major OSes (linux, darwin, windows)
- This is dependent on windows support for go's internal
plugin
library
- This is dependent on windows support for go's internal
- Automated releases of all expected installers via a release pipeline
Development process:
- The core vidar codebase will mostly focus on bug fixes
- Any new features to vidar itself will not be user-facing
- We expect these changes to only be to support third party plugins that need functionality from vidar to be exposed.
- Focus on third party plugins