Skip to content

Releases: akamai/AkamaiOPEN-edgegrid-golang

Edgegrid v10.0.0 release

03 Feb 07:53
a4ebb84
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

10.0.0 (Feb 3, 2025)

BREAKING CHANGES:

  • APPSEC

    • Renamed field FirewallPolicyIds to FirewallPolicyIDs in the following structures:
      • Siemexp
      • RatePolicyAPISelectors
      • GetSiemSettingsResponse
      • UpdateSiemSettingsRequest
      • RemoveSiemSettingsRequest
    • Removed the deprecated NetworkLayerProtection interface containing these methods:
      • GetNetworkLayerProtections
      • GetNetworkLayerProtection
      • UpdateNetworkLayerProtection
      • RemoveNetworkLayerProtection
    • Removed these deprecated methods:
      • GetExportConfigurations
      • GetPenaltyBoxes
      • GetRatePolicyAction
      • RemovePolicyProtections
      • GetSlowPostProtectionSetting
      • GetWAFModes
  • BOTMAN

    • Removed the deprecated ChallengeInterceptionRules interface containing these methods:
      • GetChallengeInterceptionRules
      • UpdateChallengeInterceptionRules
  • CPS

    • Removed the deprecated UpdateChange method.
  • IAM

    • Removed the deprecated UpdateTFA method.
  • Logging

    • Changed logger from apex to the custom interface
      • Logger method differences:
        • A new method With has been added that condenses the apex methods (WithError, WithField, WithFields, WithDuration) into one.
          • WithError, WithField, WithFields, WithDuration methods are not included in the new logger.
          • The Entry (documentation) type no longer exists in the new logger, With instead of Entry returns a new logger instance with new fields.
        • Logging methods (Fatal, Error, Warn, Info, Debug) can accept key-value pairs in addition to a message,
          • The attribute arguments are processed as follows: If an argument is a string and this is not the last argument, the following argument is treated as the value and the two are combined into an key - value pair. Otherwise, the argument is treated as a value with key "!BADKEY".
          • formatted logging methods (Fatalf, Errorf, Warnf, Infof, Debugf) remain unchanged.
    • By default slog with custom handler is used.
    • log.Interface allows users to define default logger with SetLogger method and provides option to use different logger backend.
      • Instructions on using different logger backends can be found in pkg/log/README.md file
    • Log output structure have changed slightly,
      • Time format was adjusted, logger will use 24-hour clock with milliseconds instead of 12-hour clock used previously.
  • Networklists

    • Renamed field UniqueIds to UniqueIDs in the following structures:
      • GetNetworkListSubscriptionRequest
      • UpdateNetworkListSubscriptionRequest
      • RemoveNetworkListSubscriptionRequest

FEATURES/ENHANCEMENTS:

BUG FIXES:

  • DNS
    • Fixed an incorrect URL for the ListGroups method.

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