Skip to content

Releases: cairn-proofs/oscal-bindings-python

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:17
Immutable release. Only release title and notes can be modified.
5efcdf2

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 00:32
fee84f2

PRs

  • Run the OSCAL bindings conformance corpus in hatch test by @dfkunstler in #20
  • Generate the models from names.json of the spec artifact by @dfkunstler in #22

Breaking name changes in oscal_bindings.v1.models, 0.2.1 to 0.3.0

The names now come from the naming manifest of the OSCAL bindings specs. See "Upgrading to 0.3.0" in the README for
what to change in your code.

  1. Renamed: 95.
  2. Same name, different type: 5.
  3. Removed, no unique counterpart: 2.
  4. Added, no old counterpart: 35.
  5. Unchanged: 122.
  6. Element types removed: 73; added: 74.

Renamed

Old name New name Kind
Add ModifyAlterAdd model
Algorithm HashAlgorithm enum
Alter ModifyAlter model
AssessmentCommonOrigin Origin model
AssessmentLog ResultAssessmentLog model
AssessmentSubject1 AssessmentSubjectWithIncludeAll model
AssessmentSubject2 AssessmentSubjectWithIncludeSubjects model
AssociatedActivity TaskAssociatedActivity model
AtFrequency TaskTimingAtFrequency model
Attestation ResultAttestation model
Base64 BackMatterResourceBase64 model
Categorization InformationTypeCategorization model
Citation BackMatterResourceCitation model
ConfidenceScore1 ConfidenceScoreWithCategory model
ConfidenceScore2 ConfidenceScoreWithPercentage model
ControlObjectiveSelections ControlObjectiveSelectionWithIncludeAll model
ControlObjectiveSelections1 ControlObjectiveSelectionWithIncludeObjectives model
ControlSelections ControlSelectionWithIncludeAll model
ControlSelections1 ControlSelectionWithIncludeControls model
Custom MergeCustom model
Dependency TaskDependency model
Entry RiskLogEntry model
Entry1 ResultAssessmentLogEntry model
Export ByComponentExport model
Facet CharacterizationFacet model
GenerationMethod CoverageGenerationMethod enum
IdentifiedSubject RelatedTaskIdentifiedSubject model
IdentifierType SystemIdIdentifierType enum
ImplementedComponent InventoryItemImplementedComponent model
Import1 ImportWithIncludeAll model
Import2 ImportWithIncludeControls model
InheritedItem ByComponentInherited model
InsertControls1 InsertControlsWithIncludeAll model
InsertControls2 InsertControlsWithIncludeControls model
LeveragedAuthorization SystemImplementationLeveragedAuthorization model
Lifecycle ResponseLifecycle enum
LocalDefinitions1 AssessmentResultsLocalDefinitions model
LocalDefinitions2 ResultLocalDefinitions model
Location MetadataLocation model
Mappings MappingCollectionMappings root-model
MergeAsIs MergeWithAsIs model
Methods ObservationMethod enum
MitigatingFactor RiskMitigatingFactor model
Name AssessmentPartName enum
OnDate TaskTimingOnDate model
Parameter1 ParameterWithValues model
Parameter2 ParameterWithSelect model
Parties MetadataPartyWithAddresses model
Parties1 MetadataPartyWithLocationUuids model
PoamLocalDefinitions LocalDefinitions model
ProfileGroup1 ProfileGroupWithGroups model
ProfileGroup2 ProfileGroupWithInsertControls model
ProvidedItem ByComponentExportProvided model
Reason FindingTargetStatusReason enum
Rel LinkRel enum
RelatedFinding PoamItemRelatedFinding model
RelatedResponse RiskLogEntryRelatedResponse model
RelevantEvidenceItem ObservationRelevantEvidence model
Remove ModifyAlterRemove model
RequiredAsset ResponseRequiredAsset model
Resource BackMatterResource model
Responsibility ByComponentExportResponsibility model
Revision MetadataRevision model
RiskStatus1 RiskStatus enum
Rlink BackMatterResourceRlink model
Role MetadataRole model
SatisfiedItem ByComponentSatisfied model
Scheme MetadataPartyExternalIdScheme enum
Scheme2 DocumentIdScheme enum
SetParameters ModifySetParameterWithValues model
SetParameters1 ModifySetParameterWithSelect model
Source AssessmentSubjectPlaceholderSource model
SspStatus Status model
State ImplementationStatusState enum
Status1 FindingTargetStatus model
Step ActivityStep model
System InformationTypeCategorizationSystem enum
System1 ThreatIdSystem enum
System2 CharacterizationFacetSystem enum
TermsAndConditions AssessmentPlanTermsAndConditions model
Test ParameterConstraintTest model
Timing TaskTimingWithOnDate model
Timing1 TaskTimingWithDateRange model
Timing2 TaskTimingWithAtFrequency model
Type TelephoneNumberType enum
Type1 AddressType enum
Type2 MappingResourceReferenceType enum
Type3 DefinedComponentType enum
Type4 SystemComponentType enum
Type5 TaskType enum
Type6 AssessmentSubjectType enum
Type8 SubjectType enum
Types ObservationType enum
UsesComponent AssessmentPlatformUsesComponent model
WithinDateRange TaskTimingDateRange model

Same name, different type

  1. LocalDefinitions
    1. Old: model "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP."; fields: activities, components, inventory_items, objectives_and_methods, remarks, users.
    2. New: model "Allows components, and inventory-items to be defined within the POA&M for circumstances where no OSCAL-based SSP exists, or is not delivered with the POA&M."; fields: assessment_assets, components, inventory_items, remarks.
    3. New name of the old type: AssessmentPlanLocalDefinitions.
  2. MergeCustom
    1. Old: model "Provides structuring directives that instruct how controls are organized after profile resolution."; fields: combine, custom.
    2. New: model "Provides an alternate grouping structure that selected controls will be placed in."; fields: groups, insert_controls.
    3. New name of the old type: MergeWithCustom.
  3. MergeFlat
    1. Old: model "Provides structuring directives that instruct how controls are organized after profile resolution."; fields: combine, flat.
    2. New: model "Directs that controls appear without any grouping structure."; fields: none.
    3. New name of the old type: MergeWithFlat.
  4. Origin
    1. Old: model "Identifies the source of the finding, such as a tool or person."; fields: actors.
    2. New: model "Identifies the source of the finding, such as a tool, interviewed person, or activity."; fields: actors, related_tasks.
    3. New name of the old type: PoamItemOrigin.
  5. Status
    1. Old: model "Describes the operational status of the system component."; fields: remarks, state.
    2. New: model "Describes the operational status of the system."; fields: remarks, state.
    3. New name of the old type: SystemComponentStatus.

Removed

  1. ExternalId (model): ambiguous: candidates MetadataPartyExternalId; same structure as old ExternalId1.
  2. ExternalId1 (model): ambiguous: candidates MetadataPartyExternalId; same structure as old ExternalId.

Added

  1. AssessmentSubject (alias).
  2. CatalogGroup (alias).
  3. ConfidenceScore (alias).
  4. ControlCommonSelectControlByIdChildControls (enum).
  5. ControlObjectiveSelection (alias).
  6. ControlSelection (alias).
  7. FindingTargetStatusState (enum).
  8. FindingTargetType (enum).
  9. Import (alias).
  10. InsertControls (alias).
  11. InsertControlsOrder (enum).
  12. MappingItemType (enum).
  13. MappingMatchingRationale (enum).
  14. MappingMethod (enum).
  15. MappingStatus (enum).
  16. Merge (alias).
  17. MergeCombine (model).
  18. MetadataParty (alias).
  19. MetadataPartyExternalId (model).
  20. MetadataPartyType (enum).
  21. ModifyAlterAddPosition (enum).
  22. ModifyAlterRemoveByItemName (enum).
  23. ModifySetParameter (alias).
  24. OriginActorType (enum).
  25. Parameter (alias).
  26. ParameterSelectionHowMany (enum).
  27. PortRangeTransport (enum).
  28. ProfileGroup (alias).
  29. QualifierItemCategory (enum).
  30. QualifierItemPredicate (enum).
  31. QualifierItemSubject (enum).
  32. StatusState (enum).
  33. SystemComponentStatusState (enum).
  34. TaskTiming (alias).
  35. TaskTimingAtFrequencyUnit (enum).

Element types

Old: 187. New: 188. Strings of get_supported_element_types().

Removed element types

  1. add
  2. alter
  3. assessment-common-origin
  4. assessment-log
  5. assessment-subject1
  6. assessment-subject2
  7. associated-activity
  8. at-frequency
  9. attestation
  10. base64
  11. categorization
  12. citation
  13. confidence-score1
  14. confidence-score2
  15. control-objective-selections
  16. control-objective-selections1
  17. control-selections
  18. control-selections1
  19. custom
  20. dependency
  21. entry
  22. entry1
  23. export
  24. external-id
  25. external-id1
  26. facet
  27. identified-subject
  28. implemented-component
  29. import1
  30. import2
  31. inherited-item
  32. insert-controls1
  33. insert-controls2
  34. leveraged-authorization
    ...
Read more

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 11 Oct 15:03

What's Changed

  • Test on Python 3.11–3.14; default to 3.14; mark Beta by @dfkunstler in #12
  • docs: README warning for silently dropped JSON keys (#6) by @dfkunstler in #13

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 20:31
9d4e7a5

What's Changed

  • Serialize to valid OSCAL JSON by default by @dfkunstler in #9
  • ci: build release drafts only from tags on main by @dfkunstler in #2
  • test: add Hypothesis property-based test suite by @dfkunstler in #3
  • ci: add security scans and CodeQL; bump datamodel-code-generator by @dfkunstler in #4

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 21:58
342f371

What's Changed

  • ci: install a single locked Hatch toolchain via mise by @dfkunstler in #1

New Contributors

Full Changelog: https://github.com/cairn-proofs/oscal-bindings-python/commits/v0.1.0