# Versioning Log | Version | Date | Description | | ------- | --------- | --------------------------------------------------------------------------- | | v0.1.0 | 2019-7-25 | Initial release, GET and POST devices, dealer_addresses, user, self | | v0.1.6 | 2019-8-7 | Added Dealers and Branding, bug with non-patchable attributes, client grant | | v0.1.7 | 2019-8-8 | Adds RequestStore as a thread-safe storage system for tokens, auth keys, and debug info | | v0.1.8 | 2019-8-9 | Bugfix, switches api_root in Alula::Client to api_url | | v0.1.9 | 2019-8-16 |
  1. Scrubs sensitive keys from VCR cassettes. API tokens, Auth keys.
  2. Fixes the lack of omitRelationships being used, much faster now!
  3. Tweaks how pagination works so our API mirrors that of ActiveRecord API
  4. Adds mobile_branding field to Dealer resource
  5. Adds connected_panel field to Device resource
  6. Removes patchability for is_enabled on DealerBranding resource
  7. | | v0.1.10 | 2019-8-19 | Adds DeviceEventLog resource. Fixes bugs for nil dates, in and out of resources | | v0.1.11 | 2019-8-22 | Adds support for OAuth token exchanges. Adds exception for rate limit errors | | v0.1.12 | 2019-8-23 | Parses expiration dates better | | v0.2.0 | 2019-9-3 | Adds fluent query interface | | v0.2.1 | 2019-9-13 | Adds a query method for `or_like` queries. Adds CircleCI config | | v0.3.0 | 2019-9-24 | Adds log output from client, field omission based on u_type | | v0.4.0 | 2019-9-30 | Adds sorting of queries | | v0.4.1 | 2019-10-2 | Handles unknown/empty errors from the API | | v0.4.2 | 2019-10-3 | Excludes fields not annotated on the model with the `fields` property. This fixes an issue where a password hash would be used as the basis for a new user password when system users saved a user model. | | v0.4.3 | 2019-10-3 | Adds timezone field to Dealer resource | | v0.5.0 | 2019-10-10 | Inverts how readers & writers are set.
    1. Model metadata is now the be-all end-all of defining how an attribute becomes available.
    2. Readers & writers are set during object initialization. We no longer throw `NoMethodAvailable` errors when attempting to write to an attribute that exists, but your uTYpe doesn't allow writing to. Instead we will accept the write, but continue to exclude that attribute from being sent to the API
    3. This change fixes an issue where if the API sent down a model that was missing an attribute, we would run into `NoMethodErrors` when rendering the model. Since I don't want to safe-access check every single API model property, having concrete models is the way to go.
    ) | v0.5.1 | 2019-10-21 | Whitelists the EULA as patchable for uType 96 | | v0.6.0 | 2019-10-28 | Implements related model loading when fetching a single model, or loading a collection. Call `.includes(:some_model, :othermodel)` in the filter chain, and if present the related models will be available after loading. | | v0.7.0 | 2019-11-11 | Implements the start of RPC resources, beginning with Device Registration, Unregistration, Assignment, Unassignment, and Dealer Device Stats | | v0.8.0 | 2019-11-14 | Adds the ability to create resources. Starting with the Alula::User resource, you can do .new, assign props, then call .create to issue the create call. | | v0.8.1 | 2019-12-03 | Fixes a bug when creating a user with insufficent scopes. Errors wouldn't be reported properly. | | v0.9.0 | 2019-12-05 | Adds the ReceiverGroup REST model | | v0.10.0 | 2020-03-11 | Adds Docker compose for testing against a local instance of the API. Adds a model for accessing Stations | | v0.11.0 | 2020-03-12 | Adds support for dealer.hidden, and additional fields that have been added over time. Updates generator script to output symbols as field types | | v0.12.0 | 2020-03-16 | Updated to use userType instead of uType | | v0.12.1 | 2020-03-18 | Fixes bug where included relationships would only appear once per unique relationship | | v0.13.0 | 2020-03-19 | Adds Dealer and Device relationships to User model | | v0.13.1 | 2020-03-19 | Represent self.user_type with symbols instead of strings | | v0.13.2 | 2020-04-07 | Add back erroneously removed user.features_selected property | | v0.14.0 | 2020-04-08 | Adds users-phones resource | | v0.15.0 | 2020-04-13 | Adds resources for fetching the dealer suspension log, and acting on dealer.suspend and dealer.restore | | v0.15.1 | 2020-04-23 | Changes format of errors.full_messages to match Rails. Adds accessors for values needed to automagically render forms with simple_form. | | v0.15.2 | 2020-04-27 | Exposes RPC error codes. | | v0.15.3 | 2020-05-11 | Avoid sending empty values when creating new records | | v0.15.4 | 2020-05-13 | Added get relay status name to device event log | | v0.15.5 | 2020-05-19 | Update roles for patchable and creatable for the Station model. | | v0.16.0 | 2020-06-18 | Adds name_first and name_last fields to the Station model which are required to create a station. | | v0.17.0 | 2020-07-15 | Adds support for event webhooks, event triggers, device signal add, update, and delivered endpoints. | | v0.18.0 | 2020-08-04 | Adds a type: :boolean to field attributes for automatic type casting. | | v0.19.0 | 2020-08-13 | Adds support for Account Transfer resources. | | v0.20.0 | 2020-09-10 | Adds support for User Token resources. | | v0.21.0 | 2020-09-15 | Adds support for defining a default blank value on REST attributes. Allows coercing of '' into nil on assignment, etc. | | v0.22.0 | 2020-09-15 | Updates filterability of IMEI and Caller ID Phone Number on the device model | | v0.23.0 | 2020-09-17 | Includes cellular status/history and user preference endpoints | | v0.23.1 | 2020-10-20 | Fixes a bug where the Deny and Reject transfer RPC endpoints were not passing their `description` param as `reason`, resulting in missing data. | | v0.23.2 | 2020-12-11 | Adds support for converting helix CRC values to hex | | v0.23.3 | 2020-12-15 | Adds additional program IDs to hex CRC conversion evaluator | | v0.24.0 | 2020-12-16 | Adds the ability to set a User Agent | | v0.25.0 | 2020-12-29 | Adds models for FeaturePlan, BillingProgram, and DealerProgram resources | | v0.26.0 | 2021-02-24 | Adds a model for ReceiverConnection | | v0.27.0 | 2021-03-10 | Adds a model for Revision | | v0.28.0 | 2021-03-11 | Adds a model for DevicePrograms | | v0.28.1 | 2021-03-11 | Safely handle relationships for which no matching data is provided | | v0.28.2 | 2021-03-11 | Adds the ability for system users to set the date_created when creating Device Programs | | v0.29.0 | 2021-03-11 | Adds show_prices to the dealer resource. | | v0.30.0 | 2021-05-12 | Changes PATCH requests to only send changed attributes | | v0.31.0 | 2021-05-13 | Updates blank value coersion (translate `''` to `nil`) to apply universally, instead of being a per-field setting | | v0.32.0 | 2021-05-19 | Adds a RPC for getting a device rate plan and fixes several relationships | | v0.33.0 | 2021-05-27 | Adds a RPC for getting a user video plan, the user addresses REST resource, and some methods for getting the user role/role name on a user | | v0.34.0 | 2021-06-23 | Adds model for Device Charge | | v0.35.0 | 2021-06-23 | Adds methods that transform program_id and auto_cfg into usable strings on the Device model | | v0.36.0 | 2021-07-21 | Adds ICCID as a filterable field for devices. | | v0.37.0 | 2021-09-22 | Updates DealerBranding with new resource fields. | | v0.37.1 | 2021-09-30 | Fixes issuing POST requests for resources that share a Primary ID with a parent record (DealerBranding & Dealer for example)| | v0.38.0 | 2021-10-01 | Models & provides Rate Limiting information on fetched resources and fetched collections | | v0.39.0 | 2021-12-02 | Added a proc to upload the touchpad branding package | | v0.40.0 | 2021-12-06 | Added device trouble filters to device resource | | v0.41.0 | 2022-01-07 | Added device feature filters to device resource | | v0.42.0 | 2022-01-12 | Updates RPC classes to throw exceptions when encountering server-side critical errors | | v0.43.0 | 2022-01-13 | Added video profiles to user resource | | v0.44.0 | 2022-01-14 | Adds Feature Plan & related models | | v0.44.1 | 2022-01-21 | Fixes a bug where sometimes `.list_all` would not be available in a query chain | | v0.44.2 | 2022-02-02 | Fixes a bug where invalid dates like `0000-00-00` would cause the library to choke on data load. Now the invalid string passes thru to the consumer | | v0.45.0 | 2022-02-03 | Adds support for the AdminUser resource | | v0.46.0 | 2022-02-22 | Support for creating sub station users | | v0.47.0 | 2022-02-18 | Adds support for the hidden station resource | | v0.48.0 | 2022-02-18 | Adds support for issuing DELETE requests, adds them to VideoPlans and FeaturePlans | | v0.49.0 | 2022-03-07 | Adds key for Alarm Verification. Keeps old key - will need to be removed | | v0.50.0 | 2022-03-14 | Makes list_all a lazy loader | | v0.50.1 | 2022-03-21 | Publishes gem to Github and Rubygems | | v0.51.0 | 2022-03-29 | Be able to delete Device Programs | | v0.52.0 | 2022-06-15 | Filter receiver connections based on station id | | v0.53.0 | 2022-06-15 | Filter feature plans on name | | v0.54.0 | 2022-06-21 | Add support for devices from the video API | | v0.55.0 | 2022-06-25 | Add some devices helpers and improves specs | | v0.56.0 | 2022-07-08 | Add save! that raises an exception | | v0.57.0 | 2022-07-19 | Add Alula Messenger to device object | | v0.58.0 | 2022-07-21 | Add clone method, that creates a copy of a resource | | v0.59.0 | 2022-08-10 | Add clone RPC method for Feature Plans | | v0.60.0 | 2022-08-16 | Add Device Credits resource | | v0.61.0 | 2022-08-19 | User hidden resource | | v0.62.0 | 2022-08-19 | Remove Admin User resource map | | v0.63.0 | 2022-08-25 | Gateway Error |