A changeset consists of a group of edits made by a single user over a short period of time. Individual changeset may include the additions of new features to OSM, the addition of new tags to existing features, changes to tag values in features, deletion of tags and also deletion of features and all changes to OSM are associated with a single changeset.
Edits can only be added to a changeset as long as it is still open, A changeset can either be closed explicitly, or it closes itself if no edits are added to it for a period of inactivity (currently one hour). The same user can have multiple active changesets at the same time. A changeset has a maximum capacity (currently 50,000 edits) and maximum lifetime (currently 24 hours).
The History tab on the main site shows the changesets. They have an "extent" which is a rectangle surrounding all the changes - especially for "bots" that make small changes around the world. This is why many changesets show up for an area even when that changeset doesn't seem relevant.
Tags on changesets
Changesets have name=value pairs (Tags!). The vast majority of changesets will have these two tags:
- comment=* - describing why a mapper made that group of changes, or what was changed. While optional, mappers are encouraged to make full use of this tag by setting a meaningful, human-generated description (not an automated message), as it will show up almost everywhere where the changeset is listed, and is likely to be read by fellow mappers to try and understand what has happened. See also Good changeset comments.
- created_by=* - specify the editor or script which made the changes
Some other commonly used tags include:
- source=* - specify the source for a group of edits
- bot=yes - for Automated Edits, performed by a program (a.k.a. script or bot)
It is not possible to change a changeset after it has closed (in editors or via the API), and we do not store a history of changes to tags on changsets.
Changesets were introduced with API v0.6 in April 2009. Changesets were "synthesised" for edits before that date. For technical details, see the API 0.6 documentation which contains extensive documentation on them. See also the Get Capabilities documentation.
Here is a proposal to define more common changeset tags that can be used to describe edits : Proposed_features/changeset_tags (including the previous)