It seems like a massive step forward and I certainly don't want to
introduce blockers to the M4 checkpoint being reached. Still, and I'm
working to marshall resources on my team to advance this, I couldn't be a
stronger advocate in us needing to have hot-swapping as a part of the
initial full release; I'm hoping this can get slated into a release
candidate ahead of GA.

-Andrew

On Sat, May 17, 2025 at 2:58 PM James Daugherty
<jdaughe...@jdresources.net.invalid> wrote:

> Hi Everyone,
>
> In the weekly meeting we briefly discussed the outstanding items to release
> the first Apache milestone:
> https://lists.apache.org/thread/hm3v6ooqqchms81tljk8h2vpvtj1qfcf
>
> I think this discussion merits its own mailing list thread and I'm
> interested to hear everyone's thoughts on the current plans.  From our
> meeting: we think the current code line now is functional end-to-end.  We
> now need to determine what should be finished so we can release 7.0.0-M4.
> From my notes, the following needs completed to proceed with an Apache
> Grails milestone release:
>
> # We will likely wait for Groovy 4.0.27 with Paul's reproducibility fixes.
> # (assigned to James D) We need to create a script used to verify our
> build (so we can satisfy Security's requirements)
> # (assigned to James D) We need to create a gradle script to publish
> the source/jars to the Apache distribution locations. We plan to model
> it after the groovy-release repo.
> # (assigned to James D) We need to have GitHub only stage, not
> "release".  This requires minor build updates on our side.  We intend
> to manually release the jars to maven central as part of our voting
> workflow.
> # (assigned to Mattias) spring-security has to be released & headers added.
>
> I think we have some other outstanding items too, but it's not clear to me
> if they need to be done to perform a release:
> # We need to rebrand "Grails" to "Apache Grails" in our documentation.
> # We need to remove references to the Grails Foundation on the website
> # We need to deploy the grails.apache.org website.
>
>
> Here's my first attempt at a summary of 7.0.0-M4:
>
> Apache Grails 7.0.0-M4 is the first release for Grails under the Apache
> Software Foundation (ASF).  This release focuses first on meeting the
> requirements of the ASF & improving the developer experience of Grails
> itself & Grails Applications.  As part of this transition, the developers
> moved to a mono repository, reworked the way the various Grails CLIs work,
> modernized its build system, modernized the various Grails Gradle Tasks,
> modernized the various Grails Gradle Plugins, worked towards reproducible
> builds, added license headers to our source code, and changed the maven
> coordinates of all Grails Artifacts.
>
> Here is the detailed list since 7.0.0-M3:
> * PR #14750 - support non-persistent super classes for @Autotimestamp
> * Issue #14745 - remove deprecated doc method on Grails Plugins
> * Issue #14745 - remove duplicate grails.factories & grails-plugin.xml
> files now that AST generation is working correctly
> * Issue #14745 - switch to Spring Boot 3.5.0-RC1 with Spring Framework
> 6.2.7 due to bug (
> https://github.com/spring-projects/spring-framework/issues/34796)
> * Issue #14745 - change the grails-gradle-model to export Groovy 3 due to
> Gradle Task isolation in later versions of Gradle
> * Issue #14745 - rework the FindMainTask to correctly set the main
> Application class on BootWar, BootJar, & BootRun
> * Issue # 14745 - remove org.grails.plugins.CodecGrailsPlugin;
> use org.grails.plugins.codecs.CodecsGrailsPlugin instead
> * Issue # 14745 - remove the remaining pathingJar task functions
> * Issue # 14745 - fix a databinding scenario in DataBindingUtils to lookup
> a domain object
> * PR #14749 - retire Mongo 5.0 & 6.0 test pipelines since those versions
> are end of support
> * PR #14746 - switch to asset-pipeline-gradle to 5.0.9
> * PR #14743 - remove redundant buildScript from test projects
> * Issue #14706 - rework grailsw to be usable indepedendently of SDKMAN
> installs
> * Issue #14706 - rework grails-shell-cli to be usable independently of
> SDKMAN installs
> * Issue #14706 - rework the command cli to support a grailsw that can
> self-update either forge or legacy shell cli
> * Issue #14706 - distribute a delegating CLI that can call either forge or
> the legacy shell cli
> * Issue #14706 - rework the legacy shell cli to correctly find profiles
> * Issue #14706 - rework both grailsw & grails-shell-cli to be testable
> outside of releases
> * Issue #14679 - generate reproducible groovydoc jars
> * Issue #14679 - fix profile compilation to generate reproducible jars
> * Issue #14679 - ensure groovydoc is used instead of javadoc for
> documentation jars
> * PR #14709 - switch to Gradle 8.14
> * PR #14678 - add support for external config locations
> * Refactor grails into a mono repo (grails-views, gsp, data mapping, geb,
> etc are all merged into core now)
> * As part of the mono repo transition, several Deprecated classes were
> removed from the views project; see the upgrade guide for the details.
> * Issue #14679 - refactor grails build to be parallel & lazy
> * Issue #14679 - change all Grails gradle tasks to support Caching where
> appropriate and support lazy style configuration
> * Issue #14679 - Redesign the Grails Data TCK to support modern versions of
> Java
> * Issue #14679 - Support consistent property dates in generated property
> files when SOURCE_DATE_EPOCH is set
> * Issue #14679 - Make grails.factories generation reproducible
> * Issue #14679 - Refactor Grails AST Transformations to take advantage of
> Groovy's TransformWithPriority and enforce transforms always run in the
> order defined by the class `GroovyTransformOrder`
> * Issue #14679 - Remove manifest attributes that could vary on the Grails
> jars (Built-By, Created-By etc)
> * Issue #14679 - Fix sourcejar creation to not contain duplicates
> * Issue #14679 - Fix javadoc jars to be generated based on groovydoc & to
> not contain duplicates
> * Issue #14679 - Change AST transforms to be reproducible by adopting
> determined ordering collections
> * Issue #14679 - Configure Grails jars per Gradle's reproducibility
> requirements (fixed permissions, reproducible file order, etc)
> * Issue #13850 - introduce `grails-common` to share common code between
> Grails Data Mapping & Grails-Core
> * Issue #14679 - add scripts to confirm reproducibility of Grails;
> currently 14 of 290 jars are reproducible
> * Issue #14679 - make TagLib lookups reproducible
> * PR# 14671 - switch to webjars for test css/js assets instead of checked
> in files
> * The Grails Gradle plugin had a bug that caused plugin resolution issues
> that was fixed after the last milestone.
> * Rework the grails bom to generate valid Gradle modules, be easier to
> maintain, and valid pom files.  Enhance the documentation process to parse
> the bom & generate the published versions in the grails doc.
>
>
> And in addition to all of this:
> * We changed all coordinates of Grails to be org.apache.grails based. See
> https://github.com/apache/grails-core/blob/7.0.x/RENAME.md for how we
> mapped these libraries.  There is also a script documented in the upgrade
> guide to assist in upgrading.
> * Significant test fixes
> * Significant documentation updates & changes
> * Addition of license headers to Grails Source
> * Addition of NOTICE to Grails Source
> * Created https://repo.grails.org/grails/restricted/ to replace
> https://repo.grails.org/grails/core longer term.  This virtual repo's
> scope
> is significantly reduced to help reduce the chance of using outdated
> libraries.
>
>
> I'm hoping this recap is a starting point for the release notes of
> 7.0.0-M4.  I'm sure I've missed something too.  What are people's thoughts
> on the nexts steps and these notes?
>
> -James
>


-- 

*Andrew Garcia* | Co-Founder & CEO
and...@goodshuffle.com

*Goodshuffle Pro*
<https://pro.goodshuffle.com/?utm_source=goodshuffle&utm_medium=email&utm_campaign=employeesignature&fbid=emailsignaturehomepage>
 | Read our reviews on Capterra
<https://www.capterra.com/p/167364/Goodshuffle-Pro/reviews/>

<https://www.facebook.com/Goodshuffle/>
<https://www.instagram.com/goodshuffle/>
<https://www.linkedin.com/company/goodshuffle/posts/?feedView=all>
<https://www.youtube.com/c/GoodshufflePro>

<https://pro.goodshuffle.com/dispatch-lp?utm_source=goodshuffle&utm_medium=referral&utm_campaign=Feature_Release>

Reply via email to