0.13.0-M1
Pre-release
Pre-release
Merged Pull Requests since 0.12.10
- build.mill files compiled by Scala 3 by @bishabosha in #3369
- Bump uPickle to 4.1.0 by @lihaoyi in #3280
- Fix
transitiveCoursierProjects
cause OOM on large build (#4452) by @lihaoyi in #4454 - Clean up Discover macro and codegen by @lihaoyi in #4461
- Reduce size of generated code in Discover macro by @lihaoyi in #4463
- stabilize
example/pythonlib/testing/2-test-deps
by @lihaoyi in #4466 - Add lewisjkl/header to third party plugins by @lewisjkl in #4467
- Move task override tracking from planning time to instantiation time by @lihaoyi in #4181
- Replace
import $file
syntax with flat package namespacing by @lihaoyi in #4462 - Cleanup base module by @lihaoyi in #4470
- Cleanup terminal handling by @lihaoyi in #4477
- More breaking up of TestGraphs by @lihaoyi in #4478
- Write a doc example on multi-language Mill projects by @monyedavid in #4476
- Allow
Task.Source
/Task.Sources
to be constructed directly from subpath string literals by @lihaoyi in #4486 - Get rid of
mill.eval.Terminal
and inline underlying tasks by @lihaoyi in #4488 - fix docs by @monyedavid in #4493
- Cleanup deprecated by @lihaoyi in #4499
- Add file count to
PalantirFormatModule
output by @lefou in #4495 - Consolidate jvm subprocess and inprocess functions by @sake92 in #4456
- More cleanup by @lihaoyi in #4500
- Introduce
mill.internal
package to hold Mill utility classes not intended for public use by @lihaoyi in #4507 - Split out
core/
folder frommain/
by @lihaoyi in #4509 - Consolidate
blog/
anddocs/
underwebsite/
folder by @lihaoyi in #4510 - Run
-rewrite -source 3.6-migration
, enable Scalafix in tests by @lihaoyi in #4512 - Enable fatal warnings by @lihaoyi in #4515
- First pass at cleaning up
Evaluator
andRunScript
by @lihaoyi in #4516 - Remove dependency from
define
oninternal
by @lihaoyi in #4517 - Cleanup
mill.define.Module
andmill.define.Ctx
by @lihaoyi in #4518 - Add Scala Spark example doc page by @monyedavid in #4513
- Cleanup by @lihaoyi in #4521
- Remove
Agg
in favor ofSeq
by @lihaoyi in #4525 - Fix launch time regression in Scala 3 upgrade by @lihaoyi in #4526
- Split out
Result
andExecResult
types, replaceEither[String, T]
withResult
by @lihaoyi in #4528 - Cleanup
Evaluator
public API by @lihaoyi in #4529 - Tweak retries to try and fix flakiness by @lihaoyi in #4531
- Explicitly set locale in scalalib tests to
LC_ALL=C.utf8
by @lefou in #4535 - CI: Limit the dependency trees to essential modules by @lefou in #4537
- Review and fix AsciiDoc issues by @lefou in #4539
- Android/fix android paths by @vaslabs in #4540
- Avoid
.stripMargin
when rendering documentation from example modules by @lefou in #4544 - Apply bin-compat breaking suggestions in PublishModule by @lolgab in #4523
- Fix doc publishing by @lihaoyi in #4548
- Blog Post: What is a Build Tool and what does it do? by @lihaoyi in #4538
- Clean up
Task.scala
by @lihaoyi in #4549 - feat: support test case selection in TestNG framework by @kasiaMarek in #4506
- Simplify Task Macro Code Generation, Execution tests by @lihaoyi in #4551
- Simplify Applicative.scala by @lihaoyi in #4554
- More cleanup by @lihaoyi in #4555
- Avoid hardcoded version in PalantirFormatModule by @lefou in #4552
- Avoid hardcoded version of revApi dependency by @lefou in #4553
- Use adoc syntax to mark graphviz blocks in examples by @lefou in #4543
- Update bootstap patch file by @lefou in #4562
- Separate
resolvedRunIvyDeps
andtransitiveLocalClasspath
into two stages when build assembly jar by @lihaoyi in #4565 - Add option to use the embeddable compiler in
KotlinModule
by @vaslabs in #4557 - Add scaladoc to AssemblyModule.scala by @lihaoyi in #4567
- Cleanup Kotlin tests by @lefou in #4568
- Forward port "Fix hang on
mill.integration.invalidation[selective-execution]
" by @lihaoyi in #4572 - Website: Bump documented version from 0.12.7 to 0.12.8 by @lefou in #4573
- Blog Post: Fast JVM Assembly Jars Creation with the Mill Build Tool by @lihaoyi in #4558
- Kotlin KSP support with basic dependency injection example using Dagger by @vaslabs in #4485
- Bump OS-Lib to 0.11.4 final by @lihaoyi in #4569
- Rework millEmbeddedDeps stuff by @alexarchambault in #4546
- Fix Scaladoc capture on
RootModule
s by @lihaoyi in #4576 - Rebootstrap on 0.12.8 by @lihaoyi in #4570
- Optimize startup time by skipping
CoursierClient
and avoidingList#apply
lookups by @lihaoyi in #4580 - Rename
TestModule#test
totestForked
by @lihaoyi in #4577 - Avoid inheriting stderr in
SelectiveExecutionTests.scala
to prevent flakiness from leaked processes by @lihaoyi in #4581 - Make
--no-server
mode also terminate on removal ofprocessId
file, use it in integration test cleanup by @lihaoyi in #4587 - Ignore
-native
suffix on Windows-ARM and fall back to JVM by @lihaoyi in #4589 - feat: RootModule and Cross can be applied to the same module by @jbwheatley in #4593
- More cleanups for
Evaluator
API by @lihaoyi in #4594 - Break out separate
Caching in Mill
andParallelism in Mill
pages by @lihaoyi in #4604 - More documentation improvements for Mill parallelism and caching by @lihaoyi in #4605
- [ISSUE-2981] Fix
semanticdbData
for mixed scala/java projects by @Baccata in #4599 - Improve performances of
Bloop/install
by @Baccata in #4600 - Change millBinPlatform to 0.13 by @joan38 in #4607
- Restrict sources and inputs to not accept upstream tasks by @lihaoyi in #4524
- Fix typo in
Task.Source
by @lolgab in #4613 - Provide default JVM version to be used by Mill server process, when
.mill-jvm-version
and systemjava
are not provided by @lihaoyi in #4597 - Move
TestModule.*
dependencies tomandatoryIvyDeps
by @lihaoyi in #3279 - Bump actions/upload-artifact from 4.6.0 to 4.6.1 by @dependabot in #4619
- Android/publishing aar by @irodotos7 in #4583
- Java code review by @lefou in #4502
- Rename
methodCodeHashSignatures
tocodeSignatures
by @lihaoyi in #4620 - Update coursier to 2.1.25-M2 (adds early Gradle Module support) by @alexarchambault in #4591
- Fix cross-file references between helper files by @lihaoyi in #4622
- [WIP] Make
Evaluator
only available toTask.Command(exclusive = true)
by @lihaoyi in #3717 - Break the dependency between repositoriesTask and ivyDeps by @alexarchambault in #4465
- Update Scaladocs for NativeImageModule by @ajaychandran in #4632
- Change
os.Path
targets toPathRef
in scalanativelib by @lolgab in #4633 - Integrate
os.Checker
to sandbox filesystem IO by @lihaoyi in #4635 - Add failed tasks count to Mill's progress indicator by @zelosleone in #4617
- Fix BSP reimport issue by @joan38 in #4639
- Fix curl check in Windows wrapper script by @SuperSodaSea in #4648
- Update jarjar-abrams-core from 0.14.0 to 0.14.1 by @lefou in #4649
- Update logback-classic from 1.5.16 to 1.5.17 by @lefou in #4650
- Update zinc from 0.10.7 to 1.10.8 by @lefou in #4651
- Update acyclic from 0.3.15 to 0.3.16 by @lefou in #4656
- Update ammonite from 3.0.1 to 3.0.2 by @lefou in #4657
- Cleanup logger by @lihaoyi in #4653
- Fix compiler warnings by @lefou in #4496
- More logger cleanups by @lihaoyi in #4658
- Remove PrintLogger by @lihaoyi in #4661
- Scaladoc for
mill.api.Logging
methods by @lihaoyi in #4662 - Use
Dep.version
where appropriate by @lefou in #4663 - Add
def warn(s: String): Unit
toLogger
by @lolgab in #4664 - Use the new warn log level in various places by @lefou in #4665
- Fix down download URLs to use stable versions by @lihaoyi in #4669
- Make
mill.api.Ctx
atrait
by @lihaoyi in #4670 - Update acyclic to 0.3.18 by @lefou in #4673
- update documentation to warn about PowerShell pitfall by @joshuakfarrar in #4676
- Update mill-moduledef to 0.11.3-M5 by @lefou in #4678
- Use process pool for test runner by @HollandDM in #4614
- Blog Post: Invalidating build caches using JVM bytecode callgraph analysis by @lihaoyi in #4677
- JavaScriptLib Restructure by @monyedavid in #4647
- Rebootstrap and dogfood testEnableWorkStealing in Mill's own build. by @lihaoyi in #4682
- Turn on
testEnableWorkStrealing
by default by @lihaoyi in #4681 - Remove
InputPumper#runningCheck
by @lihaoyi in #4686 - Cleanup coursier support code by @lihaoyi in #4687
- Add some retries to try and work around scaladoc flakiness by @lihaoyi in #4684
- main
testEnableWorkStealing
cleanups by @lihaoyi in #4688 - Make source path configurable in TestBaseModule by @denisrosca in #4696
- Try and fix synchronization problems in prompt logger by @lihaoyi in #4700
- main improvements to improvements to Test parallelism UI by @lihaoyi in #4695
- Configure thread pool executor to run in LIFO order to minimize blocked task count by @lihaoyi in #4701
- Remove unused files by @alexarchambault in #4691
- Format more files by @alexarchambault in #4693
- Format using scalafmt command rather than ScalafmtModule/checkFormatAll task by @alexarchambault in #3511
- Rebootstrap on latest
0.12.x
by @lihaoyi in #4707 - Avoid printing
AnsiNav.clearLine
in non-interactive PromptLogger to clean up CI logs by @lihaoyi in #4709 - Use priority queue to run Mill executor tasks, prioritizing first async task and de-prioritizing subsequent ones by @lihaoyi in #4714
- Rebootstrap main branch by @lihaoyi in #4717
- (main) Improvements precision of
testParallelism
scheduler lifetime management by @lihaoyi in #4723 - Support
mill init
from an existing sbt project, and improve related Maven and Gradle support by @ShreckYe in #4586 - Pass Mill source JARs to Bloop (#4608) by @alexarchambault in #4634
- Blog: Strategies for Efficiently Parallelizing JVM Test Suites by @lihaoyi in #4732
- Tweak docs (main) by @lihaoyi in #4739
- Tweaks to jvm-test-parallelism blog post by @lihaoyi in #4740
- Rebootrap main branch by @lihaoyi in #4741
- Rebootstrap on 0.12.9 by @lihaoyi in #4742
- Support
nativeServiceProviders
inScalaNativeModule
by @lolgab in #4736 - Prepare changelog for 0.12.9 by @lihaoyi in #4734
- Replace uppercase "SBT" with lowercase "sbt", and update some links to
https
BTW by @ShreckYe in #4706 - Fix BSP sync by @joan38 in #4753
- Remove dist/ from .gitignore by @alexarchambault in #4752
- Ignore some example tests that consistently fail on CI by @alexarchambault in #4751
- Update benchmarks for Mill 0.12.9-native by @lihaoyi in #4755
- Port Ollama-Js to the Mill build tool by @monyedavid in #4438
- More clean up of
ExecutionResults
interface by @lihaoyi in #4758 - Fix main class discovery in scala 3 by @lihaoyi in #4760
- Clean up main method discovery logic by @lihaoyi in #4762
- Add test runner indicators by @HollandDM in #4737
- Rebootstrap on latest head of 0.12.x by @lihaoyi in #4765
- Fix potential ArrayIndexOutOfBoundsException by @lefou in #4769
- Clean up mill comparison docs by @lihaoyi in #4773
- Add Kotlin support for BuildInfo module by @lefou in #4771
- Update coursier to 2.1.25-M3 by @alexarchambault in #4725
- First-class support for Kotlin compiler plugins by @lefou in #4779
- Update coursier to 2.1.25-M4 by @alexarchambault in #4781
- Less confusing error message. by @arturaz in #4789
- Review and fix proguard contrib plugin by @lefou in #4788
- Prefer
defaultResolver().classpath
overLib.resolveDependencies
by @alexarchambault in #4727 - Use en_US.UTF-8 locale in scalalib tests on macOS by @alexarchambault in #4747
- Optimize BSP initialization stuff (forwardport #4698) by @alexarchambault in #4724
- Add
Dep.millProjectModule
to refer to mill project modules by @lefou in #4790 - Add a logger to Retry, and make the integration tests Retry effective by @alexarchambault in #4793
- Add --doc, --sources, and --transitive options to publishLocal command (forwardport #4697) by @alexarchambault in #3512
- Fix main class discovery for
KotlinModule
by @lihaoyi in #4797 - Set
WebApp.scala
shutdown timeout to zero by @lihaoyi in #4798 - Log command to be run in Jvm.callProcess when debugging is enabled by @alexarchambault in #4792
- Use a
-native
suffix when installing a native image into the local cache by @lefou in #4808 - Fix Android Example Tests by @gamlerhart in #4785
- Fix uTest test task creation for multi-test-class test modules by @lihaoyi in #4811
- Tweaks to
.mill
file codegen by @lihaoyi in #4815 - Fix rendering of bootstrap script installation command by @lihaoyi in #4817
- Debug SBT migration test failure. by @lihaoyi in #4816
- Find main classes with ClassGraph by @lefou in #4822
- Minor improvements to native distribution size by @lihaoyi in #4825
- Don't publish jansi in ~/.ivy2/local in integration test by @alexarchambault in #4824
- Avoid cyclic dependency in Dep by @lefou in #4831
- Kotlin overhaul by @lefou in #4786
- Change
RunModule.classgraphWorkerModule
fromval
todef
by @lefou in #4833 - Rename
ZincWorker
toJvmWorker
by @lihaoyi in #4834 - Prepare 0.12.10 changelog by @lihaoyi in #4835
- Rebootstrap on 0.12.10 by @lihaoyi in #4836
- Fix build deprecations and rebootstrap on Mill 0.12.10 by @lefou in #4837
- Vendor
lefou::mill-vcs-version
as part ofmill-main
by @lihaoyi in #4842 - Bump actions/upload-artifact from 4.6.1 to 4.6.2 by @dependabot in #4767
- Documentation: Fix download link by @lefou in #4849
- Fix deprecated API use: millSourcePath, millModuleSegments, millInternal by @lefou in #4847
- Replace deprecated API: ZincWorkerXxx by @lefou in #4845
- Replace deprecated API: log.outputStream and log.errorStream by @lefou in #4844
- Rebootstrap on
main
branch targeting0.13.x
by @lihaoyi in #4848
New Contributors
- @lewisjkl made their first contribution in #4467
- @kasiaMarek made their first contribution in #4506
- @jbwheatley made their first contribution in #4593
- @zelosleone made their first contribution in #4617
- @SuperSodaSea made their first contribution in #4648
- @joshuakfarrar made their first contribution in #4676
Full Changelog: 0.12.10...0.13.0-M1