Skip to content

Releases: akamai/AkamaiOPEN-edgegrid-golang

Edgegrid v9.1.0 release

14 Nov 13:04
c109cd9
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

9.1.0 (Nov 14, 2024)

FEATURES/ENHANCEMENTS:

  • General

    • Added a configurable WithRetries option for creating new sessions with global GET retries. It can be configured with these parameters:
      • retryMax - The maximum number of API request retries.
      • retryWaitMin - The minimum wait time in time.Duration between API requests retries.
      • retryWaitMax - The maximum wait time in time.Duration between API requests retries.
      • excludedEndpoints - The list of path expressions defining endpoints which should be excluded from the retry feature.
    • Added logic responsible for closing the response body in each method.
  • APPSEC

    • Added following content protection fields to GetExportConfigurationResponse under BotManagement section
      • ContentProtectionRules
      • ContentProtectionRuleSequence
      • ContentProtectionJavaScriptInjectionRules
    • Changed EnabledBotmanSiemEvents to *bool and omitted from following structs when empty
      • GetSiemSettingResponse
      • RemoveSiemSettingsRequest
      • RemoveSiemSettingsResponse
      • UpdateSiemSettingsRequest
      • UpdateSiemSettingsResponse
  • DNS

    • Added support for OutboundZoneTransfer field in requests and responses for these methods:
      • CreateBulkZones
      • CreateZone
      • GetZone
      • ListZones
      • UpdateZone

BUG FIXES:

  • APPSEC

    • Fixed SIEM exception validation for the Exceptions field.
  • Cloud Access

    • Added custom error ErrAccessKeyNotFound to easier verify if provided access key does not exist.

Edgegrid v9.0.0 release

03 Oct 06:11
83abffb
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

9.0.0 (Oct 3, 2024)

BREAKING CHANGES:

  • General

    • Consolidated multiple sub-interfaces into a single interface for each sub-provider.
    • Renamed NTWRKLISTS interface to NetworkList for networklists provider
    • Removed tools package in favour of ptr package
  • Cloudaccess

    • Changed naming of request body fields for following structures:
      • BodyParams to Body in CreateAccessKeyVersionRequest
      • CreateAccessKeyVersionBodyParams to CreateAccessKeyVersionRequestBody
  • Cloudlets

    • Changed naming of request body fields for following structures:
      • BodyParams to Body in UpdatePolicyRequest and ClonePolicyRequest
      • UpdatePolicyBodyParams to UpdatePolicyRequestBody
      • ClonePolicyBodyParams to ClonePolicyRequestBody
  • Cloudwrapper

    • Changed naming of request body fields for following structures:
      • CreateConfigurationBody to CreateConfigurationRequestBody
      • UpdateConfigurationBody to UpdateConfigurationRequestBody
  • DNS

    • Refactored parameters in following methods:
      • GetAuthorities - from (context.Context, string) into (context.Context, GetAuthoritiesRequest)
      • GetNameServerRecordList - from (context.Context, string) into (context.Context, GetNameServerRecordListRequest)
      • GetRecord - from (context.Context, string, string, string) into (context.Context, GetRecordRequest)
      • GetRecordList - from (context.Context, string, string, string) into (context.Context, GetRecordListRequest)
      • CreateRecord - from (context.Context, *RecordBody, string, ...bool) into (context.Context, CreateRecordRequest)
      • UpdateRecord - from (context.Context, *RecordBody, string, ...bool) into (context.Context, UpdateRecordRequest)
      • DeleteRecord - from (context.Context, *RecordBody, string, ...bool) into (context.Context, DeleteRecordRequest)
      • GetRecordSets - from (context.Context, string, ...RecordSetQueryArgs) into (context.Context, GetRecordSetsRequest)
      • CreateRecordSets - from (context.Context, *RecordSets, string, ...bool) into (context.Context, CreateRecordSetsRequest)
      • UpdateRecordSets - from (context.Context, *RecordSets, string, ...bool) into (context.Context, UpdateRecordSetsRequest)
      • ListTSIGKeys - from (context.Context, *TSIGQueryString) into (context.Context, ListTSIGKeysRequest)
      • GetTSIGKeyZones - from (context.Context, *TSIGKey) into (context.Context, GetTSIGKeyZonesRequest)
      • GetTSIGKeyAliases - from (context.Context, string) into (context.Context, GetTSIGKeyAliasesRequest)
      • UpdateTSIGKeyBulk - from (context.Context, *TSIGKeyBulkPost) into (context.Context, UpdateTSIGKeyBulkRequest)
      • GetTSIGKey - from (context.Context, string) into (context.Context, GetTSIGKeyRequest)
      • DeleteTSIGKey - from (context.Context, string) into (context.Context, DeleteTSIGKeyRequest)
      • UpdateTSIGKey - from (context.Context, *TSIGKey, string) into (context.Context, UpdateTSIGKeyRequest)
      • ListZones - from (context.Context, ...ZoneListQueryArgs) into (context.Context, ListZonesRequest)
      • GetZone - from (context.Context, string) into (context.Context, GetZoneRequest)
      • GetChangeList - from (context.Context, string) into (context.Context, GetChangeListRequest)
      • GetMasterZoneFile - from (context.Context, string) into (context.Context, GetMasterZoneFileRequest)
      • PostMasterZoneFile - from (context.Context, string, string) into (context.Context, PostMasterZoneFileRequest)
      • CreateZone - from (context.Context, *ZoneCreate, ZoneQueryString, ...bool) into (context.Context, CreateZoneRequest)
      • SaveChangeList - from (context.Context, *ZoneCreate) into (context.Context, SaveChangeListRequest)
      • SubmitChangeList - from (context.Context, *ZoneCreate) into (context.Context, SubmitChangeListRequest)
      • UpdateZone - from (context.Context, *ZoneCreate) into (context.Context, UpdateZoneRequest)
      • GetZoneNames - from (context.Context, string) into (context.Context, GetZoneNamesRequest)
      • GetZoneNameTypes - from (context.Context, string, string) into (context.Context, GetZoneNameTypesRequest)
      • GetBulkZoneCreateStatus - from (context.Context, string) into (context.Context, GetBulkZoneCreateStatusRequest)
      • GetBulkZoneDeleteStatus - from (context.Context, string) into (context.Context, GetBulkZoneDeleteStatusRequest)
      • GetBulkZoneCreateResult - from (context.Context, string) into (context.Context, GetBulkZoneCreateResultRequest)
      • GetBulkZoneDeleteResult - from (context.Context, string) into (context.Context, GetBulkZoneDeleteResultRequest)
      • CreateBulkZones - from (context.Context, *BulkZonesCreate, ZoneQueryString) into (context.Context, CreateBulkZonesRequest)
      • DeleteBulkZones - from (context.Context, *ZoneNameListResponse, ...bool) into (context.Context, DeleteBulkZonesRequest)
      • GetRdata - from (context.Context, string, string, string) into (context.Context, GetRdataRequest)
    • Refactored response in following methods:
      • GetAuthorities - *AuthorityResponse into *GetAuthoritiesResponse
      • GetRecord - *RecordBody into *GetRecordResponse
      • GetRecordList - *RecordSetResponse into *GetRecordListResponse
      • GetRecordSets - *RecordSetResponse into *GetRecordSetsResponse
      • GetTSIGKey - *TSIGKeyResponse into *GetTSIGKeyResponse
      • ListTSIGKeys - *TSIGReportResponse into *ListTSIGKeysResponse
      • GetTSIGKeyZones - *ZoneNameListResponse into *GetTSIGKeyZonesResponse
      • GetTSIGKeyAliases - *ZoneNameListResponse into *GetTSIGKeyAliasesResponse
      • GetZone - *ZoneResponse into *GetZoneResponse
      • GetChangeList - *ChangeListResponse into *GetChangeListResponse
      • GetZoneNames - *ZoneNamesResponse into *GetZoneNamesResponse
      • GetZoneNameTypes - *ZoneNameTypesResponse into *GetZoneNameTypesResponse
      • GetBulkZoneCreateStatus - *BulkStatusResponse into *GetBulkZoneCreateStatusResponse
      • GetBulkZoneDeleteStatus - *BulkStatusResponse into *GetBulkZoneDeleteStatusResponse
      • GetBulkZoneCreateResult - *BulkCreateResultResponse into *GetBulkZoneCreateResultResponse
      • GetBulkZoneDeleteResult - *BulkDeleteResultResponse into *GetBulkZoneDeleteResultResponse
      • CreateBulkZones - *BulkZonesResponse into *CreateBulkZonesResponse
      • DeleteBulkZones - *BulkZonesResponse into *DeleteBulkZonesResponse
    • Removed following interfaces:
      • Authorities
      • Data
      • Records
      • Recordsets
      • TSIGKeys
      • Zones
    • Renamed following methods:
      • SaveChangelist into SaveChangeList
      • SubmitChangelist into SubmitChangeList
      • TSIGKeyBulkUpdate into UpdateTSIGKeyBulk
  • EdgeKV

    • For the CreateEdgeKVAccessTokenRequest, removed the Expiry field and added the RestrictToEdgeWorkerIDs field.
    • For the CreateEdgeKVAccessTokenResponse, removed the Expiry and Value fields, and added these fields:
      • AllowOnProduction
      • AllowOnStaging
      • CPCode
      • IssueDate
      • LatestRefreshDate
      • NamespacePermissions
      • NextScheduledRefreshDate
      • RestrictToEdgeWorkerIDs
      • TokenActivationStatus
    • Added these fields to the EdgeKVAccessToken method:
      • TokenActivationStatus
      • IssueDate
      • LatestRefreshDate
      • NextScheduledRefreshDate
  • Edgeworkers

    • Changed naming of request body fields for these structures:
      • EdgeWorkerIDBodyRequest to EdgeWorkerIDRequestBody
  • GTM

    • Refactored parameters in these methods:
      • ListASMaps - from (context.Context, string) into (context.Context, ListASMapsRequest)
      • GetASMap - from (context.Context, string, string) into (context.Context, GetASMapRequests)
      • CreateASMap - from (context.Context, *ASMap, string) into (context.Context, CreateASMapRequest)
      • UpdateASMap - from (context.Context, *ASMap, string) into (context.Context, UpdateASMapRequest)
      • DeleteASMap - from (context.Context, *ASMap, string) into (context.Context, DeleteASMapRequest)
      • ListCIDRMaps - from (context.Context, string) into (context.Context, ListCIDRMapsRequest)
      • GetCIDRMap - from (context.Context, string, string) into (context.Context, GetCIDRMapRequest)
      • CreateCIDRMap - from (context.Context, *CIDRMap, string) into (context.Context, CreateCIDRMapRequest)
      • UpdateCIDRMap - from (context.Context, *CIDRMap, string) into (context.Context, UpdateCIDRMapRequest)
      • DeleteCIDRMap - from (context.Context, *CIDRMap, string) into (context.Context, DeleteCIDRMapRequest)
      • ListDatacenters - from (context.Context, string) into (context.Context, ListDatacentersRequest)
      • GetDatacenter - from (context.Context, int, string) into (context.Context, GetDatacenterRequest)
      • CreateDatacenter - from (context.Context, *Datacenter, string) into (context.Context, CreateDatacenterRequest)
      • UpdateDatacenter - from (context.Context, *Datacenter, string) into (context.Context, UpdateDatacenterRequest)
      • DeleteDatacenter - from (context.Context, *Datacenter, string) into (context.Context, DeleteDatacenterRequest)
      • GetDomainStatus - from (context.Context, string) into (context.Context, GetDomainStatusRequest)
      • GetDomain - from (context.Context, string) into (context.Context, GetDomainRequest)
      • CreateDomain - from (context.Context, *Domain, map[string]string) into (context.Context, CreateDomainRequest)
      • UpdateDomain - from (context.Context, *Domain, map[string]string) into (context.Context, UpdateDomainRequest)
      • DeleteDomain - from (context.Context, *Doma...
Read more

Edgegrid v8.4.0 release

22 Aug 12:55
4983724
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

8.4.0 (Aug 22, 2024)

FEATURES/ENHANCEMENTS:

  • APPSEC

    • Added field ClientLists to RuleConditions and AttackGroupConditions
    • The RequestBodyInspectionLimitOverride field has been added in the following structures:
      • GetAdvancedSettingsRequestBodyResponse,
      • UpdateAdvancedSettingsRequestBodyRequest,
      • UpdateAdvancedSettingsRequestBodyResponse,
      • RemoveAdvancedSettingsRequestBodyRequest,
      • RemoveAdvancedSettingsRequestBodyResponse
  • IAM

  • PAPI

    • Added new method MapPropertyNameToID to provide PAPI property ID for given property name

Edgegrid v8.3.0 release

09 Jul 15:30
165dd6c
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

8.3.0 (July 09, 2024)

FEATURES/ENHANCEMENTS:

Deprecations

  • Deprecated the following functions in the tools package. Use ptr.To instead.
    • BoolPtr
    • IntPtr
    • Int64Ptr
    • Float32Ptr
    • Float64Ptr
    • StringPtr

Edgegrid v8.2.0 release

21 May 09:31
fd8ecea
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

8.2.0 (May 21, 2024)

FEATURES/ENHANCEMENTS:

  • APPSEC

    • Added CounterType field to CreateRatePolicyResponse, UpdateRatePolicyResponse, RemoveRatePolicyResponse, GetRatePoliciesResponse and GetRatePolicyResponse structs to support managing rate policy counter type
  • BOTMAN

  • HAPI

    • Added method to return certificate for the edge hostname
    • Added fields to GetEdgeHostnameResponse: ProductID, MapAlias and UseCases

BUG FIXES:

  • APPSEC

    • The Override field in the following structs has been updated from a pointer to a value type within the AdvancedSettingsAttackPayloadLogging interface:
      • GetAdvancedSettingsAttackPayloadLoggingResponse,
      • UpdateAdvancedSettingsAttackPayloadLoggingResponse,
      • RemoveAdvancedSettingsAttackPayloadLoggingRequest,
      • RemoveAdvancedSettingsAttackPayloadLoggingResponse
        This update was made to address a drift issue related to policy level settings.
    • Omit Prefetch within AdvancedOptions in GetExportConfigurationResponse when empty
  • CLOUDLETS

    • Added validation that ObjectMatchValue is not supported with MatchType query in MatchRuleER (#535)

Edgegrid v8.1.0 release

11 Apr 09:47
948ea48
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

8.1.0 (April 11, 2024)

FEATURES/ENHANCEMENTS:

  • DNS

    • Modified ParseRData method to remove priority, weight and port from targets only when those values are same for all SRV targets.
      Otherwise, targets are returned untouched and priority, weight and port in the map are not populated.
  • Image and Video Manager

    • Added SmartCrop transformation

Edgegrid v8.0.0 release

19 Mar 11:10
7f9b338
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

8.0.0 (March 19, 2024)

BREAKING CHANGES:

  • Migrated to go 1.21

  • CPS

    • Split request and response structures for create and update enrollment operations
  • DNS

    • Renamed following structs:
      • RecordsetQueryArgs into RecordSetQueryArgs
      • Recordsets into RecordSets
      • Recordset into RecordSet
      • MetadataH into Metadata
    • Renamed following fields:
      • GroupId into GroupID in ListGroupRequest
      • Recordsets into RecordSets in RecordSetResponse
      • ContractIds into ContractIDs in TSIGQueryString
      • Gid into GID in TSIGQueryString and TSIGReportMeta
      • TsigKey into TSIGKey in ZoneCreate and ZoneResponse
      • VersionId into VersionID in ZoneResponse
      • RequestId into RequestID in BulkZonesResponse, BulkStatusResponse, BulkCreateResultResponse and BulkDeleteResultResponse
    • Renamed RecordSets interface into Recordsets
    • Renamed following methods:
      • ListTsigKeys into ListTSIGKeys
      • GetTsigKeyZones into GetTSIGKeyZones
      • GetTsigKeyAliases into GetTSIGKeyAliases
      • TsigKeyBulkUpdate into TSIGKeyBulkUpdate
      • GetTsigKey into GetTSIGKey
      • DeleteTsigKey into DeleteTSIGKey
      • UpdateTsigKey into UpdateTSIGKey
      • GetRecordsets into GetRecordSets
      • CreateRecordsets into CreateRecordSets
      • UpdateRecordsets into UpdateRecordSets
    • Deleted following methods:
      • NewAuthorityResponse
      • NewChangeListResponse
      • NewRecordBody
      • NewRecordSetResponse
      • NewTsigKey
      • NewTsigQueryString
      • NewZone
      • NewZoneQueryString
      • NewZoneResponse
      • RecordToMap
    • Unexported following methods:
      • FullIPv6
      • PadCoordinates
      • ValidateZone
  • GTM

    • Renamed following structs:
      • AsAssignment into ASAssignment
      • AsMap into ASMap
      • AsMapList into ASMapList
      • CidrAssignment into CIDRAssignment
      • CidrMap into CIDRMap
      • CidrMapList into CIDRMapList
      • CidrMapResponse into CIDRMapResponse
      • AsMapResponse into ASMapResponse
      • HttpHeader into HTTPHeader
    • Renamed following fields:
      • AsNumbers into ASNumbers in ASAssignment
      • AsMapItems into ASMapItems in ASMapList
      • CidrMapItems into CIDRMapItems in CIDRMapList
      • ChangeId into ChangeID in ResponseStatus
      • DatacenterId into DatacenterID in DatacenterBase, Datacenter, TrafficTarget and ResourceInstance
      • AsMaps into ASMaps in Domain
      • DefaultSslClientPrivateKey into DefaultSSLClientPrivateKey in Domain
      • CnameCoalescingEnabled into CNameCoalescingEnabled in Domain
      • CidrMaps into CIDRMaps in Domain
      • DefaultSslClientCertificate into DefaultSSLClientCertificate in Domain
      • AcgId into AcgID in DomainItem
      • HttpError3xx into HTTPError3xx in LivenessTest
      • HttpError4xx into HTTPError4xx in LivenessTest
      • HttpError5xx into HTTPError5xx in LivenessTest
      • SslClientPrivateKey into SSLClientPrivateKey in LivenessTest
      • SslClientCertificate into SSLClientCertificate in LivenessTest
      • HttpHeaders into HTTPHeaders in LivenessTest
      • Ipv6 into IPv6 in Property
      • BackupIp into BackupIP in Property
    • Renamed CidrMaps interface into CIDRMaps
    • Renamed following methods:
      • ListAsMaps into ListASMaps
      • GetAsMap into GetASMap
      • CreateAsMap into CreateASMap
      • DeleteAsMap into DeleteASMap
      • UpdateAsMap into UpdateASMap
      • ListCidrMaps into ListCIDRMaps
      • GetCidrMap into GetCIDRMap
      • CreateCidrMap into CreateCIDRMap
      • DeleteCidrMap into DeleteCIDRMap
      • UpdateCidrMap into UpdateCIDRMap
    • Deleted following methods:
      • NewASAssignment
      • NewAsMap
      • NewCidrAssignment
      • NewCidrMap
      • NewDatacenter
      • NewDatacenterBase
      • NewDatacenterResponse
      • NewDefaultDatacenter
      • NewDomain
      • NewGeoAssignment
      • NewHttpHeader
      • NewGeoMap
      • NewLivenessTest
      • NewLoadObject
      • NewProperty
      • NewResource
      • NewResourceInstance
      • NewResponseStatus
      • NewStaticRRSet
      • NewTrafficTarget

FEATURES/ENHANCEMENTS:

  • Added default value application/json for Accept header for all requests sent to API

  • Appsec

    • Added PenaltyBoxConditions API - read and update
    • Added EvalPenaltyBoxConditions API - read and update
  • CPS

    • Added ID, OrgID, ProductionSlots, StagingSlots and AssignedSlots to the response structures of GetEnrollment and ListEnrollment operations
  • GTM

    • Added new fields:
      • SignAndServe and SignAndServeAlgorithm for the Domain
      • HTTPMethod, HTTPRequestBody, Pre2023SecurityPosture and AlternateCACertificates for the LivenessTest in Property
      • Precedence for the TrafficTarget in Property
    • Enhanced error details by addition of Errors field in Error structure
    • Added support for the creation of ranked-failover properties

BUG FIXES:

  • DNS

    • Removed not working DeleteZone method
  • PAPI

    • Updated documentation link for GetProperties method

Edgegrid v7.6.1 release

14 Feb 14:42
a944412
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

7.6.1 (February 14, 2024)

BUG FIXES:

  • Edgeworkers
    • Fixed case when not providing optional note field in ActivateVersion would cause activation to fail

Edgegrid v7.6.0 release

08 Feb 14:54
4eba719
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

7.6.0 (February 8, 2024)

FEATURES/ENHANCEMENTS:

BUG FIXES:

  • APPSEC
    • Added updateLatestNetworkStatus query parameter in GetActivations request to resolve drift on manual changes to infrastructure

Edgegrid v7.5.0 release

28 Nov 10:58
8f8b577
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

7.5.0 (November 28, 2023)

FEATURES/ENHANCEMENTS:

  • APPSEC

    • Added ASNControls field to UpdateIPGeoRequest and IPGeoFirewall structs to support firewall blocking by ASN client lists
  • BOTMAN

    • Added API support for Custom Code - read and update