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.