[josm-dev] JOSM version detect

Frederik Ramm frederik at remote.org
Fri Apr 3 01:18:39 BST 2009


Hi,

    currently, you have to configure the API version that JOSM should 
use, and you can configure a number of additional version numbers that 
JOSM will accept on input.

Which is quite stupid to make configurable, because it's all in the code 
- no matter what you configure, you will not be able to read a 0.4 
compliant file, nor a 0.7 compliant file for that matter.

Also, from 0.6 on the API will support a generic (version-number-less) 
"capabilities" call that a client can use to find out about the versions 
supported by the API.

I will modify JOSM to store a version number with each data set. When 
you load data from a file, it has the version number given in the file. 
When you download data from the server, JOSM will (for performance) 
first try the configured version number but if that fails, it will make 
a capabilities request and use the version number supported by the 
server (if JOSM is capable of speaking that version of course).

On upload, a similar process will be used. It will not be possible to 
upload 0.5 data to a 0.6 server. Also, as soon as you merge 0.5 and 0.6 
data, the whole layer will be downgraded to 0.5.

These changes should make the 0.5->0.6 changeover easier for users (no 
need to configure anything). I hope to complete them over the weekend. 
Any comments on this?

We must expect many people to download a new JOSM version over the next 
few weeks because they know they'll need it to work with API 0.6. Any 
features we want to force onto users, now is the time ;-)

BTW sometimes I think that we should have a mechanism that disables JOSM 
versions if they are too old. Something like a special MOTD code that, 
if a JOSM version older than X connects, sends back a message saying 
"please don't use this software any more". I would not use that feature 
in everyday operation but every now and then you discover a bug where 
you think: Hey, this is dangerous, people could break a lot of things 
through this bug.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"




More information about the josm-dev mailing list