Stackage: servant 0.12

Created on 8 Nov 2017  路  18Comments  路  Source: commercialhaskell/stackage

servant-0.12 (Haskell Servant jkarni@gmail.com) is out of bounds for:

  • [x] alerta-0.1.0.4 (>=0.10 && < 0.12). Mark Hopkins markjohnhopkins@gmail.com @mjhopkins. @mjhopkins. Used by: library
  • [ ] google-translate-0.4.1 (>=0.7 && < 0.12). David Johnson djohnson.m@gmail.com @dmjio. @dmjio. Used by: library
  • [ ] hackernews-1.3.0.0 (>=0.9 && < 0.12). David Johnson djohnson.m@gmail.com @dmjio. @dmjio. Used by: library
  • [x] lackey-0.4.5 (>=0.8 && < 0.12). Taylor Fausak taylor@fausak.me @tfausak. @tfausak. Used by: library, test-suite
  • [x] lxd-client-0.1.0.2 (==0.11.*). Henri Verroken henriverroken@gmail.com @hverr. @hverr. Used by: library
  • [x] servant-auth-cookie-0.5.0.5 (>=0.9 && < 0.12). Al Zohali zohl@fmap.me @zohl. @zohl. Used by: library
  • [x] servant-cassava-0.9 (>=0.7 && < 0.12). Haskell Servant jkarni@gmail.com. @SoenkeHahn @jkarni @phadej. Used by: library
  • [x] servant-js-0.9.3 (>=0.9 && < 0.12). Haskell Servant jkarni@gmail.com. @SoenkeHahn @jkarni @phadej. Used by: library, executable
  • [x] servant-kotlin-0.1.0.0 (>=0.9 && < 0.12). Nobutada Matsubara t12307043@gunma-u.ac.jp @matsubara0507. @matsubara0507. Used by: library, test-suite, benchmark
  • [x] servant-mock-0.8.2 (>=0.8 && < 0.12). Haskell Servant jkarni@gmail.com. @SoenkeHahn @jkarni @phadej. Used by: library, test-suite
  • [x] servant-swagger-ui-0.2.4.3.4.0 (>=0.5 && < 0.12). Oleg Grenrus oleg.grenrus@iki.fi @phadej. @phadej. Used by: library, test-suite
  • [x] servant-yaml-0.1.0.0 (>=0.4.4.5 && < 0.12). Oleg Grenrus oleg.grenrus@iki.fi @phadej. @phadej. Used by: library, test-suite
  • [x] slack-web-0.2.0.1 (>=0.9 && < 0.12). Emmanuel Touzery etouzery@gmail.com @emmanueltouzery. @jpvillaisaza. Used by: library
  • [ ] ziptastic-client-0.3.0.3 (>=0.9 && < 0.12). Elliot Cameron eacameron@gmail.com @3noch. @Ziptastic. Used by: library
  • [ ] ziptastic-core-0.2.0.3 (>=0.9 && < 0.12). Elliot Cameron eacameron@gmail.com @3noch. @Ziptastic. Used by: library

servant-client-0.12 (Haskell Servant jkarni@gmail.com) is out of bounds for:

  • [x] alerta-0.1.0.4 (>=0.10 && < 0.12). Mark Hopkins markjohnhopkins@gmail.com @mjhopkins. @mjhopkins. Used by: library
  • [ ] google-translate-0.4.1 (>=0.7 && < 0.12). David Johnson djohnson.m@gmail.com @dmjio. @dmjio. Used by: library
  • [ ] hackernews-1.3.0.0 (>=0.9 && < 0.12). David Johnson djohnson.m@gmail.com @dmjio. @dmjio. Used by: library
  • [x] lxd-client-0.1.0.2 (==0.11.*). Henri Verroken henriverroken@gmail.com @hverr. @hverr. Used by: library
  • [x] slack-web-0.2.0.1 (>=0.9 && < 0.12). Emmanuel Touzery etouzery@gmail.com @emmanueltouzery. @jpvillaisaza. Used by: library
  • [ ] ziptastic-client-0.3.0.3 (>=0.9 && < 0.12). Elliot Cameron eacameron@gmail.com @3noch. @Ziptastic. Used by: library, test-suite

servant-server-0.12 (Haskell Servant jkarni@gmail.com) is out of bounds for:

  • [x] alerta-0.1.0.4 (>=0.10 && < 0.12). Mark Hopkins markjohnhopkins@gmail.com @mjhopkins. @mjhopkins. Used by: library
  • [x] chatwork-0.1.1.3 (>=0.9.1.1 && < 0.12). Nobutada Matsubara t12307043@gunma-u.ac.jp @matsubara0507. @matsubara0507. Used by: test-suite
  • [x] rakuten-0.1.0.1 (>=0.9.1.1 && < 0.12). Nobutada Matsubara t12307043@gunma-u.ac.jp @matsubara0507. @matsubara0507. Used by: test-suite
  • [x] servant-auth-cookie-0.5.0.5 (>=0.5 && < 0.12). Al Zohali zohl@fmap.me @zohl. @zohl. Used by: library, test-suite, benchmark
  • [x] servant-mock-0.8.2 (>=0.10 && < 0.12). Haskell Servant jkarni@gmail.com. @SoenkeHahn @jkarni @phadej. Used by: library, executable, test-suite
  • [x] servant-swagger-ui-0.2.4.3.4.0 (>=0.4.4.5 && < 0.12). Oleg Grenrus oleg.grenrus@iki.fi @phadej. @phadej. Used by: library, test-suite
  • [x] servant-yaml-0.1.0.0 (>=0.4.4.5 && < 0.12). Oleg Grenrus oleg.grenrus@iki.fi @phadej. @phadej. Used by: test-suite
bounds

Most helpful comment

@emmanueltouzery From a Stackage perspective, there are basically three options:

  • Update to be compliant with only servant-0.12, and we'll use the current version until we move to servant-0.12
  • Implement a flag, and then add the necessary flag info to the build-constraints file
  • Do nothing, and eventually when you're the one holding up this issue, either release a new version of slack-web or have it booted

I think option 3 is a waste of your time, and both 1 and 2 are good calls. I personally like to keep compatibility as wide as possible, so I'd lean towards the flag approach, but the first approach is certainly simpler to implement.

All 18 comments

I uploaded or revisioned all packages tagged me.

Updated servant-auth-cookie in versions 0.5.0.7 and 0.6.0.

I have an issue with slack-web, I wonder how to proceed. To support servant-0.12 I must add a new cabal dependency: servant-client-core (and to top it off that dependency conflicts with servant-0.11). So at this point it's not anymore CPP and #if because I must do that in the .cabal... either the dependency is required, or not. I could also make a cabal flag, to build against servant 0.11 or 0.12, but then how to tell stackage to use the flag for 0.11 now and for 0.12 after the migration?
Or I remove slack-web from stackage now, and reintroduce it after servant-0.12 is introduced?

@emmanueltouzery From a Stackage perspective, there are basically three options:

  • Update to be compliant with only servant-0.12, and we'll use the current version until we move to servant-0.12
  • Implement a flag, and then add the necessary flag info to the build-constraints file
  • Do nothing, and eventually when you're the one holding up this issue, either release a new version of slack-web or have it booted

I think option 3 is a waste of your time, and both 1 and 2 are good calls. I personally like to keep compatibility as wide as possible, so I'd lean towards the flag approach, but the first approach is certainly simpler to implement.

thank you for the answer! due to the manpower, we'll support only servant-0.12 then. From what I you wrote it seems there's nothing to do then, stackage won't drop the current version and will move to the new version when stackage gets 0.12, great! The only downside unless I miss something is that I must currently put in the slack.yaml =>

extra-deps:
- servant-0.12
- servant-client-0.12
- servant-client-core-0.12

which means I should make another release a little after stackage gets servant-0.12 to remove these, so that in the future slack-web can get servant versions newer than 0.12, otherwise it'll be stuck at 0.12.

There's no need to hold off on a release for Stackage to support servant-0.12. We can continue using the current version until the rest of the servant deps update.

Right, I just checked and the stack.yaml is not included in the tarball generated by stack sdist and therefore its contents are a non-issue in a release. So no problem with that after all! I can lock down servant-0.12 in git for now in the stack.yaml, that won't affect any release i put on hackage/stackage. And I can remove that from the stack.yaml at any later date without needing to re-release.

Updated lxd-client as of version 0.1.0.3. See hverr/haskell-lxd-client#3

published slack-web 0.2.0.2 which supports servant-0.12

I've updated alerta to version http://hackage.haskell.org/package/alerta-0.1.0.6 to support servant-0.12.

I've added a flag (your option 2 above I guess), which defaults to true; for servant < 0.12 it should be false.

I'm a little unclear about "add the necessary flag info to the build-constraints file".
What exactly do I need to do? Sorry - quite new to this.

@mjhopkins, passing by here, but one of these things probably!

@lwm thanks. I'm not sure though - if I add the flag now as false, what's the process for making sure it gets changed to true when servant-client-0.12.0 gets added to nightly or LTS?

Stack's smart enough to turn the flag on or off as appropriate when doing a stack init, so does it need to be added at all?

@mjhopkins I've just added the flag at 03d7ecec, I didn't notice your comment until now. We'll notice when we remove the upper bound for servant that we need to remove the flag.

Stack's actually intentionally _not_ smart enough to turn the flag on and off, as that crosses into dependency solving (and is only done with stack solver). Instead, Stack will rely upon information in the Stackage snapshot to tell it which flags to turn on and off.

@snoyberg great, thanks!

Makes sense, thanks for the explanation.

Nice progress here! Only 6 packages / 4 maintainers to go:

servant-auth-cookie has 0.6.0 release on hackage with servant 0.12 support
alerta has 0.1.0.6 release on hackage with servant 0.12 support

Hmm if I read the commit right, this removed slack-web? The latest slack-web should be just fine :-(

No, that means I removed an upper bound constraining slack-web.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

juhp picture juhp  路  6Comments

snoyberg picture snoyberg  路  8Comments

DanBurton picture DanBurton  路  8Comments

emilypi picture emilypi  路  6Comments

bergmark picture bergmark  路  3Comments