Skip to content

Releases: akamai/AkamaiOPEN-edgegrid-golang

Edgegrid v12.0.0 release

01 Sep 12:05
1f002de
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

12.0.0 (Sep 1, 2025)

BREAKING CHANGES:

  • EdgeKV
    • Replaced the response structure in GetEdgeKVNamespace as *GetNamespaceResponse.
    • Replaced the response structure in UpdateEdgeKVNamespace as *UpdateNamespaceResponse.
    • Replaced the Namespace field with the NamespaceRequest structure in CreateEdgeKVNamespaceRequest.

FEATURES/ENHANCEMENTS:

  • Account Protector

  • API Definitions

  • Appsec

    • Added the Action field to the IPGeoNetworkLists structure to block requests from a specified IP, GEO, or ASN with a deny or custom_deny action in blockSpecific mode.
    • Added the BlockAllAction field to the IPGeoFirewall and UpdateIPGeoRequest structures to block all requests with a deny or custom_deny action in the IP/GEO except from the allowedLists in blockAll mode.
    • Added the IncludeExpiryDetails field to the GetRapidRulesRequest structure.
    • Added the Expired and ExpireInDays fields to the following structures:
      • PolicyRapidRule
      • RapidRuleDetails
    • Added ASE Penalty Box methods:
      • GetAdvancedSettingsAsePenaltyBox
      • UpdateAdvancedSettingsAsePenaltyBox
      • RemoveAdvancedSettingsAsePenaltyBox
    • Added JA4 Client TLS Fingerprint methods:
    • Added the IncludeJA4FingerprintToSiem field to the following structures:
      • GetSiemSettingsResponse
      • GetSiemSettingResponse
      • UpdateSiemSettingsRequest
      • UpdateSiemSettingsResponse
      • RemoveSiemSettingsRequest
      • RemoveSiemSettingsResponse
    • Added the JA4Fingerprint field to the following structures:
      • AdvancedOptionsexp
      • Siemexp
      • JA4Fingerprintexp
    • Added ApplyAccountProtectionControls in all security controls.
    • Added AccountProtection in export configuration.
    • Added the UsernameToSiem field in SIEM settings.
  • ClientLists

    • Added support for USER type client lists.
    • Added a new method TranslateUsernames.
    • Added a new method GetClientListItems.
  • EdgeKV

    • Added ScheduledDeleteTime and NamespaceStatus fields to the following structures:
      • GetNamespaceResponse
      • UpdateNamespaceResponse
  • mTLS Truststore (Beta)

    • Added support for the Mutual TLS Edge Truststore V2 API.
      • CreateCASet - Creates a new CA set.
      • GetCASet - Fetches details of a CA set.
      • ListCASets - Lists all the available CA sets created under the account.
      • DeleteCASet - Deletes a CA set.
      • GetCASetDeletionStatus - Retrieves a deletion status of a CA set.
      • ListCASetActivities - Lists activities of a CA set.
      • ListCASetAssociations - Lists properties and enrollments associated with a CA set.
      • CreateCASetVersion - Creates a new CA set version.
      • CloneCASetVersion - Creates a clone of a CA set version.
      • GetCASetVersion - Fetches details of a CA sets version.
      • ListCASetVersions - Lists all the available CA set versions created under the account.
      • UpdateCASetVersion - Updates a CA sets version.
      • GetCASetVersionCertificates - Lists certificates for a CA sets version.
      • ActivateCASetVersion - Activates a CA set version.
      • DeactivateCASetVersion - Deactivates a CA set version.
      • GetCASetVersionActivation - Fetches a CA set version's activation.
      • ListCASetVersionActivations - Lists activations for a CA set version.
      • ListCASetActivations - Lists activations for a CA set.
      • CloneCASet - Clones a CA set.
      • ValidateCertificates - Validates a list of certificates.

Edgegrid v11.1.0 release

04 Aug 13:09
14cd29a
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

11.1.0 (Aug 4, 2025)

FEATURES/ENHANCEMENTS:

BUG FIXES:

  • IVM
    • Removed / at the end of the ListPolicies, ListPolicySets, and CreatePolicySet method URLs (#660).

Edgegrid v11.0.0 release

26 May 11:14
bcbe557
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

11.0.0 (May 26, 2025)

BREAKING CHANGES:

  • Appsec

    • Renamed the ClientIdentifier field to ClientIdentifiers and changed its type from a string to an array of strings in the following structures:
      • CreateRatePolicyResponse
      • UpdateRatePolicyResponse
      • RemoveRatePolicyResponse
      • GetRatePoliciesResponse
      • GetRatePolicyResponse
      • GetExportConfigurationResponse
  • IAM

    • Renamed the EditIPAcl field to EditIPACL in the APIClientActions structure.
    • Changed the IPACL and PurgeOptions fields from value types to pointer types, *IPACL and *PurgeOptions, in the CreateAPIClientResponse, GetAPIClientResponse and UpdateAPIClientResponse structures.
    • Removed the ServiceProviderID field from the CreateAPIClientResponse, GetAPIClientResponse and UpdateAPIClientResponse structures.
    • Removed the following fields from the CreateAPIClientRequest and UpdateAPIClientRequest structures:
      • From the APIAccess structure:
        • APIName
        • Description
        • DocumentationURL
        • Endpoint
      • From the GroupAccess structure:
        • GroupName
        • IsBlocked
        • ParentGroupID
        • RoleDescription
        • RoleName
    • Changed the AccessLevel field type to a string in the API structure.
    • Changed the structure type in the CreateAPIClientRequest and UpdateAPIClientRequest structures:
      • From APIAccess to APIAccessRequest.
      • From GroupAccess to GroupAccessRequest.
    • Changed the structure type in the ListAllowedCPCodesRequestBody of Groups from []AllowedCPCodesGroup to []ClientGroupRequestItem.

FEATURES/ENHANCEMENTS:

  • Appsec

    • Added the PenaltyBoxDuration field to the following structures:
      • GetRatePoliciesResponse
      • GetRatePolicyResponse
      • CreateRatePolicyResponse
      • UpdateRatePolicyResponse
      • RemoveRatePolicyResponse
      • GetExportConfigurationResponse
    • Added the CounterType field to the GetExportConfigurationResponse structure.
    • Added the StagingOnly field in the following structures:
      • CustomRuleResponse
      • CreateCustomRuleResponse
      • GetCustomRulesResponse
  • EdgeKV

  • GTM

    • Added support for domain deletion, enabling users to submit requests to delete one or more GTM domains.
    • New endpoints:
      • DeleteDomains - submits a request to delete specified domain(s).
      • GetDeleteDomainsStatus - retrieves the status of a submitted domain deletion request.
    • Deprecated:
      • DeleteDomain – this method is now deprecated and may be removed in a future release.
  • IAM

    • Added the READ, CREDENTIAL-READ-ONLY and CREDENTIAL-READ-WRITE values for the API.AccessLevel field.

Edgegrid v10.1.0 release

31 Mar 06:32
70c61a0
Compare
Choose a tag to compare

EDGEGRID GOLANG RELEASE NOTES

10.1.0 (Mar 31, 2025)

FEATURES/ENHANCEMENTS:

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)