本页面记录了 Google 发布商代码 (GPT) 库的正式版更新。您可以定期查看本页面,了解有关新增功能、功能更新、bug 修复、已知问题和功能弃用的公告。
如需接收更新,请将本页面的网址添加到您选择的 Feed 阅读器,或使用 Atom 1.0
或 RSS 2.0
格式直接链接到版本说明 Feed。
关于发布日期
对 GPT 库的所有更改都会在发布前经过全面测试。此外,版本会逐步向用户发布,以进一步防范意外回归。如果在发布过程中的任何时间点发现回归,则可以在整个发布版本到达所有用户之前快速放弃该版本。
因此,发布日期并不确切;一个版本可能需要几天到几周的时间才能完全发布。这意味着用户会在不同时间遇到变化。这些版本说明中提供的日期反映了更改完成向所有用户发布的那一周的开始日期。
2026 年 10 月 19 日当周
添加了对请求钩子的公开 Beta 版实验性支持,让发布商可以注册在页面上的每个广告请求之前并行运行的异步函数,并可配置超时。
| GPT 新功能 | |
|---|---|
| 方法 |
PubAdsService.registerRequestHook()
|
| 属性 |
PageSettingsConfig.requestHookTimeoutMs
|
现在,当单页应用 (SPA) 中发生客户端导航时,GPT 会自动更新网页相关器。这样可以确保在路由转换后发出的广告请求被视为新的网页浏览,而无需发布商手动调用 PubAdsService.updateCorrelator()。
2026 年 8 月 31 日当周
Google 发布商代码 (GPT) 现在通过在动态插入的脚本元素上设置 fetchpriority="high",自动请求其核心实现脚本 (pubads_impl.js),并设置高提取优先级。这会指示浏览器网络调度程序优先提取实现库,从而减少关键渲染路径上的广告加载延迟,增加展示次数和点击次数,同时对 Core Web Vitals 指标的影响降至最低。
发布商可以通过直接向其网页上的 gpt.js 加载器 <script> 标记添加 fetchpriority 属性来配置或替换此行为。动态注入的实现脚本将自动继承加载器脚本上指定的 fetchpriority 属性值(例如 fetchpriority="low" 或 fetchpriority="auto")。
2026 年 8 月 24 日当周
自 2026 年 9 月 8 日起,当用户通过往返缓存 (bfcache) 导航返回网页时,Google 发布商代码 (GPT) 将自动刷新正在被浏览的广告位。通过自动刷新这些广告位,发布商可以无缝重获展示机会,这有助于增加广告收入。
如果发布商需要针对往返缓存导航停用自动刷新,可以通过 GPT AutoRefreshConfig API 来实现。
| GPT 新功能 | |
|---|---|
| 属性 |
AutoRefreshConfig.backForwardCache
|
2026 年 5 月 18 日当周
“返回”网站插页式广告触发器的弃用
自 2026 年 6 月 15 日起,在任何支持的浏览器(包括 Chrome、Edge 和 Opera)中使用其“返回”按钮向后导航时,系统不再触发 Ad Manager 网站插页式广告。此更新会自动应用于所有已选择启用“返回”触发器的发布商,无需发布商采取任何行动。此项变更旨在确保您的网站符合 Google 搜索针对“返回按钮劫持”行为的新政策。https://developers.google.com/search/blog/2026/04/back-button-hijacking
2026 年 4 月 27 日当周
我们已解决自动刷新功能中的一个问题,该问题会导致广告在 Chrome 重型广告干预后连续多次快速刷新。我们已采取缓解措施来限制刷新,并正在积极开发更持久的解决方案,以防止此行为并提高功能的稳健性。
2026 年 4 月 20 日当周
新增了对配置由发布商发起的年龄处理方式的支持。这样,发布商就可以针对广告请求发出儿童或青少年隐私保护信号。
发布商现在可以使用 PrivacySettingsConfig 中的 tagForAgeTreatment 设置来强制执行“面向儿童的内容”处理(等同于 TFCD)或“面向青少年的内容”处理(等同于 TAP)。
| GPT 新功能 | |
|---|---|
| 枚举 |
TagForAgeTreatment
|
| 属性 |
PrivacySettingsConfig.tagForAgeTreatment
|
2026 年 3 月 9 日当周
当 Chrome 的重型广告干预功能因广告占用过多资源而将其移除时,GPT 现在会自动使用其他广告刷新空出的广告位。这有助于确保广告空间得到充分利用。此行为预计会增加广告展示次数,尤其是在桌面版 Chrome 环境中。
关于定位和键值对的说明:此自动刷新功能会重复使用广告位的现有定位配置。如果您的集成依赖于在每次刷新之前更新键值对,则可能会导致发送过时的定位数据。如果发布商希望手动管理此逻辑,可以使用 googletag.config.AutoRefreshConfig 选择退出。
2025 年 10 月 6 日当周
2025 年 7 月 28 日当周
许多现有的网页级和广告位级设置已迁移到新的统一 GPT 配置 API。此次迁移带来了多项改进:
- 改进了发现功能:设置在文档和类型定义中分组在一起。
- 更直观:您可以使用单个界面单独或一次性配置设置。
- 更清晰的错误:配置错误会提供更多详细信息,并使用标准化语言来简化问题排查。
旧版配置方法会继续运行,但会在内部更新为使用新的配置框架。因此,即使使用旧版方法,您也可能会遇到引用新配置 API 属性的错误消息。
SafeFrameConfig 对象已从 googletag 命名空间移至 googletag.config 命名空间。
下表列出了已弃用的旧版配置方法,以及建议的配置 API 替代方法。
| 旧版配置方法 | GPT 配置 API 替换 |
|---|---|
PubAdsService.set() |
PageSettingsConfig.adsenseAttributes
|
PubAdsService.clearCategoryExclusions()PubAdsService.setCategoryExclusion()
|
PageSettingsConfig.categoryExclusion
|
PubAdsService.setCentering() |
PageSettingsConfig.centering
|
PubAdsService.collapseEmptyDivs() |
PageSettingsConfig.collapseDiv
|
PubAdsService.disableInitialLoad() |
PageSettingsConfig.disableInitialLoad
|
PubAdsService.enableLazyLoad() |
PageSettingsConfig.lazyLoad
|
PubAdsService.setLocation() |
PageSettingsConfig.location
|
PubAdsService.setForceSafeFrame()PubAdsService.setSafeFrameConfig()
|
PageSettingsConfig.safeFrame
|
PubAdsService.enableSingleRequest() |
PageSettingsConfig.singleRequest
|
PubAdsService.clearTargeting()PubAdsService.setTargeting()
|
PageSettingsConfig.targeting
|
PubAdsService.enableVideoAds()PubAdsService.setVideoContent()
|
PageSettingsConfig.videoAds
|
PubAdsService.isInitialLoadDisabled()PubAdsService.get()PubAdsService.getAttributeKeys()PubAdsService.getTargeting()PubAdsService.getTargetingKeys()
|
googletag.getConfig()
|
Slot.set() |
SlotSettingsConfig.adsenseAttributes
|
Slot.clearCategoryExclusions()Slot.setCategoryExclusion()
|
SlotSettingsConfig.categoryExclusion
|
Slot.setClickUrl() |
SlotSettingsConfig.clickUrl
|
Slot.setCollapseEmptyDiv() |
SlotSettingsConfig.collapseDiv
|
Slot.setForceSafeFrame()Slot.setSafeFrameConfig()
|
SlotSettingsConfig.safeFrame
|
Slot.clearTargeting()Slot.setTargeting()Slot.updateTargetingFromMap()
|
SlotSettingsConfig.targeting
|
Slot.get()Slot.getAttributeKeys()Slot.getCategoryExclusions()Slot.getTargeting()Slot.getTargetingKeys()
|
Slot.getConfig()
|
2025 年 7 月 21 日当周
threadYield 功能已更新,对于仅包含首屏下方广告位的请求,在生成广告请求网址之前,也会让出 JS 线程。事实证明,这会对 Core Web Vitals 产生积极影响,而不会对展示次数产生负面影响。
| 已在 GPT 中更新 | |
|---|---|
| 属性 |
googletag.config.PageSettingsConfig.threadYield
|
2025 年 6 月 2 日当周
网站插页式广告现已全面支持单页应用 (SPA)
GPT 用户现在可以在支持 SPA 的网站中无缝展示网站插页式广告,而无需重新加载整个网页。此增强功能可以:
- 提升用户体验:在 SPA 中的自然间歇点投放广告,确保顺畅过渡并减少干扰。
- 提升变现效果:通过在 SPA 驱动的动态内容上有效投放插页式广告,发掘新的增收机会。
- 保持优质广告标准:继续提供优质的广告体验,提供明确的退出选项和可配置的频次上限,同时遵循行业最佳实践。
您无需对现有的 SPA 实现进行任何更改。GPT 会自动检测和管理单页应用中网页更改的插页式广告展示。如需详细了解如何实现 GPT 管理的网站插页式广告和可选插页式广告触发器,请参阅 展示网站插页式广告 示例。
2025 年 5 月 26 日当周
H5 游戏插页式广告的频次上限已从 120 秒缩短至 30 秒。
2025 年 4 月 28 日当周
| GPT 新功能 | |
|---|---|
| 属性 |
SlotRenderEndedEvent.responseIdentifier
|
2025 年 1 月 27 日当周
以下
ComponentAuctionConfig.auctionConfig
属性已重命名,以便与
Protected Audience API
规范保持一致。
| 旧房源名称 | 新媒体资源名称 |
|---|---|
decisionLogicUrl |
decisionLogicURL |
trustedScoringSignalsUrl |
trustedScoringSignalsURL |
2024 年 10 月 21 日当周
修改 threadYield,以便在可用时使用 Scheduler.yield 而不是 Scheduler.postTask。如需了解详情,请参阅收益文档。
| 已在 GPT 中更新 | |
|---|---|
| 属性 |
googletag.config.PageSettingsConfig.threadYield
|
2024 年 9 月 2 日当周
添加了对游戏插页式广告的支持。
2024 年 8 月 19 日当周
用于控制 GPT 线程让出行为的设置已从 adYield 重命名为 threadYield,以明确该功能侧重于让出 JS 线程,而不是优化广告收益。该功能及其关联 API 的行为(名称除外)保持不变。adYield 属性将在未来的 GPT 版本中移除。
默认的线程让步行为可以通过 googletag.setConfig({threadYield: 'DISABLED'}); 停用,也可以通过 googletag.setConfig({threadYield: 'ENABLED_ALL_SLOTS'}); 应用于所有广告位,无论其相对于视口的位置如何。
| 已在 GPT 中更新 | |
|---|---|
| 属性 |
googletag.config.PageSettingsConfig.threadYield
|
2024 年 7 月 29 日当周
现在,GPT 会在呈现广告素材之前,使用 Scheduler.postTask(如果可用)让出 JS 线程,并设置优先级:'user-blocking'。事实证明,这只会对展示次数产生极小的影响,同时能显著改善 Core Web Vitals。 默认情况下,仅当广告位位于视口之外时,GPT 才会让出控制权。
您可以使用 googletag.setConfig({adYield: 'DISABLED'}); 停用默认行为,也可以使用 googletag.setConfig({adYield: 'ENABLED_ALL_SLOTS'}); 将默认行为应用于所有广告位,无论其相对于视口的位置如何。
| GPT 新功能 | |
|---|---|
| 属性 |
googletag.config.PageSettingsConfig.adYield
|
2024 年 2 月 12 日当周
修复了 SlotRenderEndedEvent.slotContentChanged 始终为 true 的 bug。今后,只有在广告位的内容发生变化时,此属性才会为 true,否则为 false(例如,如果广告未填充)。
2024 年 1 月 29 日当周
广告请求的网络故障会通过触发 googletag.events.SlotRenderEndedEvent(isEmpty 设置为 true)来模拟无填充。如需查看如何监听此事件的示例,请参阅广告事件监听器。更改包括在使用 collapseEmptyDivs 时自动收起广告位。
2023 年 12 月 11 日当周
添加了对 侧边栏锚定广告的支持。
| GPT 新功能 | |
|---|---|
| 枚举 |
OutOfPageFormat.LEFT_SIDE_RAILOutOfPageFormat.RIGHT_SIDE_RAIL
|
2023 年 11 月 13 日当周
添加了对 Chrome 预渲染的支持。当 GPT 检测到网页处于预渲染状态时,广告请求会延迟,直到用户可以看到该网页。
2023 年 10 月 23 日当周
添加了对可选网站插页式广告触发器的支持。
| GPT 新功能 | |
|---|---|
| 对象 |
googletag.config.InterstitialConfig
|
| 属性 |
googletag.config.SlotSettingsConfig.interstitial
|
| 类型 |
googletag.config.InterstitialTrigger
|
2023 年 7 月 24 日当周
Protected Audience API(以前称为 FLEDGE)将随着 7 月份发布的 Chrome 版本过渡到正式版。至此,GPT 中与组件竞价相关的功能现已稳定。
2023 年 6 月 19 日当周
更新:自 2023 年 7 月 5 日起,GPT 将不再提供其 JavaScript 库的过时版本,也不会向这些版本投放广告。如需了解详情,请参阅之前的公告。
通过 www.googletagservices.com/tag/js/gpt.js 投放广告的发布商可以继续这样做。不过,我们建议您改用首选网域,因为这可能会提升性能,并且未来可能会停止通过 www.googletagservices.com 投放 gpt.js。
2023 年 6 月 6 日当周
2023 年 5 月 22 日当周
现在,提供给 googletag.defineSlot() 和 SizeMappingBuilder.addSize() 的负值和零值会自动移除,因为它们无效。因此,提供此类无效值的现有集成可能会看到发布商控制台消息增加。
不过,这不会对现有的有效广告请求产生任何影响。
2023 年 5 月 18 日当周
现在,GPT 会在执行过程中的更早阶段安装安全信号出价方脚本。这可能会提高广告请求的信号覆盖率。
2023 年 5 月 1 日当周
修复了以下问题:在刷新多尺寸锚定广告位时,广告素材可能会显示为截断状态。
2023 年 3 月 27 日当周
对于不原生支持 Intersection Observer API 的浏览器,GPT 不再支持基于可见度的功能。请注意,所有受支持的浏览器都原生支持此 API。
| 方法或事件 | |
|---|---|
googletag.events.ImpressionViewableEvent
|
|
googletag.events.SlotVisibilityChangedEvent
|
|
googletag.pubads().enableLazyLoad()
|
|
2023 年 2 月 6 日当周
2023 年 1 月 30 日当周
Service.addEventListener() 的行为已更改,因此当事件发生时,所有关联的监听器都会在处理后续事件之前执行。在此变更之前,同一广告位的广告位呈现开始和结束事件监听器可能会不按顺序执行。
2022 年 8 月 15 日当周
Service.removeEventListener() 的返回值类型已从 boolean 更改为 void。
2022 年 7 月 25 日当周
添加了对 FLEDGE 组件竞价的实验性支持,以便对具有多个卖方的 FLEDGE 进行早期测试。
| GPT 新功能 | |
|---|---|
| 方法 |
Slot.setConfig()
|
| 对象 |
ComponentAuctionConfigSlotSettingsConfig
|
2022 年 7 月 18 日当周
ContentService API 已停用。现在,调用 googletag.content().setContent 除了记录警告之外,没有任何效果。googletag.content 属性很快就会被完全移除;之后,尝试调用该属性会抛出异常。请改用浏览器的内置 DOM API 将所需内容直接添加到 div 元素中。
2022 年 5 月 23 日当周
添加了对配置广告请求流量来源的支持。
| GPT 支持流量来源 | |
|---|---|
| 枚举 |
TrafficSource.ORGANICTrafficSource.PURCHASED
|
| 属性 | PrivacySettingsConfig.trafficSource |
2022 年 3 月 7 日当周
适合在网站中展示的激励广告现已推出。如需了解详情,请访问 Ad Manager 帮助中心。
| GPT 对适合在网站中展示的激励广告的支持 | |
|---|---|
| 枚举 | OutOfPageFormat.REWARDED |
| 活动 | RewardedSlotClosedEvent |
| 事件 | RewardedSlotGrantedEvent |
| 活动 | RewardedSlotReadyEvent |
| 对象 | RewardedPayload |
2022 年 2 月 28 日当周
CommandArray.push 现在会将提供的函数显式绑定到 globalThis,而不是其自己的 arguments 对象。
2021 年 12 月 8 日当周
枚举现在还会公开值到键的反向映射,以便与 TypeScript 枚举的行为保持一致。采用枚举值的 API 保持不变,不应使用这些新的反向映射。
2021 年 8 月 9 日当周
添加了 removeEventListener 方法。
现在,使用相同的 eventType 和回调函数实例多次调用 addEventListener 将不执行任何操作。换句话说,如果针对同一事件类型注册了单个回调函数实例 n 次,则该函数在事件发生时只会执行一次,而不是 n 次。
2021 年 7 月 29 日当周
GPT 的可见度事件 ImpressionViewableEvent 和 SlotVisibilityChangedEvent 现在会在长时间的网页会话中继续触发。以前,它们会在网页加载一小时后关闭。
2021 年 5 月 3 日当周
GPT 不再在提取广告之前为广告位设置空间。此项变更可减少未使用 CSS 预留空间的网站上的累积布局偏移 (CLS)。 为了进一步降低网站的 CLS,我们建议您使用 CSS 为广告预留非零区域。了解详情
2021 年 3 月 22 日当周
更新了 enableLazyLoad() 的行为,使其也会延迟渲染后台标签页中的首屏下广告位。
2021 年 2 月 23 日当周
现在,您可以在 display 或 refresh 之前的任何时间调用 googletag.pubads().set 和 Slot.set 方法。以前,set 仅在 googletag.enableServices 之前调用时适用。
2021 年 2 月 16 日当周
现在可以随时调用 googletag.pubads().setPublisherProvidedId API。以前,只有在 googletag.enableServices 之前调用时,它才有效。
2021 年 1 月 4 日当周
现在,您可以重复调用 googletag.pubads().collapseEmptyDivs API 来更改设置。之前,重复的调用会被忽略。
2020 年 10 月 12 日当周
推出了网站插页式广告公开 Beta 版,请参阅帮助中心。
2020 年 8 月 31 日当周
废弃了 definePassback() 和 defineOutOfPagePassback()。如需了解如何正确创建回传,请参阅回传文档。
2020 年 6 月 15 日当周
更新了 enableLazyLoad() 的行为,使其与 collapseEmptyDivs(true) 兼容。
2020 年 5 月 25 日当周
GPT 将不再支持发布商设置的确切 GPS 位置信息。具体而言,googletag.pubads().setLocation() 将不再支持纬度、经度或半径参数,而是采用自由格式的地址。
2020 年 4 月 27 日当周
GPT 呈现逻辑不再模块化为单独的文件。这意味着 GPT 在执行过程中提取的文件会减少,从而略微降低延迟时间,但对用户带宽没有净影响。
现在,当 GPT 中触发请求时(通过调用 googletag.display() 或 googletag.pubads().refresh()),我们会在内部冻结发布商提供的所有状态,以便在发送请求之前无法对其进行更改。因此,当请求触发时,系统只会将截至该时间点添加的状态用于该请求。此后修改的任何状态都只会应用于后续请求。
2019 年 11 月 11 日当周
现在,我们提供了一个新的推荐代码段,用于创建 GPT 回传。不建议使用 definePassback() 和 defineOutOfPagePassback(),因为这些函数会同步运行,并且可能会被某些浏览器屏蔽。了解详情。
添加了 Slot.updateTargetingFromMap() 方法。
添加了 PubAdsService.setPrivacySettings() 作为启用隐私设置的新方法。未来,您将可以在此处找到更多设置。
2019 年 3 月 25 日当周
现在,Pubads 服务会在调用 googletag.enableServices() 后立即完全正常运行,而不是异步初始化。这意味着,现在可以保证在调用 googletag.enableServices() 后,googletag.pubadsReady 立即为 true。应该不再需要通过轮询来检查 googletag.pubadsReady 的值。
2019 年 2 月 4 日当周
更新了 enableLazyLoad() 的行为,允许在调用 enableServices() 后更改延迟加载配置,并在每个广告位展示时冻结该广告位的延迟加载配置。
2019 年 1 月 21 日当周
添加了新的受支持事件 SlotResponseReceived,该事件会在收到广告位的广告响应时触发。
2019 年 1 月 14 日当周
添加了新的受支持事件 SlotRequestedEvent,该事件会在针对某个广告位发出广告请求时触发。
2018 年 8 月 27 日当周
修改了 googletag.display(),以接受 googletag.Slot 作为实参。
2018 年 8 月 6 日当周
添加了 googletag.PubAdsService.enableLazyLoad(),用于在 GPT 中延迟加载广告。
2018 年 6 月 18 日当周
修复了导致 googletag.events.SlotOnloadEvent 无法触发的 bug。
2018 年 4 月 30 日当周
添加了 googletag.PubAdsService.setTagForUnderAgeOfConsent(),用于控制面向未达到同意年龄的用户投放的广告;添加了 googletag.PassbackSlot.setTagForUnderAgeOfConsent(),用于将回传广告位标记为来自未达到同意年龄的用户。
2018 年 4 月 23 日当周
添加了 googletag.PubAdsService.setRequestNonPersonalizedAds(),用于控制广告个性化。
2018 年 3 月 12 日当周
回滚了以下更改:如果广告位中的现有内容不是由 GPT 放置的,则在刷新之前停止移除这些内容。现在将清除内容。
2018 年 2 月 19 日当周
使用异步呈现模式时:对于所有广告请求,尽可能使用 XMLHttpRequest 通过 HTTP GET 方法请求广告,最多可达 8,192 个字符数限制。以前,对于超过 4,096 个字符(最多 8,192 个字符)的广告请求,会使用 HTTP POST 方法。
停止在刷新前移除广告位中现有的内容(如果这些内容不是由 GPT 放置在其中的)。 此备注不正确;请参阅 2018 年 3 月 12 日当周的条目
2018 年 1 月 8 日当周
支持将 [..., ['fluid'], ...] 的替代语法用作多尺寸数组中的 NamedSized。以前,只有 [..., 'fluid', ...] 被视为有效。
2017 年 7 月 10 日当周
从 googleTag.ResponseInformation 中移除了 labelIds 字段。
2017 年 6 月 5 日当周
修改了 googletag.display() 和 googletag.pubads().display,以接受 div 元素和 div ID。这样就可以在 shadow DOM 中的 div 内呈现广告位。
2017 年 2 月 27 日当周
2016 年 11 月 7 日当周
在 Service 上发布了 getSlots() API,用于检索与服务关联的时段列表。
2016 年 10 月 17 日当周
修改了 Slot.clearTargeting() 和 PubAdsService.clearTargeting(),以接受可选的键参数。
2016 年 9 月 5 日当周
在 googletag.cmd.push() 中捕获的错误不再不可见,而是会输出到控制台。
2016 年 8 月 8 日当周
发布了 SlotOnloadEvent API,以便监听广告素材何时加载完毕。
2016 年 7 月 25 日当周
在 PubAdsService 上发布了 getTargeting() 和 getTargetingKeys() API,用于检索自定义服务级定位参数。
2016 年 6 月 20 日当周
发布了 openConsole() API,无需刷新页面即可打开 Google 发布商控制台。
2016 年 6 月 6 日当周
发布了 getTargeting() 和 getTargetingKeys() API,用于检索自定义定位参数。
添加了配置选项,让 Safeframe 能够通过推送内容来展开:allowPushExpansion。
2016 年 5 月 16 日当周
在多尺寸广告请求中支持自适应尺寸。
2016 年 4 月 18 日当周
发布了 getResponseInformation API,用于返回广告位的广告响应信息。
发布了 setAdIframeTitle API,该 API 会将输入设置为之后创建的所有广告容器 iframe 的标题。
2016 年 4 月 4 日当周
将 HTTP GET 广告请求长度上限提高到了 4,096 个字符。
2016 年 3 月 28 日当周
添加了配置选项,Safeframe 应允许通过叠加内容进行展开:allowOverlayExpansion。
添加了配置选项,其中 SafeFrame 应使用 HTML5 沙盒属性来阻止顶层导航:sandbox。
2016 年 2 月 22 日当周
添加了为广告容器 iframe 设置标题的功能:setAdIframeTitle()。
添加了一个 API,用于在网页和广告位级别配置 SafeFrame 属性:setSafeFrameConfig()。
2016 年 2 月 15 日当周
添加了销毁广告位并重复使用 div 的功能:destroySlots()。
添加了一个 API,用于通过精细控制强制在广告位上使用 SafeFrame:setForceSafeFrame()。
2015 年 12 月 7 日当周
添加广告位可见性事件 (SlotVisibilityChangedEvent)。
2015 年 10 月 26 日当周
添加展示可见度 (ImpressionViewableEvent)。
通过 JSON 映射 (Passback.updateTargetingFromMap()) 更新回传定位。
2015 年 10 月 12 日当周
支持页外广告回传。
2015 年 8 月 31 日当周
将 GPT 架构重构为精简加载器和更大的实现。
GPT 支持自适应尺寸。