summaryrefslogtreecommitdiff
path: root/doc/semver_status.md
blob: 985dcabc54bc8e8b61066e52606b6f737fe38390 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# Semver tracking

This is a helpful file that we use for checking which crates will have
breaking or nonbreaking API changes in the next release of Arti.

For each crate, please write "BREAKING" if there is an API change that counts
as breaking in semver, and "MODIFIED" if there is a backward-compatible API
change.

You can change from MODIFIED to BREAKING, but never from BREAKING to
MODIFIED.

You don't need to list details; this isn't the changelog.

Don't document other changes in this file.

We can delete older sections here after we bump the releases.


## Since Arti 0.1.0

arti-client, arti-config, tor-circmgr, tor-dirmgr:

  Drop conversion from FooConfig to FooConfigBuilder for many Foo.
  Further change in this area is expected.

  Drop impl Deserialize for ArtiConfig.

arti-client:

  Replace ArtiClientBuilder's methods for individual elements of TorClientConfigBuilder
  with an accessor `.tor()` to get `&mut TorClientConfigBuilder`.

  Abolished `TorClientConfig::get_circmgr_config`.
  Abolished `TorClientConfig::get_dirmgr_config`.

arti:

  Provide library crate with unstable API.

tor-llcrypto:

  new-api: Added RsaIdentity::from\_hex().
  new-api: Ed25519Identity implements PartialOrd.

arti-client:

  api-break (experimental only): changed circmgr() and dirmgr() to return
  &Arc, not Arc.

  api-break: isolation completely revised

tor-circmgr:

  api-break: The fallbacks case of DirInfo now wants a slice of references to
  fallbacks.

  api-break: Some error types have changed to include peer info.

tor-dirclient:
  api-break: refactored Error type.

tor-dirmgr:
  new-api: DirMgrConfig object now has accessors.
  DirMgrCfg: totally changed, builder abolished.
  Authority, NetworkConfig: removed several accessors for these config elements.
  api-break: DirEvent is now in tor-netdir instead

tor-circmgr:
  CircMgrCfg: totally changed, builder abolished.

  api-break: isolation completely revised

  api-break: config must now implement AsRef<FallbackList>

tor-netdoc:

  new-api (experimental only): Can modify the set of relays in an unverified
  consensus.

  api-break: changed the return type of GenericRouterStatus::version()

tor-netdir:

   api-break: moved FallbackDir to guardmgr.

tor-guardmgr:

   new-api: moved FallbackDir from netdir.

   api-break: FallbackDir required in constructor.

tor-proto:
  new-api: ClientCirc path accessors.

tor-protover:
  new-api: Protocols now implements Eq, PartialEq, and Hash.

tor-proto:
  api-break: OutboundClientHandshake::connect() now takes now_fn.

  new-api: New Error::HandshakeCertsExpired.

tor-error:
  new-api: New ErrorKind::ClockSkew.

tor-cell:
  new-api: Netinfo message now has a timestamp() accessor.

tor-basic-utils:

  Remove `humantime_serde_option` module.
  (Use `humantime_serde::option` instead.)

tor-rtcompt:

  api-break: Runtime require an additional supertrait UdpProvider