[josm-dev] JOSM version detect
frederik at remote.org
Fri Apr 3 01:18:39 BST 2009
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.
Frederik Ramm ## eMail frederik at remote.org ## N49°00'09" E008°23'33"
More information about the josm-dev