Great list, Joan, thanks. I created a handful of GitHub issues for the first two sections and tossed them in the “Proposed for 3.x” column. I also submitted a PR to address one of them :)
Out of that list of already-deprecated functionality the only one that gives me pause is the delayed_commits one. We haven’t talked about it in years, and we ship a safe default. I’d be a little concerned about breaking folks who intentionally switched it on with full knowledge of the tradeoffs. Adam > On Sep 4, 2019, at 5:44 PM, Johs Ensby <j...@b2w.com> wrote: > > Much appreciated, Joan > You're a hero > Johs > >> On 4 Sep 2019, at 23:37, Joan Touzet <woh...@apache.org> wrote: >> >> Hey Adam, >> >>> When it comes to deprecating and/or removing functionality, I feel like I >>> don’t know exactly where we stand today. We have occasionally described >>> some of the CouchApp functionality as already being deprecated, but I’m >>> having trouble finding any official record of that in our documentation. >> Thanks for re-opening the deprecation discussion. I've reviewed [1] and >> provide the following summary tables (Markdown format). >> >> **NOTE**: This is /not/ the vote for deprecation, nor a formal >> announcement of such. This is a starting point for discussion. A vote >> still needs to happen for this to move forward. Anything already >> deprecated in 2.0 can be removed in 3.0 without a formal vote, but it'd >> be nice if it got mentioned on the dev@ list before the PR lands on >> master, please. >> >> As I'm going to be travelling for most of the rest of September, I'd >> prefer if someone else (like Adam or Deni) can help drive this discussion. >> >> Once there is consensus from the community on these lists, we should >> close #1534 and split it into 3 new tickets based on the tables below >> (excepting the features already removed in 2.x). >> >>> I guess let’s start with: does anyone believe we are in a position to be >>> eliminating previously-deprecated functionality in 3.0? >> >> Yes, for the items in the 2nd table below, absolutely. >> >> -Joan "turning the tables" Touzet >> >> >> -------- >> >> >> # Recently removed features in 2.x >> >> **Feature/Endpoint** | **Links** >> ------------------------------------|------------ >> update_notifications | [10] >> ini-file based query servers | [11] >> ini-file based HTTP global handlers | [11] >> OS daemons | [11],[12] >> vhost redirects/global handlers | [11],[12] >> couch_httpd_proxy | [11],[12] >> >> *NOTE*: Some of these still have lingering bits in the documentation >> that need a final cleanup pass before 3.0 should be released. >> >> -------- >> >> # Already deprecated items, to be removed in 3.0 >> >> **Feature/Endpoint** | **Links** >> ------------------------------------|------------ >> some duplicate dbinfo size fields | [2],[3] >> delayed_commits | [4] >> port 5986 | [5],[6] >> `/{db}/_external/*` | [7],[8] >> view-based changes (code remnants) | [17],[18],[19],[20] >> >> -------- >> >> # Proposed deprecations for 3.0, not rebuilt/removed in 4.0 >> >> **Feature/Endpoint** | **Replaced by** | **Links** >> --------------------------|----------------------|----------- >> `/{db}/{ddoc}/_show/*` | App server/rev proxy | † >> `/{db}/{ddoc}/_list/*` | App server/rev proxy | † >> virtual hosts [24] | haproxy, multitenant | [25] >> `/{db}/{ddoc}/_rewrite/*` | App server/rev proxy | [26] >> >> †: getRow() makes embedding a new, efficient JS engine impossible since >> getRow() does not give up thread execution control; an entirely new >> approach would need to be constructed, breaking backward compatibility >> at the very least. (There are additional challenges.) >> >> -------- >> >> # Likely will remain unchanged through 4.0 >> >> **Feature/Endpoint** | **Improved by** >> ---------------------------------|---------------------- >> VDU (validatefun()) [13] | [14],[15] >> update handlers (updatefun) [16] | [14],[15] >> JS engine [21] | [22],[23] >> system DB special handling | [27] >> >> *NOTE*: The last table may grow as limitations imposed by FDB are better >> understood. >> >> -------- >> >> # References >> >> [1]: https://github.com/apache/couchdb/issues/1534 >> [2]: >> https://docs.couchdb.org/en/stable/api/database/common.html?highlight=disk-size#get--db >> [3]: https://github.com/apache/couchdb/pull/2163 >> [4]: >> https://github.com/apache/couchdb/blob/103a0624f309ea0d796176a55eb5faea68f26047/test/javascript/tests/delayed_commits.js#L16 >> [5]: https://github.com/apache/couchdb/issues/1523 >> [6]: https://github.com/apache/couchdb/pull/2092 >> [7]: https://github.com/apache/couchdb/pull/1330 >> [8]: https://docs.couchdb.org/en/stable/whatsnew/2.2.html >> [10]: https://github.com/apache/couchdb/pull/1476 >> [11]: https://docs.couchdb.org/en/stable/whatsnew/2.3.html >> [12]: https://github.com/apache/couchdb/pull/1602 >> [13]: https://docs.couchdb.org/en/stable/ddocs/ddocs.html#vdufun >> [14]: https://github.com/apache/couchdb/issues/1554 >> [15]: https://github.com/apache/couchdb/pull/1898 >> [16]: https://docs.couchdb.org/en/stable/ddocs/ddocs.html#update-functions >> [17]: https://github.com/apache/couchdb/issues/592 >> [18]: https://github.com/apache/couchdb/issues/831 >> [19]: >> https://lists.apache.org/thread.html/516793df0c1913c045441d0ff78339f307e2aff517d9223da44edd9e@%3Cdev.couchdb.apache.org%3E >> [20]: >> http://docs.couchdb.org/en/stable/api/database/changes.html?highlight=selector#selector >> [21]: https://github.com/apache/couchdb/issues/1513 >> [22]: https://github.com/apache/couchdb/issues/1875 >> [23]: https://github.com/apache/couchdb/issues/1884 >> [24]: https://docs.couchdb.org/en/stable/config/http.html#virtual-hosts >> [25]: https://github.com/apache/couchdb/issues/1539 >> [26]: >> https://docs.couchdb.org/en/stable/api/ddoc/rewrites.html#api-ddoc-rewrite >> [27]: https://github.com/apache/couchdb/issues/1534 >> > > ……………………………………… > Johannes Ensby > > > Business to Web AS > Tollbugata 8, N- 0152 Oslo, Norway > +47 611 00 006 (mobile) > +47 611 00 700 (switchboard) > j...@b2w.com > www.linkedin.com/in/ensby > www.b2w.com >