+1
On Thu, Dec 20, 2018 at 8:15 AM Eiri <e...@eiri.ca> wrote:
>
> +1
>
>
> > On Dec 20, 2018, at 04:55, Jay Doane <jay.s.do...@gmail.com> wrote:
> >
> > Currently, CouchDB requires at least OTP 17 or later to build and run
> > [1][2]. However, recent work undertaken to eliminate compiler warnings
> > [3][4] has highlighted the additional effort needed to continue to support
> > older Erlang versions. Some of the issues that have come up are:
> > 1. erlang:now/0 deprecated in OTP 18 [5]
> > 2. crypto:rand_uniform/2 deprecated in OTP 20 [6], but no rand module
> > pre-OTP 18
> > which both require using rebar platform defines [7] and ifdefs [8] to work
> > around compiler warnings.
> >
> > Joan raised the idea that maybe it's time to move to a more recent minimum
> > version to simplify the code, and also because there a many compelling new
> > features in later versions that we currently cannot use:
> > 1. maps introduced in OTP 17, but only became performant for large number
> > of entries in OTP 18 [9]
> > 2. off heap messages introduced in OTP 19 [10]
> >
> > Since CouchDB now ships with it's own OTP 19.6.3 Erlang binaries [9], it's
> > not clear whether we need to continue supporting OTP 17 and 18. As a bonus,
> > removing those versions will also speed up travis builds.
> >
> > Any thoughts either for or against this proposal?
> >
> > Best regards,
> > Jay
> >
> > [1] https://github.com/apache/couchdb/blob/master/rebar.config.script#L94
> > [2] https://github.com/apache/couchdb/blob/master/.travis.yml#L10
> > [3] https://github.com/apache/couchdb-ets-lru/pull/7
> > [4] https://github.com/apache/couchdb/pull/1798
> > [5] http://erlang.org/doc/apps/erts/time_correction.html
> > [6] http://erlang.org/pipermail/erlang-questions/2017-May/092435.html
> > [7]
> > https://github.com/apache/couchdb/blob/master/src/couch/rebar.config.script#L148-L154
> > [8]
> > https://github.com/apache/couchdb/blob/master/src/couch/src/couch_rand.erl#L22-L57
> > [9] http://erlang.org/download/otp_src_18.0.readme
> > [10]
> > https://www.erlang-solutions.com/blog/erlang-19-0-garbage-collector.html
> > [9] https://github.com/apache/couchdb-ci/blob/master/README.md
>