dnsimple 4.4.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. checksums.yaml +5 -5
  2. data/.dependabot/config.yml +9 -0
  3. data/.rubocop.yml +2 -0
  4. data/.rubocop_dnsimple.yml +110 -39
  5. data/.travis.yml +8 -9
  6. data/CHANGELOG.md +55 -24
  7. data/CONTRIBUTING.md +55 -7
  8. data/Gemfile +4 -1
  9. data/LICENSE.txt +1 -1
  10. data/README.md +8 -6
  11. data/dnsimple.gemspec +3 -3
  12. data/lib/dnsimple.rb +2 -0
  13. data/lib/dnsimple/client.rb +12 -10
  14. data/lib/dnsimple/client/accounts.rb +2 -1
  15. data/lib/dnsimple/client/certificates.rb +3 -0
  16. data/lib/dnsimple/client/clients.rb +6 -2
  17. data/lib/dnsimple/client/contacts.rb +2 -5
  18. data/lib/dnsimple/client/domains.rb +3 -5
  19. data/lib/dnsimple/client/{collaborators.rb → domains_collaborators.rb} +3 -1
  20. data/lib/dnsimple/client/domains_delegation_signer_records.rb +2 -0
  21. data/lib/dnsimple/client/domains_dnssec.rb +2 -0
  22. data/lib/dnsimple/client/domains_email_forwards.rb +2 -0
  23. data/lib/dnsimple/client/domains_pushes.rb +2 -0
  24. data/lib/dnsimple/client/identity.rb +2 -0
  25. data/lib/dnsimple/client/oauth.rb +2 -0
  26. data/lib/dnsimple/client/registrar.rb +46 -0
  27. data/lib/dnsimple/client/registrar_auto_renewal.rb +2 -0
  28. data/lib/dnsimple/client/registrar_delegation.rb +6 -4
  29. data/lib/dnsimple/client/registrar_whois_privacy.rb +23 -1
  30. data/lib/dnsimple/client/services.rb +2 -2
  31. data/lib/dnsimple/client/services_domains.rb +2 -0
  32. data/lib/dnsimple/client/templates.rb +2 -0
  33. data/lib/dnsimple/client/templates_domains.rb +2 -0
  34. data/lib/dnsimple/client/templates_records.rb +2 -0
  35. data/lib/dnsimple/client/tlds.rb +16 -17
  36. data/lib/dnsimple/client/vanity_name_servers.rb +12 -10
  37. data/lib/dnsimple/client/webhooks.rb +2 -3
  38. data/lib/dnsimple/client/zones.rb +2 -1
  39. data/lib/dnsimple/client/zones_distributions.rb +49 -0
  40. data/lib/dnsimple/client/zones_records.rb +25 -28
  41. data/lib/dnsimple/default.rb +11 -9
  42. data/lib/dnsimple/error.rb +2 -0
  43. data/lib/dnsimple/extra.rb +2 -0
  44. data/lib/dnsimple/options.rb +2 -0
  45. data/lib/dnsimple/response.rb +6 -4
  46. data/lib/dnsimple/struct.rb +5 -0
  47. data/lib/dnsimple/struct/account.rb +2 -0
  48. data/lib/dnsimple/struct/certificate.rb +23 -2
  49. data/lib/dnsimple/struct/certificate_bundle.rb +5 -0
  50. data/lib/dnsimple/struct/certificate_purchase.rb +2 -0
  51. data/lib/dnsimple/struct/certificate_renewal.rb +2 -0
  52. data/lib/dnsimple/struct/collaborator.rb +2 -0
  53. data/lib/dnsimple/struct/contact.rb +2 -0
  54. data/lib/dnsimple/struct/delegation_signer_record.rb +2 -0
  55. data/lib/dnsimple/struct/dnssec.rb +2 -0
  56. data/lib/dnsimple/struct/domain.rb +24 -3
  57. data/lib/dnsimple/struct/domain_check.rb +2 -0
  58. data/lib/dnsimple/struct/domain_premium_price.rb +2 -0
  59. data/lib/dnsimple/struct/domain_push.rb +2 -0
  60. data/lib/dnsimple/struct/domain_registration.rb +2 -0
  61. data/lib/dnsimple/struct/domain_renewal.rb +2 -0
  62. data/lib/dnsimple/struct/domain_transfer.rb +5 -0
  63. data/lib/dnsimple/struct/email_forward.rb +2 -0
  64. data/lib/dnsimple/struct/extended_attribute.rb +2 -0
  65. data/lib/dnsimple/struct/oauth_token.rb +2 -0
  66. data/lib/dnsimple/struct/service.rb +2 -0
  67. data/lib/dnsimple/struct/template.rb +2 -0
  68. data/lib/dnsimple/struct/template_record.rb +2 -0
  69. data/lib/dnsimple/struct/tld.rb +2 -0
  70. data/lib/dnsimple/struct/user.rb +2 -0
  71. data/lib/dnsimple/struct/vanity_name_server.rb +27 -0
  72. data/lib/dnsimple/struct/webhook.rb +2 -0
  73. data/lib/dnsimple/struct/whoami.rb +2 -0
  74. data/lib/dnsimple/struct/whois_privacy.rb +2 -0
  75. data/lib/dnsimple/struct/whois_privacy_renewal.rb +30 -0
  76. data/lib/dnsimple/struct/zone.rb +2 -0
  77. data/lib/dnsimple/struct/zone_distribution.rb +13 -0
  78. data/lib/dnsimple/struct/zone_file.rb +2 -0
  79. data/lib/dnsimple/struct/zone_record.rb +2 -0
  80. data/lib/dnsimple/version.rb +3 -1
  81. data/spec/dnsimple/client/accounts_spec.rb +2 -0
  82. data/spec/dnsimple/client/certificates_spec.rb +36 -33
  83. data/spec/dnsimple/client/client_service_spec.rb +2 -0
  84. data/spec/dnsimple/client/contacts_spec.rb +2 -0
  85. data/spec/dnsimple/client/{collaborators_spec.rb → domains_collaborators_spec.rb} +2 -0
  86. data/spec/dnsimple/client/domains_delegation_signer_records_spec.rb +2 -0
  87. data/spec/dnsimple/client/domains_dnssec_spec.rb +2 -0
  88. data/spec/dnsimple/client/domains_email_forwards_spec.rb +2 -0
  89. data/spec/dnsimple/client/domains_pushes_spec.rb +2 -0
  90. data/spec/dnsimple/client/domains_spec.rb +16 -13
  91. data/spec/dnsimple/client/identity_spec.rb +2 -0
  92. data/spec/dnsimple/client/oauth_spec.rb +2 -0
  93. data/spec/dnsimple/client/registrar_auto_renewal_spec.rb +2 -0
  94. data/spec/dnsimple/client/registrar_delegation_spec.rb +5 -2
  95. data/spec/dnsimple/client/registrar_spec.rb +70 -1
  96. data/spec/dnsimple/client/registrar_whois_privacy_spec.rb +57 -0
  97. data/spec/dnsimple/client/services_domains_spec.rb +2 -0
  98. data/spec/dnsimple/client/services_spec.rb +2 -0
  99. data/spec/dnsimple/client/templates_domains_spec.rb +2 -0
  100. data/spec/dnsimple/client/templates_records_spec.rb +2 -0
  101. data/spec/dnsimple/client/templates_spec.rb +2 -0
  102. data/spec/dnsimple/client/tlds_spec.rb +15 -12
  103. data/spec/dnsimple/client/vanity_name_servers_spec.rb +2 -0
  104. data/spec/dnsimple/client/webhooks_spec.rb +2 -0
  105. data/spec/dnsimple/client/zones_distributions_spec.rb +137 -0
  106. data/spec/dnsimple/client/zones_records_spec.rb +35 -33
  107. data/spec/dnsimple/client/zones_spec.rb +2 -0
  108. data/spec/dnsimple/client_spec.rb +8 -6
  109. data/spec/dnsimple/extra_spec.rb +2 -0
  110. data/spec/dnsimple/options/base_spec.rb +2 -0
  111. data/spec/dnsimple/options/list_options_spec.rb +2 -0
  112. data/spec/fixtures.http/cancelDomainTransfer/success.http +19 -0
  113. data/spec/fixtures.http/checkZoneDistribution/error.http +21 -0
  114. data/spec/fixtures.http/checkZoneDistribution/failure.http +21 -0
  115. data/spec/fixtures.http/checkZoneDistribution/success.http +21 -0
  116. data/spec/fixtures.http/checkZoneRecordDistribution/error.http +21 -0
  117. data/spec/fixtures.http/checkZoneRecordDistribution/failure.http +21 -0
  118. data/spec/fixtures.http/checkZoneRecordDistribution/success.http +21 -0
  119. data/spec/fixtures.http/createDomain/created.http +21 -16
  120. data/spec/fixtures.http/getCertificate/success.http +11 -11
  121. data/spec/fixtures.http/getDomain/success.http +14 -9
  122. data/spec/fixtures.http/getDomainTransfer/success.http +21 -0
  123. data/spec/fixtures.http/issueLetsencryptCertificate/success.http +19 -21
  124. data/spec/fixtures.http/issueRenewalLetsencryptCertificate/success.http +19 -21
  125. data/spec/fixtures.http/listCertificates/success.http +11 -11
  126. data/spec/fixtures.http/listDomains/success.http +21 -16
  127. data/spec/fixtures.http/purchaseLetsencryptCertificate/success.http +21 -21
  128. data/spec/fixtures.http/purchaseRenewalLetsencryptCertificate/success.http +21 -21
  129. data/spec/fixtures.http/registerDomain/success.http +2 -2
  130. data/spec/fixtures.http/renewDomain/success.http +2 -2
  131. data/spec/fixtures.http/renewWhoisPrivacy/success.http +21 -0
  132. data/spec/fixtures.http/renewWhoisPrivacy/whois-privacy-duplicated-order.http +19 -0
  133. data/spec/fixtures.http/renewWhoisPrivacy/whois-privacy-not-found.http +19 -0
  134. data/spec/fixtures.http/transferDomain/success.http +2 -2
  135. data/spec/spec_helper.rb +4 -2
  136. data/spec/support/helpers.rb +2 -0
  137. data/spec/support/webmock.rb +2 -0
  138. metadata +38 -17
  139. data/.ruby-gemset +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5798dd92561074094a81017acdd5337d2497e6b0
4
- data.tar.gz: cde903898b98b7d316d0542f7e9257de64f5196a
2
+ SHA256:
3
+ metadata.gz: eb65512fa0b18965225026494660cee2722a79b2bfd0f54e514c66ab4671d4c6
4
+ data.tar.gz: af619ac80882ec17cea64ba6ea7d3552688cb08a2b0306aaf2b909e8d23a5555
5
5
  SHA512:
6
- metadata.gz: dc7c8c73aa1deace9034c3d5e4f8a392c0dbd966b73ff28c1771f581614f6efbe74e331b01225552513c63d006637f24d3df07ac68b44940aa9ada62d0a99c99
7
- data.tar.gz: 6c1cc1d2121ccbbc316bcd55a99d3c4fca2a00410298c56f69bbc22b925ce0cee1b46bc30ed97467d202183a690982b61c49ad3d84fefecbb1800b91394fe924
6
+ metadata.gz: 32f3d80ebbf898ed8dcd8ecd30b32f1e27caf5883f05c8a86874227a739eedd8b81cb30dbb31651797de927257d025b54bc57d9d324c5eb4fb196483ecf22e60
7
+ data.tar.gz: 5f793cf92e6b11a46eca6eaaee769580cb1b168b94d3b9e10c0605eda6865c954dacee9daf213575b950b5c7557475947c0e578d3267208b5098d96073989653
@@ -0,0 +1,9 @@
1
+ version: 1
2
+ update_configs:
3
+ - package_manager: "ruby:bundler"
4
+ directory: "/"
5
+ update_schedule: "daily"
6
+ default_labels:
7
+ - "task"
8
+ - "dependencies"
9
+ - "backlog-dependencies"
@@ -2,6 +2,8 @@ inherit_from:
2
2
  - .rubocop_todo.yml
3
3
  - .rubocop_dnsimple.yml
4
4
 
5
+ require: rubocop-performance
6
+
5
7
  AllCops:
6
8
  Exclude:
7
9
  - '*.gemspec'
@@ -1,4 +1,8 @@
1
1
  # Defaults https://github.com/bbatsov/rubocop/blob/master/config/default.yml
2
+ #
3
+ # References:
4
+ # * https://github.com/bbatsov/ruby-style-guide
5
+ # * https://rubocop.readthedocs.io/
2
6
 
3
7
  AllCops:
4
8
  Exclude:
@@ -10,6 +14,15 @@ AllCops:
10
14
  Bundler/OrderedGems:
11
15
  Enabled: false
12
16
 
17
+ # This cop requires odd code indentations (as of rubocop 0.57.0)
18
+ # https://github.com/rubocop-hq/rubocop/issues/5956
19
+ Layout/AccessModifierIndentation:
20
+ Enabled: false
21
+
22
+ # It causes weird aligments, especially for specs.
23
+ Layout/BlockEndNewline:
24
+ Enabled: false
25
+
13
26
  # Generally, the keyword style uses a lot of space. This is particularly true when
14
27
  # you use case/if statements, in combination with a long-name variable.
15
28
  #
@@ -20,11 +33,19 @@ Bundler/OrderedGems:
20
33
  # do_else
21
34
  # end
22
35
  #
23
- Lint/EndAlignment:
36
+ Layout/EndAlignment:
24
37
  EnforcedStyleAlignWith: variable
25
38
 
26
39
  # [codesmell]
27
- Lint/HandleExceptions:
40
+ Layout/LineLength:
41
+ Enabled: false
42
+ Exclude:
43
+ - 'spec/**/*_spec.rb'
44
+ - 'test/**/*_test.rb'
45
+ Max: 100
46
+
47
+ # [codesmell]
48
+ Lint/SuppressedException:
28
49
  Enabled: false
29
50
 
30
51
  # [codesmell]
@@ -52,14 +73,6 @@ Metrics/ClassLength:
52
73
  - 'spec/**/*_spec.rb'
53
74
  - 'test/**/*_test.rb'
54
75
 
55
- # [codesmell]
56
- Metrics/LineLength:
57
- Enabled: false
58
- Exclude:
59
- - 'spec/**/*_spec.rb'
60
- - 'test/**/*_test.rb'
61
- Max: 100
62
-
63
76
  # [codesmell]
64
77
  Metrics/MethodLength:
65
78
  Enabled: false
@@ -84,6 +97,11 @@ Metrics/ParameterLists:
84
97
  Metrics/PerceivedComplexity:
85
98
  Enabled: false
86
99
 
100
+ # We tend to use @_name to represent a variable that is memoized,
101
+ # but it should not be accessed directly and kept as private.
102
+ Naming/MemoizedInstanceVariableName:
103
+ Enabled: false
104
+
87
105
  # We use it from time to time, as it's not always possible (or maintainable)
88
106
  # to use simple ? methods.
89
107
  # Moreover, it's actually more efficient to not-use predicates:
@@ -91,9 +109,21 @@ Metrics/PerceivedComplexity:
91
109
  Naming/PredicateName:
92
110
  Enabled: false
93
111
 
94
- # [codesmell]
95
- # I don't really get the point of this cop.
96
- Performance/RedundantMerge:
112
+ # The team agreed decided to use exception
113
+ Naming/RescuedExceptionsVariableName:
114
+ PreferredName: 'exception'
115
+
116
+ # This cop triggers several false positives that make sense in our domain model.
117
+ # For instance, ip is considered an uncommunicative parameter name:
118
+ #
119
+ # ipv4_to_arpa_name(ip)
120
+ #
121
+ Naming/MethodParameterName:
122
+ Enabled: false
123
+
124
+ # This cop returns false positive violations (as of rubocop 0.57.0)
125
+ # https://github.com/rubocop-hq/rubocop/issues/5953
126
+ Style/AccessModifierDeclarations:
97
127
  Enabled: false
98
128
 
99
129
  # Do not use "and" or "or" in conditionals, but for readability we can use it
@@ -111,12 +141,6 @@ Style/BlockDelimiters:
111
141
  IgnoredMethods:
112
142
  - expect
113
143
 
114
- # I'm not sure we should enforce a style,
115
- # but if we do, context_dependent offers a good compromise on readability.
116
- Style/BracesAroundHashParameters:
117
- Enabled: false
118
- EnforcedStyle: context_dependent
119
-
120
144
  # Warn on empty else.
121
145
  Style/EmptyElse:
122
146
  EnforcedStyle: empty
@@ -137,20 +161,26 @@ Style/FormatString:
137
161
  Style/FormatStringToken:
138
162
  Enabled: false
139
163
 
140
- # We don't support frozen strings.
141
- # This is an experimental feature and we don't know if it will be shipped with
142
- # Ruby 3.0 or not.
143
- Style/FrozenStringLiteralComment:
144
- Enabled: false
145
-
146
164
  # Prefer the latest Hash syntax
147
165
  Style/HashSyntax:
148
166
  Exclude:
149
- # But Rakefiles generally have some definition like
167
+ # Rakefiles generally have definitions like
150
168
  # :default => :test
151
169
  # that looks nicer with the old rocket syntax.
152
170
  - 'Rakefile'
153
171
 
172
+ # Enforces usage of Hash#each_key and Hash#each_value (vs. Hash#keys.each and Hash#values.each).
173
+ Style/HashEachMethods:
174
+ Enabled: true
175
+
176
+ # Enforce the use of Hash#TransformKeys introduced in Ruby 2.5 to transform Hash keys.
177
+ Style/HashTransformKeys:
178
+ Enabled: true
179
+
180
+ # Enforce the use of Hash#TransformValues introduced in Ruby 2.5 to transform Hash values.
181
+ Style/HashTransformValues:
182
+ Enabled: true
183
+
154
184
  # We want to be able to decide when to use one-line if/unless modifiers.
155
185
  Style/IfUnlessModifier:
156
186
  Enabled: false
@@ -161,7 +191,7 @@ Style/IfInsideElse:
161
191
  Enabled: false
162
192
 
163
193
  # module_function doesn't respect the visibility of the methods,
164
- # and doesn't work well when the module contain both public/private methods.
194
+ # and doesn't work well when the module contains both public/private methods.
165
195
  Style/ModuleFunction:
166
196
  Enabled: false
167
197
 
@@ -229,7 +259,12 @@ Style/StringLiteralsInInterpolation:
229
259
 
230
260
  # It's nice to be consistent. The trailing comma also allows easy reordering,
231
261
  # and doesn't cause a diff in Git when you add a line to the bottom.
232
- Style/TrailingCommaInLiteral:
262
+ Style/TrailingCommaInArrayLiteral:
263
+ EnforcedStyleForMultiline: consistent_comma
264
+
265
+ # It's nice to be consistent. The trailing comma also allows easy reordering,
266
+ # and doesn't cause a diff in Git when you add a line to the bottom.
267
+ Style/TrailingCommaInHashLiteral:
233
268
  EnforcedStyleForMultiline: consistent_comma
234
269
 
235
270
  Style/TrivialAccessors:
@@ -311,18 +346,16 @@ Layout/EmptyLineBetweenDefs:
311
346
  Enabled: false
312
347
 
313
348
  # Multi-line differs from standard indentation, they are indented twice.
314
- Layout/FirstParameterIndentation:
349
+ Layout/FirstArgumentIndentation:
315
350
  IndentationWidth: 4
316
351
 
317
- # Array indentation should be considered like MultilineMethodCallIndentation indentation
318
- # and use 4 spaces instead of 2.
319
- Layout/IndentArray:
320
- IndentationWidth: 4
352
+ # Array indentation should be consistent with method/variable definition.
353
+ Layout/FirstArrayElementIndentation:
354
+ EnforcedStyle: consistent
321
355
 
322
- # Hash indentation should be considered like MultilineMethodCallIndentation indentation
323
- # and use 4 spaces instead of 2.
324
- Layout/IndentHash:
325
- IndentationWidth: 4
356
+ # Hash indentation should be consistent with method/variable definition.
357
+ Layout/FirstHashElementIndentation:
358
+ EnforcedStyle: consistent
326
359
 
327
360
  # Multi-line differs from standard indentation, they are indented twice.
328
361
  Layout/MultilineMethodCallIndentation:
@@ -338,9 +371,47 @@ Layout/MultilineOperationIndentation:
338
371
  #
339
372
  # %w( foo bar )
340
373
  #
341
- # looks better to me than
374
+ # looks better than:
342
375
  #
343
- # %w( foo bar )
376
+ # %w(foo bar)
344
377
  #
345
378
  Layout/SpaceInsidePercentLiteralDelimiters:
346
379
  Enabled: false
380
+
381
+
382
+ # New cops
383
+ # We'll remove them once they become defaults.
384
+ # See https://docs.rubocop.org/en/latest/versioning/
385
+
386
+
387
+ Layout/SpaceAroundMethodCallOperator:
388
+ Enabled: true
389
+
390
+ Lint/RaiseException:
391
+ Enabled: true
392
+
393
+ Lint/StructNewOverride:
394
+ Enabled: true
395
+
396
+ Style/ExponentialNotation:
397
+ Enabled: true
398
+
399
+ Layout/EmptyLinesAroundAttributeAccessor:
400
+ Enabled: true
401
+
402
+ Style/SlicingWithRange:
403
+ Enabled: true
404
+
405
+ # Introduced in rubocop 0.84.0
406
+ Lint/DeprecatedOpenSSLConstant:
407
+ Enabled: true
408
+
409
+ # Introduced in rubocop 0.85.0
410
+ Lint/MixedRegexpCaptureTypes:
411
+ Enabled: true
412
+
413
+ Style/RedundantRegexpCharacterClass:
414
+ Enabled: true
415
+
416
+ Style/RedundantRegexpEscape:
417
+ Enabled: true
@@ -1,18 +1,17 @@
1
1
  language: ruby
2
2
 
3
- sudo: false
4
-
5
3
  rvm:
6
- - 2.0
7
- - 2.1
8
- - 2.2
9
- - 2.3
10
4
  - 2.4
5
+ - 2.5
6
+ - 2.6
7
+ - 2.7
11
8
 
12
9
  env:
13
10
  - COVERALL=1
14
11
 
15
12
  before_install:
16
- - rvm get latest
17
- - gem update --system
18
- - gem install bundler
13
+ - gem install bundler -v 1.17.3
14
+
15
+ notifications:
16
+ slack:
17
+ secure: "N9zPR5jnF1TBiqvb3mCV6Wem3TIvqu4tXiob2P66vBMwmj1ewWvyUzNLwAEOCDc3mRfsI50IYXHewckAUpCWW7XEJlT/pv8llMsoiHqArb7SGJyDdy3ZRr35L7glixs/ikod+xhRKXMM3jML/2MgSa+Culzhl42tMUFDk+bBBQU="
@@ -2,27 +2,58 @@
2
2
 
3
3
  This project uses [Semantic Versioning 2.0.0](http://semver.org/).
4
4
 
5
+ ## 5.2.0
5
6
 
6
- #### 4.4.0
7
+ - CHANGED: `Certificate#expires_on` (date only) is deprecated in favor of `Certificate#expires_at` (timestamp). (dnsimple/dnsimple-ruby#190)
8
+
9
+ ## 5.1.0
10
+
11
+ - CHANGED: `Domain#expires_on` (date only) is deprecated in favor of `Domain#expires_at` (timestamp). (dnsimple/dnsimple-ruby#186)
12
+
13
+ ## 5.0.0
14
+
15
+ - CHANGED: Minimum Ruby version is now 2.4
16
+ - CHANGED: User-agent format has been changed to prepend custom token before default token.
17
+ - NEW: Added `registrar.get_domain_transfer` to retrieve a domain transfer. (dnsimple/dnsimple-ruby#180)
18
+ - NEW: Added `registrar.cancel_domain_transfer` to cancel an in progress domain transfer. (dnsimple/dnsimple-ruby#180)
19
+ - NEW: Added `DomainTransfer#status_description` attribute to identify the failure reason of a transfer. (dnsimple/dnsimple-ruby#180).
20
+
21
+ ## 4.6.0
22
+
23
+ - NEW: Added WHOIS privacy renewal (GH-171)
24
+
25
+
26
+ ## 4.5.0
27
+
28
+ - NEW: Added zone distribution and zone record distribution (GH-160)
29
+
30
+ - CHANGED: Bump minimum Ruby requirement to 2.1
31
+ - CHANGED: Introduce Dnsimple::Struct::VanityNameServer (GH-144)
32
+ - CHANGED: Fix name inconsistency of the Collaborator module (GH-154)
33
+
34
+ - REMOVED: Removed extra alias (GH-168). You should use `dnsimple.foo.list_foo` instead of `dnsimple.foo.list`. Same for create/update. The change ensures consistency across the various clients. We prefer fully qualified methods.
35
+
36
+
37
+ ## 4.4.0
7
38
 
8
39
  - NEW: Added Let's Encrypt certificate methods (GH-159)
9
40
 
10
41
  - REMOVED: Removed premium_price attribute from registrar order responses (GH-163). Please do not rely on that attribute, as it returned an incorrect value. The attribute is going to be removed, and the API now returns a null value.
11
42
 
12
43
 
13
- #### 4.3.0
44
+ ## 4.3.0
14
45
 
15
46
  - NEW: Added `certificates.all_certificates` (dnsimple/dnsimple-ruby#155)
16
47
 
17
48
  - CHANGED: Updated registrar URLs (dnsimple/dnsimple-ruby#153)
18
49
 
19
50
 
20
- #### 4.2.0
51
+ ## 4.2.0
21
52
 
22
53
  - NEW: Added DNSSEC support support (dnsimple/dnsimple-ruby#152)
23
54
 
24
55
 
25
- #### 4.1.0
56
+ ## 4.1.0
26
57
 
27
58
  - NEW: Added domain premium price support (dnsimple/dnsimple-ruby#143)
28
59
 
@@ -30,7 +61,7 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).
30
61
  - CHANGED: Normalize unique string identifiers to SID (dnsimple/dnsimple-ruby#141)
31
62
 
32
63
 
33
- #### 4.0.0
64
+ ## 4.0.0
34
65
 
35
66
  - NEW: Added domain collaborators support (GH-137).
36
67
  - NEW: Added regions support for zone records (GH-135, GH-139).
@@ -47,7 +78,7 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).
47
78
  - CHANGED: Renamed registrar `auth_info` into `auth_code` (GH-136).
48
79
 
49
80
 
50
- #### 3.1.0
81
+ ## 3.1.0
51
82
 
52
83
  - NEW: Added accounts support (GH-113).
53
84
  - NEW: Added sorting and filtering support (GH-112).
@@ -61,9 +92,9 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).
61
92
  - REMOVED: Removed support for wildcard accounts (GH-107).
62
93
 
63
94
 
64
- #### 3.0.0
95
+ ## 3.0.0
65
96
 
66
- ##### stable
97
+ ### stable
67
98
 
68
99
  - FIXED: The client was using the wrong key to store the ContactsService which could cause conflicts with the DomainsService.
69
100
 
@@ -77,13 +108,13 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).
77
108
 
78
109
  - CHANGED: Error detection is now smarter. If the error is deserializable and contains a message, the message is attached to the exception (GH-94, GH-95, GH-100).
79
110
 
80
- ##### beta2
111
+ ### beta2
81
112
 
82
113
  - FIXED: `state` and `redirect_uri` are not properly passed in the request to exchang the code for an access token (GH-89, GH-90).
83
114
 
84
115
  - FIXED: Request body is not properly serialized to JSON, and the "Content-Type" header was omissed (GH-91).
85
116
 
86
- ##### beta1
117
+ ### beta1
87
118
 
88
119
  - CHANGED: Minimum Ruby version >= 2
89
120
 
@@ -93,15 +124,15 @@ The client has been completely redesigned to support the [API v2](https://develo
93
124
 
94
125
  Internal changes were made to match conventions adopted in other clients, such as the Go one and the Elixir one.
95
126
 
96
- #### 2.1.1
127
+ ## 2.1.1
97
128
 
98
129
  - FIXED: Paths may mistakenly be generated use \ on windows.
99
130
 
100
- #### 2.1.0
131
+ ## 2.1.0
101
132
 
102
133
  - NEW: Add the ability to set headers and pass extra connection params in each API method (GH-64)
103
134
 
104
- #### 2.0.0
135
+ ## 2.0.0
105
136
 
106
137
  **2.0.0.alpha**
107
138
 
@@ -113,7 +144,7 @@ Internal changes were made to match conventions adopted in other clients, such a
113
144
 
114
145
  - CHANGED: Drop 1.8.7, 1.9.2 support. Required Ruby >= 1.9.3.
115
146
 
116
- - CHANGED: This package no longer provides a CLI. The CLI has been extracted to [aetrion/dnsimple-ruby-cli](https://github.com/aetrion/dnsimple-ruby-cli)
147
+ - CHANGED: This package no longer provides a CLI. The CLI has been extracted to [dnsimple-ruby-cli](https://github.com/dnsimple/dnsimple-ruby-cli)
117
148
 
118
149
  - CHANGED: Renamed the Gem from "dnsimple-ruby" to "dnsimple" (GH-23).
119
150
 
@@ -125,23 +156,23 @@ Internal changes were made to match conventions adopted in other clients, such a
125
156
 
126
157
  - FIXED: Fixed a bug where API token environment variables were not properly detected (GH-59, GH-62). Thanks @oguzbilgic and @rupurt.
127
158
 
128
- #### Release 1.7.1
159
+ ## Release 1.7.1
129
160
 
130
161
  - FIXED: Updated Certificate to match the serialized attributes (GH-53).
131
162
 
132
- #### Release 1.7.0
163
+ ## Release 1.7.0
133
164
 
134
165
  - NEW: Add support for Domain-based authentication (GH-40, GH-46). Thanks @dwradcliffe and @samsonasu.
135
166
 
136
- #### Release 1.6.0
167
+ ## Release 1.6.0
137
168
 
138
169
  - NEW: Add support for 2FA (GH-44)
139
170
 
140
- #### Release 1.5.5
171
+ ## Release 1.5.5
141
172
 
142
173
  - NEW: Add notice about the CLI moving to a new location
143
174
 
144
- #### Release 1.5.4
175
+ ## Release 1.5.4
145
176
 
146
177
  - NEW: Added domain#expires_on attribute (GH-34). Thanks @alkema
147
178
 
@@ -151,23 +182,23 @@ Internal changes were made to match conventions adopted in other clients, such a
151
182
 
152
183
  - CHANGED: User.me now uses the correct patch for API v1.
153
184
 
154
- #### Release 1.5.3
185
+ ## Release 1.5.3
155
186
 
156
187
  - FIXED: In some cases the client crashed with NoMethodError VERSION (GH-35).
157
188
 
158
- #### Release 1.5.2
189
+ ## Release 1.5.2
159
190
 
160
191
  - NEW: Provide a meaningful user-agent.
161
192
 
162
- #### Release 1.5.1
193
+ ## Release 1.5.1
163
194
 
164
195
  - FIXED: Invalid base URI.
165
196
 
166
- #### Release 1.5.0
197
+ ## Release 1.5.0
167
198
 
168
199
  - CHANGED: Added support for versioned API (GH-33)
169
200
 
170
- #### Release 1.4.0
201
+ ## Release 1.4.0
171
202
 
172
203
  - CHANGED: Normalized exception handling. No more RuntimeError.
173
204
  In case of request error, the client raises RequestError, RecordExists or RecodNotFound