diff --git a/.github/actions/build_and_coverage/action.yml b/.github/actions/build_and_coverage/action.yml
index d1fb26100..29003be40 100644
--- a/.github/actions/build_and_coverage/action.yml
+++ b/.github/actions/build_and_coverage/action.yml
@@ -6,14 +6,17 @@ runs:
steps:
# SETUP & CACHE
- - uses: coursier/setup-action@v1.3.0
+ - uses: coursier/cache-action@v6.4.5
+ id: coursier-cache
with:
- jvm: adopt:8
- apps: sbt scala scalafmt # https://github.com/coursier/apps
+ ignoreJob: 'true'
+ ignoreMatrix: 'true'
- - uses: coursier/cache-action@v6
+ - uses: coursier/setup-action@v1.3.5
+ if: steps.coursier-cache.outputs.cache-hit-coursier != 'true'
with:
- extraKey: "${{ env.SPARK_VERSION }}"
+ jvm: adopt:8
+ apps: sbt scala scalafmt # https://github.com/coursier/apps
# CHECK CODE FORMAT
- name: Code Format
@@ -32,7 +35,7 @@ runs:
- name: Test Summary
id: test_summary
if: ${{ success() && steps.test_coverage.conclusion == 'success' || failure() && steps.test_coverage.conclusion == 'failure' }}
- uses: test-summary/action@v2.0
+ uses: test-summary/action@v2.3
with:
paths: "./core/target/test-reports/**/TEST-*.xml"
output: "test-summary.md"
@@ -54,7 +57,7 @@ runs:
- name: Upload test summary
if: ${{ github.event_name == 'pull_request' && ((success() || failure()) && steps.add_summary_link.conclusion == 'success') }}
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4.3.1
with:
name: "test-summary-${{ env.SPARK_VERSION }}.md"
path: "test-summary-${{ env.SPARK_VERSION }}.md"
@@ -63,9 +66,9 @@ runs:
- name: Publish coverage to codecov 📊
if: contains(env.SCOPE, 'uploadReport')
- uses: codecov/codecov-action@v3
+ uses: codecov/codecov-action@v4.1.0
with:
- files: ./target/scala-2.12/scoverage-report/scoverage.xml,./target/scala-2.13/scoverage-report/scoverage.xml
+ file: ./target/scala-*/scoverage-report/scoverage.xml
fail_ci_if_error: true
verbose: false
flags: 'spark-${{ env.SPARK_VERSION }}.x'
diff --git a/.github/actions/clean_cache/action.yml b/.github/actions/clean_cache/action.yml
index 86d426643..bda0e75c8 100644
--- a/.github/actions/clean_cache/action.yml
+++ b/.github/actions/clean_cache/action.yml
@@ -7,8 +7,6 @@ runs:
- name: Cleaning for cache 🚯
run: |
rm -rf "$HOME/.ivy2/local" || true
- find $HOME/Library/Caches/Coursier/v1 -name "ivydata-*.properties" -delete || true
- find $HOME/.ivy2/cache -name "ivydata-*.properties" -delete || true
find $HOME/.cache/coursier/v1 -name "ivydata-*.properties" -delete || true
find $HOME/.sbt -name "*.lock" -delete || true
shell: bash
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 661f376bb..cb3fc932d 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -10,10 +10,6 @@ documentation:
- changed-files:
- any-glob-to-any-file: [ 'docs/**/*', 'notebooks/**/*', '*.md' ]
-spark_2.4:
- - changed-files:
- - any-glob-to-any-file: [ 'core/src/main/spark*2.4*/**/*', 'core/src/main/scala/**/*' ]
-
spark_3.0:
- changed-files:
- any-glob-to-any-file: [ 'core/src/main/spark*3.0*/**/*', 'core/src/main/scala/**/*' ]
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 81d69ba4c..a172072ca 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,7 +15,7 @@ jobs:
name: Check Dependencies
steps:
- name: PR Dependency Check
- uses: gregsdennis/dependencies-action@1.3.2
+ uses: gregsdennis/dependencies-action@1.3.3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -51,7 +51,7 @@ jobs:
}" > pr_context.json
- name: Upload PR context
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v4.3.1
with:
name: "pr_context.json"
path: "pr_context.json"
@@ -69,7 +69,7 @@ jobs:
check_mdoc:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
# BUILD MDOC, sbt should take the latest version
- name: Build the microsite 💻
diff --git a/.github/workflows/dependency-graph.yml b/.github/workflows/dependency-graph.yml
index 61afa9f3f..97621d6d0 100644
--- a/.github/workflows/dependency-graph.yml
+++ b/.github/workflows/dependency-graph.yml
@@ -11,5 +11,6 @@ jobs:
name: Update Dependency Graph
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
- - uses: scalacenter/sbt-dependency-submission@v2
+ - uses: actions/checkout@v4.1.1
+
+ - uses: scalacenter/sbt-dependency-submission@v2.3.1
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
index 7b3563d79..fe941e55d 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler.yml
@@ -6,7 +6,7 @@ jobs:
triage:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- uses: actions/labeler@v5
with:
diff --git a/.github/workflows/pr_comment.yml b/.github/workflows/pr_comment.yml
index f8b46f554..2539a9b88 100644
--- a/.github/workflows/pr_comment.yml
+++ b/.github/workflows/pr_comment.yml
@@ -21,7 +21,7 @@ jobs:
# GITHUB_CONTEXT: ${{ toJson(github) }}
# run: echo "$GITHUB_CONTEXT"
- name: Download PR context
- uses: dawidd6/action-download-artifact@v3.0.0 # marcofaggian/action-download-multiple-artifacts@v3.0.8
+ uses: dawidd6/action-download-artifact@v3.1.2 # marcofaggian/action-download-multiple-artifacts@v3.0.8
with:
name: pr_context.json
workflow_conclusion: ""
@@ -52,19 +52,6 @@ jobs:
issue-number: ${{ fromJson(steps.output_pr_context.outputs.pr_context).pr_number }}
body-includes: "This is an auto-generated comment"
-# - uses: actions/checkout@v3
-#
-# - name: Render template
-# id: template
-# uses: chuhlomin/render-template@v1.4
-# with:
-# template: .github/templates/pr_comment.md
-# vars: |
-# workflow: ${{ github.workflow }}
-# run_url: [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
-# attempt: ${{ github.event.workflow_run.run_attempt }}
-# job_name: ${{ github.job }}
-
- name: Get current date
id: getDate
run: echo "::set-output name=current_date::$(date +'%Y-%m-%d %H:%M:%S %z (%Z)')"
@@ -133,7 +120,7 @@ jobs:
steps:
- name: Download artifact
id: download_artifacts
- uses: dawidd6/action-download-artifact@v3.0.0 # marcofaggian/action-download-multiple-artifacts@v3.0.8
+ uses: dawidd6/action-download-artifact@v3.1.2 # marcofaggian/action-download-multiple-artifacts@v3.0.8
with:
# names: test-summary-*.md
workflow_conclusion: ""
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index a1e0d03c3..6c4a64be6 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -29,7 +29,7 @@ jobs:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- id: set-matrix
uses: JoshuaTheMiller/conditional-build-matrix@v2.0.1
@@ -45,19 +45,21 @@ jobs:
matrix: ${{fromJson(needs.matrix_prep.outputs.matrix)}}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
# SETUP & CACHE
+ - uses: coursier/cache-action@v6.4.5
+ id: coursier-cache
+ with:
+ ignoreJob: 'true'
+ ignoreMatrix: 'true'
+
- uses: coursier/setup-action@v1.3.5
+ if: steps.coursier-cache.outputs.cache-hit-coursier != 'true'
with:
jvm: adopt:8
apps: sbt scala scalafmt # https://github.com/coursier/apps
- - name: Coursier cache
- uses: coursier/cache-action@v6
- with:
- extraKey: "${{ matrix.spark }}"
-
# MAVEN RELEASE
- name: Maven release 🎁
run: sbt ci-release -DsparkVersion=${{ matrix.spark }}
diff --git a/.github/workflows/wc_build.yml b/.github/workflows/wc_build.yml
index a33f7af6f..a8372d3af 100644
--- a/.github/workflows/wc_build.yml
+++ b/.github/workflows/wc_build.yml
@@ -13,7 +13,7 @@ jobs:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- id: set-matrix
uses: JoshuaTheMiller/conditional-build-matrix@v2.0.1
@@ -27,7 +27,7 @@ jobs:
matrix: ${{fromJson(needs.matrix_prep.outputs.matrix)}}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- uses: ./.github/actions/build_and_coverage
env:
diff --git a/.github/workflows/wc_publishSite.yml b/.github/workflows/wc_publishSite.yml
index d68e2cb99..4ee2fe854 100644
--- a/.github/workflows/wc_publishSite.yml
+++ b/.github/workflows/wc_publishSite.yml
@@ -14,7 +14,7 @@ jobs:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- id: set-matrix
uses: JoshuaTheMiller/conditional-build-matrix@v2.0.1
@@ -29,18 +29,21 @@ jobs:
matrix: ${{fromJson(needs.matrix_prep.outputs.matrix)}}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
# SETUP & CACHE
+ - uses: coursier/cache-action@v6.4.5
+ id: coursier-cache
+ with:
+ ignoreJob: 'true'
+ ignoreMatrix: 'true'
+
- uses: coursier/setup-action@v1.3.5
+ if: steps.coursier-cache.outputs.cache-hit-coursier != 'true'
with:
jvm: adopt:8
apps: sbt scala scalafmt # https://github.com/coursier/apps
- - uses: coursier/cache-action@v6
- with:
- extraKey: "${{ matrix.spark }}"
-
# BUILD SCALADOCS (API)
- name: Build the scaladocs 💻
run: sbt -DsparkVersion=${{ matrix.spark }} +core/doc
@@ -61,7 +64,7 @@ jobs:
- name: Upload docs ⬆️
if: steps.prepare_scaladocs.conclusion == 'success'
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v4.3.1
with:
name: "spark-${{ matrix.spark }}"
path: "spark-${{ matrix.spark }}"
@@ -79,7 +82,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
# BUILD MDOC, sbt should take the latest version
- name: Build the microsite 💻
@@ -88,7 +91,7 @@ jobs:
# DOWNLOAD DOCS, this will download all the artifacts because no name provided
- name: Download docs ⬇️
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v4.1.4
with:
path: "docs/target/mdoc/docs/api/"
diff --git a/README.md b/README.md
index df7b88493..0400286d0 100644
--- a/README.md
+++ b/README.md
@@ -11,14 +11,15 @@ Type-safe columns for spark DataFrames!
[![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/hablapps/doric/main?filepath=notebooks)
-| Spark | Maven Central | Codecov |
-|:-----:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| 2.4.x |Deprecated [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_2-4_2.11)](https://mvnrepository.com/artifact/org.hablapps/doric_2-4_2.11/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-2.4.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
-| 3.0.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-0_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-0_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.0.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
-| 3.1.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-1_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-1_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.1.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
-| 3.2.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-2_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-2_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.2.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
-| 3.3.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-3_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-3_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.3.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
-| 3.4.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-4_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-4_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.4.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
+| Spark | Maven Central | Codecov |
+|:-----:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| 2.4.x | Deprecated
[![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_2-4_2.11)](https://mvnrepository.com/artifact/org.hablapps/doric_2-4_2.11/0.0.7) | - |
+| 3.0.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-0_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-0_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.0.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
+| 3.1.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-1_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-1_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.1.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
+| 3.2.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-2_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-2_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.2.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
+| 3.3.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-3_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-3_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.3.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
+| 3.4.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-4_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-4_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.4.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
+| 3.5.x | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-5_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-5_2.12/0.0.7) | [![Codecov](https://img.shields.io/codecov/c/github/hablapps/doric?flag=spark-3.5.x&label=codecov&logo=codecov&token=N7ZXUXZX1I)](https://codecov.io/gh/hablapps/doric) |
----
Doric offers type-safety in DataFrame column expressions at a minimum
@@ -66,29 +67,29 @@ _Maven_
`Doric` depends on Spark internals, and it's been tested against the
following spark versions.
-| Spark | Scala | Tested | doric |
-|:-----:|:-----------:|:------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
-| 2.4.x | 2.11 | ✅ | Deprecated [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_2-4_2.11)](https://mvnrepository.com/artifact/org.hablapps/doric_2-4_2.11/0.0.7) |
-| 3.0.0 | 2.12 | ✅ | - |
-| 3.0.1 | 2.12 | ✅ | - |
-| 3.0.2 | 2.12 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-0_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-0_2.12/0.0.7) |
-| 3.1.0 | 2.12 | ✅ | - |
-| 3.1.1 | 2.12 | ✅ | - |
-| 3.1.2 | 2.12 | ✅ | - |
-| 3.1.3 | 2.12 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-1_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-1_2.12/0.0.7) |
-| 3.2.0 | 2.12 | ✅ | - |
-| 3.2.1 | 2.12 | ✅ | - |
-| 3.2.2 | 2.12 / 2.13 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-2_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-2_2.12/0.0.7) |
-| 3.3.0 | 2.12 / 2.13 | ✅ | - |
-| 3.3.1 | 2.12 / 2.13 | ✅ | - |
-| 3.3.2 | 2.12 / 2.13 | ✅ | - |
-| 3.3.3 | 2.12 / 2.13 | ✅ | - |
-| 3.3.4 | 2.12 / 2.13 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-3_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-3_2.12/0.0.7) |
-| 3.4.0 | 2.12 / 2.13 | ✅ | - |
-| 3.4.1 | 2.12 / 2.13 | ✅ | - |
-| 3.4.2 | 2.12 / 2.13 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-4_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-4_2.12/0.0.7) |
-| 3.5.0 | 2.12 / 2.13 | ✅ | - |
-| 3.5.1 | 2.12 / 2.13 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-5_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-4_2.12/0.0.7) |
+| Spark | Scala | Tested | doric |
+|:-----:|:-----------:|:------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
+| 2.4.x | 2.11 | ✅ | Deprecated
[![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_2-4_2.11)](https://mvnrepository.com/artifact/org.hablapps/doric_2-4_2.11/0.0.7) |
+| 3.0.0 | 2.12 | ✅ | - |
+| 3.0.1 | 2.12 | ✅ | - |
+| 3.0.2 | 2.12 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-0_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-0_2.12/0.0.7) |
+| 3.1.0 | 2.12 | ✅ | - |
+| 3.1.1 | 2.12 | ✅ | - |
+| 3.1.2 | 2.12 | ✅ | - |
+| 3.1.3 | 2.12 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-1_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-1_2.12/0.0.7) |
+| 3.2.0 | 2.12 | ✅ | - |
+| 3.2.1 | 2.12 | ✅ | - |
+| 3.2.2 | 2.12 / 2.13 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-2_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-2_2.12/0.0.7) |
+| 3.3.0 | 2.12 / 2.13 | ✅ | - |
+| 3.3.1 | 2.12 / 2.13 | ✅ | - |
+| 3.3.2 | 2.12 / 2.13 | ✅ | - |
+| 3.3.3 | 2.12 / 2.13 | ✅ | - |
+| 3.3.4 | 2.12 / 2.13 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-3_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-3_2.12/0.0.7) |
+| 3.4.0 | 2.12 / 2.13 | ✅ | - |
+| 3.4.1 | 2.12 / 2.13 | ✅ | - |
+| 3.4.2 | 2.12 / 2.13 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-4_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-4_2.12/0.0.7) |
+| 3.5.0 | 2.12 / 2.13 | ✅ | - |
+| 3.5.1 | 2.12 / 2.13 | ✅ | [![Maven Central](https://img.shields.io/maven-central/v/org.hablapps/doric_3-5_2.12)](https://mvnrepository.com/artifact/org.hablapps/doric_3-4_2.12/0.0.7) |