dogapi 1.38.0 → 1.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/.azure-pipelines/all.yml +7 -4
  3. data/.github/CODEOWNERS +10 -0
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
  6. data/.github/PULL_REQUEST_TEMPLATE.md +77 -0
  7. data/.github/labeler.yml +5 -0
  8. data/.github/workflows/labeler.yml +11 -0
  9. data/.github/workflows/stale.yml +39 -0
  10. data/.rubocop_todo.yml +27 -32
  11. data/CHANGELOG.md +11 -0
  12. data/CONTRIBUTING.md +111 -0
  13. data/DEVELOPMENT.md +11 -0
  14. data/LICENSE +21 -20
  15. data/LICENSE-3rdparty.csv +6 -0
  16. data/README.rdoc +7 -0
  17. data/RELEASING.md +46 -0
  18. data/SUPPORT.md +9 -0
  19. data/examples/custom_metric.rb +1 -1
  20. data/lib/capistrano/README.md +4 -1
  21. data/lib/capistrano/datadog.rb +8 -4
  22. data/lib/capistrano/datadog/v2.rb +9 -1
  23. data/lib/capistrano/datadog/v3.rb +10 -1
  24. data/lib/dogapi.rb +4 -0
  25. data/lib/dogapi/common.rb +44 -9
  26. data/lib/dogapi/event.rb +4 -0
  27. data/lib/dogapi/facade.rb +56 -8
  28. data/lib/dogapi/metric.rb +4 -0
  29. data/lib/dogapi/v1.rb +5 -0
  30. data/lib/dogapi/v1/alert.rb +4 -0
  31. data/lib/dogapi/v1/aws_integration.rb +4 -0
  32. data/lib/dogapi/v1/aws_logs.rb +4 -0
  33. data/lib/dogapi/v1/azure_integration.rb +4 -0
  34. data/lib/dogapi/v1/comment.rb +4 -0
  35. data/lib/dogapi/v1/dash.rb +10 -4
  36. data/lib/dogapi/v1/dashboard.rb +4 -0
  37. data/lib/dogapi/v1/dashboard_list.rb +4 -0
  38. data/lib/dogapi/v1/embed.rb +4 -0
  39. data/lib/dogapi/v1/event.rb +4 -0
  40. data/lib/dogapi/v1/gcp_integration.rb +4 -0
  41. data/lib/dogapi/v1/hosts.rb +4 -0
  42. data/lib/dogapi/v1/integration.rb +4 -0
  43. data/lib/dogapi/v1/metadata.rb +4 -0
  44. data/lib/dogapi/v1/metric.rb +4 -0
  45. data/lib/dogapi/v1/monitor.rb +6 -2
  46. data/lib/dogapi/v1/screenboard.rb +4 -0
  47. data/lib/dogapi/v1/search.rb +4 -0
  48. data/lib/dogapi/v1/service_check.rb +4 -0
  49. data/lib/dogapi/v1/snapshot.rb +4 -0
  50. data/lib/dogapi/v1/synthetics.rb +80 -0
  51. data/lib/dogapi/v1/tag.rb +4 -0
  52. data/lib/dogapi/v1/usage.rb +4 -0
  53. data/lib/dogapi/v1/user.rb +4 -0
  54. data/lib/dogapi/v2.rb +4 -0
  55. data/lib/dogapi/v2/dashboard_list.rb +4 -0
  56. data/lib/dogapi/version.rb +5 -1
  57. data/spec/integration/alert_spec.rb +4 -0
  58. data/spec/integration/aws_integration_spec.rb +4 -0
  59. data/spec/integration/aws_logs_spec.rb +4 -0
  60. data/spec/integration/azure_integration_spec.rb +4 -0
  61. data/spec/integration/comment_spec.rb +5 -0
  62. data/spec/integration/common_spec.rb +4 -0
  63. data/spec/integration/dash_spec.rb +7 -1
  64. data/spec/integration/dashboard_list_spec.rb +4 -0
  65. data/spec/integration/dashboard_spec.rb +4 -0
  66. data/spec/integration/embed_spec.rb +4 -0
  67. data/spec/integration/event_spec.rb +5 -0
  68. data/spec/integration/gcp_integration_spec.rb +4 -0
  69. data/spec/integration/integration_spec.rb +4 -0
  70. data/spec/integration/metadata_spec.rb +4 -0
  71. data/spec/integration/metric_spec.rb +4 -0
  72. data/spec/integration/monitor_spec.rb +15 -0
  73. data/spec/integration/screenboard_spec.rb +4 -0
  74. data/spec/integration/search_spec.rb +4 -0
  75. data/spec/integration/service_check_spec.rb +4 -0
  76. data/spec/integration/snapshot_spec.rb +4 -0
  77. data/spec/integration/synthetics_spec.rb +131 -0
  78. data/spec/integration/tag_spec.rb +4 -0
  79. data/spec/integration/usage_spec.rb +4 -0
  80. data/spec/integration/user_spec.rb +4 -0
  81. data/spec/spec_helper.rb +4 -0
  82. data/spec/unit/capistrano_spec.rb +4 -0
  83. data/spec/unit/common_spec.rb +41 -0
  84. data/spec/unit/facade_spec.rb +4 -0
  85. metadata +18 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 721a223d2c8a3013933fd51f060f7964e5891e439f1c4fa535193fa78d3ddfa2
4
- data.tar.gz: f4b2178af09e54b4fca2d89a572d75743bc44b6d47ab4d49c2a35b0c2bc23928
3
+ metadata.gz: 220b05feea1448dc86ed0be4b9efdc730ff56d561965d9e004de6c6c2daf8091
4
+ data.tar.gz: 2d161a3452ad1e7fe0e4d0039bf10866f10fd868ac008fe6d0b17485395289fb
5
5
  SHA512:
6
- metadata.gz: 565c7bdb5c8374ed4434ed8c1b052109e2fdbb984869bb6d7292c6e3d2e348bf24e808ad9ce8011d7678963bdeb4966229fb75d864c67c6a6f575676545c6599
7
- data.tar.gz: 54e106b35aed8c276bbfef782a4f5d820823beaffdff2f4a9976d84ffa6e156ec208f2826c966e0679248fbad802f470fba7c1320aff6af1a9c534ecac0dc5ef
6
+ metadata.gz: 5c835303762440f2e6293d308dfd7cc19585194572960fd4244e8ac84035733d5fa47622b28b74b61ca5356a0f87aeba97385ee6dd3108b4a24f0c307fc5761b
7
+ data.tar.gz: b4ae214e6f20ae634e32492c87dd9c50010d0c9ef8e4635a1cd9e76ebef75992bc215e096673ad01052ea00a770b25e95e85ce8a4bd0ddfdb94f690738f1c6ce
@@ -16,16 +16,19 @@ jobs:
16
16
  strategy:
17
17
  matrix:
18
18
  Rb24:
19
- RUBY_VERSION: '2.4.6'
19
+ RUBY_VERSION: '2.4'
20
20
  TASK: spec
21
21
  Rb25:
22
- RUBY_VERSION: '2.5.5'
22
+ RUBY_VERSION: '2.5'
23
23
  TASK: spec
24
24
  Rb26:
25
- RUBY_VERSION: '2.6.3'
25
+ RUBY_VERSION: '2.6'
26
+ TASK: spec
27
+ Rb27:
28
+ RUBY_VERSION: '2.7'
26
29
  TASK: spec
27
30
  Lint:
28
- RUBY_VERSION: '2.6.3'
31
+ RUBY_VERSION: '2.6'
29
32
  TASK: rubocop
30
33
  steps:
31
34
  - task: UseRubyVersion@0
@@ -0,0 +1,10 @@
1
+ # See https://help.github.com/articles/about-codeowners/ for syntax
2
+ # Rules are matched bottom-to-top, so one team can own subdirectories
3
+ # and another team can own the rest of the directory.
4
+
5
+ # All your base
6
+ * @DataDog/integrations-tools-and-libraries
7
+
8
+ # Documentation
9
+ *.md @DataDog/baklava @DataDog/integrations-tools-and-libraries
10
+ LICENSE @DataDog/baklava @DataDog/integrations-tools-and-libraries
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: 'kind/bug'
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ Label the issue properly.
14
+ - Add `severity/` label.
15
+ - Add `documentation` label if this issue is related to documentation changes.
16
+
17
+ **To Reproduce**
18
+ Steps to reproduce the behavior:
19
+ 1. Go to '...'
20
+ 2. Click on '....'
21
+ 3. Scroll down to '....'
22
+ 4. See error
23
+
24
+ **Expected behavior**
25
+ A clear and concise description of what you expected to happen.
26
+
27
+ **Screenshots**
28
+ If applicable, add screenshots to help explain your problem.
29
+
30
+ **Environment and Versions (please complete the following information):**
31
+ A clear and precise description of your setup:
32
+ - version for this project in use.
33
+ - services, libraries, languages and tools list and versions.
34
+
35
+ **Additional context**
36
+ Add any other context about the problem here.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: 'kind/feature-request'
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Note:**
11
+ If you have a feature request, you should [contact support](https://docs.datadoghq.com/help/) so the request can be properly tracked.
12
+
13
+ **Is your feature request related to a problem? Please describe.**
14
+ A clear and concise description of what the problem is.
15
+
16
+ **Describe the solution you'd like**
17
+ A clear and concise description of what you want to happen.
18
+
19
+ **Describe alternatives you've considered**
20
+ A clear and concise description of any alternative solutions or features you've considered.
21
+
22
+ **Additional context**
23
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,77 @@
1
+ ### Requirements for Contributing to this repository
2
+
3
+ * Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
4
+ * The pull request must only fix one issue, or add one feature, at the time.
5
+ * The pull request must update the test suite to demonstrate the changed functionality.
6
+ * After you create the pull request, all status checks must be pass before a maintainer reviews your contribution. For more details, please see [CONTRIBUTING](/CONTRIBUTING.md).
7
+
8
+ ### What does this PR do?
9
+
10
+ <!--
11
+
12
+ What inspired you to submit this pull request?
13
+ Link to the issue describing the bug that you're fixing.
14
+
15
+ If there is not yet an issue for your bug, please open a new issue and then link to that issue in your pull request.
16
+ Note: In some cases, one person's "bug" is another person's "feature." If the pull request does not address an existing issue with the "bug" label, the maintainers have the final say on whether the current behavior is a bug.
17
+
18
+ -->
19
+
20
+ ### Description of the Change
21
+
22
+ <!--
23
+
24
+ A brief description of the change being made with this pull request.
25
+
26
+ We must be able to understand the design of your change from this description.
27
+ If we can't get a good idea of what the code will be doing from the description here, the pull request may be closed at the maintainers' discretion.
28
+ Keep in mind that the maintainer reviewing this PR may not be familiar with or have worked with the code here recently, so please walk us through the concepts.
29
+
30
+ -->
31
+
32
+ ### Alternate Designs
33
+
34
+ <!-- Explain what other alternates were considered and why the proposed version was selected -->
35
+
36
+ ### Possible Drawbacks
37
+
38
+ <!-- What are the possible side-effects or negative impacts of the code change? -->
39
+
40
+ ### Verification Process
41
+
42
+ <!--
43
+
44
+ What process did you follow to verify that your change has the desired effects?
45
+
46
+ - How did you verify that all new functionality works as expected?
47
+ - How did you verify that all changed functionality works as expected?
48
+ - How did you verify that the change has not introduced any regressions?
49
+
50
+ Describe the actions you performed (including scripts, commands you ran, etc.), and describe the results you observed.
51
+
52
+ -->
53
+
54
+ ### Additional Notes
55
+
56
+ <!-- Anything else we should know when reviewing? -->
57
+
58
+ ### Release Notes
59
+
60
+ <!--
61
+
62
+ If the PR title is not enough to describe the changes in a single line that explains this improvement in
63
+ terms that a user can understand. This text will be added in release notes.
64
+
65
+ For example, you can provide additionnal notes about feature deprecation or backward incompatible changes.
66
+
67
+ -->
68
+
69
+ ### Review checklist (to be filled by reviewers)
70
+
71
+ - [ ] Feature or bug fix MUST have appropriate tests (unit, integration, etc...)
72
+ - [ ] PR title must be written as a CHANGELOG entry [(see why)](/CONTRIBUTING.md#pull-request-title)
73
+ - [ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
74
+ - [ ] PR must have one `changelog/` label attached. If applicable it should have the `backward-incompatible` label attached.
75
+ - [ ] PR should not have `do-not-merge/` label attached.
76
+ - [ ] If Applicable, issue must have `kind/` and `severity/` labels attached at least.
77
+
@@ -0,0 +1,5 @@
1
+ # Configuration for labeler - https://github.com/actions/labeler
2
+
3
+ documentation:
4
+ - "*.md"
5
+ - "*.rdoc"
@@ -0,0 +1,11 @@
1
+ name: "Pull Request Labeler"
2
+ on:
3
+ - pull_request
4
+
5
+ jobs:
6
+ triage:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: DataDog/labeler@glob-all
10
+ with:
11
+ repo-token: "${{ secrets.GITHUB_TOKEN }}"
@@ -0,0 +1,39 @@
1
+ # Configuration for https://github.com/actions/stale
2
+
3
+ name: "Stale issues and pull requests"
4
+ on:
5
+ schedule:
6
+ - cron: "0 0 * * *"
7
+
8
+ jobs:
9
+ stale:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/stale@v1
13
+ with:
14
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
15
+ stale-issue-message: >-
16
+ Thanks for your contribution!
17
+
18
+
19
+ This issue has been automatically marked as stale because it has not had
20
+ activity in the last 30 days. Note that the issue will not be automatically
21
+ closed, but this notification will remind us to investigate why there's
22
+ been inactivity. Thank you for participating in the Datadog open source community.
23
+
24
+
25
+ If you would like this issue to remain open:
26
+
27
+ 1. Verify that you can still reproduce the issue in the latest version of this project.
28
+
29
+ 1. Comment that the issue is still reproducible and include updated details requested in the issue template.
30
+ days-before-stale: 30
31
+ days-before-close: 99999
32
+ stale-issue-label: 'stale'
33
+ exempt-issue-label: 'stale/exempt'
34
+ stale-pr-message: >-
35
+ This issue has been automatically marked as stale because it has not had activity in the last 30 days.
36
+
37
+ Note that the issue will not be automatically closed, but this notification will remind us to investigate why there's been inactivity.
38
+ stale-pr-label: 'stale'
39
+ exempt-pr-label: 'stale/exempt'
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2019-11-25 14:34:01 -0500 using RuboCop version 0.49.1.
3
+ # on 2020-01-30 14:50:03 +0100 using RuboCop version 0.49.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -36,22 +36,23 @@ Layout/CommentIndentation:
36
36
  Exclude:
37
37
  - 'lib/dogapi/event.rb'
38
38
 
39
- # Offense count: 3
39
+ # Offense count: 1
40
40
  # Cop supports --auto-correct.
41
41
  Layout/EmptyLineAfterMagicComment:
42
42
  Exclude:
43
43
  - 'dogapi.gemspec'
44
- - 'spec/integration/comment_spec.rb'
45
- - 'spec/integration/event_spec.rb'
46
44
 
47
- # Offense count: 2
45
+ # Offense count: 16
48
46
  # Cop supports --auto-correct.
49
47
  Layout/EmptyLines:
50
48
  Exclude:
49
+ - 'config/deploy.rb'
50
+ - 'config/deploy/production.rb'
51
+ - 'config/deploy/staging.rb'
51
52
  - 'lib/capistrano/datadog/v2.rb'
52
53
  - 'lib/dogapi/facade.rb'
53
54
 
54
- # Offense count: 73
55
+ # Offense count: 92
55
56
  # Cop supports --auto-correct.
56
57
  # Configuration parameters: EnforcedStyle, SupportedStyles.
57
58
  # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
@@ -131,7 +132,6 @@ Layout/SpaceAroundEqualsInParameterDefault:
131
132
  - 'lib/dogapi/common.rb'
132
133
  - 'lib/dogapi/event.rb'
133
134
  - 'lib/dogapi/facade.rb'
134
- - 'lib/dogapi/v1/dash.rb'
135
135
  - 'lib/dogapi/v1/embed.rb'
136
136
  - 'lib/dogapi/v1/event.rb'
137
137
  - 'lib/dogapi/v1/metric.rb'
@@ -203,12 +203,12 @@ Lint/UselessAssignment:
203
203
 
204
204
  # Offense count: 12
205
205
  Metrics/AbcSize:
206
- Max: 51
206
+ Max: 53
207
207
 
208
- # Offense count: 24
208
+ # Offense count: 29
209
209
  # Configuration parameters: CountComments, ExcludedMethods.
210
210
  Metrics/BlockLength:
211
- Max: 114
211
+ Max: 123
212
212
 
213
213
  # Offense count: 1
214
214
  # Configuration parameters: CountComments.
@@ -217,23 +217,23 @@ Metrics/ClassLength:
217
217
 
218
218
  # Offense count: 3
219
219
  Metrics/CyclomaticComplexity:
220
- Max: 8
220
+ Max: 9
221
221
 
222
- # Offense count: 17
222
+ # Offense count: 16
223
223
  # Configuration parameters: CountComments.
224
224
  Metrics/MethodLength:
225
225
  Max: 34
226
226
 
227
- # Offense count: 4
227
+ # Offense count: 7
228
228
  # Configuration parameters: CountKeywordArgs.
229
229
  Metrics/ParameterLists:
230
230
  Max: 7
231
231
 
232
232
  # Offense count: 2
233
233
  Metrics/PerceivedComplexity:
234
- Max: 9
234
+ Max: 10
235
235
 
236
- # Offense count: 13
236
+ # Offense count: 19
237
237
  Style/AccessorMethodName:
238
238
  Exclude:
239
239
  - 'lib/dogapi/facade.rb'
@@ -242,6 +242,7 @@ Style/AccessorMethodName:
242
242
  - 'lib/dogapi/v1/dashboard.rb'
243
243
  - 'lib/dogapi/v1/embed.rb'
244
244
  - 'lib/dogapi/v1/screenboard.rb'
245
+ - 'lib/dogapi/v1/synthetics.rb'
245
246
  - 'lib/dogapi/v1/user.rb'
246
247
 
247
248
  # Offense count: 1
@@ -280,7 +281,7 @@ Style/ClassCheck:
280
281
  - 'lib/dogapi/facade.rb'
281
282
  - 'lib/dogapi/v1/event.rb'
282
283
 
283
- # Offense count: 2
284
+ # Offense count: 3
284
285
  # Cop supports --auto-correct.
285
286
  Style/ClassMethods:
286
287
  Exclude:
@@ -298,14 +299,6 @@ Style/ColonMethodCall:
298
299
  - 'lib/capistrano/datadog.rb'
299
300
  - 'lib/capistrano/datadog/v2.rb'
300
301
 
301
- # Offense count: 1
302
- # Cop supports --auto-correct.
303
- # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerBackticks.
304
- # SupportedStyles: backticks, percent_x, mixed
305
- Style/CommandLiteral:
306
- Exclude:
307
- - 'lib/dogapi/common.rb'
308
-
309
302
  # Offense count: 1
310
303
  # Cop supports --auto-correct.
311
304
  # Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly, IncludeTernaryExpressions.
@@ -314,7 +307,7 @@ Style/ConditionalAssignment:
314
307
  Exclude:
315
308
  - 'lib/capistrano/datadog.rb'
316
309
 
317
- # Offense count: 21
310
+ # Offense count: 20
318
311
  # Cop supports --auto-correct.
319
312
  Style/DefWithParentheses:
320
313
  Exclude:
@@ -341,7 +334,7 @@ Style/GuardClause:
341
334
  - 'lib/capistrano/datadog.rb'
342
335
  - 'lib/dogapi/facade.rb'
343
336
 
344
- # Offense count: 86
337
+ # Offense count: 88
345
338
  # Cop supports --auto-correct.
346
339
  # Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
347
340
  # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
@@ -362,7 +355,7 @@ Style/HashSyntax:
362
355
  - 'lib/dogapi/v1/snapshot.rb'
363
356
  - 'lib/dogapi/v1/tag.rb'
364
357
 
365
- # Offense count: 15
358
+ # Offense count: 16
366
359
  # Cop supports --auto-correct.
367
360
  # Configuration parameters: MaxLineLength.
368
361
  Style/IfUnlessModifier:
@@ -382,7 +375,7 @@ Style/LineEndConcatenation:
382
375
  Exclude:
383
376
  - 'dogapi.gemspec'
384
377
 
385
- # Offense count: 18
378
+ # Offense count: 21
386
379
  # Cop supports --auto-correct.
387
380
  Style/MethodCallWithoutArgsParentheses:
388
381
  Exclude:
@@ -397,7 +390,7 @@ Style/MultilineIfThen:
397
390
  Exclude:
398
391
  - 'lib/capistrano/datadog.rb'
399
392
 
400
- # Offense count: 29
393
+ # Offense count: 37
401
394
  # Cop supports --auto-correct.
402
395
  Style/MutableConstant:
403
396
  Enabled: false
@@ -417,12 +410,11 @@ Style/Not:
417
410
  Exclude:
418
411
  - 'lib/dogapi/v1/metric.rb'
419
412
 
420
- # Offense count: 4
413
+ # Offense count: 3
421
414
  # Cop supports --auto-correct.
422
415
  # Configuration parameters: PreferredDelimiters.
423
416
  Style/PercentLiteralDelimiters:
424
417
  Exclude:
425
- - 'lib/dogapi/common.rb'
426
418
  - 'spec/integration/event_spec.rb'
427
419
  - 'spec/integration/monitor_spec.rb'
428
420
 
@@ -478,14 +470,17 @@ Style/SpecialGlobalVars:
478
470
  Exclude:
479
471
  - 'dogapi.gemspec'
480
472
 
481
- # Offense count: 25
473
+ # Offense count: 35
482
474
  # Cop supports --auto-correct.
483
475
  # Configuration parameters: EnforcedStyle, SupportedStyles, ConsistentQuotesInMultiline.
484
476
  # SupportedStyles: single_quotes, double_quotes
485
477
  Style/StringLiterals:
486
478
  Exclude:
479
+ - 'Capfile'
487
480
  - 'Gemfile'
488
481
  - 'Rakefile'
482
+ - 'config/deploy.rb'
483
+ - 'config/deploy/staging.rb'
489
484
  - 'dogapi.gemspec'
490
485
  - 'examples/Capfile'
491
486
  - 'examples/custom_event.rb'
@@ -1,5 +1,16 @@
1
1
  # Changes
2
2
 
3
+ ## 1.39.0 / 2020-02-04
4
+
5
+ * [Added] Allow Setting Proxy without Using HTTP_PROXY, etc.. See [#180](https://github.com/DataDog/dogapi-rb/pull/180). Thanks [KingAlex42](https://github.com/KingAlex42).
6
+ * [Added] [capistrano] Add ability to use `etc.getpwuid` instead of `etc.getlogin` to get the user name. See [#146](https://github.com/DataDog/dogapi-rb/pull/146). Thanks [rkul](https://github.com/rkul).
7
+ * [Fixed] Check exit code of `hostname -f` for failures. See [#219](https://github.com/DataDog/dogapi-rb/pull/219).
8
+ * [Added] Add `validate_tags` util to check that `tags` is an array of strings. See [#218](https://github.com/DataDog/dogapi-rb/pull/218).
9
+ * [Added] Added function to deal with redirection of HTTP requests. See [#200](https://github.com/DataDog/dogapi-rb/pull/200).
10
+ * [Added] Add Synthetics support. See [#210](https://github.com/DataDog/dogapi-rb/pull/210).
11
+ * [Added] Add dashboard read_only option. See [#135](https://github.com/DataDog/dogapi-rb/pull/135). Thanks [tjoyal](https://github.com/tjoyal).
12
+ * [Added] Add options for force delete monitors. See [#213](https://github.com/DataDog/dogapi-rb/pull/213).
13
+
3
14
  ## 1.38.0 / 2019-12-13
4
15
 
5
16
  * [BUGFIX] Fix setting keys in both query params and headers. See [#194][]