Skip to content

Instantly share code, notes, and snippets.

@gregorycollins
Last active December 28, 2015 02:50
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gregorycollins/9532868 to your computer and use it in GitHub Desktop.
Save gregorycollins/9532868 to your computer and use it in GitHub Desktop.

TODO list for Snap 1.0

  • add remaining repositories to buildbot
  • cleanup/refactor command-line config stuff
  • kill warnings
  • release io-streams-haproxy
    • one more cleanup TODO re: passing in SockAddrs
  • cleanup docs
    • io-streams-style tutorial material and usage examples for most of the api
    • clean up the tutorial material on the website (second priority to the api docstrings)
      • if we're too lazy/busy to do this then at the very least we need to mark the old documentation as applying to 0.9 / "some (but hopefully not much) of this stuff is probably out of date"
  • website refresh (I have a fairly long feature list here)
    • activity feed from G+ / github
    • api & doc search
    • redesign
  • cleanup imports: no more implicit imports! Adjust style guide to match.
  • benchmark rounds
  • prepare release notes
@istathar
Copy link

istathar commented Jul 3, 2015

@GregCollins What can we do to help?

AfC

@mightybyte
Copy link

At this point I think these are the bare minimum items we need to hit to be releasable:

  • cleanup/refactor command-line config stuff
  • benchmark rounds
  • prepare release notes

@gregorycollins has been working on the command-line config stuff. I'm not sure where that is at. That work will be a part of the public API, so releasing 1.0 without it has a significant cost. This is the biggest blocker right now. It would be great to have someone help move this along.

I have usually handled the benchmarking work in the past. I've been putting it off ostensibly because I'm waiting until the command-line config work is done, but it doesn't strictly have to wait for that. The snap-benchmarks repo has information about how we did that before (specifically https://github.com/snapframework/snap-benchmarks/blob/master/results.txt). When I did those before I played around with runtime options a bit to find the ones that gave the best performance. GHC has changed enough in the meantime that we could probably stand to reinvestigate that part. The current plan is to use the same benchmarks that we used before: pong and file. But it might be nice to come up with others that stress different aspects of the server (maybe something that targets the performance of the monad stack, for instance). Whatever benchmarks end up being used, we want to have comparisons of snap 1.0 against the other major Haskell web servers as well as a comparison of snap-0.9 with snap-1.0 so we can quantify how much of an improvement people can expect with 1.0.

For the release notes we usually do a git diff and try to make a complete list of all the noteworthy changes. This is usually somewhat time consuming, so it would be great to have help here as well. Look at previous release notes blog posts to get an idea of how these have been typically written.

Of the other issues, there are a few that could be worked on in pretty small time chunks:

  • kill warnings
  • cleanup docs
  • cleanup imports: no more implicit imports! Adjust style guide to match.

While I don't think these are necessarily strict blockers, any improvement in these areas would be helpful. The website refresh item is a bit bigger, but there are certainly items there that would be doable for a motivated contributor.

@noteed
Copy link

noteed commented Nov 20, 2015

Is the TODO bullet point about HAProxy filled by snapframework/io-streams-haproxy@724b6ed or is this something else ?

B.t.w, you can use this syntax in GitHub markdown:

  • done
  • not done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment