- Added 'requesttimeout' and 'requestattempts' arguments
- Fixed link verification to ensure the linked resource is of the expected data type
- Fixed usage of collection limiting to apply limits for all aspects of validation
- Fixed URI cache handling for nested JSON objects that contain URI fragments
- Corrected handling of 'collectionlimit' when specified in a config file
- Hide password and token parameters from console output when running the tool from a config file
- Updated action testing to allow for '@Redfish.AllowablePattern' and '@Redfish.AllowableNumbers' annotations on action parameters
- Added test to ensure write-only properties are null in responses
- Reduced severity of missing schema for an action from error to warning to be consistent with other warnings
- Made corrections to skipping OEM checks when '--nooemcheck' is specified
- Added 'collectionlimit' argument to limit the number of entries checked in a collection
- Added missing break out of object schema mapping if discovered property is not an object
- Minor changes to fix Python 3.12 warnings with usage of raw strings
- Added warning and failure totals
- Added breakout condition when tracing a definition's type tree to prevent hangs due to invalid schemas with type loops
- Added exception handling when traversing links if the schema definition for the link is invalid
- Updated regex used to determine if a property is an array to not collide with the collection capabilities term
- Made change to allow for action names to be annotated
- Corrected array testing to show errors when array properties are not represented as arrays and vice versa
- Added check to ensure the '@odata.id' value is a string before trying to follow the link
- Corrected the usage of return values for script entry points
- Corrected object mapping logic to handle cases where a common base definition is used for multiple object definitions
- Corrected the regex pattern for duration properties to not allow for negative durations
- Added validation of action name in responses against the action definitions in schema
- Added handling of cases where a payload annotation's definition cannot be located in schema files
- Added deprecated version info to results
- Corrected URI checking for resources referenced by payload annotations
- Additional fixes to 'Id' property validation with the URI of the resource
- Made fixes to 'Id' property validation with the URI of the resource
- Added validation of the last segment of the URI to ensure it matches the Id property or MemberId property where appropriate
- Added checking for the presence of '@odata.id' at the root of resources and referenceable members
- Corrected return code from the script to show failures
- Removed certificate checks when downloading schema files referenced by the service
- Corrected link traversal logic when objects or arrays of objects are 'null'
- Removed conditional import statements
- Fixed import statement in schema pack module
- Modified project for PyPI publication
- Modified project for PyPI publication
- Modified project for PyPI publication
- Modified project for PyPI publication
- Added check to on URIs for validation for external reference to ensure it does not go through the Redfish library
- Added scrollbars to the 'Edit Config' window
- Added check to ensure an action is shown in the response as an object before trying to discover if it has action info
- Added shebang statements at the beginning of the tool in order to execute it directly
- Added support for verifying the data type of '@odata.count' annotations
- Minor enhancements to debug statements
- Added check to ensure array properties are returned as arrays before iterating over their values
- Added context-driven pattern checking for 'DurableName'
- Added proxy arguments for controlling proxy usage with external sites and the service
- Corrected parent reference to allow for '@odata.id' testing on referenceable members
- Extended argument usage to allow for argument forms used in other tools, such as 'rhost' instead of 'ip'
- Corrected order of operations for initializing the tool to collect additional schema files from $metadata before building the data model for payload validation
- Suppress warning messages for deprecated properties when the property is also marked as required
- Added support for Unix sockets
- Added '--mockup' option to override payloads from a service with a mockup in a directory
- Added support for ensuring properties that are JSON objects that are marked as 'required' are present in payloads
- Added check to ensure a reference object is an object prior to attempting to extract the link information
- Added 'Accept-Encoding' header to allow for any encoding in responses
- Corrected '@odata.id' inspection to not crash the tool if the string is empty
- Removed statements that prevented building models for objects contained within OEM extensions
- Some configuration fixes for handling '--nooemcheck'
- Several enhancements and fixes to CSV handling
- Corrected validation of null objects
- Added checks to ensure URIs match patterns defined in schema
- Added checks to ensure the 'Allow' HTTP header does not go beyond the capabilities definitions in schema
- Added validation of registries if discovered via the 'Uri' property in 'MessageRegistryFile' resources
- Corrected use of iterators to be compatible with versions of Python older than 3.8
- Corrected namespace referencing for objects nested in objects
- Updated schema pack link to point to the latest DSP8010 bundle
- Refactored code to make schema parsing and structure building for resource definitions to be modular
- Corrected usage of the 'oemcheck' flag to not skip over OEM object validation when enabled
- Various fixes from previous changes to refactor the arguments with the tool
- Significant changes to the CLI arguments with the tool to reduce complexity for users
- Added support for validating excerpts
- Modified calls to requests package to reuse HTTP sessions for better performance
- Fixed 'is' and 'is not' comparisions that are not allowed in Python3.8+
- Several fixes in handling of detection of a proper version of a JSON object within a resource
- Added exception in link validation for
Resource.Resource
to allow for any type of resource to be found
- Additional fixes to handling of version detection of resources
- Corrected handling of version detection of resources
- Added more descriptive text to
@odata.type
format errors - Downgraded
@odata.context
format errors to warnings
- Fixed handling of null objects in arrays of objects
- Additional fixes for handling schema version checking
- Clarified error message when a JSON pointer in an
@odata.id
property is invalid - Fixed some handling of properties than cannot be resolved in order to have better error messages
- Enhanced schema version checking to allow for double digits
- Added special handling with
OriginOfCondition
to allow for the Resource to not exist
- Downgraded messages related to not finding
@odata.type
within nested objects of a resource - Fixed parent validation for registry resources
- Added special handling with
EventDestination
to allow forHttpHeaders
to be null per description in the schema - Made change to make
@odata.context
optional in responses
- Updated schema bundle reference to 2019.1
- Improved error messages for GET failures
- Removed warnings for @odata.etag properties
- Removed deprecated StopIteration exception
- Added enhancement to verify
@odata.id
is present when following a navigation property
- Added missing @odata.context initialization for Message Registries
- Fix to counter for reference links ending in trailing slash
- Updated schema bundle reference to 2018.3
- Fixed handling of Edm.Duration
- Fixed handling of Redfish.Revision term
- Fixed check for empty strings to only report warnings if the property is writable
- Added JSON output to expandable tag in the HTML report
- Cleanup of the summary section of the HTML report
- Fixed regex usage when verifying URIs
- Added automatic file caching of schemca pulled from the DMTF website and the Service
- Added proper error message for navigating links to Entities with incorrect types
- Added logic to verify that an @odata.id property with a JSON fragment resolves properly
- Updated current schema pack zip to 2018.2
- Fixed missing default option for usessl
- Made fix to send traceback to debug logging only, not to HTML report
- Added option to enable/disable protocol version checking
- Various cleanup to error messages
- Added fixes to OEM checks
- Added support for URI checking as an option with the tool
- Added additional sanity checking for managing cases where a type cannot be found
- Added support for following
@odata.id
reference for auto expanded resources - Added handling for trying to resolve the proper schema file if it's not found
- Added support for following
@odata.nextLink
in collections - Added handling for resolving the proper ComplexType version based on the reported
@odata.type
value for the a resource - Added case insensitive checking on invalid properties for giving hints in error messages
- Added warnings for empty strings in payloads if the property is read only
- Added hints in error messages for unknown properties
- Added hint in the error message for enum values if the service returns the string "null" rather than the JSON value null
- Fixed several cases where exception tracebacks were being printed in the output
- Added missing start session
- Added exceptions for bad credentials
- Modified the report output to improve readability
- Refactor areas of code to enable automated unit testing
- Additional fixes to OEM object handling within Actions
- Fixed annotations being treated as unknown properties
- Fixed handling of dynamic properties patterns that was introduced as part of the OEM object validation
- Added support for verifying OEM objects in responses
- Added option to force authentication if using an unsecure connection
- Added error checking for @Redfish.Copyright in payloads
- Allow for text/xml in schema responses from external sites
- Added console output when running the test via the GUI
- Added Schema Pack option
- Downgraded several messages from Error to Warning
- Corrected problem when reading metadata from local cache
- Made changes to clean the standard output
- Enhanced $metadata validation to check if a referenced namespace exists in the referenced schema file
- Enhanced handling of properties found in payloads that are not defined in the schema file
- Added new configuration options to the GUI to make it easier to save/load other configuration files
- Enhanced authentication error handling for basic and session authentication
- Changed term "collection" in the report to say "array"
- Added method for running the tool via a GUI
- Fixed the Action object validation to allow for the "title" property
- Added support for allowing dynamic properties with @Redfish, @Message, and @odata terms
- Enhanced validation of Action objects; allow for annotations and Action Info resources, and require the target property
- Added $metadata validation report
- Fixed handling of the Location header when creating a Session to allow for both absolute and relative URIs
- Changed deprecated property reporting from error to warning
- Enhanced URI handling in MessageRegistryFile validation
- Improved display of array members in the HTML report
- Added text in the report to point to other payload reports when testing Referenceable Members
- Made fixes to proxy support
- Added better handling for when incorrect namespaces are referenced
- Improvements to error messages
- Fixed handling of resolving external ComplexType definitions
- Added argument to control debug output
- Fixed the display of null types in the report
- Fixed the display of data types found in registries
- Added validation of primitive types
- Various bug fixes; getting into standard release cadence
- Initial Public Release