CHANGES.md in ruby-jss-1.1.0b3 vs CHANGES.md in ruby-jss-1.1.0b5

- old
+ new

@@ -11,25 +11,36 @@ - More caching of API data to improve general speed - The hashes created by `APIObject.map_all_ids_to(blah)` - ExtensionAttribute definitions when used by extendable classes - Implemented Ruby2.4's `String#casecmp?` in older Rubies - APIObject.fetch can take the search term `:random` and you'll get a randomly selected object. Example: `a_random_computer = JSS::Computer.fetch :random` -- Keys of the hash returned by `Computer#hardware` are now available as instance methods on Computer objects. So instead of `a_computer.hardware[:total_ram]` you can also do `a_computer.total_ram` +- Keys of the hash returned by `Computer#hardware` are now available as instance methods on Computer objects. So as well as `a_computer.hardware[:total_ram]` you can also do `a_computer.total_ram` +- Policy now recognizes the frequency Symbol `:once_per_user_per_computer` +- Attribute reader :management_status added to Computer class +- Implemented some useful String methods from newer versions of Ruby into older Rubies: casecmp?, delete_prefix, & delete_suffix ### Fixed - Can't Modify Frozen Hash error when instantiating JSS::Scopbable::Scope. Thanks to @shahn for reporting this one. - MobileDeviceExtensionAttribute now handles empty `as_of` timestamp. Thanks @aurica! -- A couple of typos. Thanks to @cybertunnel for finding one. +- A few typos. Thanks to @cybertunnel for finding some. - A bug when parsing the `server_path` parameter to `API::Connection.new` +- Bugs in handling blank values in Policy#search_by_path and Policy#printer_ids. Thanks @cybertunnel +- Computer.management_data with a specified subset returned one level too high in the data structure +- NetworkSegment.my_network_segment: error in number of params passed to other methods +- Script#name= now works again, no longer uses a constant from an ancient version. Thanks @shahn +- Computer#asset_tag= now accepts nil to erase the value +- APIConnection.my_distribution_point & DistributionPoint.my_distribution_point now return the master_distribution_point object if there isn't one assigned to the current network segment. ### Changed - Monkey Patches are being moved to a better, more traceable technique, see https://www.justinweiss.com/articles/3-ways-to-monkey-patch-without-making-a-mess/ - MobileDevices and Computers now raise JSS::AmbiguousError when being fetched by explicitly by name, e.g. `JSS::Computer.fetch name: 'foo'` and that name is not unique in the JSS. Previously, you'd get an object back, but no guarantee as to which one it was. You'll still get an undefined object if you use a bare searchterm, e.g. `JSS::Computer.fetch 'foo'` - Documentation for subclassing APIObject is updated & expanded. See the comments above the class definition in api_object.rb - `APIObject.valid_id` is now case-insensitive - Removed deprecated VALID_DATA_KEYS constants from APIObject subclasses - Various changes in APIObject and its subclasses to try making `.fetch` and other lookup-methods faster. +- All of the NetworkSegment-related methods in APIConnection have been moved back to NetworkSegment. The methods in APIConnection still work, but are marked deprecated and will go away eventually. + ## \[1.0.4] - 2019-05-06 ### Added - JSS::Group (and its subclasses) now have a `change_membership` class and instance method for static groups. - The class method allows adding and removing members without fetching an instance of the group.