41554 blogs · [ { "id": "01a0877e-7af4-7070-9104-87b25f68b15e", "title": "Testing Astra 6 v Fable 5.1 on a Gradle docs bug", "url": "https://blog.gradle.org/two-agents-one-gradle-bug", "published_at": "2026-09-09T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295c44e323", "title": "Introducing the Gradle Security Subscription", "url": "https://blog.gradle.org/gradle-security-subscription", "published_at": "2026-08-31T04:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d28dd12775", "title": "Gradle Build Tool August 2026 Newsletter", "url": "https://newsletter.gradle.org/2026/08", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295cfec33a", "title": "Gradle Is Going Agentic", "url": "https://blog.gradle.org/gradle-is-going-agentic", "published_at": "2026-08-19T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295dcc705d", "title": "Resilient Sync: Your IDE Keeps Helping even when your Build is Broken", "url": "https://blog.gradle.org/resilient-sync", "published_at": "2026-08-13T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295e25557e", "title": "The Red X that Says What it Saw", "url": "https://blog.gradle.org/dogfooding-failure-summaries", "published_at": "2026-08-11T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295ebaf0a7", "title": "Introducing Isolated Projects", "url": "https://blog.gradle.org/introducing-isolated-projects", "published_at": "2026-08-06T04:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d28ea8fff7", "title": "Gradle Build Tool July 2026 Newsletter", "url": "https://newsletter.gradle.org/2026/07", "published_at": "2026-07-30T00:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295f536b5b", "title": "Three Gradle Talks from KotlinConf 2026 (and What to Steal from Each)", "url": "https://blog.gradle.org/gradle-at-kotlinconf-2026", "published_at": "2026-07-28T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295f665a46", "title": "How the Gradle Team Adopted Isolated Projects", "url": "https://blog.gradle.org/isolated-projects-in-gradle-team", "published_at": "2026-07-22T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295faeaec7", "title": "The Company Formerly Known as Gradle", "url": "https://blog.gradle.org/the-company-formerly-known-as-gradle", "published_at": "2026-07-17T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06295fe01575", "title": "Triaging at Scale: How the Gradle Team Handles Issues and Pull Requests", "url": "https://blog.gradle.org/triaging-gradle-github-issues", "published_at": "2026-07-16T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296047d56b", "title": "Essential Tips for Gradle on Ephemeral CI Environments - Part 3", "url": "https://blog.gradle.org/gradle-on-ephemeral-ci-3", "published_at": "2026-07-09T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062960f9807c", "title": "Essential Tips for Gradle on Ephemeral CI Environments - Part 2", "url": "https://blog.gradle.org/gradle-on-ephemeral-ci-2", "published_at": "2026-07-08T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629614a0cae", "title": "Essential Tips for Gradle on Ephemeral CI Environments - Part 1", "url": "https://blog.gradle.org/gradle-on-ephemeral-ci-1", "published_at": "2026-07-07T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629620ca7a6", "title": "You Are Probably Already Running gradle/actions", "url": "https://blog.gradle.org/running-gradle-github-actions", "published_at": "2026-06-30T04:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d28f92a9fa", "title": "Gradle Build Tool June 2026 Newsletter", "url": "https://newsletter.gradle.org/2026/06", "published_at": "2026-06-24T00:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062962e6dcc1", "title": "The Four Kotlin Versions in a Gradle Project", "url": "https://blog.gradle.org/three-kotlin-versions-in-a-gradle-project", "published_at": "2026-06-12T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629636f90f5", "title": "How AWS Powers Gradle's Open Source Build Tool", "url": "https://blog.gradle.org/how-aws-powers-gradle-open-source", "published_at": "2026-06-09T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629643681d7", "title": "The (Petty) Reason We Didn't End Up Using jj", "url": "https://blog.gradle.org/the-petty-reason-we-didnt-end-up-using-jj-at-gradle", "published_at": "2026-06-02T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629646b6221", "title": "How Gradle Is Javamaxxing", "url": "https://blog.gradle.org/gradle-is-javamaxxing", "published_at": "2026-05-28T04:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d2906ec79f", "title": "Gradle Build Tool May 2026 Newsletter", "url": "https://newsletter.gradle.org/2026/05", "published_at": "2026-05-28T00:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296480cb4b", "title": "Achieving Fast Inner Dev Loops with Gradle: Configuration Cache and Beyond", "url": "https://blog.gradle.org/fast-inner-dev-loops-with-gradle", "published_at": "2026-05-20T04:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d2911af3b5", "title": "Gradle Build Tool April 2026 Newsletter", "url": "https://newsletter.gradle.org/2026/04", "published_at": "2026-04-28T00:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296525b0c7", "title": "Choice, Clarity, and the Future of Caching in Gradle Actions", "url": "https://blog.gradle.org/choice-clarity-future-caching-gradle-actions", "published_at": "2026-04-03T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062965601a14", "title": "GitHub Actions for Gradle v6: What's Changing and Why", "url": "https://blog.gradle.org/github-actions-for-gradle-v6", "published_at": "2026-03-24T04:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d2917c969b", "title": "Gradle Build Tool March 2026 Newsletter", "url": "https://newsletter.gradle.org/2026/03", "published_at": "2026-03-19T00:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062965d2aa37", "title": "Avoiding the Next Supply Chain Disaster with GitHub and Gradle", "url": "https://blog.gradle.org/avoid-supply-chain-disaster-with-github-gradle", "published_at": "2026-02-25T05:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d292525b23", "title": "Gradle Build Tool February 2026 Newsletter", "url": "https://newsletter.gradle.org/2026/02", "published_at": "2026-02-17T00:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d2931d8e5c", "title": "Gradle Build Tool January 2026 Newsletter", "url": "https://newsletter.gradle.org/2026/01", "published_at": "2026-01-22T00:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d293b4e400", "title": "Gradle Build Tool December 2025 Newsletter", "url": "https://newsletter.gradle.org/2025/12", "published_at": "2025-12-18T00:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062966a2dfd0", "title": "Detecting Maven-Hijack-style risks in Gradle builds with the Dependency Analysis Gradle Plugin", "url": "https://blog.gradle.org/detect-maven-hijack-risks-in-gradle-with-plugin", "published_at": "2025-12-08T05:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d293bc5757", "title": "Gradle Build Tool November 2025 Newsletter", "url": "https://newsletter.gradle.org/2025/11", "published_at": "2025-11-20T00:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d294543093", "title": "Gradle Build Tool October 2025 Newsletter", "url": "https://newsletter.gradle.org/2025/10", "published_at": "2025-10-23T00:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d2945f6038", "title": "Gradle Build Tool September 2025 Newsletter", "url": "https://newsletter.gradle.org/2025/09", "published_at": "2025-09-25T00:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629673a8c8a", "title": "Gradle Now Maintains the Official Docker Image", "url": "https://blog.gradle.org/docker-image-ownership", "published_at": "2025-09-15T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062967974dde", "title": "Good Neighbors: How to Reduce Maven Central Traffic from Gradle Builds", "url": "https://blog.gradle.org/maven-central-mirror", "published_at": "2025-08-01T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062968751e6e", "title": "Gradle Best Practices - A Path to Build Happiness", "url": "https://blog.gradle.org/gradle-best-practices", "published_at": "2025-05-01T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629690eead2", "title": "Declarative Gradle EAP3 - April 2025 Update", "url": "https://blog.gradle.org/declarative-gradle-april-2025-update", "published_at": "2025-04-15T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296a053539", "title": "State of the Configuration Cache - On the Road to Gradle 9", "url": "https://blog.gradle.org/road-to-configuration-cache", "published_at": "2025-03-14T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296af6f6ff", "title": "Declarative Gradle EAP2 - November 2024 Update", "url": "https://blog.gradle.org/declarative-gradle-november-2024-update", "published_at": "2024-11-18T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296bab5b5d", "title": "First look at Declarative Gradle", "url": "https://blog.gradle.org/declarative-gradle-first-eap", "published_at": "2024-07-24T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296bde4d2b", "title": "Dependency Management - Best Practices for Naming Gradle Version Catalog Entries", "url": "https://blog.gradle.org/best-practices-naming-version-catalog-entries", "published_at": "2024-07-08T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296c88d479", "title": "Impact of final JCenter shutdown on Gradle Plugin Portal", "url": "https://blog.gradle.org/portal-jcenter-impact", "published_at": "2024-07-05T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296d1214e1", "title": "Road to Gradle 9 with Louis Jacomet", "url": "https://blog.gradle.org/road-to-gradle-9", "published_at": "2024-06-18T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296d1bf473", "title": "Gradle's Evolution - A Conversation with Adam Murdoch", "url": "https://blog.gradle.org/gradles-evolution-a-conversation-with-adam-murdoch", "published_at": "2024-06-12T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296de70442", "title": "Welcome the Google Summer of Code contributors!", "url": "https://blog.gradle.org/welcome-gsoc-contributors", "published_at": "2024-06-05T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296e6d3d72", "title": "DPE University - New Gradle Build Tool Courses", "url": "https://blog.gradle.org/dpe-university-and-gradle-courses", "published_at": "2024-05-28T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296f43124b", "title": "Gradle partners with GitHub on supply chain security", "url": "https://blog.gradle.org/gradle-github-partnership-supply-chain-security", "published_at": "2024-04-18T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06296fda2d73", "title": "2023 Lunar Year in Review", "url": "https://blog.gradle.org/2023-lunar-new-year", "published_at": "2024-02-12T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062970102169", "title": "Declarative Gradle", "url": "https://blog.gradle.org/declarative-gradle", "published_at": "2023-11-10T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629705c1000", "title": "Improvements in the Build Configuration Input Tracking", "url": "https://blog.gradle.org/improvements-in-the-build-configuration-input-tracking", "published_at": "2023-09-01T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062970703952", "title": "An In-depth Look at Gradle's Approach to Faster Compilation", "url": "https://blog.gradle.org/our-approach-to-faster-compilation", "published_at": "2023-08-25T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062970b2ee2c", "title": "Simpler Kotlin DSL Property Assignment", "url": "https://blog.gradle.org/simpler-kotlin-dsl-property-assignment", "published_at": "2023-06-30T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062970ce845c", "title": "Plugin Portal Outage Followup", "url": "https://blog.gradle.org/plugin-portal-outage-followup", "published_at": "2023-06-28T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062971022b89", "title": "Kotlin DSL is Now the Default for New Gradle Builds", "url": "https://blog.gradle.org/kotlin-dsl-is-now-the-default-for-new-gradle-builds", "published_at": "2023-04-13T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629715a013f", "title": "How Gradle Works Part 3 - Build Script", "url": "https://blog.gradle.org/how-gradle-works-3", "published_at": "2023-03-10T02:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062971b64ba4", "title": "Gradle Wrapper Attack Report", "url": "https://blog.gradle.org/wrapper-attack-report", "published_at": "2023-01-25T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062971ba8e0c", "title": "Protecting Project Integrity", "url": "https://blog.gradle.org/project-integrity", "published_at": "2023-01-25T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629729f3967", "title": "How Gradle Works Part 2 - Inside The Daemon", "url": "https://blog.gradle.org/how-gradle-works-2", "published_at": "2023-01-21T07:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629735f0d28", "title": "How Gradle Works Part 1 - Startup", "url": "https://blog.gradle.org/how-gradle-works-1", "published_at": "2023-01-11T02:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062973bc5604", "title": "Introducing Public Design Specs", "url": "https://blog.gradle.org/design-spec-annoucement", "published_at": "2022-12-07T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629749601e6", "title": "Compilation Avoidance", "url": "https://blog.gradle.org/compilation-avoidance", "published_at": "2022-11-28T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062974eaf004", "title": "Introducing Test Suites", "url": "https://blog.gradle.org/introducing-test-suites", "published_at": "2022-11-15T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629759346ee", "title": "How We Handle Flaky Tests in Gradle", "url": "https://blog.gradle.org/how-we-handle-flaky-tests-in-gradle", "published_at": "2022-11-03T02:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062975a497d2", "title": "A Better Way to Use Gradle With Github Actions", "url": "https://blog.gradle.org/gh-actions", "published_at": "2022-09-14T06:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629762f498f", "title": "Plugin Portal Potential Data Exposure", "url": "https://blog.gradle.org/portal-information-exposure", "published_at": "2022-08-24T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629765eb251", "title": "Simplifying the Plugin-Publish Plugin", "url": "https://blog.gradle.org/simplifying-the-plugin-publish-plugin", "published_at": "2022-07-18T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062976f20d97", "title": "General Build Distribution: A Game-Changer or a Gimmick?", "url": "https://blog.gradle.org/general-build-distribution", "published_at": "2022-07-12T06:00:01+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629774ad306", "title": "Remote and Distributed Build Patterns", "url": "https://blog.gradle.org/remote-and-distributed-build-patterns", "published_at": "2022-07-12T06:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629775b4b97", "title": "Mentoring Program Announcement", "url": "https://blog.gradle.org/mentoring-program-annoucement", "published_at": "2022-06-23T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062977c8694a", "title": "Gradle Public Roadmap", "url": "https://blog.gradle.org/roadmap-announcement", "published_at": "2022-06-17T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062977e0eff4", "title": "Gradle Plugin Resolution Outage Postmortem", "url": "https://blog.gradle.org/plugins-jcenter", "published_at": "2022-01-20T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629781161d1", "title": "Dealing with the Critical Log4j Vulnerability", "url": "https://blog.gradle.org/log4j-vulnerability", "published_at": "2021-12-13T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062978c204ac", "title": "Automatic Feedback on Plugin Publication", "url": "https://blog.gradle.org/plugin-portal-validations", "published_at": "2021-11-04T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062979a1cf4c", "title": "JCenter Shutdown Impact on Gradle Builds", "url": "https://blog.gradle.org/jcenter-shutdown", "published_at": "2021-02-22T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297a5e8800", "title": "Introducing the Gradle Fellowship Program", "url": "https://blog.gradle.org/gradle-fellowship", "published_at": "2021-02-10T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297a88f9e2", "title": "Introducing Java toolchains", "url": "https://blog.gradle.org/java-toolchains", "published_at": "2020-10-30T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297b09d055", "title": "Introducing Configuration Caching", "url": "https://blog.gradle.org/introducing-configuration-caching", "published_at": "2020-08-10T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297b6431d8", "title": "Gradle vs Bazel for JVM Projects", "url": "https://blog.gradle.org/gradle-vs-bazel-jvm", "published_at": "2020-06-30T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297c1e1303", "title": "Refining the Gradle issue backlog", "url": "https://blog.gradle.org/stale-issue-backlog", "published_at": "2020-06-09T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297c7e2a1e", "title": "Introducing file system watching", "url": "https://blog.gradle.org/introducing-file-system-watching", "published_at": "2020-05-29T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297c98c2e5", "title": "Plugin Portal Security CVE-2020-7599", "url": "https://blog.gradle.org/plugin-portal-update", "published_at": "2020-03-27T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297c9a4fa8", "title": "Smarter dependency downgrades", "url": "https://blog.gradle.org/version-downgrade", "published_at": "2020-03-12T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297cae8872", "title": "Verifying Gradle Wrappers with GitHub Actions", "url": "https://blog.gradle.org/gradle-wrapper-checksum-verification-github-action", "published_at": "2020-02-06T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297da3d56a", "title": "Why libraries like Guava need more than POMs", "url": "https://blog.gradle.org/guava", "published_at": "2020-01-22T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297dcc2053", "title": "Introducing flaky test mitigation tools", "url": "https://blog.gradle.org/gradle-flaky-test-retry-plugin", "published_at": "2020-01-13T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297e14946b", "title": "Optional dependencies are not optional", "url": "https://blog.gradle.org/optional-dependencies", "published_at": "2020-01-07T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297e464c32", "title": "Addressing the complexity of the Java logging ecosystem with capabilities", "url": "https://blog.gradle.org/addressing-logging-complexity-capabilities", "published_at": "2019-12-17T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297f03aac7", "title": "What’s new in Gradle 6.0", "url": "https://blog.gradle.org/what-is-new-in-gradle-6", "published_at": "2019-11-26T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297fd08f25", "title": "Automatically align Dependencies with Platforms and Gradle Module Metadata", "url": "https://blog.gradle.org/alignment-with-gradle-module-metadata", "published_at": "2019-11-25T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06297ff9e3de", "title": "Avoiding dependency hell with Gradle 6", "url": "https://blog.gradle.org/avoiding-dependency-hell-gradle-6", "published_at": "2019-11-11T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062980f64ddd", "title": "Decommissioning HTTP for Gradle Services", "url": "https://blog.gradle.org/decommissioning-http", "published_at": "2019-10-17T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629810bf3d6", "title": "Introducing the Swift plugins", "url": "https://blog.gradle.org/introducing-the-swift-plugins", "published_at": "2019-09-05T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-0629814cd073", "title": "Update on the new C++ plugins", "url": "https://blog.gradle.org/update-on-the-new-cpp-plugins", "published_at": "2019-06-04T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-06298150ca71", "title": "Automatic task execution in Buildship", "url": "https://blog.gradle.org/buildship-sync-task-exec", "published_at": "2019-05-02T04:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062981c443b4", "title": "Introducing Gradle Module Metadata", "url": "https://blog.gradle.org/gradle-metadata-1.0", "published_at": "2019-03-07T05:00:00+00:00" }, { "id": "01a08216-dd46-72f1-925d-062982a07bc9", "title": "Developer Productivity Day 2019, Munich", "url": "https://blog.gradle.org/developer-productivity-day", "published_at": "2019-02-05T05:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d27d564a68", "title": "Using build scan tags for ad-hoc root cause analysis", "url": "https://blog.gradle.org/build-scans-tag-root-cause", "published_at": "2019-01-15T05:00:00+00:00" }, { "id": "01a08216-dd47-7334-9ca1-73d27e4f0766", "title": "Gradle Kotlin DSL 1.0", "url": "https://blog.gradle.org/kotlin-dsl-1.0", "published_at": "2018-12-10T05:00:00+00:00" } ] posts Claim your blog
Back to Gradle Blog
Blog · corpus.blog/blogs/gradle.org/posts

Gradle Blog

gradle.org

2026

2025

2024

2023

2022

2021

2020

2019

2018