Functional Programming

Functional Programming

Functional Programming

Nov 7, 2015

Stack entering stabilization phase

Stack entering stabilization phase

Stack entering stabilization phase

Since we created the stack repo at the end of

April, a tremendous amount of work has been done very rapidly. Now

that Stack has a suite of features that make it excellent for most

common use cases, it's a good time to step back and work on

improving the code-base to make future enhancements easier and more

reliable. We'll do one or two new releases, and then enter a

stabilization phase. In particular, this will include:


  • Refactoring build plan construction and execution

  • Eliminating code duplication

  • Properly integrate code that was copied/pasted from other projects

  • Spinning off non-Stack-specific helper modules into separate packages

  • More integration tests

  • Bug fixes

  • Performance optimization

During this period, minor pull requests with code cleanup,

optimization, and additional tests will be gladly accepted, but

please hold off on new features.


Some ways you can help:

  • File issues identifying duplicate and sub-optimal code, and other quality issues

  • Submit pull requests with code cleanup, optimization, and additional integration tests (stack test --flag stack:integration-tests enables them). Best to check first to avoid conflicts in code that is being overhauled.

  • Github issue triage

During this period, pull requests with new features are unlikely

to be merged, so probably best to hold off to avoid a bunch of

bitrotted PRs.


Some things we're working on before beginning the stabilization phase:

  • All-in-one package builds when there are no cyclic dependencies #1166

  • Docker integration: Remove need for custom entrypoint and phusion init in Docker images #531 #547

  • Allow global options both before and after command #519