The rules to determine if the release version identifier X.Y is raised or not, are as follows:
- the major number X increments whenever a backwards incompatible change is made
- the minor number Y increments whenever any other change is made; it is reset to 0 when major number increments
- either the major number X or the minor number Y increases at most once per release
Interface Version Matrix
This table shows all interface versions to date and the particular monotone releases which implemented them:
| interface versions | 0.0 | 0.1 | 0.2 | 1.0 | 1.1 | 2.0 | 2.1 | 2.2 | 3.0 | 3.1 | 4.0 | 4.1 | 4.3 | 5.0 | 6.0 | 7.0 | 8.0 | 9.0 | 10.0 | 11.0 | 12.0 | 12.1 | 13.0 | 13.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| monotone releases | 0.17 | 0.18 | 0.19 | 0.20-0.23 | 0.24-0.25 | 0.26 | 0.27 | 0.28 | 0.29 | 0.30 | 0.31-0.33 | 0.34 | 0.35 | 0.36 | 0.37-0.38 | 0.39-0.40 | 0.41 | 0.42-0.43 | 0.44 | 0.45 | 0.46-0.47 | 0.48-0.991 | 0.99.1, 1.0 | 1.1 | |
The following table gives you an overview at which time certain functionalities have been added or altered in monotone's automation interface:
| interface versions | 0.0 | 0.1 | 0.2 | 1.0 | 1.1 | 2.0 | 2.1 | 2.2 | 3.0 | 3.1 | 4.0 | 4.1 | 4.3 | 5.0 | 6.0 | 7.0 2 | 8.0 | 9.0 | 10.0 | 11.0 | 12.0 | 12.1 | 13.0 3 | 13.1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ancestors | A | ||||||||||||||||||||||||
| ancestry_difference | A | ||||||||||||||||||||||||
| branches | A | ||||||||||||||||||||||||
| cert | A | ||||||||||||||||||||||||
| certs | A | C | |||||||||||||||||||||||
| checkout | A | ||||||||||||||||||||||||
| children | A | ||||||||||||||||||||||||
| common_ancestors | A | ||||||||||||||||||||||||
| content_diff | B | ||||||||||||||||||||||||
| descendents | A | ||||||||||||||||||||||||
| drop_attribute | A | ||||||||||||||||||||||||
| drop_db_variables | A | ||||||||||||||||||||||||
| drop_public_key | A | ||||||||||||||||||||||||
| erase_ancestors | A | ||||||||||||||||||||||||
| erase_descendants | A | ||||||||||||||||||||||||
| file_merge | A | ||||||||||||||||||||||||
| generate_key | C | C | C | ||||||||||||||||||||||
| get_attributes | A | C | C | B | |||||||||||||||||||||
| get_base_revision_id | A | ||||||||||||||||||||||||
| get_content_changed | A | ||||||||||||||||||||||||
| get_corresponding_path | A | ||||||||||||||||||||||||
| get_current_revision | A | ||||||||||||||||||||||||
| get_current_revision_id | A | ||||||||||||||||||||||||
| get_db_variables | A | C | |||||||||||||||||||||||
| get_extended_manifest_of | A | ||||||||||||||||||||||||
| get_file | A | ||||||||||||||||||||||||
| get_file_of | A | ||||||||||||||||||||||||
| get_file_size | A | ||||||||||||||||||||||||
| get_manifest_of | A | ||||||||||||||||||||||||
| get_option | A | ||||||||||||||||||||||||
| get_public_key | A | ||||||||||||||||||||||||
| get_revision | A | C | |||||||||||||||||||||||
| get_workspace_root | A | ||||||||||||||||||||||||
| graph | A | ||||||||||||||||||||||||
| heads | A | ||||||||||||||||||||||||
| identify | A | ||||||||||||||||||||||||
| interface_version | A | ||||||||||||||||||||||||
| inventory | A | C | C | C | |||||||||||||||||||||
| keys | A | C | C | ||||||||||||||||||||||
| leaves | A | ||||||||||||||||||||||||
| log | A | ||||||||||||||||||||||||
| lua | A | ||||||||||||||||||||||||
| packet_for_fdata | A | ||||||||||||||||||||||||
| packet_for_fdelta | A | ||||||||||||||||||||||||
| packet_for_rdata | A | ||||||||||||||||||||||||
| packets_for_certs | A | ||||||||||||||||||||||||
| parents | A | ||||||||||||||||||||||||
| pull | A | C | |||||||||||||||||||||||
| push | A | C | |||||||||||||||||||||||
| put_file | A | ||||||||||||||||||||||||
| put_public_key | A | ||||||||||||||||||||||||
| put_revision | A | ||||||||||||||||||||||||
| read_packets | A | ||||||||||||||||||||||||
| remote | A | ||||||||||||||||||||||||
| remote_stdio | A | ||||||||||||||||||||||||
| roots | A | ||||||||||||||||||||||||
| select | A | ||||||||||||||||||||||||
| set_attribute | A | ||||||||||||||||||||||||
| set_db_variable | A | C | |||||||||||||||||||||||
| show_conflicts | A | C | |||||||||||||||||||||||
| stdio | A | B | C | ||||||||||||||||||||||
| sync | A | C | |||||||||||||||||||||||
| tags | A | C | |||||||||||||||||||||||
| toposort | A | ||||||||||||||||||||||||
| update | A | ||||||||||||||||||||||||
Legend
A = Addition, B = Backwards-compatible change, C = Backwards-incompatible change
Notes
1 monotone 0.99 wrongly reports 12.1 as interface version, while it should report 13.0, just as 0.99.1 where this issue has been fixed.
2 While the format of several command has not been changed between
0.39 and 0.40, the output of the commands (f.e. automate inventory) may differ
because the interpretation of the --depth option changed in 0.40 (previously:
0 = the node + its immediate children, now: 0 = only this node).
3 After the options rework in 0.99 many automate commands gained
additional options which allow the negation of flags just like their non-automate
counterparts, which aren't all accounted here. Furthermore some more "exotic"
options are no longer part of the public API and have thus been hidden, like
--min-netsync-version and --max-netsync-version.
Netsync automate commands accept just as their non-automate
counterparts the new URI syntax and issue a warning if the old calling syntax
(separate server and branch include / exclude pattern) is used.
If you like to get more information about certain command / format changes, please consult monotone's Automation documentation.