• Type: New Feature New Feature
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.0.0
    • Component/s: JavaScript View Server
    • Labels:
    • Skill Level:
      New Contributors Level (Easy)


      Imagine that I'm developer of some view server. I'd like to create view server which covers most of CouchDB releases. Each new CouchDB release brings new features, improvements and API changes, some times backward-incompatible (as for 0.9->0.10->0.11->0.11.1) . However, I couldn't solve this task due to there is not way to know about CouchDB version and API that I have to implement. So there are three ways that I have:
      1. develop only "bleeding edge" view server that support only latest version
      2. make separate branch per version
      3. keep "all in one" and pass version as command line argument.
      First one makes to forgot about old releases, second is supporting hell. Last one is more effective, but requires to keep in mind changing argument on server update.

      So there is actually no way to make great view server such as javascript/erlang one with "wide" CouchDB versions support. Without that support using and developing couchapps for ruby/python/clojure/others view servers is quite unpromising.

      This issue could be an improvement of COUCHDB-904 by using next scenario:
      CouchDB pass "version" command to view server with additional value of CouchDB version and excepts that view server return his version back. That would be something like "version exchange".

        Issue Links


          Randall Leeds added a comment -

          As per my comment on COUCHDB-904, 2.0 seems like a good time to do this.

          Randall Leeds added a comment - As per my comment on COUCHDB-904 , 2.0 seems like a good time to do this.


            • Assignee:
              Alexander Shorin
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: