ruby-jss 3.1.0b1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4bce47ef4c036e883a7b41d44220f6405bec40d1c3ea20f141d4923ce29dc837
4
- data.tar.gz: c14adc7dc8fd8b08c31c5cbe0257b667dcb18003b30754675da0c68edf268893
3
+ metadata.gz: 779e57b7a7c027827d1254a3e9ac100c648eea4d872c14a2bdd3af1b633613de
4
+ data.tar.gz: d8f19449e3bbd3c52031aaa4c9cfeeff83ac301be008e682db9cb9eacde2eb43
5
5
  SHA512:
6
- metadata.gz: f8ea25d3586028883d908e6d7718b5ce8b5146d0412871c02d40f742c9bb86d7cb047c24a3a9e2e41cc3b011439fb901d7e657f4f1cf9193394d3d9ae8e75f02
7
- data.tar.gz: fd6edb4cbf4941c67961c2da6863bdf37b0185f4b7512acf9c4783e8c2994e82f1f0eb8c1036227206f087c324d8695f22b869b151498956a84baa6d82a4623c
6
+ metadata.gz: 06a7448cf87691f9cf691de5836d43768d678daba0397bc3c21306ddb512c63204596962442be64a5e9a82653cc4446041b87bb0dff6274681c7bda1b81faea3
7
+ data.tar.gz: c3069994e4d1560b45f349b1d73b41834990c4e924b1dfbd65dcad3610ea3e258c8ce8f027fcf526a9bca47f7d8a2df4af686ca357e2e079d3ba5ea07b05f53b
data/CHANGES.md CHANGED
@@ -15,21 +15,28 @@ __Please update all installations of ruby-jss to at least v1.6.0.__
15
15
  Many many thanks to actae0n of Blacksun Hackers Club for reporting this issue and providing examples of how it could be exploited.
16
16
 
17
17
  --------
18
- ## \[3.1.0] 2023-06-05
18
+ ## \[3.1.0] 2023-06-06
19
19
 
20
20
  ### Added
21
21
  - Jamf::Computer.filevault_info and Jamf::Computer#filevault_info can retrieve FileVault info from v1/computer-inventory/filevault and related endpoints
22
22
  - Jamf::Computer.recovery_lock_password and Jamf::Computer#recovery_lock_password can retrieve stored recovery lock passwords
23
+ - Jamf::Pager#last_fetched_page - Integer, the last page returned by #fetch_next_page
23
24
  - There are now several ways to set scopes to all targets.
24
25
  - The original #include_all has been renamed #set_all_targets, and #include_all is an alias to it
25
26
  - The symbol :all can be passed to the #set_targets, and #add_target methods as they 'key' parameter, and they will just call #set_all_targets
26
27
  - There is now a setter #all_targets=(bool) which calls #set_all_targets, or sets @all_targets to false
28
+ - So All of these are identical:
29
+ - `some_scope.set_all_targets`
30
+ - `some_scope.include_all`
31
+ - `some_scope.set_targets :all`
32
+ - `some_scope.add_target :all`
33
+ - `some_scope.all_targets = true`
27
34
 
28
35
  ### Fixed
29
36
  - Fixed a bug in Jamf::Pager#initialize when constructing the query-path of the paged resource URL
30
37
  - Fixed a bug in Jamf::Pager#initialize: The instantiate: parameter takes a class, not a boolean
31
38
  - Fixed a bug in Jamf::CollectionResource.pager: The instantiate: parameter takes a boolean, but must pass a class to Jamf::Pager#initialize
32
- - Jamf::OAPIObject base-class: can now instantiate objects that hold a single value
39
+ - Jamf::OAPIObject (base-class) can now instantiate objects that hold a single value
33
40
 
34
41
  ### Changed
35
42
  - Auto-generated OAPISchemas have been refreshed from Jamf Pro 10.46.0
@@ -90,13 +97,38 @@ Version 2.0.0 is a major refactoring of ruby-jss. While attempting to provide as
90
97
 
91
98
  Here are the high-level changes and there are many many others. For more details, see [CHANGES-2.0.0.md](CHANGES-2.0.0.md)
92
99
 
93
- - Support for Ruby 3.x
94
- - tested in 3.0 and 3.1
95
- - Combined access to both the Classic and Jamf Pro APIs
96
- - A single namespace module
100
+ ### Added
101
+
102
+ - Support for Ruby 3.x
103
+ - tested in 3.0 and 3.1
104
+ - Combined access to both the Classic and Jamf Pro APIs
105
+ - A single namespace module
97
106
  - Connection objects talk to both APIs & automatically handle details like bearer tokens
98
- - Auto-generated code for Jamf Pro API objects
99
- - Autoloading of code using [Zeitwerk](https://github.com/fxn/zeitwerk)
107
+ - Auto-generated code for Jamf Pro API objects
108
+ - Autoloading of code using [Zeitwerk](https://github.com/fxn/zeitwerk)
109
+
110
+ ### Changed
111
+
112
+ These things are notably different in v2.0.0
113
+ - Paged queries to the Jamf Pro API
114
+ - API data are no longer cached for the JP API, possibly eventually for the classic
115
+ - No Attribute aliases for Jamf Pro API objects
116
+ - Class/Mixin hierarchy for Jamf Pro API objects
117
+ - Support for 'Sticky Sessions' in Jamf Cloud
118
+ - The valid_id method for Classic API collection classes
119
+
120
+ ### Deprecated
121
+
122
+ These things will go away in some future version of ruby-jss, please update your code sooner than later.
123
+
124
+ - Use of the term 'api'
125
+ - .map_all_ids_to method for Classic API collection classes
126
+ - Using .make, #create, and #update for Classic API objects
127
+ - JSS::CONFIG
128
+ - Jamf::Connection instance methods #next_refresh, #secs_to_refresh, & #time_to_refresh
129
+ - Cross-object validation in setters
130
+ - fetch :random
131
+
100
132
 
101
133
  ## \[1.6.7] - 2022-02-22
102
134
 
@@ -164,10 +196,6 @@ Here are the high-level changes and there are many many others. For more details
164
196
 
165
197
  ### Changed
166
198
 
167
- - ruby-jss no longer uses the 'plist' gem due to a remote code execution security issue when using `Plist.parse_xml`. Plists are now handled by the CFPropertyList gem. The existing wrapper method `JSS.parse_plist` bas been updated to use the new gem, and a new wrapper method has been added to convert ruby data to XML plist: `JSS.xml_plist_from(data)`. All internal references to methods from the insecure 'plist' gem have been replaced with calls to those wrapper methods.
168
-
169
- Many many thanks to actae0n of Blacksun Hackers Club for reporting this security issue and providing examples of how it could be exploited.
170
-
171
199
  - In preparation for the removal of the 'runScript' command in the jamf binary, JSS::Script no longer uses it within the 'run' instance method. Instead, it just does what the jamf binary did: It creates a private temp folder, writes the script to disk in that temp folder, executes the script with any given params, then deletes the folder, returning the exit status and output from the script.
172
200
 
173
201
  - Jamf::Script#run now takes parameters in the named params `p4:` through `p11:` for consistency with other parts of ruby-jss.
@@ -178,6 +206,11 @@ Here are the high-level changes and there are many many others. For more details
178
206
 
179
207
  - JSS.expand_min_os has been updated to handle Apple's new version numbers for macOS. This method takes a string like '>=10.14.3' and expands it into a large array of greater OS versions and is used by the 'os_limitations' method of Packages and Scripts. For any range of versions that includes Big Sur, both '11.x.x' and '10.16' as included in the output, to catch machines that may have SYSTEM_VERSION_COMPAT set in their env.
180
208
 
209
+ ### Security
210
+
211
+ - ruby-jss no longer uses the 'plist' gem due to a remote code execution security issue when using `Plist.parse_xml`. Plists are now handled by the CFPropertyList gem. The existing wrapper method `JSS.parse_plist` bas been updated to use the new gem, and a new wrapper method has been added to convert ruby data to XML plist: `JSS.xml_plist_from(data)`. All internal references to methods from the insecure 'plist' gem have been replaced with calls to those wrapper methods.
212
+
213
+ Many many thanks to actae0n of Blacksun Hackers Club for reporting this security issue and providing examples of how it could be exploited.
181
214
 
182
215
  ## \[1.5.3] - 2020-12-28
183
216
 
@@ -430,7 +430,7 @@ module Jamf
430
430
  #
431
431
  # @return [void]
432
432
  #
433
- def set_targets(key, list)
433
+ def set_targets(key, list = nil)
434
434
  if key == :all
435
435
  set_all_targets
436
436
  return
@@ -494,7 +494,7 @@ module Jamf
494
494
  #
495
495
  # @return [void]
496
496
  #
497
- def add_target(key, item)
497
+ def add_target(key, item = nil)
498
498
  if key == :all
499
499
  set_all_targets
500
500
  return
data/lib/jamf/version.rb CHANGED
@@ -27,6 +27,6 @@
27
27
  module Jamf
28
28
 
29
29
  ### The version of ruby-jss
30
- VERSION = '3.1.0b1'.freeze
30
+ VERSION = '3.1.0'.freeze
31
31
 
32
32
  end # module
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-jss
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0b1
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Lasell
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-06-02 00:00:00.000000000 Z
13
+ date: 2023-06-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: CFPropertyList
@@ -882,9 +882,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
882
882
  version: 2.6.3
883
883
  required_rubygems_version: !ruby/object:Gem::Requirement
884
884
  requirements:
885
- - - ">"
885
+ - - ">="
886
886
  - !ruby/object:Gem::Version
887
- version: 1.3.1
887
+ version: '0'
888
888
  requirements: []
889
889
  rubygems_version: 3.0.3.1
890
890
  signing_key: