ory-client 1.22.87 → 1.22.88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1037) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/README.md +5 -5
  4. data/docs/CreateEventStreamBody.md +2 -0
  5. data/docs/CreateProjectNormalizedPayload.md +18 -0
  6. data/docs/EventStream.md +2 -0
  7. data/docs/LoginFlowTestDebugPayload.md +2 -0
  8. data/docs/NormalizedProjectRevision.md +18 -0
  9. data/docs/OnboardingPortalOrganization.md +2 -0
  10. data/docs/QuotaUsage.md +1 -1
  11. data/docs/SetEventStreamBody.md +2 -0
  12. data/docs/UpdateLoginFlowWithLookupSecretMethod.md +3 -1
  13. data/docs/UpdateLoginFlowWithPasskeyMethod.md +3 -1
  14. data/lib/ory-client/api/api_keys_api.rb +1 -1
  15. data/lib/ory-client/api/courier_api.rb +1 -1
  16. data/lib/ory-client/api/elements_api.rb +1 -1
  17. data/lib/ory-client/api/events_api.rb +1 -1
  18. data/lib/ory-client/api/frontend_api.rb +1 -1
  19. data/lib/ory-client/api/identity_api.rb +1 -1
  20. data/lib/ory-client/api/jwk_api.rb +1 -1
  21. data/lib/ory-client/api/metadata_api.rb +1 -1
  22. data/lib/ory-client/api/o_auth2_api.rb +1 -1
  23. data/lib/ory-client/api/oidc_api.rb +1 -1
  24. data/lib/ory-client/api/permission_api.rb +1 -1
  25. data/lib/ory-client/api/project_api.rb +1 -1
  26. data/lib/ory-client/api/relationship_api.rb +1 -1
  27. data/lib/ory-client/api/wellknown_api.rb +1 -1
  28. data/lib/ory-client/api/workspace_api.rb +1 -1
  29. data/lib/ory-client/api_client.rb +2 -2
  30. data/lib/ory-client/api_error.rb +1 -1
  31. data/lib/ory-client/api_model_base.rb +1 -1
  32. data/lib/ory-client/configuration.rb +1 -1
  33. data/lib/ory-client/models/accept_device_user_code_request.rb +1 -1
  34. data/lib/ory-client/models/accept_o_auth2_consent_request.rb +1 -1
  35. data/lib/ory-client/models/accept_o_auth2_consent_request_session.rb +1 -1
  36. data/lib/ory-client/models/accept_o_auth2_login_request.rb +1 -1
  37. data/lib/ory-client/models/account_experience_colors.rb +1 -1
  38. data/lib/ory-client/models/account_experience_configuration.rb +1 -1
  39. data/lib/ory-client/models/add_project_to_workspace_body.rb +1 -1
  40. data/lib/ory-client/models/add_workspace_organization_domain_body.rb +1 -1
  41. data/lib/ory-client/models/admin_identity_import_credentials_lookup_secret.rb +1 -1
  42. data/lib/ory-client/models/admin_identity_import_credentials_lookup_secret_config.rb +1 -1
  43. data/lib/ory-client/models/admin_revoke_imported_api_key_body.rb +1 -1
  44. data/lib/ory-client/models/admin_revoke_issued_api_key_body.rb +1 -1
  45. data/lib/ory-client/models/admin_rotate_issued_api_key_body.rb +1 -1
  46. data/lib/ory-client/models/admin_update_imported_api_key_request.rb +1 -1
  47. data/lib/ory-client/models/admin_update_issued_api_key_request.rb +1 -1
  48. data/lib/ory-client/models/ai_assistant_session_token.rb +1 -1
  49. data/lib/ory-client/models/any.rb +1 -1
  50. data/lib/ory-client/models/attribute.rb +1 -1
  51. data/lib/ory-client/models/attribute_filter.rb +1 -1
  52. data/lib/ory-client/models/attributes_count_datapoint.rb +1 -1
  53. data/lib/ory-client/models/authenticator_assurance_level.rb +1 -1
  54. data/lib/ory-client/models/basic_organization.rb +1 -1
  55. data/lib/ory-client/models/batch_check_permission_body.rb +1 -1
  56. data/lib/ory-client/models/batch_check_permission_result.rb +1 -1
  57. data/lib/ory-client/models/batch_create_imported_api_keys_error_code.rb +1 -1
  58. data/lib/ory-client/models/batch_create_imported_api_keys_request.rb +1 -1
  59. data/lib/ory-client/models/batch_create_imported_api_keys_response.rb +1 -1
  60. data/lib/ory-client/models/batch_create_imported_api_keys_result.rb +1 -1
  61. data/lib/ory-client/models/batch_patch_identities_response.rb +1 -1
  62. data/lib/ory-client/models/batch_verify_api_keys_request.rb +1 -1
  63. data/lib/ory-client/models/batch_verify_api_keys_response.rb +1 -1
  64. data/lib/ory-client/models/billing_period_bucket.rb +1 -1
  65. data/lib/ory-client/models/check_opl_syntax_result.rb +1 -1
  66. data/lib/ory-client/models/check_permission_result.rb +1 -1
  67. data/lib/ory-client/models/check_permission_result_with_error.rb +1 -1
  68. data/lib/ory-client/models/cloud_account.rb +1 -1
  69. data/lib/ory-client/models/continue_with.rb +1 -1
  70. data/lib/ory-client/models/continue_with_device_authn_pin_entry_ui.rb +1 -1
  71. data/lib/ory-client/models/continue_with_device_authn_pin_entry_ui_data.rb +1 -1
  72. data/lib/ory-client/models/continue_with_recovery_ui.rb +1 -1
  73. data/lib/ory-client/models/continue_with_recovery_ui_flow.rb +1 -1
  74. data/lib/ory-client/models/continue_with_redirect_browser_to.rb +1 -1
  75. data/lib/ory-client/models/continue_with_set_ory_session_token.rb +1 -1
  76. data/lib/ory-client/models/continue_with_settings_ui.rb +1 -1
  77. data/lib/ory-client/models/continue_with_settings_ui_flow.rb +1 -1
  78. data/lib/ory-client/models/continue_with_verification_ui.rb +1 -1
  79. data/lib/ory-client/models/continue_with_verification_ui_flow.rb +1 -1
  80. data/lib/ory-client/models/courier_message_status.rb +1 -1
  81. data/lib/ory-client/models/courier_message_type.rb +1 -1
  82. data/lib/ory-client/models/create_custom_domain_body.rb +1 -1
  83. data/lib/ory-client/models/create_event_stream_body.rb +14 -2
  84. data/lib/ory-client/models/create_fedcm_flow_response.rb +1 -1
  85. data/lib/ory-client/models/create_identity_body.rb +1 -1
  86. data/lib/ory-client/models/create_invite_response.rb +1 -1
  87. data/lib/ory-client/models/create_json_web_key_set.rb +1 -1
  88. data/lib/ory-client/models/create_onboarding_link_response.rb +1 -1
  89. data/lib/ory-client/models/create_organization_onboarding_portal_link_body.rb +1 -1
  90. data/lib/ory-client/models/create_project_api_key_body.rb +1 -1
  91. data/lib/ory-client/models/create_project_body.rb +1 -1
  92. data/lib/ory-client/models/create_project_branding.rb +1 -1
  93. data/lib/ory-client/models/create_project_member_invite_body.rb +1 -1
  94. data/lib/ory-client/models/create_project_normalized_payload.rb +92 -2
  95. data/lib/ory-client/models/create_recovery_code_for_identity_body.rb +1 -1
  96. data/lib/ory-client/models/create_recovery_link_for_identity_body.rb +1 -1
  97. data/lib/ory-client/models/create_relationship_body.rb +1 -1
  98. data/lib/ory-client/models/create_subscription_body.rb +1 -1
  99. data/lib/ory-client/models/create_subscription_common.rb +1 -1
  100. data/lib/ory-client/models/create_test_login_flow_body.rb +1 -1
  101. data/lib/ory-client/models/create_test_login_flow_from_onboarding_portal_link_body.rb +1 -1
  102. data/lib/ory-client/models/create_verifiable_credential_request_body.rb +1 -1
  103. data/lib/ory-client/models/create_workspace_api_key_body.rb +1 -1
  104. data/lib/ory-client/models/create_workspace_body.rb +1 -1
  105. data/lib/ory-client/models/create_workspace_contact_body.rb +1 -1
  106. data/lib/ory-client/models/create_workspace_member_invite_body.rb +1 -1
  107. data/lib/ory-client/models/create_workspace_organization_body.rb +1 -1
  108. data/lib/ory-client/models/create_workspace_subscription_body.rb +1 -1
  109. data/lib/ory-client/models/credential_supported_draft00.rb +1 -1
  110. data/lib/ory-client/models/custom_domain.rb +1 -1
  111. data/lib/ory-client/models/customer_portal_availability.rb +1 -1
  112. data/lib/ory-client/models/delete_my_sessions_count.rb +1 -1
  113. data/lib/ory-client/models/derive_token_request.rb +1 -1
  114. data/lib/ory-client/models/derive_token_response.rb +1 -1
  115. data/lib/ory-client/models/device_authn_android_authorization_list.rb +1 -1
  116. data/lib/ory-client/models/device_authn_android_key_description.rb +1 -1
  117. data/lib/ory-client/models/device_authn_android_root_of_trust.rb +1 -1
  118. data/lib/ory-client/models/device_authn_attestation.rb +1 -1
  119. data/lib/ory-client/models/device_authn_ios_att_stmt.rb +1 -1
  120. data/lib/ory-client/models/device_authn_ios_attestation.rb +1 -1
  121. data/lib/ory-client/models/device_authn_key.rb +1 -1
  122. data/lib/ory-client/models/device_authorization.rb +1 -1
  123. data/lib/ory-client/models/device_type.rb +1 -1
  124. data/lib/ory-client/models/device_user_auth_request.rb +1 -1
  125. data/lib/ory-client/models/domain_verification_status.rb +1 -1
  126. data/lib/ory-client/models/elements_configuration.rb +1 -1
  127. data/lib/ory-client/models/email_template_data.rb +1 -1
  128. data/lib/ory-client/models/email_template_data_body.rb +1 -1
  129. data/lib/ory-client/models/error_authenticator_assurance_level_not_satisfied.rb +1 -1
  130. data/lib/ory-client/models/error_browser_location_change_required.rb +1 -1
  131. data/lib/ory-client/models/error_flow_replaced.rb +1 -1
  132. data/lib/ory-client/models/error_generic.rb +1 -1
  133. data/lib/ory-client/models/error_o_auth2.rb +1 -1
  134. data/lib/ory-client/models/event_stream.rb +14 -2
  135. data/lib/ory-client/models/expanded_permission_tree.rb +1 -1
  136. data/lib/ory-client/models/feature_flags_catalog_entry.rb +1 -1
  137. data/lib/ory-client/models/flow_error.rb +1 -1
  138. data/lib/ory-client/models/generic_error.rb +1 -1
  139. data/lib/ory-client/models/generic_error_content.rb +1 -1
  140. data/lib/ory-client/models/generic_oidc_provider.rb +1 -1
  141. data/lib/ory-client/models/generic_usage.rb +1 -1
  142. data/lib/ory-client/models/get_attributes_count.rb +1 -1
  143. data/lib/ory-client/models/get_jwks_response.rb +1 -1
  144. data/lib/ory-client/models/get_jwks_response_jwks.rb +1 -1
  145. data/lib/ory-client/models/get_jwks_response_jwks_keys_inner.rb +1 -1
  146. data/lib/ory-client/models/get_managed_identity_schema_location.rb +1 -1
  147. data/lib/ory-client/models/get_metrics_count.rb +1 -1
  148. data/lib/ory-client/models/get_metrics_event_attributes.rb +1 -1
  149. data/lib/ory-client/models/get_metrics_event_types.rb +1 -1
  150. data/lib/ory-client/models/get_organization_response.rb +1 -1
  151. data/lib/ory-client/models/get_organizations_by_hostname_response.rb +1 -1
  152. data/lib/ory-client/models/get_project_events.rb +1 -1
  153. data/lib/ory-client/models/get_project_events_body.rb +1 -1
  154. data/lib/ory-client/models/get_project_metrics.rb +1 -1
  155. data/lib/ory-client/models/get_session_activity.rb +1 -1
  156. data/lib/ory-client/models/get_version200_response.rb +1 -1
  157. data/lib/ory-client/models/health_not_ready_status.rb +1 -1
  158. data/lib/ory-client/models/health_status.rb +1 -1
  159. data/lib/ory-client/models/identity.rb +1 -1
  160. data/lib/ory-client/models/identity_credentials.rb +1 -1
  161. data/lib/ory-client/models/identity_credentials_code.rb +1 -1
  162. data/lib/ory-client/models/identity_credentials_code_address.rb +1 -1
  163. data/lib/ory-client/models/identity_credentials_lookup_secret_code.rb +1 -1
  164. data/lib/ory-client/models/identity_credentials_oidc.rb +1 -1
  165. data/lib/ory-client/models/identity_credentials_oidc_provider.rb +1 -1
  166. data/lib/ory-client/models/identity_credentials_password.rb +1 -1
  167. data/lib/ory-client/models/identity_credentials_web_authn.rb +1 -1
  168. data/lib/ory-client/models/identity_credentials_web_authn_attestation.rb +1 -1
  169. data/lib/ory-client/models/identity_credentials_web_authn_authenticator.rb +1 -1
  170. data/lib/ory-client/models/identity_credentials_web_authn_flags.rb +1 -1
  171. data/lib/ory-client/models/identity_patch.rb +1 -1
  172. data/lib/ory-client/models/identity_patch_response.rb +1 -1
  173. data/lib/ory-client/models/identity_schema_container.rb +1 -1
  174. data/lib/ory-client/models/identity_schema_preset.rb +1 -1
  175. data/lib/ory-client/models/identity_with_credentials.rb +1 -1
  176. data/lib/ory-client/models/identity_with_credentials_oidc.rb +1 -1
  177. data/lib/ory-client/models/identity_with_credentials_oidc_config.rb +1 -1
  178. data/lib/ory-client/models/identity_with_credentials_oidc_config_provider.rb +1 -1
  179. data/lib/ory-client/models/identity_with_credentials_passkey.rb +1 -1
  180. data/lib/ory-client/models/identity_with_credentials_passkey_config.rb +1 -1
  181. data/lib/ory-client/models/identity_with_credentials_password.rb +1 -1
  182. data/lib/ory-client/models/identity_with_credentials_password_config.rb +1 -1
  183. data/lib/ory-client/models/identity_with_credentials_saml.rb +1 -1
  184. data/lib/ory-client/models/identity_with_credentials_saml_config.rb +1 -1
  185. data/lib/ory-client/models/identity_with_credentials_saml_config_provider.rb +1 -1
  186. data/lib/ory-client/models/identity_with_credentials_totp.rb +1 -1
  187. data/lib/ory-client/models/identity_with_credentials_totp_config.rb +1 -1
  188. data/lib/ory-client/models/identity_with_credentials_web_authn.rb +1 -1
  189. data/lib/ory-client/models/identity_with_credentials_web_authn_config.rb +1 -1
  190. data/lib/ory-client/models/import_api_key_request.rb +1 -1
  191. data/lib/ory-client/models/imported_api_key.rb +1 -1
  192. data/lib/ory-client/models/internal_get_project_branding_body.rb +1 -1
  193. data/lib/ory-client/models/internal_is_ax_welcome_screen_enabled_for_project_body.rb +1 -1
  194. data/lib/ory-client/models/internal_is_owner_for_project_by_slug.rb +1 -1
  195. data/lib/ory-client/models/internal_is_owner_for_project_by_slug_body.rb +1 -1
  196. data/lib/ory-client/models/introspected_o_auth2_token.rb +1 -1
  197. data/lib/ory-client/models/invite_token_body.rb +1 -1
  198. data/lib/ory-client/models/invoice.rb +1 -1
  199. data/lib/ory-client/models/invoice_data_v1.rb +1 -1
  200. data/lib/ory-client/models/ip_restriction.rb +1 -1
  201. data/lib/ory-client/models/is_owner_for_project_by_slug.rb +1 -1
  202. data/lib/ory-client/models/issue_api_key_request.rb +1 -1
  203. data/lib/ory-client/models/issue_api_key_response.rb +1 -1
  204. data/lib/ory-client/models/issued_api_key.rb +1 -1
  205. data/lib/ory-client/models/json_patch.rb +1 -1
  206. data/lib/ory-client/models/json_web_key.rb +1 -1
  207. data/lib/ory-client/models/json_web_key_set.rb +1 -1
  208. data/lib/ory-client/models/keto_namespace.rb +1 -1
  209. data/lib/ory-client/models/key_state.rb +1 -1
  210. data/lib/ory-client/models/key_status.rb +1 -1
  211. data/lib/ory-client/models/key_visibility.rb +1 -1
  212. data/lib/ory-client/models/keyset_pagination_request_parameters.rb +1 -1
  213. data/lib/ory-client/models/keyset_pagination_response_headers.rb +1 -1
  214. data/lib/ory-client/models/line_item_v1.rb +1 -1
  215. data/lib/ory-client/models/list_event_streams.rb +1 -1
  216. data/lib/ory-client/models/list_imported_api_keys_response.rb +1 -1
  217. data/lib/ory-client/models/list_invoices_response.rb +1 -1
  218. data/lib/ory-client/models/list_issued_api_keys_response.rb +1 -1
  219. data/lib/ory-client/models/list_organizations_response.rb +1 -1
  220. data/lib/ory-client/models/list_workspace_contacts.rb +1 -1
  221. data/lib/ory-client/models/list_workspace_projects.rb +1 -1
  222. data/lib/ory-client/models/list_workspaces.rb +1 -1
  223. data/lib/ory-client/models/login_flow.rb +1 -1
  224. data/lib/ory-client/models/login_flow_state.rb +1 -1
  225. data/lib/ory-client/models/login_flow_test_context.rb +1 -1
  226. data/lib/ory-client/models/login_flow_test_debug_payload.rb +14 -2
  227. data/lib/ory-client/models/login_flow_test_schema_validation_error.rb +1 -1
  228. data/lib/ory-client/models/login_flow_test_step_error.rb +1 -1
  229. data/lib/ory-client/models/logout_flow.rb +1 -1
  230. data/lib/ory-client/models/manage_sessions_body.rb +1 -1
  231. data/lib/ory-client/models/manage_sessions_response.rb +1 -1
  232. data/lib/ory-client/models/managed_identity_schema.rb +1 -1
  233. data/lib/ory-client/models/managed_identity_schema_validation_result.rb +1 -1
  234. data/lib/ory-client/models/member_invite.rb +1 -1
  235. data/lib/ory-client/models/message.rb +1 -1
  236. data/lib/ory-client/models/message_dispatch.rb +1 -1
  237. data/lib/ory-client/models/metrics_datapoint.rb +1 -1
  238. data/lib/ory-client/models/namespace.rb +1 -1
  239. data/lib/ory-client/models/needs_privileged_session_error.rb +1 -1
  240. data/lib/ory-client/models/normalized_project.rb +1 -1
  241. data/lib/ory-client/models/normalized_project_revision.rb +92 -2
  242. data/lib/ory-client/models/normalized_project_revision_courier_channel.rb +1 -1
  243. data/lib/ory-client/models/normalized_project_revision_hook.rb +1 -1
  244. data/lib/ory-client/models/normalized_project_revision_identity_schema.rb +1 -1
  245. data/lib/ory-client/models/normalized_project_revision_saml_provider.rb +1 -1
  246. data/lib/ory-client/models/normalized_project_revision_scim_client.rb +1 -1
  247. data/lib/ory-client/models/normalized_project_revision_third_party_provider.rb +1 -1
  248. data/lib/ory-client/models/normalized_project_revision_tokenizer_template.rb +1 -1
  249. data/lib/ory-client/models/null_value.rb +1 -1
  250. data/lib/ory-client/models/o_auth2_client.rb +1 -1
  251. data/lib/ory-client/models/o_auth2_client_token_lifespans.rb +1 -1
  252. data/lib/ory-client/models/o_auth2_consent_request.rb +1 -1
  253. data/lib/ory-client/models/o_auth2_consent_request_open_id_connect_context.rb +1 -1
  254. data/lib/ory-client/models/o_auth2_consent_session.rb +1 -1
  255. data/lib/ory-client/models/o_auth2_login_request.rb +1 -1
  256. data/lib/ory-client/models/o_auth2_logout_request.rb +1 -1
  257. data/lib/ory-client/models/o_auth2_redirect_to.rb +1 -1
  258. data/lib/ory-client/models/o_auth2_token_exchange.rb +1 -1
  259. data/lib/ory-client/models/oidc_configuration.rb +1 -1
  260. data/lib/ory-client/models/oidc_user_info.rb +1 -1
  261. data/lib/ory-client/models/onboarding_portal_link.rb +1 -1
  262. data/lib/ory-client/models/onboarding_portal_organization.rb +31 -2
  263. data/lib/ory-client/models/onboarding_portal_test_login_flow.rb +1 -1
  264. data/lib/ory-client/models/opl_parse_error.rb +1 -1
  265. data/lib/ory-client/models/opl_source_position.rb +1 -1
  266. data/lib/ory-client/models/opl_validate_result.rb +1 -1
  267. data/lib/ory-client/models/organization.rb +1 -1
  268. data/lib/ory-client/models/organization_body.rb +1 -1
  269. data/lib/ory-client/models/organization_by_hostname.rb +1 -1
  270. data/lib/ory-client/models/organization_onboarding_portal_links_response.rb +1 -1
  271. data/lib/ory-client/models/parse_error.rb +1 -1
  272. data/lib/ory-client/models/patch_identities_body.rb +1 -1
  273. data/lib/ory-client/models/patch_workspace_contact_body.rb +1 -1
  274. data/lib/ory-client/models/patch_workspace_member_body.rb +1 -1
  275. data/lib/ory-client/models/perform_native_logout_body.rb +1 -1
  276. data/lib/ory-client/models/permissions_on_workspace.rb +1 -1
  277. data/lib/ory-client/models/pin_config.rb +1 -1
  278. data/lib/ory-client/models/plan_details.rb +1 -1
  279. data/lib/ory-client/models/post_check_permission_body.rb +1 -1
  280. data/lib/ory-client/models/post_check_permission_or_error_body.rb +1 -1
  281. data/lib/ory-client/models/project.rb +1 -1
  282. data/lib/ory-client/models/project_api_key.rb +1 -1
  283. data/lib/ory-client/models/project_branding.rb +1 -1
  284. data/lib/ory-client/models/project_branding_colors.rb +1 -1
  285. data/lib/ory-client/models/project_branding_theme.rb +1 -1
  286. data/lib/ory-client/models/project_cors.rb +1 -1
  287. data/lib/ory-client/models/project_events_datapoint.rb +1 -1
  288. data/lib/ory-client/models/project_host.rb +1 -1
  289. data/lib/ory-client/models/project_member.rb +1 -1
  290. data/lib/ory-client/models/project_metadata.rb +1 -1
  291. data/lib/ory-client/models/project_service_account_experience.rb +1 -1
  292. data/lib/ory-client/models/project_service_identity.rb +1 -1
  293. data/lib/ory-client/models/project_service_o_auth2.rb +1 -1
  294. data/lib/ory-client/models/project_service_permission.rb +1 -1
  295. data/lib/ory-client/models/project_service_talos.rb +1 -1
  296. data/lib/ory-client/models/project_services.rb +1 -1
  297. data/lib/ory-client/models/provider.rb +1 -1
  298. data/lib/ory-client/models/public_member_invite.rb +1 -1
  299. data/lib/ory-client/models/quota_usage.rb +4 -4
  300. data/lib/ory-client/models/rate_limit_policy.rb +1 -1
  301. data/lib/ory-client/models/recovery_code_for_identity.rb +1 -1
  302. data/lib/ory-client/models/recovery_flow.rb +1 -1
  303. data/lib/ory-client/models/recovery_flow_state.rb +1 -1
  304. data/lib/ory-client/models/recovery_identity_address.rb +1 -1
  305. data/lib/ory-client/models/recovery_link_for_identity.rb +1 -1
  306. data/lib/ory-client/models/registration_flow.rb +1 -1
  307. data/lib/ory-client/models/registration_flow_state.rb +1 -1
  308. data/lib/ory-client/models/reject_o_auth2_request.rb +1 -1
  309. data/lib/ory-client/models/relation_query.rb +1 -1
  310. data/lib/ory-client/models/relationship.rb +1 -1
  311. data/lib/ory-client/models/relationship_namespaces.rb +1 -1
  312. data/lib/ory-client/models/relationship_patch.rb +1 -1
  313. data/lib/ory-client/models/relationships.rb +1 -1
  314. data/lib/ory-client/models/revision_account_experience_custom_translation.rb +1 -1
  315. data/lib/ory-client/models/revocation_reason.rb +1 -1
  316. data/lib/ory-client/models/rfc6749_error_json.rb +1 -1
  317. data/lib/ory-client/models/rotate_issued_api_key_response.rb +1 -1
  318. data/lib/ory-client/models/rotate_o_auth2_client_secret_body.rb +1 -1
  319. data/lib/ory-client/models/rotate_talos_key_body.rb +1 -1
  320. data/lib/ory-client/models/schema_patch.rb +1 -1
  321. data/lib/ory-client/models/self_revoke_api_key_request.rb +1 -1
  322. data/lib/ory-client/models/self_service_flow_expired_error.rb +1 -1
  323. data/lib/ory-client/models/session.rb +1 -1
  324. data/lib/ory-client/models/session_activity_datapoint.rb +1 -1
  325. data/lib/ory-client/models/session_authentication_method.rb +1 -1
  326. data/lib/ory-client/models/session_device.rb +1 -1
  327. data/lib/ory-client/models/set_custom_domain_body.rb +1 -1
  328. data/lib/ory-client/models/set_event_stream_body.rb +14 -2
  329. data/lib/ory-client/models/set_organization_from_onboarding_portal_link_body.rb +1 -1
  330. data/lib/ory-client/models/set_project.rb +1 -1
  331. data/lib/ory-client/models/set_project_branding_theme_body.rb +1 -1
  332. data/lib/ory-client/models/settings_flow.rb +1 -1
  333. data/lib/ory-client/models/settings_flow_state.rb +1 -1
  334. data/lib/ory-client/models/source_position.rb +1 -1
  335. data/lib/ory-client/models/status.rb +1 -1
  336. data/lib/ory-client/models/subject_set.rb +1 -1
  337. data/lib/ory-client/models/subscription.rb +1 -1
  338. data/lib/ory-client/models/successful_code_exchange_response.rb +1 -1
  339. data/lib/ory-client/models/successful_native_login.rb +1 -1
  340. data/lib/ory-client/models/successful_native_registration.rb +1 -1
  341. data/lib/ory-client/models/successful_project_update.rb +1 -1
  342. data/lib/ory-client/models/talos_retired_value.rb +1 -1
  343. data/lib/ory-client/models/tax_line_item.rb +1 -1
  344. data/lib/ory-client/models/time_interval.rb +1 -1
  345. data/lib/ory-client/models/token.rb +1 -1
  346. data/lib/ory-client/models/token_algorithm.rb +1 -1
  347. data/lib/ory-client/models/token_pagination.rb +1 -1
  348. data/lib/ory-client/models/token_pagination_headers.rb +1 -1
  349. data/lib/ory-client/models/token_pagination_request_parameters.rb +1 -1
  350. data/lib/ory-client/models/token_pagination_response_headers.rb +1 -1
  351. data/lib/ory-client/models/trust_o_auth2_jwt_grant_issuer.rb +1 -1
  352. data/lib/ory-client/models/trusted_o_auth2_jwt_grant_issuer.rb +1 -1
  353. data/lib/ory-client/models/trusted_o_auth2_jwt_grant_json_web_key.rb +1 -1
  354. data/lib/ory-client/models/ui_container.rb +1 -1
  355. data/lib/ory-client/models/ui_node.rb +1 -1
  356. data/lib/ory-client/models/ui_node_anchor_attributes.rb +1 -1
  357. data/lib/ory-client/models/ui_node_attributes.rb +1 -1
  358. data/lib/ory-client/models/ui_node_division_attributes.rb +1 -1
  359. data/lib/ory-client/models/ui_node_image_attributes.rb +1 -1
  360. data/lib/ory-client/models/ui_node_input_attributes.rb +1 -1
  361. data/lib/ory-client/models/ui_node_input_attributes_option.rb +1 -1
  362. data/lib/ory-client/models/ui_node_meta.rb +1 -1
  363. data/lib/ory-client/models/ui_node_script_attributes.rb +1 -1
  364. data/lib/ory-client/models/ui_node_text_attributes.rb +1 -1
  365. data/lib/ory-client/models/ui_text.rb +1 -1
  366. data/lib/ory-client/models/update_fedcm_flow_body.rb +1 -1
  367. data/lib/ory-client/models/update_identity_body.rb +1 -1
  368. data/lib/ory-client/models/update_login_flow_body.rb +1 -1
  369. data/lib/ory-client/models/update_login_flow_with_code_method.rb +1 -1
  370. data/lib/ory-client/models/update_login_flow_with_device_authn_method.rb +1 -1
  371. data/lib/ory-client/models/update_login_flow_with_identifier_first_method.rb +1 -1
  372. data/lib/ory-client/models/update_login_flow_with_lookup_secret_method.rb +15 -5
  373. data/lib/ory-client/models/update_login_flow_with_oidc_method.rb +1 -1
  374. data/lib/ory-client/models/update_login_flow_with_passkey_method.rb +15 -5
  375. data/lib/ory-client/models/update_login_flow_with_password_method.rb +1 -1
  376. data/lib/ory-client/models/update_login_flow_with_saml_method.rb +1 -1
  377. data/lib/ory-client/models/update_login_flow_with_totp_method.rb +1 -1
  378. data/lib/ory-client/models/update_login_flow_with_web_authn_method.rb +1 -1
  379. data/lib/ory-client/models/update_organization_onboarding_portal_link_body.rb +1 -1
  380. data/lib/ory-client/models/update_recovery_flow_body.rb +1 -1
  381. data/lib/ory-client/models/update_recovery_flow_with_code_method.rb +1 -1
  382. data/lib/ory-client/models/update_recovery_flow_with_link_method.rb +1 -1
  383. data/lib/ory-client/models/update_registration_flow_body.rb +1 -1
  384. data/lib/ory-client/models/update_registration_flow_with_code_method.rb +1 -1
  385. data/lib/ory-client/models/update_registration_flow_with_oidc_method.rb +1 -1
  386. data/lib/ory-client/models/update_registration_flow_with_passkey_method.rb +1 -1
  387. data/lib/ory-client/models/update_registration_flow_with_password_method.rb +1 -1
  388. data/lib/ory-client/models/update_registration_flow_with_profile_method.rb +1 -1
  389. data/lib/ory-client/models/update_registration_flow_with_saml_method.rb +1 -1
  390. data/lib/ory-client/models/update_registration_flow_with_web_authn_method.rb +1 -1
  391. data/lib/ory-client/models/update_settings_flow_body.rb +1 -1
  392. data/lib/ory-client/models/update_settings_flow_with_device_authn_method.rb +1 -1
  393. data/lib/ory-client/models/update_settings_flow_with_device_authn_method_register.rb +1 -1
  394. data/lib/ory-client/models/update_settings_flow_with_device_authn_method_rotate_secret.rb +1 -1
  395. data/lib/ory-client/models/update_settings_flow_with_lookup_method.rb +1 -1
  396. data/lib/ory-client/models/update_settings_flow_with_oidc_method.rb +1 -1
  397. data/lib/ory-client/models/update_settings_flow_with_passkey_method.rb +1 -1
  398. data/lib/ory-client/models/update_settings_flow_with_password_method.rb +1 -1
  399. data/lib/ory-client/models/update_settings_flow_with_profile_method.rb +1 -1
  400. data/lib/ory-client/models/update_settings_flow_with_saml_method.rb +1 -1
  401. data/lib/ory-client/models/update_settings_flow_with_totp_method.rb +1 -1
  402. data/lib/ory-client/models/update_settings_flow_with_web_authn_method.rb +1 -1
  403. data/lib/ory-client/models/update_subscription_body.rb +1 -1
  404. data/lib/ory-client/models/update_verification_flow_body.rb +1 -1
  405. data/lib/ory-client/models/update_verification_flow_with_code_method.rb +1 -1
  406. data/lib/ory-client/models/update_verification_flow_with_link_method.rb +1 -1
  407. data/lib/ory-client/models/update_workspace_body.rb +1 -1
  408. data/lib/ory-client/models/update_workspace_organization_body.rb +1 -1
  409. data/lib/ory-client/models/usage.rb +1 -1
  410. data/lib/ory-client/models/user_verification.rb +1 -1
  411. data/lib/ory-client/models/validate_base_url_rewrite_request.rb +1 -1
  412. data/lib/ory-client/models/validate_base_url_rewrite_response.rb +1 -1
  413. data/lib/ory-client/models/verifiable_credential_priming_response.rb +1 -1
  414. data/lib/ory-client/models/verifiable_credential_proof.rb +1 -1
  415. data/lib/ory-client/models/verifiable_credential_response.rb +1 -1
  416. data/lib/ory-client/models/verifiable_identity_address.rb +1 -1
  417. data/lib/ory-client/models/verification_error_code.rb +1 -1
  418. data/lib/ory-client/models/verification_flow.rb +1 -1
  419. data/lib/ory-client/models/verification_flow_state.rb +1 -1
  420. data/lib/ory-client/models/verify_api_key_request.rb +1 -1
  421. data/lib/ory-client/models/verify_api_key_response.rb +1 -1
  422. data/lib/ory-client/models/verify_user_code_request.rb +1 -1
  423. data/lib/ory-client/models/version.rb +1 -1
  424. data/lib/ory-client/models/warning.rb +1 -1
  425. data/lib/ory-client/models/web_authn_related_origins.rb +1 -1
  426. data/lib/ory-client/models/workspace.rb +1 -1
  427. data/lib/ory-client/models/workspace_api_key.rb +1 -1
  428. data/lib/ory-client/models/workspace_contact.rb +1 -1
  429. data/lib/ory-client/models/workspace_contact_recipient.rb +1 -1
  430. data/lib/ory-client/models/workspace_contact_recipient_input.rb +1 -1
  431. data/lib/ory-client/models/workspace_organization.rb +1 -1
  432. data/lib/ory-client/version.rb +2 -2
  433. data/lib/ory-client.rb +1 -1
  434. data/ory-client.gemspec +1 -1
  435. data/spec/api/api_keys_api_spec.rb +1 -1
  436. data/spec/api/courier_api_spec.rb +1 -1
  437. data/spec/api/elements_api_spec.rb +1 -1
  438. data/spec/api/events_api_spec.rb +1 -1
  439. data/spec/api/frontend_api_spec.rb +1 -1
  440. data/spec/api/identity_api_spec.rb +1 -1
  441. data/spec/api/jwk_api_spec.rb +1 -1
  442. data/spec/api/metadata_api_spec.rb +1 -1
  443. data/spec/api/o_auth2_api_spec.rb +1 -1
  444. data/spec/api/oidc_api_spec.rb +1 -1
  445. data/spec/api/permission_api_spec.rb +1 -1
  446. data/spec/api/project_api_spec.rb +1 -1
  447. data/spec/api/relationship_api_spec.rb +1 -1
  448. data/spec/api/wellknown_api_spec.rb +1 -1
  449. data/spec/api/workspace_api_spec.rb +1 -1
  450. data/spec/models/accept_device_user_code_request_spec.rb +1 -1
  451. data/spec/models/accept_o_auth2_consent_request_session_spec.rb +1 -1
  452. data/spec/models/accept_o_auth2_consent_request_spec.rb +1 -1
  453. data/spec/models/accept_o_auth2_login_request_spec.rb +1 -1
  454. data/spec/models/account_experience_colors_spec.rb +1 -1
  455. data/spec/models/account_experience_configuration_spec.rb +1 -1
  456. data/spec/models/add_project_to_workspace_body_spec.rb +1 -1
  457. data/spec/models/add_workspace_organization_domain_body_spec.rb +1 -1
  458. data/spec/models/admin_identity_import_credentials_lookup_secret_config_spec.rb +1 -1
  459. data/spec/models/admin_identity_import_credentials_lookup_secret_spec.rb +1 -1
  460. data/spec/models/admin_revoke_imported_api_key_body_spec.rb +1 -1
  461. data/spec/models/admin_revoke_issued_api_key_body_spec.rb +1 -1
  462. data/spec/models/admin_rotate_issued_api_key_body_spec.rb +1 -1
  463. data/spec/models/admin_update_imported_api_key_request_spec.rb +1 -1
  464. data/spec/models/admin_update_issued_api_key_request_spec.rb +1 -1
  465. data/spec/models/ai_assistant_session_token_spec.rb +1 -1
  466. data/spec/models/any_spec.rb +1 -1
  467. data/spec/models/attribute_filter_spec.rb +1 -1
  468. data/spec/models/attribute_spec.rb +1 -1
  469. data/spec/models/attributes_count_datapoint_spec.rb +1 -1
  470. data/spec/models/authenticator_assurance_level_spec.rb +1 -1
  471. data/spec/models/basic_organization_spec.rb +1 -1
  472. data/spec/models/batch_check_permission_body_spec.rb +1 -1
  473. data/spec/models/batch_check_permission_result_spec.rb +1 -1
  474. data/spec/models/batch_create_imported_api_keys_error_code_spec.rb +1 -1
  475. data/spec/models/batch_create_imported_api_keys_request_spec.rb +1 -1
  476. data/spec/models/batch_create_imported_api_keys_response_spec.rb +1 -1
  477. data/spec/models/batch_create_imported_api_keys_result_spec.rb +1 -1
  478. data/spec/models/batch_patch_identities_response_spec.rb +1 -1
  479. data/spec/models/batch_verify_api_keys_request_spec.rb +1 -1
  480. data/spec/models/batch_verify_api_keys_response_spec.rb +1 -1
  481. data/spec/models/billing_period_bucket_spec.rb +1 -1
  482. data/spec/models/check_opl_syntax_result_spec.rb +1 -1
  483. data/spec/models/check_permission_result_spec.rb +1 -1
  484. data/spec/models/check_permission_result_with_error_spec.rb +1 -1
  485. data/spec/models/cloud_account_spec.rb +1 -1
  486. data/spec/models/continue_with_device_authn_pin_entry_ui_data_spec.rb +1 -1
  487. data/spec/models/continue_with_device_authn_pin_entry_ui_spec.rb +1 -1
  488. data/spec/models/continue_with_recovery_ui_flow_spec.rb +1 -1
  489. data/spec/models/continue_with_recovery_ui_spec.rb +1 -1
  490. data/spec/models/continue_with_redirect_browser_to_spec.rb +1 -1
  491. data/spec/models/continue_with_set_ory_session_token_spec.rb +1 -1
  492. data/spec/models/continue_with_settings_ui_flow_spec.rb +1 -1
  493. data/spec/models/continue_with_settings_ui_spec.rb +1 -1
  494. data/spec/models/continue_with_spec.rb +1 -1
  495. data/spec/models/continue_with_verification_ui_flow_spec.rb +1 -1
  496. data/spec/models/continue_with_verification_ui_spec.rb +1 -1
  497. data/spec/models/courier_message_status_spec.rb +1 -1
  498. data/spec/models/courier_message_type_spec.rb +1 -1
  499. data/spec/models/create_custom_domain_body_spec.rb +1 -1
  500. data/spec/models/create_event_stream_body_spec.rb +7 -1
  501. data/spec/models/create_fedcm_flow_response_spec.rb +1 -1
  502. data/spec/models/create_identity_body_spec.rb +1 -1
  503. data/spec/models/create_invite_response_spec.rb +1 -1
  504. data/spec/models/create_json_web_key_set_spec.rb +1 -1
  505. data/spec/models/create_onboarding_link_response_spec.rb +1 -1
  506. data/spec/models/create_organization_onboarding_portal_link_body_spec.rb +1 -1
  507. data/spec/models/create_project_api_key_body_spec.rb +1 -1
  508. data/spec/models/create_project_body_spec.rb +1 -1
  509. data/spec/models/create_project_branding_spec.rb +1 -1
  510. data/spec/models/create_project_member_invite_body_spec.rb +1 -1
  511. data/spec/models/create_project_normalized_payload_spec.rb +55 -1
  512. data/spec/models/create_recovery_code_for_identity_body_spec.rb +1 -1
  513. data/spec/models/create_recovery_link_for_identity_body_spec.rb +1 -1
  514. data/spec/models/create_relationship_body_spec.rb +1 -1
  515. data/spec/models/create_subscription_body_spec.rb +1 -1
  516. data/spec/models/create_subscription_common_spec.rb +1 -1
  517. data/spec/models/create_test_login_flow_body_spec.rb +1 -1
  518. data/spec/models/create_test_login_flow_from_onboarding_portal_link_body_spec.rb +1 -1
  519. data/spec/models/create_verifiable_credential_request_body_spec.rb +1 -1
  520. data/spec/models/create_workspace_api_key_body_spec.rb +1 -1
  521. data/spec/models/create_workspace_body_spec.rb +1 -1
  522. data/spec/models/create_workspace_contact_body_spec.rb +1 -1
  523. data/spec/models/create_workspace_member_invite_body_spec.rb +1 -1
  524. data/spec/models/create_workspace_organization_body_spec.rb +1 -1
  525. data/spec/models/create_workspace_subscription_body_spec.rb +1 -1
  526. data/spec/models/credential_supported_draft00_spec.rb +1 -1
  527. data/spec/models/custom_domain_spec.rb +1 -1
  528. data/spec/models/customer_portal_availability_spec.rb +1 -1
  529. data/spec/models/delete_my_sessions_count_spec.rb +1 -1
  530. data/spec/models/derive_token_request_spec.rb +1 -1
  531. data/spec/models/derive_token_response_spec.rb +1 -1
  532. data/spec/models/device_authn_android_authorization_list_spec.rb +1 -1
  533. data/spec/models/device_authn_android_key_description_spec.rb +1 -1
  534. data/spec/models/device_authn_android_root_of_trust_spec.rb +1 -1
  535. data/spec/models/device_authn_attestation_spec.rb +1 -1
  536. data/spec/models/device_authn_ios_att_stmt_spec.rb +1 -1
  537. data/spec/models/device_authn_ios_attestation_spec.rb +1 -1
  538. data/spec/models/device_authn_key_spec.rb +1 -1
  539. data/spec/models/device_authorization_spec.rb +1 -1
  540. data/spec/models/device_type_spec.rb +1 -1
  541. data/spec/models/device_user_auth_request_spec.rb +1 -1
  542. data/spec/models/domain_verification_status_spec.rb +1 -1
  543. data/spec/models/elements_configuration_spec.rb +1 -1
  544. data/spec/models/email_template_data_body_spec.rb +1 -1
  545. data/spec/models/email_template_data_spec.rb +1 -1
  546. data/spec/models/error_authenticator_assurance_level_not_satisfied_spec.rb +1 -1
  547. data/spec/models/error_browser_location_change_required_spec.rb +1 -1
  548. data/spec/models/error_flow_replaced_spec.rb +1 -1
  549. data/spec/models/error_generic_spec.rb +1 -1
  550. data/spec/models/error_o_auth2_spec.rb +1 -1
  551. data/spec/models/event_stream_spec.rb +7 -1
  552. data/spec/models/expanded_permission_tree_spec.rb +1 -1
  553. data/spec/models/feature_flags_catalog_entry_spec.rb +1 -1
  554. data/spec/models/flow_error_spec.rb +1 -1
  555. data/spec/models/generic_error_content_spec.rb +1 -1
  556. data/spec/models/generic_error_spec.rb +1 -1
  557. data/spec/models/generic_oidc_provider_spec.rb +1 -1
  558. data/spec/models/generic_usage_spec.rb +1 -1
  559. data/spec/models/get_attributes_count_spec.rb +1 -1
  560. data/spec/models/get_jwks_response_jwks_keys_inner_spec.rb +1 -1
  561. data/spec/models/get_jwks_response_jwks_spec.rb +1 -1
  562. data/spec/models/get_jwks_response_spec.rb +1 -1
  563. data/spec/models/get_managed_identity_schema_location_spec.rb +1 -1
  564. data/spec/models/get_metrics_count_spec.rb +1 -1
  565. data/spec/models/get_metrics_event_attributes_spec.rb +1 -1
  566. data/spec/models/get_metrics_event_types_spec.rb +1 -1
  567. data/spec/models/get_organization_response_spec.rb +1 -1
  568. data/spec/models/get_organizations_by_hostname_response_spec.rb +1 -1
  569. data/spec/models/get_project_events_body_spec.rb +1 -1
  570. data/spec/models/get_project_events_spec.rb +1 -1
  571. data/spec/models/get_project_metrics_spec.rb +1 -1
  572. data/spec/models/get_session_activity_spec.rb +1 -1
  573. data/spec/models/get_version200_response_spec.rb +1 -1
  574. data/spec/models/health_not_ready_status_spec.rb +1 -1
  575. data/spec/models/health_status_spec.rb +1 -1
  576. data/spec/models/identity_credentials_code_address_spec.rb +1 -1
  577. data/spec/models/identity_credentials_code_spec.rb +1 -1
  578. data/spec/models/identity_credentials_lookup_secret_code_spec.rb +1 -1
  579. data/spec/models/identity_credentials_oidc_provider_spec.rb +1 -1
  580. data/spec/models/identity_credentials_oidc_spec.rb +1 -1
  581. data/spec/models/identity_credentials_password_spec.rb +1 -1
  582. data/spec/models/identity_credentials_spec.rb +1 -1
  583. data/spec/models/identity_credentials_web_authn_attestation_spec.rb +1 -1
  584. data/spec/models/identity_credentials_web_authn_authenticator_spec.rb +1 -1
  585. data/spec/models/identity_credentials_web_authn_flags_spec.rb +1 -1
  586. data/spec/models/identity_credentials_web_authn_spec.rb +1 -1
  587. data/spec/models/identity_patch_response_spec.rb +1 -1
  588. data/spec/models/identity_patch_spec.rb +1 -1
  589. data/spec/models/identity_schema_container_spec.rb +1 -1
  590. data/spec/models/identity_schema_preset_spec.rb +1 -1
  591. data/spec/models/identity_spec.rb +1 -1
  592. data/spec/models/identity_with_credentials_oidc_config_provider_spec.rb +1 -1
  593. data/spec/models/identity_with_credentials_oidc_config_spec.rb +1 -1
  594. data/spec/models/identity_with_credentials_oidc_spec.rb +1 -1
  595. data/spec/models/identity_with_credentials_passkey_config_spec.rb +1 -1
  596. data/spec/models/identity_with_credentials_passkey_spec.rb +1 -1
  597. data/spec/models/identity_with_credentials_password_config_spec.rb +1 -1
  598. data/spec/models/identity_with_credentials_password_spec.rb +1 -1
  599. data/spec/models/identity_with_credentials_saml_config_provider_spec.rb +1 -1
  600. data/spec/models/identity_with_credentials_saml_config_spec.rb +1 -1
  601. data/spec/models/identity_with_credentials_saml_spec.rb +1 -1
  602. data/spec/models/identity_with_credentials_spec.rb +1 -1
  603. data/spec/models/identity_with_credentials_totp_config_spec.rb +1 -1
  604. data/spec/models/identity_with_credentials_totp_spec.rb +1 -1
  605. data/spec/models/identity_with_credentials_web_authn_config_spec.rb +1 -1
  606. data/spec/models/identity_with_credentials_web_authn_spec.rb +1 -1
  607. data/spec/models/import_api_key_request_spec.rb +1 -1
  608. data/spec/models/imported_api_key_spec.rb +1 -1
  609. data/spec/models/internal_get_project_branding_body_spec.rb +1 -1
  610. data/spec/models/internal_is_ax_welcome_screen_enabled_for_project_body_spec.rb +1 -1
  611. data/spec/models/internal_is_owner_for_project_by_slug_body_spec.rb +1 -1
  612. data/spec/models/internal_is_owner_for_project_by_slug_spec.rb +1 -1
  613. data/spec/models/introspected_o_auth2_token_spec.rb +1 -1
  614. data/spec/models/invite_token_body_spec.rb +1 -1
  615. data/spec/models/invoice_data_v1_spec.rb +1 -1
  616. data/spec/models/invoice_spec.rb +1 -1
  617. data/spec/models/ip_restriction_spec.rb +1 -1
  618. data/spec/models/is_owner_for_project_by_slug_spec.rb +1 -1
  619. data/spec/models/issue_api_key_request_spec.rb +1 -1
  620. data/spec/models/issue_api_key_response_spec.rb +1 -1
  621. data/spec/models/issued_api_key_spec.rb +1 -1
  622. data/spec/models/json_patch_spec.rb +1 -1
  623. data/spec/models/json_web_key_set_spec.rb +1 -1
  624. data/spec/models/json_web_key_spec.rb +1 -1
  625. data/spec/models/keto_namespace_spec.rb +1 -1
  626. data/spec/models/key_state_spec.rb +1 -1
  627. data/spec/models/key_status_spec.rb +1 -1
  628. data/spec/models/key_visibility_spec.rb +1 -1
  629. data/spec/models/keyset_pagination_request_parameters_spec.rb +1 -1
  630. data/spec/models/keyset_pagination_response_headers_spec.rb +1 -1
  631. data/spec/models/line_item_v1_spec.rb +1 -1
  632. data/spec/models/list_event_streams_spec.rb +1 -1
  633. data/spec/models/list_imported_api_keys_response_spec.rb +1 -1
  634. data/spec/models/list_invoices_response_spec.rb +1 -1
  635. data/spec/models/list_issued_api_keys_response_spec.rb +1 -1
  636. data/spec/models/list_organizations_response_spec.rb +1 -1
  637. data/spec/models/list_workspace_contacts_spec.rb +1 -1
  638. data/spec/models/list_workspace_projects_spec.rb +1 -1
  639. data/spec/models/list_workspaces_spec.rb +1 -1
  640. data/spec/models/login_flow_spec.rb +1 -1
  641. data/spec/models/login_flow_state_spec.rb +1 -1
  642. data/spec/models/login_flow_test_context_spec.rb +1 -1
  643. data/spec/models/login_flow_test_debug_payload_spec.rb +7 -1
  644. data/spec/models/login_flow_test_schema_validation_error_spec.rb +1 -1
  645. data/spec/models/login_flow_test_step_error_spec.rb +1 -1
  646. data/spec/models/logout_flow_spec.rb +1 -1
  647. data/spec/models/manage_sessions_body_spec.rb +1 -1
  648. data/spec/models/manage_sessions_response_spec.rb +1 -1
  649. data/spec/models/managed_identity_schema_spec.rb +1 -1
  650. data/spec/models/managed_identity_schema_validation_result_spec.rb +1 -1
  651. data/spec/models/member_invite_spec.rb +1 -1
  652. data/spec/models/message_dispatch_spec.rb +1 -1
  653. data/spec/models/message_spec.rb +1 -1
  654. data/spec/models/metrics_datapoint_spec.rb +1 -1
  655. data/spec/models/namespace_spec.rb +1 -1
  656. data/spec/models/needs_privileged_session_error_spec.rb +1 -1
  657. data/spec/models/normalized_project_revision_courier_channel_spec.rb +1 -1
  658. data/spec/models/normalized_project_revision_hook_spec.rb +1 -1
  659. data/spec/models/normalized_project_revision_identity_schema_spec.rb +1 -1
  660. data/spec/models/normalized_project_revision_saml_provider_spec.rb +1 -1
  661. data/spec/models/normalized_project_revision_scim_client_spec.rb +1 -1
  662. data/spec/models/normalized_project_revision_spec.rb +55 -1
  663. data/spec/models/normalized_project_revision_third_party_provider_spec.rb +1 -1
  664. data/spec/models/normalized_project_revision_tokenizer_template_spec.rb +1 -1
  665. data/spec/models/normalized_project_spec.rb +1 -1
  666. data/spec/models/null_value_spec.rb +1 -1
  667. data/spec/models/o_auth2_client_spec.rb +1 -1
  668. data/spec/models/o_auth2_client_token_lifespans_spec.rb +1 -1
  669. data/spec/models/o_auth2_consent_request_open_id_connect_context_spec.rb +1 -1
  670. data/spec/models/o_auth2_consent_request_spec.rb +1 -1
  671. data/spec/models/o_auth2_consent_session_spec.rb +1 -1
  672. data/spec/models/o_auth2_login_request_spec.rb +1 -1
  673. data/spec/models/o_auth2_logout_request_spec.rb +1 -1
  674. data/spec/models/o_auth2_redirect_to_spec.rb +1 -1
  675. data/spec/models/o_auth2_token_exchange_spec.rb +1 -1
  676. data/spec/models/oidc_configuration_spec.rb +1 -1
  677. data/spec/models/oidc_user_info_spec.rb +1 -1
  678. data/spec/models/onboarding_portal_link_spec.rb +1 -1
  679. data/spec/models/onboarding_portal_organization_spec.rb +7 -1
  680. data/spec/models/onboarding_portal_test_login_flow_spec.rb +1 -1
  681. data/spec/models/opl_parse_error_spec.rb +1 -1
  682. data/spec/models/opl_source_position_spec.rb +1 -1
  683. data/spec/models/opl_validate_result_spec.rb +1 -1
  684. data/spec/models/organization_body_spec.rb +1 -1
  685. data/spec/models/organization_by_hostname_spec.rb +1 -1
  686. data/spec/models/organization_onboarding_portal_links_response_spec.rb +1 -1
  687. data/spec/models/organization_spec.rb +1 -1
  688. data/spec/models/parse_error_spec.rb +1 -1
  689. data/spec/models/patch_identities_body_spec.rb +1 -1
  690. data/spec/models/patch_workspace_contact_body_spec.rb +1 -1
  691. data/spec/models/patch_workspace_member_body_spec.rb +1 -1
  692. data/spec/models/perform_native_logout_body_spec.rb +1 -1
  693. data/spec/models/permissions_on_workspace_spec.rb +1 -1
  694. data/spec/models/pin_config_spec.rb +1 -1
  695. data/spec/models/plan_details_spec.rb +1 -1
  696. data/spec/models/post_check_permission_body_spec.rb +1 -1
  697. data/spec/models/post_check_permission_or_error_body_spec.rb +1 -1
  698. data/spec/models/project_api_key_spec.rb +1 -1
  699. data/spec/models/project_branding_colors_spec.rb +1 -1
  700. data/spec/models/project_branding_spec.rb +1 -1
  701. data/spec/models/project_branding_theme_spec.rb +1 -1
  702. data/spec/models/project_cors_spec.rb +1 -1
  703. data/spec/models/project_events_datapoint_spec.rb +1 -1
  704. data/spec/models/project_host_spec.rb +1 -1
  705. data/spec/models/project_member_spec.rb +1 -1
  706. data/spec/models/project_metadata_spec.rb +1 -1
  707. data/spec/models/project_service_account_experience_spec.rb +1 -1
  708. data/spec/models/project_service_identity_spec.rb +1 -1
  709. data/spec/models/project_service_o_auth2_spec.rb +1 -1
  710. data/spec/models/project_service_permission_spec.rb +1 -1
  711. data/spec/models/project_service_talos_spec.rb +1 -1
  712. data/spec/models/project_services_spec.rb +1 -1
  713. data/spec/models/project_spec.rb +1 -1
  714. data/spec/models/provider_spec.rb +1 -1
  715. data/spec/models/public_member_invite_spec.rb +1 -1
  716. data/spec/models/quota_usage_spec.rb +2 -2
  717. data/spec/models/rate_limit_policy_spec.rb +1 -1
  718. data/spec/models/recovery_code_for_identity_spec.rb +1 -1
  719. data/spec/models/recovery_flow_spec.rb +1 -1
  720. data/spec/models/recovery_flow_state_spec.rb +1 -1
  721. data/spec/models/recovery_identity_address_spec.rb +1 -1
  722. data/spec/models/recovery_link_for_identity_spec.rb +1 -1
  723. data/spec/models/registration_flow_spec.rb +1 -1
  724. data/spec/models/registration_flow_state_spec.rb +1 -1
  725. data/spec/models/reject_o_auth2_request_spec.rb +1 -1
  726. data/spec/models/relation_query_spec.rb +1 -1
  727. data/spec/models/relationship_namespaces_spec.rb +1 -1
  728. data/spec/models/relationship_patch_spec.rb +1 -1
  729. data/spec/models/relationship_spec.rb +1 -1
  730. data/spec/models/relationships_spec.rb +1 -1
  731. data/spec/models/revision_account_experience_custom_translation_spec.rb +1 -1
  732. data/spec/models/revocation_reason_spec.rb +1 -1
  733. data/spec/models/rfc6749_error_json_spec.rb +1 -1
  734. data/spec/models/rotate_issued_api_key_response_spec.rb +1 -1
  735. data/spec/models/rotate_o_auth2_client_secret_body_spec.rb +1 -1
  736. data/spec/models/rotate_talos_key_body_spec.rb +1 -1
  737. data/spec/models/schema_patch_spec.rb +1 -1
  738. data/spec/models/self_revoke_api_key_request_spec.rb +1 -1
  739. data/spec/models/self_service_flow_expired_error_spec.rb +1 -1
  740. data/spec/models/session_activity_datapoint_spec.rb +1 -1
  741. data/spec/models/session_authentication_method_spec.rb +1 -1
  742. data/spec/models/session_device_spec.rb +1 -1
  743. data/spec/models/session_spec.rb +1 -1
  744. data/spec/models/set_custom_domain_body_spec.rb +1 -1
  745. data/spec/models/set_event_stream_body_spec.rb +7 -1
  746. data/spec/models/set_organization_from_onboarding_portal_link_body_spec.rb +1 -1
  747. data/spec/models/set_project_branding_theme_body_spec.rb +1 -1
  748. data/spec/models/set_project_spec.rb +1 -1
  749. data/spec/models/settings_flow_spec.rb +1 -1
  750. data/spec/models/settings_flow_state_spec.rb +1 -1
  751. data/spec/models/source_position_spec.rb +1 -1
  752. data/spec/models/status_spec.rb +1 -1
  753. data/spec/models/subject_set_spec.rb +1 -1
  754. data/spec/models/subscription_spec.rb +1 -1
  755. data/spec/models/successful_code_exchange_response_spec.rb +1 -1
  756. data/spec/models/successful_native_login_spec.rb +1 -1
  757. data/spec/models/successful_native_registration_spec.rb +1 -1
  758. data/spec/models/successful_project_update_spec.rb +1 -1
  759. data/spec/models/talos_retired_value_spec.rb +1 -1
  760. data/spec/models/tax_line_item_spec.rb +1 -1
  761. data/spec/models/time_interval_spec.rb +1 -1
  762. data/spec/models/token_algorithm_spec.rb +1 -1
  763. data/spec/models/token_pagination_headers_spec.rb +1 -1
  764. data/spec/models/token_pagination_request_parameters_spec.rb +1 -1
  765. data/spec/models/token_pagination_response_headers_spec.rb +1 -1
  766. data/spec/models/token_pagination_spec.rb +1 -1
  767. data/spec/models/token_spec.rb +1 -1
  768. data/spec/models/trust_o_auth2_jwt_grant_issuer_spec.rb +1 -1
  769. data/spec/models/trusted_o_auth2_jwt_grant_issuer_spec.rb +1 -1
  770. data/spec/models/trusted_o_auth2_jwt_grant_json_web_key_spec.rb +1 -1
  771. data/spec/models/ui_container_spec.rb +1 -1
  772. data/spec/models/ui_node_anchor_attributes_spec.rb +1 -1
  773. data/spec/models/ui_node_attributes_spec.rb +1 -1
  774. data/spec/models/ui_node_division_attributes_spec.rb +1 -1
  775. data/spec/models/ui_node_image_attributes_spec.rb +1 -1
  776. data/spec/models/ui_node_input_attributes_option_spec.rb +1 -1
  777. data/spec/models/ui_node_input_attributes_spec.rb +1 -1
  778. data/spec/models/ui_node_meta_spec.rb +1 -1
  779. data/spec/models/ui_node_script_attributes_spec.rb +1 -1
  780. data/spec/models/ui_node_spec.rb +1 -1
  781. data/spec/models/ui_node_text_attributes_spec.rb +1 -1
  782. data/spec/models/ui_text_spec.rb +1 -1
  783. data/spec/models/update_fedcm_flow_body_spec.rb +1 -1
  784. data/spec/models/update_identity_body_spec.rb +1 -1
  785. data/spec/models/update_login_flow_body_spec.rb +1 -1
  786. data/spec/models/update_login_flow_with_code_method_spec.rb +1 -1
  787. data/spec/models/update_login_flow_with_device_authn_method_spec.rb +1 -1
  788. data/spec/models/update_login_flow_with_identifier_first_method_spec.rb +1 -1
  789. data/spec/models/update_login_flow_with_lookup_secret_method_spec.rb +7 -1
  790. data/spec/models/update_login_flow_with_oidc_method_spec.rb +1 -1
  791. data/spec/models/update_login_flow_with_passkey_method_spec.rb +7 -1
  792. data/spec/models/update_login_flow_with_password_method_spec.rb +1 -1
  793. data/spec/models/update_login_flow_with_saml_method_spec.rb +1 -1
  794. data/spec/models/update_login_flow_with_totp_method_spec.rb +1 -1
  795. data/spec/models/update_login_flow_with_web_authn_method_spec.rb +1 -1
  796. data/spec/models/update_organization_onboarding_portal_link_body_spec.rb +1 -1
  797. data/spec/models/update_recovery_flow_body_spec.rb +1 -1
  798. data/spec/models/update_recovery_flow_with_code_method_spec.rb +1 -1
  799. data/spec/models/update_recovery_flow_with_link_method_spec.rb +1 -1
  800. data/spec/models/update_registration_flow_body_spec.rb +1 -1
  801. data/spec/models/update_registration_flow_with_code_method_spec.rb +1 -1
  802. data/spec/models/update_registration_flow_with_oidc_method_spec.rb +1 -1
  803. data/spec/models/update_registration_flow_with_passkey_method_spec.rb +1 -1
  804. data/spec/models/update_registration_flow_with_password_method_spec.rb +1 -1
  805. data/spec/models/update_registration_flow_with_profile_method_spec.rb +1 -1
  806. data/spec/models/update_registration_flow_with_saml_method_spec.rb +1 -1
  807. data/spec/models/update_registration_flow_with_web_authn_method_spec.rb +1 -1
  808. data/spec/models/update_settings_flow_body_spec.rb +1 -1
  809. data/spec/models/update_settings_flow_with_device_authn_method_register_spec.rb +1 -1
  810. data/spec/models/update_settings_flow_with_device_authn_method_rotate_secret_spec.rb +1 -1
  811. data/spec/models/update_settings_flow_with_device_authn_method_spec.rb +1 -1
  812. data/spec/models/update_settings_flow_with_lookup_method_spec.rb +1 -1
  813. data/spec/models/update_settings_flow_with_oidc_method_spec.rb +1 -1
  814. data/spec/models/update_settings_flow_with_passkey_method_spec.rb +1 -1
  815. data/spec/models/update_settings_flow_with_password_method_spec.rb +1 -1
  816. data/spec/models/update_settings_flow_with_profile_method_spec.rb +1 -1
  817. data/spec/models/update_settings_flow_with_saml_method_spec.rb +1 -1
  818. data/spec/models/update_settings_flow_with_totp_method_spec.rb +1 -1
  819. data/spec/models/update_settings_flow_with_web_authn_method_spec.rb +1 -1
  820. data/spec/models/update_subscription_body_spec.rb +1 -1
  821. data/spec/models/update_verification_flow_body_spec.rb +1 -1
  822. data/spec/models/update_verification_flow_with_code_method_spec.rb +1 -1
  823. data/spec/models/update_verification_flow_with_link_method_spec.rb +1 -1
  824. data/spec/models/update_workspace_body_spec.rb +1 -1
  825. data/spec/models/update_workspace_organization_body_spec.rb +1 -1
  826. data/spec/models/usage_spec.rb +1 -1
  827. data/spec/models/user_verification_spec.rb +1 -1
  828. data/spec/models/validate_base_url_rewrite_request_spec.rb +1 -1
  829. data/spec/models/validate_base_url_rewrite_response_spec.rb +1 -1
  830. data/spec/models/verifiable_credential_priming_response_spec.rb +1 -1
  831. data/spec/models/verifiable_credential_proof_spec.rb +1 -1
  832. data/spec/models/verifiable_credential_response_spec.rb +1 -1
  833. data/spec/models/verifiable_identity_address_spec.rb +1 -1
  834. data/spec/models/verification_error_code_spec.rb +1 -1
  835. data/spec/models/verification_flow_spec.rb +1 -1
  836. data/spec/models/verification_flow_state_spec.rb +1 -1
  837. data/spec/models/verify_api_key_request_spec.rb +1 -1
  838. data/spec/models/verify_api_key_response_spec.rb +1 -1
  839. data/spec/models/verify_user_code_request_spec.rb +1 -1
  840. data/spec/models/version_spec.rb +1 -1
  841. data/spec/models/warning_spec.rb +1 -1
  842. data/spec/models/web_authn_related_origins_spec.rb +1 -1
  843. data/spec/models/workspace_api_key_spec.rb +1 -1
  844. data/spec/models/workspace_contact_recipient_input_spec.rb +1 -1
  845. data/spec/models/workspace_contact_recipient_spec.rb +1 -1
  846. data/spec/models/workspace_contact_spec.rb +1 -1
  847. data/spec/models/workspace_organization_spec.rb +1 -1
  848. data/spec/models/workspace_spec.rb +1 -1
  849. data/spec/spec_helper.rb +1 -1
  850. data/vendor/bundle/ruby/3.2.0/cache/ethon-0.19.1.gem +0 -0
  851. data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.5.gem +0 -0
  852. data/vendor/bundle/ruby/3.2.0/cache/typhoeus-1.7.1.gem +0 -0
  853. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  854. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/{io-console-0.9.4 → io-console-0.9.5}/gem_make.out +10 -10
  855. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/{io-console-0.9.4 → io-console-0.9.5}/io/console.so +0 -0
  856. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/{io-console-0.9.4 → io-console-0.9.5}/mkmf.log +6 -6
  857. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  858. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/psych-4.0.6/gem_make.out +5 -5
  859. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem_make.out +5 -5
  860. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  861. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/CHANGELOG.md +1120 -0
  862. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/README.md +261 -0
  863. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curl.rb +22 -0
  864. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/classes.rb +337 -0
  865. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/codes.rb +28 -9
  866. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/constants.rb +61 -4
  867. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/form_options.rb +2 -1
  868. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/functions.rb +107 -0
  869. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/infos.rb +104 -5
  870. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/introspection.rb +139 -0
  871. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/introspection_constants.rb +42 -0
  872. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/mime.rb +187 -0
  873. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/optional.rb +14 -0
  874. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/options.rb +298 -71
  875. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/settings.rb +21 -0
  876. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/share.rb +165 -0
  877. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/share_constants.rb +47 -0
  878. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/url.rb +171 -0
  879. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/url_constants.rb +78 -0
  880. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/callbacks.rb +281 -0
  881. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/features.rb +4 -1
  882. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/files.rb +113 -0
  883. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/form.rb +65 -6
  884. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/header.rb +103 -0
  885. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/headers_api.rb +79 -0
  886. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/actionable.rb +25 -3
  887. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/get.rb +5 -1
  888. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/post.rb +1 -0
  889. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/postable.rb +9 -2
  890. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/http/putable.rb +40 -0
  891. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http.rb +16 -4
  892. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/informations.rb +51 -2
  893. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/mime.rb +29 -0
  894. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/mirror.rb +49 -0
  895. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/operations.rb +317 -0
  896. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/options.rb +369 -0
  897. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/queryable.rb +59 -14
  898. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/response_callbacks.rb +33 -12
  899. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/share.rb +28 -0
  900. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/url.rb +32 -0
  901. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/util.rb +47 -0
  902. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy.rb +185 -10
  903. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/fork_safety.rb +10 -0
  904. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/form_add.rb +12 -0
  905. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/global_init.rb +1 -1
  906. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/header.rb +12 -0
  907. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/invalid_option.rb +3 -1
  908. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/invalid_value.rb +15 -0
  909. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/mime.rb +17 -0
  910. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_add.rb +1 -1
  911. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_assign.rb +12 -0
  912. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_fdset.rb +1 -1
  913. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_perform.rb +12 -0
  914. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_poll.rb +12 -0
  915. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_remove.rb +1 -1
  916. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_timeout.rb +2 -2
  917. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_wait.rb +12 -0
  918. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_wakeup.rb +12 -0
  919. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/select.rb +1 -1
  920. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/set_option.rb +27 -0
  921. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/share.rb +17 -0
  922. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/unsupported_option.rb +23 -0
  923. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/url.rb +17 -0
  924. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors.rb +13 -0
  925. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/libc.rb +50 -0
  926. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/loggable.rb +1 -1
  927. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/operations.rb +472 -0
  928. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/options.rb +219 -0
  929. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/stack.rb +220 -0
  930. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/multi.rb +51 -15
  931. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/version.rb +1 -1
  932. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon.rb +8 -9
  933. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/console.c +8 -3
  934. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/extconf.rb +7 -3
  935. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/lib/io/console.so +0 -0
  936. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/CHANGELOG.md +228 -1
  937. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/README.md +766 -0
  938. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/UPGRADE.md +29 -0
  939. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/rack/typhoeus/middleware/params_decoder/helper.rb +129 -0
  940. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/rack/typhoeus/middleware/params_decoder.rb +8 -19
  941. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/rack/typhoeus.rb +2 -0
  942. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/adapters/faraday.rb +89 -28
  943. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/dalli.rb +2 -0
  944. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/rails.rb +3 -1
  945. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/redis.rb +2 -0
  946. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/config.rb +51 -7
  947. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/easy_factory.rb +129 -23
  948. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/errors/invalid_option.rb +23 -0
  949. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/errors/no_response.rb +18 -0
  950. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors/no_stub.rb +8 -1
  951. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors/typhoeus_error.rb +2 -0
  952. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors.rb +4 -0
  953. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/expectation.rb +33 -1
  954. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/hydra/queueable.rb +29 -4
  955. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/hydra.rb +423 -0
  956. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/pool.rb +133 -0
  957. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/railtie.rb +4 -2
  958. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/actions.rb +2 -0
  959. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/callbacks.rb +11 -4
  960. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/marshal.rb +5 -2
  961. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/streamable.rb +2 -0
  962. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/request.rb +510 -0
  963. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/cacheable.rb +2 -0
  964. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/response/header.rb +325 -0
  965. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/informations.rb +75 -12
  966. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/status.rb +4 -13
  967. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response.rb +35 -0
  968. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/version.rb +3 -1
  969. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus.rb +206 -0
  970. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/typhoeus.gemspec +15 -3
  971. data/vendor/bundle/ruby/3.2.0/specifications/{ethon-0.18.0.gemspec → ethon-0.19.1.gemspec} +4 -4
  972. data/vendor/bundle/ruby/3.2.0/specifications/{io-console-0.9.4.gemspec → io-console-0.9.5.gemspec} +3 -3
  973. data/vendor/bundle/ruby/3.2.0/specifications/{typhoeus-1.6.0.gemspec → typhoeus-1.7.1.gemspec} +5 -5
  974. metadata +143 -129
  975. data/vendor/bundle/ruby/3.2.0/cache/ethon-0.18.0.gem +0 -0
  976. data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.4.gem +0 -0
  977. data/vendor/bundle/ruby/3.2.0/cache/typhoeus-1.6.0.gem +0 -0
  978. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/CHANGELOG.md +0 -417
  979. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/README.md +0 -118
  980. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/classes.rb +0 -65
  981. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/functions.rb +0 -58
  982. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/settings.rb +0 -12
  983. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/callbacks.rb +0 -155
  984. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/header.rb +0 -61
  985. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/http/putable.rb +0 -25
  986. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/mirror.rb +0 -36
  987. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/operations.rb +0 -64
  988. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/options.rb +0 -50
  989. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/util.rb +0 -28
  990. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/errors/invalid_value.rb +0 -13
  991. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/libc.rb +0 -21
  992. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/operations.rb +0 -228
  993. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/options.rb +0 -117
  994. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/stack.rb +0 -49
  995. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/README.md +0 -588
  996. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -76
  997. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/addable.rb +0 -23
  998. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/before.rb +0 -31
  999. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/block_connection.rb +0 -35
  1000. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/cacheable.rb +0 -15
  1001. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/memoizable.rb +0 -56
  1002. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/runnable.rb +0 -19
  1003. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/stubbable.rb +0 -28
  1004. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra.rb +0 -95
  1005. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/pool.rb +0 -70
  1006. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/before.rb +0 -30
  1007. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/block_connection.rb +0 -52
  1008. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/cacheable.rb +0 -38
  1009. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/memoizable.rb +0 -38
  1010. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/operations.rb +0 -40
  1011. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/responseable.rb +0 -29
  1012. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/stubbable.rb +0 -30
  1013. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request.rb +0 -223
  1014. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/response/header.rb +0 -105
  1015. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus.rb +0 -143
  1016. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/{io-console-0.9.4 → io-console-0.9.5}/gem.build_complete +0 -0
  1017. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/LICENSE +0 -0
  1018. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/ethon.gemspec +0 -0
  1019. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/messages.rb +0 -0
  1020. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/debug_info.rb +0 -0
  1021. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/custom.rb +0 -0
  1022. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/delete.rb +0 -0
  1023. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/head.rb +0 -0
  1024. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/options.rb +0 -0
  1025. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/patch.rb +0 -0
  1026. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/put.rb +0 -0
  1027. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/params.rb +0 -0
  1028. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/ethon_error.rb +0 -0
  1029. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/.document +0 -0
  1030. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/BSDL +0 -0
  1031. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/COPYING +0 -0
  1032. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/README.md +0 -0
  1033. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/Makefile +0 -0
  1034. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/win32_vk.inc +0 -0
  1035. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/lib/io/console/size.rb +0 -0
  1036. /data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/CONTRIBUTING.md +0 -0
  1037. /data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/LICENSE +0 -0
@@ -0,0 +1,1120 @@
1
+ # Changelog
2
+
3
+ ## Master
4
+
5
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.19.1...master)
6
+
7
+ ## 0.19.1
8
+
9
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.19.0...v0.19.1)
10
+
11
+ ### Behavior changes
12
+
13
+ * Size a Multi's connection cache to twice the largest number of easy handles
14
+ attached at once. libcurl derives its default `CURLMOPT_MAXCONNECTS` from the
15
+ number of handles attached when a connection is returned, but Ethon detaches
16
+ finished handles immediately, which made the default shrink during a run and
17
+ close connections that later requests could have reused. An explicit
18
+ `maxconnects:` still takes precedence.
19
+ ([#455](https://github.com/typhoeus/ethon/pull/455))
20
+
21
+ ### Fixes and hardening
22
+
23
+ * Allow `Easy#cleanup` from an `on_complete` callback. The transfer has
24
+ finished and a Multi detaches the handle before its callbacks run, so freeing
25
+ it is safe. Cleanup from body, header, and progress callbacks is still
26
+ rejected. This fixes `:resolve` requests in Typhoeus 1.7.0, which clean up
27
+ instead of pooling to avoid leaking `CURLOPT_RESOLVE` entries.
28
+ ([#456](https://github.com/typhoeus/ethon/pull/456),
29
+ [typhoeus#824](https://github.com/typhoeus/typhoeus/issues/824))
30
+
31
+ ## 0.19.0
32
+
33
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.18.0...v0.19.0)
34
+
35
+ Before 1.0, a minor release may include incompatible API changes; review the
36
+ breaking changes before upgrading.
37
+
38
+ ### Breaking changes
39
+
40
+ * Unsupported libcurl callback ABIs now raise `NotImplementedError` instead of
41
+ being registered with the generic read/write callback signature. This affects
42
+ low-level setters such as `ioctlfunction=`, `seekfunction=`, and
43
+ `opensocketfunction=`. ([#281](https://github.com/typhoeus/ethon/pull/281))
44
+ * Fatal errors returned by `curl_multi_perform` now raise
45
+ `Ethon::Errors::MultiPerform` instead of allowing Multi execution to continue
46
+ with invalid state. ([#286](https://github.com/typhoeus/ethon/pull/286))
47
+ * Easy and Multi handles created before a `fork` can no longer be used or
48
+ cleaned up in the child process. Ethon now raises
49
+ `Ethon::Errors::ForkSafety`; if libcurl was initialized before forking, use
50
+ `fork` plus `exec`, otherwise create handles after forking.
51
+ ([#295](https://github.com/typhoeus/ethon/pull/295))
52
+ * Unknown named enum and bitmask option values now raise
53
+ `Ethon::Errors::InvalidValue` instead of silently becoming `0`. Strings and
54
+ symbols are accepted equivalently, and direct integer values remain
55
+ supported. ([#300](https://github.com/typhoeus/ethon/pull/300))
56
+ * Exceptions raised by `on_body` callbacks are now consistently re-raised for
57
+ both Easy and Multi transfers, including when verbose mode is enabled.
58
+ Applications that relied on these exceptions being swallowed must handle
59
+ them explicitly. ([#294](https://github.com/typhoeus/ethon/pull/294))
60
+ * Errors from `curl_easy_setopt` and `curl_multi_setopt` are no longer ignored.
61
+ An option the loaded libcurl does not know raises
62
+ `Ethon::Errors::UnsupportedOption`, and other rejected values raise
63
+ `Ethon::Errors::SetOption`. Setting an option such as
64
+ `Easy#http_version = :httpv3` on a libcurl built without HTTP/3 now raises
65
+ instead of silently running with a different configuration.
66
+ `Curl.supports_option?` and `Curl.version_at_least?` can be used to guard
67
+ optional settings.
68
+ ([#343](https://github.com/typhoeus/ethon/pull/343))
69
+ * `require 'ethon'` no longer loads mime-types: the registry is loaded on the
70
+ first file upload instead, saving about 2.4 MB and 100 ms per process. Code
71
+ relying on ethon to load `MIME::Types` must now require it itself.
72
+ ([Clément Joubert](https://github.com/czj),
73
+ [#320](https://github.com/typhoeus/ethon/pull/320))
74
+ * `Easy#cleanup` and `Multi#cleanup` are terminal, and `Easy#perform` and
75
+ `Easy#reset` raise while the handle is attached to a `Multi`. Applications
76
+ that reused cleaned-up or attached handles must create new ones.
77
+ ([#326](https://github.com/typhoeus/ethon/pull/326),
78
+ [#339](https://github.com/typhoeus/ethon/pull/339),
79
+ [#346](https://github.com/typhoeus/ethon/pull/346),
80
+ [#382](https://github.com/typhoeus/ethon/pull/382))
81
+
82
+ ### Behavior changes
83
+
84
+ * Verbose debug output is written through `Ethon.logger` at the debug level
85
+ instead of directly to stdout, so request and response headers no longer
86
+ bypass the application's logging configuration. Set
87
+ `Ethon.logger.level = Logger::DEBUG` to keep seeing the messages; response
88
+ body data is not logged.
89
+ ([#390](https://github.com/typhoeus/ethon/pull/390))
90
+ * Assigning a new native handle to an `Easy`, including `Easy.new(handle: ...)`
91
+ and `Easy#handle = nil`, now installs Ethon's response callbacks and replays
92
+ the callbacks retained by the object. Constructor options are applied to a
93
+ supplied handle instead of the handle Ethon created and discarded.
94
+ ([#402](https://github.com/typhoeus/ethon/pull/402))
95
+ * `Easy#postfields=` now sets `CURLOPT_POSTFIELDSIZE` from the retained bytes
96
+ and restores libcurl's default (`-1`) when the body is cleared. This keeps a
97
+ previous, larger body size from being applied to a shorter body. Set
98
+ `postfieldsize` after `postfields` when sending a prefix or another length.
99
+ ([#403](https://github.com/typhoeus/ethon/pull/403))
100
+ * `Easy#postfields=` and `Easy#copypostfields=` now send binary bodies without
101
+ truncating them at the first NUL. A `postfieldsize` larger than the retained
102
+ body raises `Ethon::Errors::InvalidValue` instead of making libcurl read
103
+ past the buffer. Copying a new body without an explicit size sets the exact
104
+ byte length, and clearing the copied body clears the size as well.
105
+ ([#436](https://github.com/typhoeus/ethon/pull/436))
106
+ * `Multi.new` now accepts `max_host_connections`, `max_pipeline_length`,
107
+ `content_length_penalty_size`, and `chunk_length_penalty_size`, which were
108
+ already in the multi option table but had no setters.
109
+ ([#444](https://github.com/typhoeus/ethon/pull/444))
110
+ * `Share#unlockfunction` callbacks now receive `(handle, data, userp)`, the
111
+ arguments defined by `curl_unlock_function`. They previously used the lock
112
+ callback signature, so the user pointer was read as an access mode and the
113
+ callback received a garbage fourth argument.
114
+ ([#405](https://github.com/typhoeus/ethon/pull/405))
115
+ * `Easy#header` and `Easy#each_header` now default to the last request in a
116
+ transfer (`request = -1`), so structured headers describe the response after
117
+ a redirect instead of the first request. Pass `0` to read the first request.
118
+ ([#409](https://github.com/typhoeus/ethon/pull/409))
119
+ * `Easy#url=` now stores a frozen snapshot of the string libcurl accepted, and
120
+ `Easy#request_headers` returns a fresh copy of the headers and header values
121
+ that were accepted. Mutating the object passed to a setter no longer makes
122
+ the accessor describe a URL or header set the handle never received.
123
+ ([#413](https://github.com/typhoeus/ethon/pull/413),
124
+ [#418](https://github.com/typhoeus/ethon/pull/418))
125
+ * Multipart POST and PUT bodies now use the MIME API when the loaded libcurl
126
+ supports it, and fall back to the deprecated form API on older builds. Part
127
+ names, files, filenames, content types, and regular fields are preserved.
128
+ ([#318](https://github.com/typhoeus/ethon/pull/318))
129
+ * Explicit `writefunction`, `headerfunction`, and `debugfunction` options
130
+ passed to `Easy.new` are no longer overwritten by Ethon's internal
131
+ callbacks. A response that aborts from `on_headers` also leaves the buffered
132
+ body empty.
133
+ ([#345](https://github.com/typhoeus/ethon/pull/345))
134
+ * Empty HTTP header values now follow libcurl semantics: `"Accept" => ""`
135
+ suppresses libcurl's default header, while `"X-Empty;" => ""` sends an empty
136
+ header. ([gonubana](https://github.com/gonubana),
137
+ [#225](https://github.com/typhoeus/ethon/pull/225))
138
+
139
+ ### Enhancements
140
+
141
+ * Added opt-in `CURLOPT_ERRORBUFFER` support through `Easy#errorbuffer=` and
142
+ `Easy#error_message`, including reset, duplication, Multi, and Mirror support.
143
+ ([Adrien Rey-Jarthon](https://github.com/jarthod),
144
+ [#277](https://github.com/typhoeus/ethon/pull/277))
145
+ * Added `Easy#file=` and `Easy#writedata=` to stream response bodies to a path
146
+ or writable Ruby object without accumulating the body in memory. The original
147
+ implementation and authorship were preserved from PR #100.
148
+ ([Seth Madison](https://github.com/baconz),
149
+ [#298](https://github.com/typhoeus/ethon/pull/298))
150
+ * Added block-based `Easy#debugfunction` observers while preserving Ethon's
151
+ internal debug collection and safely propagating callback errors.
152
+ ([Kai Lieth](https://github.com/klieth),
153
+ [#154](https://github.com/typhoeus/ethon/pull/154))
154
+ * Added `Easy#ssl_engines`, `Easy#cookielist`, and `Easy#certinfo`. Slist
155
+ results are copied and freed according to libcurl ownership rules, while
156
+ certificate lists are copied without freeing libcurl-owned memory. The
157
+ relevant implementation and authorship were preserved from PR #74.
158
+ ([Jethro Beekman](https://github.com/jethrogb),
159
+ [#299](https://github.com/typhoeus/ethon/pull/299))
160
+ * Added multipart PUT support. ([#292](https://github.com/typhoeus/ethon/pull/292))
161
+ * Released the Ruby GVL around `curl_multi_perform` and native handle cleanup.
162
+ ([Vladimir Shteinman](https://github.com/Bobochka),
163
+ [#278](https://github.com/typhoeus/ethon/pull/278))
164
+ * Added libcurl error codes 89 through 101.
165
+ ([Adrien Rey-Jarthon](https://github.com/jarthod),
166
+ [#276](https://github.com/typhoeus/ethon/pull/276))
167
+ * Added the remaining libcurl 8.7.1 options, info values, blob options, enum
168
+ table entries, and symbolic option values, including DoH, HSTS, Alt-Svc,
169
+ AWS SigV4, SASL, HTTP/3, TLS 1.3 ciphers, proxy headers, and the modern
170
+ `_t`, socket, and pointer info getters.
171
+ ([#307](https://github.com/typhoeus/ethon/pull/307),
172
+ [#308](https://github.com/typhoeus/ethon/pull/308),
173
+ [#309](https://github.com/typhoeus/ethon/pull/309))
174
+ * `Multi` now prefers `curl_multi_poll` and `curl_multi_wait` over `select`,
175
+ allocating fd sets only for the fallback. This reduces `Multi.new` memory
176
+ from roughly 199 KB to 7 KB on hosts with a large fd limit and avoids 1ms
177
+ busy-waiting when no descriptor is ready.
178
+ ([#330](https://github.com/typhoeus/ethon/pull/330))
179
+ * Added support for current Windows libcurl DLL names: `libcurl-4`,
180
+ `libcurl-x64`, and `libcurl-arm64`.
181
+ ([Shizuo Fujita](https://github.com/Watson1978),
182
+ [#271](https://github.com/typhoeus/ethon/pull/271))
183
+ * Added `ETHON_CURL_LIBS` to override the native libcurl library names.
184
+ ([Sergey Tarasov](https://github.com/dzirtusss),
185
+ [#235](https://github.com/typhoeus/ethon/pull/235))
186
+
187
+ ### New libcurl bindings
188
+
189
+ * Added a URL API wrapper (`Ethon::Curl::Url`) with `get`, `set`, `dup`, and
190
+ `to_s`, plus the `CURLU_*` part, code, and flag enums.
191
+ ([#311](https://github.com/typhoeus/ethon/pull/311))
192
+ * Added a MIME API wrapper (`Ethon::Curl::Mime`, `Ethon::Curl::MimePart`) and
193
+ `Easy#mime=`/`#mimepost=` for multipart bodies, including per-part headers.
194
+ ([#312](https://github.com/typhoeus/ethon/pull/312))
195
+ * Added a share API wrapper (`Ethon::Curl::Share`) with `Easy#share=` and
196
+ lock/unlock callbacks for multi-threaded sharing.
197
+ ([#313](https://github.com/typhoeus/ethon/pull/313))
198
+ * Added structured response headers (`Easy#header`, `Easy#each_header`,
199
+ `Easy#headers_list`), option introspection (`Curl.easy_option`,
200
+ `Curl.option_by_id`, `Curl.each_easy_option`), and version introspection
201
+ (`Curl.protocols`, `Curl.feature_names`, `Curl.version_info_full`).
202
+ ([#314](https://github.com/typhoeus/ethon/pull/314))
203
+ * Added `Easy#unescape`, `Easy#pause`, `Easy#upkeep`, `Multi#wait`,
204
+ `Multi#poll`, and `Multi#wakeup`.
205
+ ([#310](https://github.com/typhoeus/ethon/pull/310))
206
+ * Added `Multi#assign`, `Multi#native_handles`, the `Curl::SslBackend` enum,
207
+ and optional `curl_global_sslset`/`curl_global_trace` bindings.
208
+ ([#315](https://github.com/typhoeus/ethon/pull/315))
209
+
210
+ Functions that are not exported by the loaded libcurl are attached
211
+ conditionally. Wrappers raise `NotImplementedError` when the function they need
212
+ is unavailable; introspection helpers return `nil` or an empty array.
213
+
214
+ ### Fixes and hardening
215
+
216
+ * Callback errors are now raised after the transfer has completed, so
217
+ `on_complete` callbacks still run and an `Easy` is removed from its `Multi`
218
+ before the error reaches the caller.
219
+ ([#302](https://github.com/typhoeus/ethon/pull/302))
220
+ * A failed `curl_easy_init` or `curl_multi_init` now raises `NoMemoryError`
221
+ immediately instead of wrapping address `0` and deferring the failure.
222
+ ([#305](https://github.com/typhoeus/ethon/pull/305))
223
+ * `Easy#headers=` now rejects CR and LF in header names and values with
224
+ `Ethon::Errors::InvalidValue`, so custom headers cannot inject additional
225
+ request headers.
226
+ ([#327](https://github.com/typhoeus/ethon/pull/327))
227
+ * PUT bodies now honor `escape: false` instead of always percent-encoding the
228
+ form, matching POST behavior.
229
+ ([#328](https://github.com/typhoeus/ethon/pull/328))
230
+ * Numeric option values are now checked against the signed range of the
231
+ native type before being passed to libcurl. Values outside the range raise
232
+ `Ethon::Errors::InvalidValue` instead of a later `RangeError` or FFI error.
233
+ ([#329](https://github.com/typhoeus/ethon/pull/329))
234
+ * Request header lists are freed when a later header is invalid or
235
+ `curl_slist_append` fails, and unknown header origins raise
236
+ `Ethon::Errors::InvalidValue` instead of reaching libcurl as `0`.
237
+ ([#347](https://github.com/typhoeus/ethon/pull/347))
238
+ * Response stream teardown now only finishes the destination that the completed
239
+ transfer wrote to. A completion callback can schedule the next transfer on
240
+ the same `Easy` (including adding it to a `Multi` with a new or reused
241
+ response file); that destination is no longer closed before the next transfer
242
+ runs. `Multi#add` finishes the previous transfer's stream before preparing
243
+ the next one, and no longer clears a pending callback error while the Easy is
244
+ completing, so the error from the finished transfer is still raised. A
245
+ failing close or flush also no longer replaces the callback or completion
246
+ error, and `Multi#perform` runs `on_complete` before raising a teardown error
247
+ for a handle libcurl already detached.
248
+ ([#431](https://github.com/typhoeus/ethon/pull/431))
249
+ * `Multi#assign` rejects a nil or non-integer socket descriptor with
250
+ `Ethon::Errors::InvalidValue` instead of letting FFI raise `TypeError`.
251
+ ([#432](https://github.com/typhoeus/ethon/pull/432))
252
+ * `Curl::Url#clone` now duplicates the native URL handle through
253
+ `curl_url_dup`, like `#dup`, instead of raising
254
+ `cannot duplicate FFI::AutoPointer`.
255
+ ([#433](https://github.com/typhoeus/ethon/pull/433))
256
+ * Response bodies written to a Ruby IO now retry short writes. Wrapper and
257
+ nonblocking destinations could accept fewer bytes than a chunk without
258
+ raising, and the rest of the chunk was silently lost. A write that reports
259
+ zero progress now fails the transfer, while destinations returning `nil`
260
+ keep their previous behavior.
261
+ ([#443](https://github.com/typhoeus/ethon/pull/443))
262
+ * `Easy#file=` now opens a new path before releasing the previous response
263
+ destination. A bad path raises without discarding the file that was already
264
+ configured, so the next `perform` still writes to it.
265
+ ([#439](https://github.com/typhoeus/ethon/pull/439))
266
+ * A duplicated `Easy` keeps a configured response file path and opens its own
267
+ stream for the next transfer. A caller-owned IO is still dropped so the two
268
+ handles cannot write into the same object.
269
+ ([#435](https://github.com/typhoeus/ethon/pull/435))
270
+ * Multipart forms no longer treat every `Array` value as a file upload. With
271
+ `params_encoding: :none`, ordinary arrays stay data, and file values are
272
+ marked by `Queryable::FileInfo`. Raw `String` bodies are rejected when
273
+ `multipart: true` is requested instead of producing an unnamed part or a
274
+ `NoMethodError`.
275
+ ([#441](https://github.com/typhoeus/ethon/pull/441),
276
+ [#438](https://github.com/typhoeus/ethon/pull/438))
277
+ * `InvalidOption`, `UnsupportedOption`, and `SetOption` now inspect the option
278
+ name in their messages, so control characters in an untrusted option key
279
+ cannot inject lines into logs.
280
+ ([#442](https://github.com/typhoeus/ethon/pull/442))
281
+ * Corrected API annotations for the `Easy#perform` and `Easy#handle` return
282
+ types, the `Multi` option setter parameter types, and `Multi#socket_action`.
283
+ ([#445](https://github.com/typhoeus/ethon/pull/445))
284
+ * Assigning a replacement handle now clears the Ruby-side URL, headers,
285
+ postfields, URL/MIME/slist/blob/share state, response, and return code,
286
+ because the new handle does not have them. `Easy#dup` keeps that state
287
+ because the native duplicate already carries it.
288
+ ([#448](https://github.com/typhoeus/ethon/pull/448))
289
+ * `Ethon::Errors::InvalidValue` now escapes the value in its message, so a
290
+ CR or LF in a rejected URL or request-line value can no longer be injected
291
+ into logs that record the exception.
292
+ ([#429](https://github.com/typhoeus/ethon/pull/429))
293
+ * The `haproxy_client_ip` option now rejects whitespace. libcurl writes the
294
+ value into the space-separated PROXY protocol line without validating it, so
295
+ a value could add fields or lines to the header.
296
+ ([#428](https://github.com/typhoeus/ethon/pull/428))
297
+ * URL values now reject CR and LF before libcurl stores them. libcurl's URL
298
+ API wrote line breaks in paths and queries into the request line verbatim,
299
+ so a URL handle attached with `Easy#curlu=` could inject headers. The string
300
+ setter accepted the same input into `Easy#url` and debug logs before the
301
+ transfer failed. Percent-encoded line breaks remain valid.
302
+ ([#419](https://github.com/typhoeus/ethon/pull/419),
303
+ [#425](https://github.com/typhoeus/ethon/pull/425))
304
+ * `Curl::Url.new(existing_url)` now duplicates the handle instead of re-parsing
305
+ its string form. Partial handles can be copied, complete handles are not
306
+ normalized, and non-zero `CURLU_*` flags are rejected for a copy because
307
+ there is no parse step to apply them to.
308
+ ([#420](https://github.com/typhoeus/ethon/pull/420))
309
+ * `Multi#add` and `#delete` now roll back their Ruby-side stack when the native
310
+ add or remove raises, `Easy#cleanup` refuses to free an attached handle, and
311
+ `Multi#cleanup` detaches every easy handle and is terminal. Socket and timer
312
+ callbacks are kept until the native multi is cleaned up.
313
+ ([#326](https://github.com/typhoeus/ethon/pull/326))
314
+ * `Multi#delete` and `Multi#cleanup` now clear the running count when the stack
315
+ becomes empty, so `Multi#ongoing?` is false after the last handle is removed.
316
+ A handle that libcurl detached before a socket callback raised is no longer
317
+ put back on the stack, so it remains usable.
318
+ ([#421](https://github.com/typhoeus/ethon/pull/421))
319
+ * `Easy#reset_transfer_state` clears `return_code`, so adding a used Easy to a
320
+ Multi no longer exposes the previous transfer's result until the new transfer
321
+ completes.
322
+ ([#422](https://github.com/typhoeus/ethon/pull/422))
323
+ * Streamed response destinations are flushed before `on_complete`, and
324
+ caller-owned response IOs are flushed when the transfer finishes. Previously
325
+ completion callbacks could read a partial body, and caller-owned file writers
326
+ needed an explicit flush after `perform`.
327
+ ([#424](https://github.com/typhoeus/ethon/pull/424))
328
+ * `Easy#log_inspect` redacts credentials in `effective_url` so debug logs do not
329
+ contain URL passwords. The same redaction applies to
330
+ `Mirror#log_informations`; `Easy#effective_url` and `Mirror#options` still
331
+ return the exact URL.
332
+ ([#423](https://github.com/typhoeus/ethon/pull/423))
333
+ * Corrected the mirror and query-parameter specs so they assert the constants
334
+ and null-byte cases they describe.
335
+ ([#426](https://github.com/typhoeus/ethon/pull/426))
336
+ * Clearing `writefunction`, `headerfunction`, or `debugfunction` now restores
337
+ Ethon's internal callback. libcurl's default callback previously wrote
338
+ response bodies to stdout, stopped collecting response headers, or sent
339
+ verbose output to stderr.
340
+ ([#410](https://github.com/typhoeus/ethon/pull/410))
341
+ * `Easy#handle=` now frees the native handle it replaces when this Easy owned
342
+ it, and reattaches the error buffer and `noprogress` setting to the
343
+ replacement. Replacing a handle no longer leaks it, and `#error_message` and
344
+ progress callbacks keep working.
345
+ ([#411](https://github.com/typhoeus/ethon/pull/411))
346
+ * `Multi#cleanup` now continues detaching the remaining easy handles after one
347
+ native detach or streamed-response close fails, instead of leaving them
348
+ attached to a cleaned-up Multi. The first error is still raised after
349
+ teardown.
350
+ ([#412](https://github.com/typhoeus/ethon/pull/412))
351
+ * `Curl::Mime.new` now rejects handles that are not an `Ethon::Easy`, an
352
+ `Ethon::Curl::EasyHandle`, or a non-null raw easy pointer. Passing another
353
+ owned handle, such as a `Multi`, previously reached `curl_mime_init` and
354
+ could crash the process. Assigning `nil` to a MIME part field now clears it
355
+ instead of setting an empty value or raising.
356
+ ([#414](https://github.com/typhoeus/ethon/pull/414))
357
+ * `Curl::Header#origin` now masks every undocumented origin bit, not only the
358
+ single reserved bit current libcurl sets, so the value only contains the
359
+ documented `CURLH_*` bits.
360
+ ([#417](https://github.com/typhoeus/ethon/pull/417))
361
+ * `Curl::Slist.build` now rejects CR, LF, and NUL in list lines, so lists used
362
+ for FTP quotes, SMTP recipients, and other verbatim protocol commands cannot
363
+ inject additional commands.
364
+ ([#415](https://github.com/typhoeus/ethon/pull/415))
365
+ * `:none` options no longer interpret `false` as enabled, `Ethon.logger = nil`
366
+ falls back to the default logger, and `ETHON_FD_SIZE` is validated and
367
+ rounded up to the native fd_set word size.
368
+ ([#366](https://github.com/typhoeus/ethon/pull/366))
369
+ * HTTP helper actions are resolved through an explicit class map, so custom
370
+ verbs that collide with `Ethon::Easy::Http` constants such as `:custom` or
371
+ `:actionable` are sent as custom requests instead of raising.
372
+ ([#363](https://github.com/typhoeus/ethon/pull/363))
373
+ * The `select` fallback in `Multi#set_fds` now sleeps for the libcurl timeout
374
+ when no file descriptors are ready instead of busy-waiting in 1ms steps.
375
+ ([#364](https://github.com/typhoeus/ethon/pull/364))
376
+ * `Easy#file=` treats writable path-like objects such as `Pathname` as paths
377
+ instead of caller-owned IOs, so the response is no longer truncated on every
378
+ write. ([#360](https://github.com/typhoeus/ethon/pull/360))
379
+ * MIME part headers now reject CR, LF, and NUL bytes instead of passing them
380
+ verbatim to libcurl. Empty header lines are dropped, so assigning an empty
381
+ string clears the part headers instead of adding an empty header line.
382
+ ([#362](https://github.com/typhoeus/ethon/pull/362))
383
+ * `CURLOPT_COPYPOSTFIELDS` values are now NUL-terminated, and assigning `nil`
384
+ passes a NULL pointer instead of a zero-length buffer.
385
+ ([#359](https://github.com/typhoeus/ethon/pull/359))
386
+ * `Easy#url=` and `Easy#postfields=` only update the Ruby-side value after
387
+ libcurl accepts the option, so a rejected value cannot leave the accessors
388
+ describing state the handle never received. `Easy#postfields=` also retains
389
+ a frozen snapshot of the string libcurl points at, so caller mutations cannot
390
+ change the request or leave libcurl reading a reallocated buffer.
391
+ ([#350](https://github.com/typhoeus/ethon/pull/350),
392
+ [#374](https://github.com/typhoeus/ethon/pull/374))
393
+ * `Easy#cleanup` drops references to native-backed strings, lists, MIME/URL
394
+ handles, blobs, and callbacks after freeing the handle. It also drops the
395
+ response, progress, and debug callback closures, and `Multi#cleanup` drops
396
+ its retained socket and timer callbacks, so terminal cleanup does not keep
397
+ application state alive.
398
+ ([#365](https://github.com/typhoeus/ethon/pull/365),
399
+ [#381](https://github.com/typhoeus/ethon/pull/381))
400
+ * `Multi#cleanup` now releases the native multi handle even when detaching an
401
+ easy handle or closing a streamed response fails, and keeps multi ownership
402
+ on an easy handle whose native detach failed so it cannot be reused.
403
+ ([#352](https://github.com/typhoeus/ethon/pull/352))
404
+ * `Multi#handle` and `Multi#cleanup` now enforce fork safety before allocating
405
+ or releasing a native multi handle, and `Easy#reset`/`#perform` validate the
406
+ handle before clearing response state, so a cleaned up or inherited handle
407
+ cannot truncate a response file or discard the previous result while raising.
408
+ ([#358](https://github.com/typhoeus/ethon/pull/358))
409
+ * `Easy#handle=` now wraps a raw `FFI::Pointer` in an owned
410
+ `Ethon::Curl::EasyHandle`, so the documented setter produces a usable handle
411
+ that fork safety tracks and `#cleanup` frees. Other owned pointer types and
412
+ null pointers are rejected.
413
+ ([#380](https://github.com/typhoeus/ethon/pull/380))
414
+ * `Easy#cleanup` frees the native handle even when closing a streamed response
415
+ fails, and `Multi#add` closes an open response stream when the easy handle is
416
+ unusable or the native add fails.
417
+ ([#358](https://github.com/typhoeus/ethon/pull/358))
418
+ * Owned handles now record an explicit `free` and raise
419
+ `Ethon::Errors::EthonError` when used afterwards, instead of dereferencing
420
+ the freed native pointer. This covers Easy and Multi handles, URL, MIME,
421
+ share, and slist wrappers.
422
+ ([#382](https://github.com/typhoeus/ethon/pull/382))
423
+ * Option setters, MIME part header assignment, and `Multi#assign` reject freed
424
+ owned pointers instead of handing libcurl a dangling address.
425
+ ([#382](https://github.com/typhoeus/ethon/pull/382),
426
+ [#408](https://github.com/typhoeus/ethon/pull/408))
427
+ * MIME part and request header lists detect a failed `curl_slist_append`
428
+ allocation (FFI reports a NULL pointer, not `nil`) and free the partially
429
+ built list before installing it.
430
+ ([#347](https://github.com/typhoeus/ethon/pull/347),
431
+ [#353](https://github.com/typhoeus/ethon/pull/353))
432
+ * Fixed the `:string_escape_null` option type to resolve
433
+ `Ethon::Easy::Util` instead of an undefined constant.
434
+ ([#351](https://github.com/typhoeus/ethon/pull/351))
435
+ * Added byte-exact binary transfer tests, a full option-table cross-check
436
+ against libcurl's own metadata, multipart round-trip tests, end-to-end
437
+ coverage for the `curl_multi_wait` and `select` fallbacks, and a multi
438
+ response-isolation test.
439
+ ([#354](https://github.com/typhoeus/ethon/pull/354),
440
+ [#355](https://github.com/typhoeus/ethon/pull/355),
441
+ [#356](https://github.com/typhoeus/ethon/pull/356))
442
+ * Reusing an `Easy` no longer leaks the previous custom HTTP method or a
443
+ stale `CURLOPT_CURLU` handle. `Easy#url=` clears a URL handle, `Easy#curlu=`
444
+ clears the string URL, and `Easy#reset` detaches the share before releasing
445
+ it.
446
+ ([#323](https://github.com/typhoeus/ethon/pull/323),
447
+ [#325](https://github.com/typhoeus/ethon/pull/325),
448
+ [#344](https://github.com/typhoeus/ethon/pull/344))
449
+ * GET requests with a body send the body again; the method reset only applies
450
+ to empty GET requests.
451
+ ([#344](https://github.com/typhoeus/ethon/pull/344))
452
+ * MIME parts keep a caller-provided header slist alive until libcurl replaces
453
+ it. ([#368](https://github.com/typhoeus/ethon/pull/368))
454
+ * `Curl::Share#share` and `#unshare` now reject unknown or non-symbol/string
455
+ data types with `Ethon::Errors::InvalidValue`.
456
+ ([#338](https://github.com/typhoeus/ethon/pull/338))
457
+ * `Easy#header` and `Easy#each_header` accept an array of header origins as
458
+ documented, and reject unknown origins. `Ethon::Curl::Header#origin` no
459
+ longer exposes libcurl's reserved bit, so it matches the documented
460
+ `CURLH_*` values in `Ethon::Curl::HeaderOrigin`.
461
+ ([#347](https://github.com/typhoeus/ethon/pull/347),
462
+ [#383](https://github.com/typhoeus/ethon/pull/383))
463
+ * `Easy#cleanup` is terminal; using the handle afterwards raises
464
+ `Ethon::Errors::EthonError` instead of silently sending requests without
465
+ callbacks. ([#382](https://github.com/typhoeus/ethon/pull/382))
466
+ * Exceptions raised while buffering response headers are now captured and
467
+ re-raised after the transfer, matching the body and debug callbacks.
468
+ ([#316](https://github.com/typhoeus/ethon/pull/316))
469
+ * `Easy.supports_timeout_ms?` now checks the libcurl version instead of async
470
+ DNS support. ([#319](https://github.com/typhoeus/ethon/pull/319))
471
+ * Requests no longer set `CURLOPT_HTTPPOST` on libcurl builds configured with
472
+ `--disable-form-api`, where the option does not exist.
473
+ ([#349](https://github.com/typhoeus/ethon/pull/349))
474
+ * Corrected the native option number for `tcp_fastopen` (`CURLOPT_TCP_FASTOPEN`,
475
+ 244) and the string ABI used by `tlsauth_type` and `proxy_tlsauth_type`.
476
+ `:srp` and `"srp"` are normalized to libcurl's required `"SRP"` value.
477
+ ([#307](https://github.com/typhoeus/ethon/pull/307))
478
+ * String options containing NUL bytes now raise
479
+ `Ethon::Errors::InvalidValue` instead of FFI's `ArgumentError`, and
480
+ fractional or out-of-range values for integer options are rejected. Binary
481
+ bodies still use `copypostfields`.
482
+ ([#329](https://github.com/typhoeus/ethon/pull/329),
483
+ [#340](https://github.com/typhoeus/ethon/pull/340))
484
+ * String options that libcurl writes verbatim into a request line, a protocol
485
+ header, or a protocol command now reject CR and LF. This covers
486
+ `customrequest`, `request_target`, `useragent`, `referer`, `cookie`,
487
+ `accept_encoding`, `range`, and the RTSP, SMTP, and FTP equivalents, which
488
+ could otherwise inject additional headers or commands.
489
+ ([#379](https://github.com/typhoeus/ethon/pull/379))
490
+ * Split the progress callback ABI into `CURLOPT_PROGRESSFUNCTION` (`double`) and
491
+ `CURLOPT_XFERINFOFUNCTION` (`curl_off_t`), and select it using libcurl's
492
+ numeric version instead of string comparison.
493
+ ([#307](https://github.com/typhoeus/ethon/pull/307))
494
+ * Changing `escape` or `params_encoding` after a query string was built now
495
+ rebuilds the cached pairs and string.
496
+ ([#332](https://github.com/typhoeus/ethon/pull/332))
497
+ * Read callbacks now report the number of bytes actually read, handle
498
+ short-reading IO bodies, and correctly start from an IO's current position.
499
+ ([#307](https://github.com/typhoeus/ethon/pull/307),
500
+ [#344](https://github.com/typhoeus/ethon/pull/344))
501
+ * Duplicating an `Easy` now rebinds its response, read, progress, and custom
502
+ callbacks to the copy instead of leaving them pointing at the original
503
+ handle, starts with a clean result/callback-error state, and no longer
504
+ aliases the original MIME structure.
505
+ ([#335](https://github.com/typhoeus/ethon/pull/335))
506
+ * Custom HTTP verbs that collide with top-level Ruby constants no longer
507
+ resolve to those constants.
508
+ ([#307](https://github.com/typhoeus/ethon/pull/307),
509
+ [#363](https://github.com/typhoeus/ethon/pull/363))
510
+ * `Easy#reset` now clears multipart state, request headers, retained read
511
+ callbacks, and pending callback errors. `Easy#request_headers` exposes the
512
+ request headers without colliding with the `on_headers` callback.
513
+ ([#307](https://github.com/typhoeus/ethon/pull/307),
514
+ [#323](https://github.com/typhoeus/ethon/pull/323))
515
+ * `Easy#perform` and `Easy#reset` now refuse to run while the handle is still
516
+ attached to a `Multi`, matching `Easy#cleanup`.
517
+ ([#339](https://github.com/typhoeus/ethon/pull/339),
518
+ [#346](https://github.com/typhoeus/ethon/pull/346))
519
+ * `Easy#perform`/`#reset`/`#cleanup`/`#dup` and `Multi#perform`/
520
+ `#socket_action`/`#cleanup` now reject reentrant calls made from callbacks
521
+ while the handle is still active.
522
+ ([#342](https://github.com/typhoeus/ethon/pull/342))
523
+ * `Easy#perform` now returns the result of the transfer it ran even when an
524
+ `on_complete` callback resets the Easy. Resetting clears `#return_code`, so
525
+ `perform` used to return `nil` after a successful transfer.
526
+ ([#404](https://github.com/typhoeus/ethon/pull/404))
527
+ * Reading `#on_body` without a block, or after clearing the callback list, no
528
+ longer disables response body buffering.
529
+ ([#334](https://github.com/typhoeus/ethon/pull/334))
530
+ * Multi no longer mutates the caller's options, validates `execution_mode`, and
531
+ no longer raises when `running_count` is nil. Finalizers no longer emit
532
+ `ThreadError`/`SignalException` warnings.
533
+ ([#307](https://github.com/typhoeus/ethon/pull/307))
534
+ * Windows `fd_set` now uses pointer-sized socket entries.
535
+ ([#307](https://github.com/typhoeus/ethon/pull/307))
536
+ * Added libcurl 8.23 options (`CURLOPT_ECH`, `CURLOPT_TCP_KEEPCNT`,
537
+ `CURLOPT_UPLOAD_FLAGS`, `CURLOPT_SSL_SIGNATURE_ALGORITHMS`, and the
538
+ `CURLOPT_HTTPSIG_*` family), the newer `CURLINFO_*` entries, and
539
+ `CURLUE_BACKSLASH`/`CURLU_GET_EMPTY`/`CURLU_NO_GUESS_SCHEME`.
540
+ ([#341](https://github.com/typhoeus/ethon/pull/341))
541
+ * `curl_global_sslset` results now use the `Curl::SslSetCode` enum. An unknown
542
+ backend is `:unknown_backend` instead of `:unsupported_protocol`, and a late
543
+ call is `:too_late` instead of `:failed_init`.
544
+ ([#406](https://github.com/typhoeus/ethon/pull/406))
545
+ * Fixed the test server's keep-alive limits, cutting the suite from ~35s to
546
+ ~5s, and added coverage for the option table, callbacks, reset behavior,
547
+ Multi message handling, and libcurl info ownership.
548
+ ([#324](https://github.com/typhoeus/ethon/pull/324))
549
+ * Removing an `Easy` that streams its response to a file from a `Multi`, or a
550
+ failed `Multi#add`, now closes the file instead of leaving it open until GC.
551
+ ([#336](https://github.com/typhoeus/ethon/pull/336))
552
+ * `Multi#dup` and `Multi#clone` now raise `TypeError` instead of returning a
553
+ shallow copy that shares the native multi handle and easy-handle stack with
554
+ the original.
555
+ ([#372](https://github.com/typhoeus/ethon/pull/372))
556
+ * `Easy#file=` validates the easy handle before opening a path, so a cleaned up
557
+ or fork-inherited handle cannot truncate the destination while raising.
558
+ ([#373](https://github.com/typhoeus/ethon/pull/373))
559
+ * `Easy#url=` applies a string URL before detaching a `CURLOPT_CURLU` handle,
560
+ so a rejected value leaves the existing URL handle usable.
561
+ ([#370](https://github.com/typhoeus/ethon/pull/370))
562
+ * `Multi#add` rejects an Easy that another Multi owns before resetting its
563
+ transfer state or preparing its response stream.
564
+ ([#369](https://github.com/typhoeus/ethon/pull/369))
565
+ * MIME part content types and encoders reject CR, LF, and NUL bytes, and the
566
+ other MIME part strings reject NUL bytes with `Ethon::Errors::InvalidValue`
567
+ instead of FFI's `ArgumentError`.
568
+ ([#371](https://github.com/typhoeus/ethon/pull/371))
569
+ * `Easy` retains managed `Curl::Slist` values assigned to list-backed options
570
+ such as `resolve`, `connect_to`, and `quote`, so garbage collection cannot
571
+ free a list while libcurl still uses it.
572
+ ([#368](https://github.com/typhoeus/ethon/pull/368))
573
+ * Owned native pointers now register in one shared registry, so
574
+ `Curl::OwnedPointer.owners` reports every live handle and the memory usage
575
+ test really checks for native handle leaks. Registration and release are
576
+ synchronized for concurrent handles.
577
+ ([#304](https://github.com/typhoeus/ethon/pull/304),
578
+ [#375](https://github.com/typhoeus/ethon/pull/375))
579
+ * `Easy#reset` closes a streamed response file before clearing state, so a
580
+ close failure leaves the handle usable instead of half-reset.
581
+ ([#376](https://github.com/typhoeus/ethon/pull/376))
582
+ * `Easy#complete` rejects reentrant calls from its own `on_headers` or
583
+ `on_complete` callbacks instead of recursing until the stack overflows.
584
+ ([#377](https://github.com/typhoeus/ethon/pull/377))
585
+ * `Multi#add` no longer opens the response file, resets the transfer state, and
586
+ clears callback errors before libcurl accepted the handle. A failed add
587
+ leaves the previous response and a streamed response file untouched, rolls
588
+ the native attach back when preparing the response stream fails or a socket
589
+ or timer callback raises, and keeps a handle it cannot detach tracked so
590
+ `Multi#cleanup` can retry. Non-`Ethon::Easy` arguments raise `TypeError`.
591
+ ([#386](https://github.com/typhoeus/ethon/pull/386))
592
+ * `Easy#dup` and `#clone` now raise `Ethon::Errors::EthonError` when the Easy
593
+ is still attached to a `Multi`, matching `#perform`, `#reset`, and
594
+ `#cleanup`. libcurl requires the source handle to be idle while it is
595
+ cloned, and the copy can never be part of the same multi.
596
+ ([#387](https://github.com/typhoeus/ethon/pull/387))
597
+ * `Easy#share=`, `#mime=`, and `#curlu=` now raise `TypeError` for values that
598
+ are not the matching `Ethon::Curl` wrapper and keep the previously assigned
599
+ handle. Other `FFI::Pointer` values were passed to libcurl as a share, MIME,
600
+ or URL handle, where the wrong native layout is undefined behavior.
601
+ ([#388](https://github.com/typhoeus/ethon/pull/388))
602
+ * `Curl::Url#set` and `#get` reject unknown part names and flags with
603
+ `Ethon::Errors::InvalidValue` instead of FFI's `ArgumentError`, and values
604
+ containing a NUL byte now raise `Ethon::Errors::InvalidValue` instead of
605
+ silently truncating the URL passed to libcurl. Other values are coerced with
606
+ `to_s`, and `nil` still clears a part.
607
+ ([#391](https://github.com/typhoeus/ethon/pull/391))
608
+ * `Multi#easy_handles` returns a frozen snapshot instead of the mutable array
609
+ the multi uses for its bookkeeping. Modifying the returned array previously
610
+ desynchronized the Ruby-side stack from the handles libcurl had attached.
611
+ ([#392](https://github.com/typhoeus/ethon/pull/392))
612
+ * `Easy#reset` is allowed from an `on_complete` callback again, restoring
613
+ `Typhoeus::Pool.release`, and a callback error raised during the transfer is
614
+ still raised after the reset. Resets from body, header, and progress
615
+ callbacks stay rejected.
616
+ ([#393](https://github.com/typhoeus/ethon/pull/393))
617
+ * MIME part names and filenames reject CR and LF, and the deprecated form API
618
+ validates its field name, filename, and content type, so they cannot inject
619
+ extra part headers on libcurl older than 7.81.
620
+ ([#394](https://github.com/typhoeus/ethon/pull/394))
621
+ * `Easy#mirror` omits pointer-valued informations such as
622
+ `CURLINFO_TLS_SSL_PTR`, so mirrored options stay marshalable for cached
623
+ responses. `Easy#tls_ssl_ptr` remains available.
624
+ ([#395](https://github.com/typhoeus/ethon/pull/395))
625
+ * The `select` fallback in `Multi#set_fds` releases the GVL while waiting, so
626
+ other Ruby threads can run during the wait.
627
+ ([#396](https://github.com/typhoeus/ethon/pull/396))
628
+ * Added `:https3` to `proxytype` and `:earlydata` to `ssl_options` and
629
+ `proxy_ssl_options`.
630
+ ([#397](https://github.com/typhoeus/ethon/pull/397))
631
+ * Duplicating an `Easy` keeps the progress callback that was effective on the
632
+ original: `on_progress` no longer disappears when a custom progress function
633
+ is also configured.
634
+ ([#398](https://github.com/typhoeus/ethon/pull/398))
635
+ * `Easy#handle=` rejects assignment while the Easy is performing, completing,
636
+ attached to a `Multi`, or cleaned up.
637
+ ([#399](https://github.com/typhoeus/ethon/pull/399))
638
+ * Wrapping a native pointer that another `Ethon::Curl` wrapper already owns
639
+ now raises instead of creating a second owner that can use the pointer after
640
+ it is freed. `Easy#handle=` also rejects a handle owned by another Easy.
641
+ ([#401](https://github.com/typhoeus/ethon/pull/401))
642
+ * Reworked Easy, Multi, slist, and multipart native ownership around typed,
643
+ PID-aware pointers; removed unsafe Ruby finalizers and prevented inherited
644
+ native cleanup after forks. ([#280](https://github.com/typhoeus/ethon/pull/280),
645
+ [#287](https://github.com/typhoeus/ethon/pull/287),
646
+ [#295](https://github.com/typhoeus/ethon/pull/295))
647
+ * Retained option callbacks and multipart forms for the full period in which
648
+ libcurl may call or read them. ([#282](https://github.com/typhoeus/ethon/pull/282),
649
+ [#284](https://github.com/typhoeus/ethon/pull/284))
650
+ * Kept Multi's Ruby stack consistent when native add/remove operations fail or
651
+ callbacks raise. ([#285](https://github.com/typhoeus/ethon/pull/285))
652
+ * Fixed the `curl_version_info` enum ABI and Multi's
653
+ `CURLMOPT_MAX_TOTAL_CONNECTIONS` option number.
654
+ ([#279](https://github.com/typhoeus/ethon/pull/279),
655
+ [#283](https://github.com/typhoeus/ethon/pull/283))
656
+ * Replaced deprecated `getdtablesize` usage with `Etc.sysconf`, with a resource
657
+ limit fallback and the existing `ETHON_FD_SIZE` override.
658
+ ([#296](https://github.com/typhoeus/ethon/pull/296))
659
+ * Skipped NTLM integration specs when the installed libcurl has no NTLM support.
660
+ ([Felix Yan](https://github.com/felixonmars),
661
+ [#275](https://github.com/typhoeus/ethon/pull/275))
662
+
663
+ ### Documentation and maintenance
664
+
665
+ * Documented thread, callback, signal, and fork safety requirements.
666
+ ([#297](https://github.com/typhoeus/ethon/pull/297),
667
+ [#303](https://github.com/typhoeus/ethon/pull/303))
668
+ * Documented the URL, MIME, share, header, and introspection APIs, rewrote the
669
+ README overview and usage sections, and fixed a stale documentation link and
670
+ parameter names.
671
+ ([#317](https://github.com/typhoeus/ethon/pull/317),
672
+ [#451](https://github.com/typhoeus/ethon/pull/451),
673
+ [#453](https://github.com/typhoeus/ethon/pull/453))
674
+ * Corrected `CURLMOPT_PIPELINING` documentation to describe its integer bitmask
675
+ values. ([Bernard Mak](https://github.com/b2mak),
676
+ [#239](https://github.com/typhoeus/ethon/pull/239))
677
+ * Updated curl documentation and repository links.
678
+ ([Olle Jonsson](https://github.com/olleolleolle),
679
+ [#237](https://github.com/typhoeus/ethon/pull/237))
680
+ * Removed stale test-server entry points.
681
+ ([Vít Ondruch](https://github.com/voxik),
682
+ [#256](https://github.com/typhoeus/ethon/pull/256))
683
+ * Corrected deprecation wording, warning text, and error message spelling.
684
+ ([#331](https://github.com/typhoeus/ethon/pull/331),
685
+ [#333](https://github.com/typhoeus/ethon/pull/333))
686
+ * Added regression coverage for uncovered Easy and Multi behavior, require-time
687
+ memory use, GVL scheduling, GC and native handle leaks, encoding properties,
688
+ cleanup/MIME/reuse paths, and libcurl 8.23 differences.
689
+ ([#306](https://github.com/typhoeus/ethon/pull/306),
690
+ [#321](https://github.com/typhoeus/ethon/pull/321),
691
+ [#322](https://github.com/typhoeus/ethon/pull/322),
692
+ [#337](https://github.com/typhoeus/ethon/pull/337),
693
+ [#348](https://github.com/typhoeus/ethon/pull/348),
694
+ [#361](https://github.com/typhoeus/ethon/pull/361),
695
+ [#385](https://github.com/typhoeus/ethon/pull/385),
696
+ [#430](https://github.com/typhoeus/ethon/pull/430),
697
+ [#449](https://github.com/typhoeus/ethon/pull/449))
698
+ * Expanded CI through Ruby 4.0, retained required Ruby 2.6 coverage, added a
699
+ master-only latest-libcurl build, added Windows coverage, and reduced matrix
700
+ setup time.
701
+ ([Geremia Taglialatela](https://github.com/tagliala),
702
+ [#274](https://github.com/typhoeus/ethon/pull/274),
703
+ [#288](https://github.com/typhoeus/ethon/pull/288),
704
+ [#289](https://github.com/typhoeus/ethon/pull/289),
705
+ [#290](https://github.com/typhoeus/ethon/pull/290),
706
+ [#291](https://github.com/typhoeus/ethon/pull/291),
707
+ [#293](https://github.com/typhoeus/ethon/pull/293),
708
+ [#450](https://github.com/typhoeus/ethon/pull/450))
709
+
710
+ ## 0.18.0
711
+
712
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.17.0...v0.18.0)
713
+
714
+ * Fixed verbose mode attempting to print binary SSL data by replacing it with a summary.
715
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#265](https://github.com/typhoeus/ethon/pull/265))
716
+ * Fixed `on_headers` callbacks being called once per header line instead of once for all headers.
717
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#264](https://github.com/typhoeus/ethon/pull/264))
718
+ * Stabilized test server boot on macOS by fixing IPv6/IPv4 localhost resolution and preventing orphaned processes.
719
+ ([Geremia Taglialatela](https://github.com/tagliala), [#261](https://github.com/typhoeus/ethon/pull/261))
720
+ * Added `logger` to runtime dependencies for Ruby 3.5+ compatibility.
721
+ ([Geremia Taglialatela](https://github.com/tagliala), [#259](https://github.com/typhoeus/ethon/pull/259))
722
+ * Opted-in for MFA requirement explicitly by adding `rubygems_mfa_required` metadata.
723
+ ([Geremia Taglialatela](https://github.com/tagliala), [#257](https://github.com/typhoeus/ethon/pull/257))
724
+ * Removed redundant encoding and require_relative checks.
725
+ ([Geremia Taglialatela](https://github.com/tagliala), [#258](https://github.com/typhoeus/ethon/pull/258))
726
+
727
+ ## 0.17.0
728
+
729
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.16.0...v0.17.0)
730
+
731
+ * Require Ruby 2.6+ and simplify Gemfile.
732
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#255](https://github.com/typhoeus/ethon/pull/255))
733
+ * Fixed mismatched libcurl error codes in `easy_codes` array.
734
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#253](https://github.com/typhoeus/ethon/pull/253))
735
+ * Add Ruby 3.3 and 3.4, remove Ruby 2.5 from CI matrix.
736
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#252](https://github.com/typhoeus/ethon/pull/252))
737
+ * Skip test due to libcurl 8.7.x bug in CURLINFO_REQUEST_SIZE.
738
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#251](https://github.com/typhoeus/ethon/pull/251))
739
+ * Use `Rackup::Handler.default` for Rack 3 compatibility.
740
+ ([Vít Ondruch](https://github.com/voxik), [#244](https://github.com/typhoeus/ethon/pull/244))
741
+ * Add Ruby 3.1 and 3.2 to the test matrix.
742
+ ([Orien Madgwick](https://github.com/orien), [#228](https://github.com/typhoeus/ethon/pull/228))
743
+ * Remove development and test files from the gem package.
744
+ ([Orien Madgwick](https://github.com/orien), [#227](https://github.com/typhoeus/ethon/pull/227))
745
+ * Fix missing parenthesis in example.
746
+ ([Aleksey Tsalolikhin](https://github.com/atsalolikhin-spokeo), [#226](https://github.com/typhoeus/ethon/pull/226))
747
+
748
+ ## 0.16.0
749
+
750
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.15.0...v0.16.0)
751
+
752
+ * Added `redirect_url` value to available informations and `Easy::Mirror`.
753
+ ([Adrien Rey-Jarthon](https://github.com/jarthod)
754
+
755
+ ## 0.15.0
756
+
757
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.14.0...v0.15.0)
758
+
759
+ ## 0.12.0
760
+
761
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.11.0...v0.12.0)
762
+
763
+ - Removed deprecated `CURLE_SSL_CACERT` pinned in curl v7.62.0 ([@arku](https://github.com/arku) in [#158](https://github.com/typhoeus/ethon/pull/158))
764
+
765
+
766
+ ## 0.11.0
767
+
768
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.10.1...v0.11.0)
769
+
770
+ ## 0.10.1
771
+
772
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.10.0...v0.10.1)
773
+
774
+ ## 0.10.0
775
+
776
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.9.1...v0.10.0)
777
+
778
+ ## 0.9.1
779
+
780
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.9.0...v0.9.1)
781
+
782
+ ## 0.9.0
783
+
784
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.8.1...v0.9.0)
785
+
786
+ ## 0.8.1
787
+
788
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.8.0...v0.8.1)
789
+
790
+ * Support optional escaping of params.
791
+ ([Tasos Laskos](https://github.com/zapotek)
792
+ * `Easy::Mirror`: Reduced object allocations and method calls during info handling.
793
+ ([Tasos Laskos](https://github.com/zapotek)
794
+
795
+ ## 0.8.0
796
+
797
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.3...v0.7.4)
798
+
799
+ * `Easy::Mirror`: Reduced object allocations and method calls during info handling.
800
+ ([Tasos Laskos](https://github.com/zapotek)
801
+
802
+ ## 0.7.4
803
+
804
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.3...v0.7.4)
805
+
806
+ * Support different array encodings for params.
807
+ ([Marcello Barnaba](https://github.com/ifad), [\#104](https://github.com/typhoeus/ethon/pull/104))
808
+ * Programtic access to version infos.
809
+ ([Jonas Wagner](https://github.com/jwagner), [\#90](https://github.com/typhoeus/ethon/pull/90))
810
+
811
+
812
+ ## 0.7.3
813
+
814
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.2...v0.7.3)
815
+
816
+ * `Ethon::Curl::FDSet`
817
+ * Set `:fd_array` size to the current MS Windows `FD_SETSIZE` (2048).
818
+ ([Tasos Laskos](https://github.com/zapotek)
819
+
820
+ * Added `redirect_time` value to available informations and `Easy::Mirror`.
821
+ ([Adrien Jarthon](https://github.com/jarthod)
822
+
823
+ ## 0.7.2
824
+
825
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.1...v0.7.2)
826
+
827
+ * FFI data-types updated to be more correct.
828
+
829
+ ## 0.7.1
830
+
831
+ * MS Windows determination delegated to `Gem.windows?` for better accuracy.
832
+ * FFI data-types updated to work on MS Windows.
833
+
834
+ ## 0.7.0
835
+
836
+ Not backwards compatible changes:
837
+
838
+ * `mime-types` are no longer a dependency. The gem will be still used if available to determine the mime type of a file which is uploaded. That means you have to have take care of the gem installation yourself.
839
+
840
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.3...v0.7.0)
841
+
842
+ ## 0.6.3
843
+
844
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.2...v0.6.3)
845
+
846
+ ## 0.6.2
847
+
848
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.1...v0.6.2)
849
+
850
+ ## 0.6.1
851
+
852
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.0...v0.6.1)
853
+
854
+ The changelog entries are coming soon!
855
+
856
+ ## 0.6.0
857
+
858
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.12...v0.6.0)
859
+
860
+ The changelog entries are coming soon!
861
+
862
+ Bugfixes:
863
+
864
+ * URL-encode nullbytes in parameters instead of escaping them to `\\0`.
865
+ ([Tasos Laskos](https://github.com/zapotek)
866
+
867
+ ## 0.5.12
868
+
869
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.11...v0.5.12)
870
+
871
+ Enhancements:
872
+
873
+ * Performance optimizations.
874
+ ([Kyle Oppenheim](https://github.com/koppenheim) and [Richie Vos](https://github.com/richievos), [\#48](https://github.com/typhoeus/ethon/pull/48))
875
+ * Reuse memory pointer.
876
+ ([Richie Vos](https://github.com/richievos), [\#49](https://github.com/typhoeus/ethon/pull/49))
877
+
878
+ Bugfixes:
879
+
880
+ * Fix windows install.
881
+ ([Derik Olsson](https://github.com/derikolsson), [\#47](https://github.com/typhoeus/ethon/pull/47))
882
+ * Handle urls that already contain query params.
883
+ ([Turner King](https://github.com/turnerking ), [\#45](https://github.com/typhoeus/ethon/pull/45))
884
+
885
+ ## 0.5.11
886
+
887
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.10...v0.5.11)
888
+
889
+ Enhancements:
890
+
891
+ * Add support for postredirs, unrestricted_auth.
892
+ * Add support for cookie, cookiejar, cookiefile.
893
+ ([erwanlr](https://github.com/erwanlr), [\#46](https://github.com/typhoeus/ethon/pull/46))
894
+ * Relax ffi requirements.
895
+ ([voxik](https://github.com/voxik), [\#40](https://github.com/typhoeus/ethon/pull/40))
896
+ * Various documentation improvements.
897
+ ([Craig Little](https://github.com/craiglittle))
898
+
899
+ Bugfixes:
900
+
901
+ * Fix the memory leaks.
902
+ ([Richie Vos](https://github.com/richievos), [\#45](https://github.com/typhoeus/ethon/pull/45))
903
+
904
+ ## 0.5.10
905
+
906
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.9...v0.5.10)
907
+
908
+ Enhancements:
909
+
910
+ * Allow custom requests.
911
+ ([Nathan Sutton](https://github.com/nate), [\#36](https://github.com/typhoeus/ethon/pull/36))
912
+ * Use updated version of FFI.
913
+
914
+ Bugfixes:
915
+
916
+ * Fix windows install issue.
917
+ ([brainsucker](https://github.com/brainsucker), [\#38](https://github.com/typhoeus/ethon/pull/38))
918
+
919
+ ## 0.5.9
920
+
921
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.8...v0.5.9)
922
+
923
+ Enhancements:
924
+
925
+ * Allow to set multiple protocols.
926
+
927
+ ## 0.5.8
928
+
929
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.7...v0.5.8)
930
+
931
+ Enhancements:
932
+
933
+ * Add support for protocols and redir_protocols(
934
+ [libcurl SASL buffer overflow vulnerability](https://curl.se/docs/adv_20130206.html)).
935
+ * Add max_send_speed_large and max_recv_speed_large([Paul Schuegraf](https://github.com/pschuegr), [\#33](https://github.com/typhoeus/ethon/pull/33))
936
+
937
+ ## 0.5.7
938
+
939
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.6...v0.5.7)
940
+
941
+ Enhancements:
942
+
943
+ * Use new version of ffi.
944
+
945
+ ## 0.5.6
946
+
947
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.4...v0.5.6)
948
+
949
+ Bugfixes:
950
+
951
+ * Easy#reset resets on_complete callbacks.
952
+
953
+ ## 0.5.4
954
+
955
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.3...v0.5.4)
956
+
957
+ Enhancements:
958
+
959
+ * Use Libc#getdtablesize to get the FDSet size.
960
+ * New libcurl option accept_encoding.
961
+ * Documentation updates.
962
+
963
+ ## 0.5.3
964
+
965
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.2...v0.5.3)
966
+
967
+ Enhancements:
968
+
969
+ * Deprecate Easy#prepare. It is no longer necessary.
970
+ * Unroll metaprogramming for easy and multi options.
971
+ * More specs.
972
+
973
+ Bugfixes:
974
+
975
+ * Correct size for FDSets
976
+ * Add proxytypes to enums.
977
+
978
+ ## 0.5.2
979
+
980
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.1...v0.5.2)
981
+
982
+ Enhancements:
983
+
984
+ * New libcurl option keypasswd.
985
+
986
+ Bugfixes:
987
+
988
+ * Correct request logging when using multi interface.
989
+ * Remove invalid libcurl option sslcertpasswd.
990
+
991
+ ## 0.5.1
992
+
993
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.0...v0.5.1)
994
+
995
+ Bugfixes:
996
+
997
+ * Mark Curl.select and Curl.easy_perform as blocking so that the GIL is
998
+ released by ffi.
999
+
1000
+ ## 0.5.0
1001
+
1002
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.4...v0.5.0)
1003
+
1004
+ Enhancements:
1005
+
1006
+ * New libcurl option proxyuserpwd
1007
+ * Rename response_header to response_headers
1008
+
1009
+ Bugfixes:
1010
+
1011
+ * Mark Curl.select and Curl.easy_perform as blocking so that the GIL is
1012
+ released by ffi.
1013
+
1014
+ ## 0.4.4
1015
+
1016
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.3...v0.4.4)
1017
+
1018
+ Enhancements:
1019
+
1020
+ * Prepare multi explicit like easy
1021
+
1022
+ ## 0.4.3
1023
+
1024
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.2...v0.4.3)
1025
+
1026
+ Enhancements:
1027
+
1028
+ * Remove deprecated libcurl option put
1029
+ * More documentation
1030
+ * New libcurl option connecttimeout_ms and timeout_ms
1031
+ * Support multi options
1032
+
1033
+ Bugfixes:
1034
+
1035
+ * Handle nil values in query params
1036
+
1037
+ ## 0.4.2
1038
+
1039
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.1...v0.4.2)
1040
+
1041
+ Enhancements:
1042
+
1043
+ * New libcurl option forbid_reuse
1044
+ * Use libcurls escape instead of CGI::escape
1045
+
1046
+ ## 0.4.1
1047
+
1048
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.0...v0.4.1)
1049
+
1050
+ Bugfixes:
1051
+
1052
+ * Handle nested hash in an array in params correct
1053
+ ( [\#201](https://github.com/typhoeus/typhoeus/issues/201) )
1054
+
1055
+ ## 0.4.0
1056
+
1057
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.3.0...v0.4.0)
1058
+
1059
+ Enhancements:
1060
+
1061
+ * ruby 1.8.7 compatible
1062
+ * Ethon.logger
1063
+ * Deal with string param/body
1064
+ * More documentation
1065
+
1066
+ Bugfixes:
1067
+
1068
+ * Add multi_cleanup to curl
1069
+
1070
+ ## 0.3.0
1071
+
1072
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.2.0...v0.3.0)
1073
+
1074
+ Enhancements:
1075
+
1076
+ * New libcurl option proxyport
1077
+ * Raise invalid value error when providing a wrong key for sslversion or httpauth
1078
+
1079
+ Bugfixes:
1080
+
1081
+ * Libcurl option sslversion is handled correct
1082
+
1083
+ ## 0.2.0
1084
+
1085
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.1.0...v0.2.0)
1086
+
1087
+ Enhancements:
1088
+
1089
+ * GET requests are using custom requests only when there is a request body
1090
+ * Easy#on_complete takes multiple callbacks
1091
+ * raise Errors::GlobalInit when libcurls global_init failed instead of
1092
+ runtime error
1093
+ * raise Errors::InvalidOption if option is invalid
1094
+
1095
+ ## 0.1.0
1096
+
1097
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.0.2...v0.1.0)
1098
+
1099
+ Enhancements:
1100
+
1101
+ * Documentation
1102
+ ( [Alex P](https://github.com/ifesdjeen), [\#13](https://github.com/typhoeus/ethon/issues/13) )
1103
+ * New libcurl option dns_cache_timeout
1104
+ ( [Chris Heald](https://github.com/cheald), [\#192](https://github.com/typhoeus/typhoeus/pull/192) )
1105
+
1106
+ Bugfixes:
1107
+
1108
+ * Libcurl option ssl_verifyhost takes an integer.
1109
+ * Add space between header key and value.
1110
+
1111
+ ## 0.0.2
1112
+
1113
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.0.1...v0.0.2)
1114
+
1115
+ Bugfixes:
1116
+
1117
+ * Add libcurl.so.4 to ffi_lib in order to load correct lib on Debian.
1118
+ * Escape zero bytes.
1119
+
1120
+ ## 0.0.1 Initial version