Releases: aspect-build/rules_jasmine
v2.0.0
Using Bzlmod with Bazel 6 or later:
Add to your MODULE.bazel
file:
bazel_dep(name = "aspect_rules_jasmine", version = "2.0.0")
Using WORKSPACE
Paste this snippet into your WORKSPACE.bazel
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "0d2f9c977842685895020cac721d8cc4f1b37aae15af46128cf619741dc61529",
strip_prefix = "rules_jasmine-2.0.0",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v2.0.0/rules_jasmine-v2.0.0.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")
rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)
load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- feat: upgrade to rules_js 2.0 by @gregmagolan in #144
- chore: bump to GHA actions/cache@v4 by @gregmagolan in #153
- chore: bump miminum dep to aspect_bazel_lib 2.7.6 by @gregmagolan in #154
- chore: bump to rules_js 2.0.0-rc1 and minimum aspect_bazel_lib 2.7.7 by @gregmagolan in #155
- chore: upgrade to Aspect Workflows 5.10.0 RC by @gregmagolan in #156
- chore: ugprade to Aspect Workflows 5.10.0 by @gregmagolan in #157
- chore: fixup pattern for try-import of user.bazelrc by @gregmagolan in #158
- chore: bump minimum rules_nodejs to 6.2.0 by @gregmagolan in #159
- chore: upgrade to Aspect Workflows 5.10.8 by @gregmagolan in #160
- chore: upgrade Aspect Workflows 5.10.9 by @gregmagolan in #161
- chore: upgrade to Aspect Workflows 5.10.11 by @gregmagolan in #163
- chore: upgrade to Aspect Workflows 5.10.11 by @gregmagolan in #164
- chore: upgrade to Aspect Workflows 5.10.12 by @gregmagolan in #165
- chore: upgrade to rules_js v2 by @jbedard in #167
Full Changelog: v1.2.0...v2.0.0
v2.0.0-rc0
Important
This release requires requires rules_js 2.x. It is not compatible with rules_js 1.x. rules_js 2 is currently in RC: https://github.com/aspect-build/rules_js/releases/tag/v2.0.0-rc0
Using Bzlmod with Bazel 6 or later:
Add to your MODULE.bazel
file:
bazel_dep(name = "aspect_rules_jasmine", version = "2.0.0-rc0")
Using WORKSPACE
Paste this snippet into your WORKSPACE.bazel
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "384bc59275ace06c27ca7f37cd7b738a4dfa633888195936d55ac376d86aebd8",
strip_prefix = "rules_jasmine-2.0.0-rc0",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v2.0.0-rc0/rules_jasmine-v2.0.0-rc0.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")
rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)
load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- feat: upgrade to rules_js 2.0 by @gregmagolan in #144
Full Changelog: v1.2.0...v2.0.0-rc0
v1.2.0
Using Bzlmod with Bazel 6 or later:
Add to your MODULE.bazel
file:
bazel_dep(name = "aspect_rules_jasmine", version = "1.2.0")
Using WORKSPACE
Paste this snippet into your WORKSPACE.bazel
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "58f4981cd8972225bce38dcacdd897ae5ac8b41cf5968363d47b939f6c745802",
strip_prefix = "rules_jasmine-1.2.0",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v1.2.0/rules_jasmine-v1.2.0.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- chore: disable linux/darwin specific test on Windows by @gregmagolan in #64
- chore: set --remote_download_minimal and --nobuild_runfile_links for all Workflows tasks by @gregmagolan in #76
- chore: update to Bazel 6.3.2 and Aspect CLI 5.7.2 by @gregmagolan in #81
- chore: fixup warming cron --- gha does not support timezone by @gregmagolan in #88
- chore: update buildifier targets used by Aspect Workflows by @gregmagolan in #90
- chore: update bcr maintainers by @kormide in #94
- chore: bring in aspect_rules_lint and add format task to Aspect Workflows by @gregmagolan in #99
- chore: upgrade to buildifier 6.3.3 by @gregmagolan in #100
- chore: bazel run //:format by @gregmagolan in #101
- chore: enable workflows delivery on demostration target by @gregmagolan in #104
- chore: BCR testing on Bazel 6 and 7 by @alexeagle in #114
- chore: upgrade to Bazel 7.0.2 by @gregmagolan in #119
- chore: add Aspect bazelrc presets by @gregmagolan in #121
- chore: fix GHA concurrency check to not apply to main branch by @gregmagolan in #129
- chore: enable workflows github annotations by @kormide in #140
- chore: bump to Bazel 7.1.1 by @gregmagolan in #148
- chore: misc cleanup by @gregmagolan in #149
- chore: bump rules_go & gazelle deps by @gregmagolan in #151
- chore: make e2e/jasmine_test/MODULE.bazel a real file by @gregmagolan in #150
- chore: align ci patterns by @gregmagolan in #152
New Contributors
Full Changelog: v1.1.0...v1.2.0
v2.0.0-alpha.0
Important
rules_js maintainers are working towards a rules_js 2.0 RC release. Breakings changes in the underlying provider API require that all downstream rulesets have major releases such as this one. We don't recommended upgrading to this alpha release. For more information on the rules_js 2.0 release see the tracking issue aspect-build/rules_js#1671.
Using Bzlmod with Bazel 6 or later:
Add to your MODULE.bazel
file:
bazel_dep(name = "aspect_rules_jasmine", version = "2.0.0-alpha.0")
Using WORKSPACE
Paste this snippet into your WORKSPACE.bazel
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "27bdef90fe30586a8a625506b1a8ce358e6c8807f46bbb8ea62c13a311ad88cc",
strip_prefix = "rules_jasmine-2.0.0-alpha.0",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v2.0.0-alpha.0/rules_jasmine-v2.0.0-alpha.0.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")
rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)
load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- feat: update to rules_js 1.27.0 and pickup fixed_args feature by @gregmagolan in #58
- ci: enable buildifier check on ci by @jbedard in #59
- chore: disable buildifier on windows by @jbedard in #60
- chore: bump rules_js dep to 1.29.2 to pickup Windows fix by @gregmagolan in #61
- chore: disable linux/darwin specific test on Windows by @gregmagolan in #64
- chore: set --remote_download_minimal and --nobuild_runfile_links for all Workflows tasks by @gregmagolan in #76
- chore: update to Bazel 6.3.2 and Aspect CLI 5.7.2 by @gregmagolan in #81
- chore: fixup warming cron --- gha does not support timezone by @gregmagolan in #88
- chore: update buildifier targets used by Aspect Workflows by @gregmagolan in #90
- chore: update bcr maintainers by @kormide in #94
- chore: bring in aspect_rules_lint and add format task to Aspect Workflows by @gregmagolan in #99
- chore: upgrade to buildifier 6.3.3 by @gregmagolan in #100
- chore: bazel run //:format by @gregmagolan in #101
- chore: enable workflows delivery on demostration target by @gregmagolan in #104
- chore: BCR testing on Bazel 6 and 7 by @alexeagle in #114
- chore: fixup GHA warming & delivery yaml by @gregmagolan in #117
- chore: upgrade to Bazel 7.0.2 by @gregmagolan in #119
- chore: add Aspect bazelrc presets by @gregmagolan in #121
- chore: fix GHA concurrency check to not apply to main branch by @gregmagolan in #129
- chore: enable workflows github annotations by @kormide in #140
- chore: bump to Bazel 7.1.1 by @gregmagolan in #148
- chore: misc cleanup by @gregmagolan in #149
- chore: bump rules_go & gazelle deps by @gregmagolan in #151
- chore: make e2e/jasmine_test/MODULE.bazel a real file by @gregmagolan in #150
New Contributors
Full Changelog: v1.0.0...v2.0.0-alpha.0
v1.1.1
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "4c16ef202d1e53fd880e8ecc9e0796802201ea9c89fa32f52d5d633fff858cac",
strip_prefix = "rules_jasmine-1.1.1",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v1.1.1/rules_jasmine-v1.1.1.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- feat: update to rules_js 1.27.0 and pickup fixed_args feature by @gregmagolan in #58
- ci: enable buildifier check on ci by @jbedard in #59
- chore: disable buildifier on windows by @jbedard in #60
- chore: bump rules_js dep to 1.29.2 to pickup Windows fix by @gregmagolan in #61
Full Changelog: v1.0.0...v1.1.1
v1.0.0
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "5a263b8ff5c708db63fff41af737bd1c37b9cec641b303e66944e342e5ca0550",
strip_prefix = "rules_jasmine-1.0.0",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v1.0.0/rules_jasmine-v1.0.0.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- docs: rename jasmine_test file by @alexeagle in #57
Full Changelog: v0.6.0...v1.0.0
v0.6.0
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "bb55ad9ce24a4381753f177287cffe5a0e159016012b688261bd5abc831d6ed3",
strip_prefix = "rules_jasmine-0.6.0",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v0.6.0/rules_jasmine-v0.6.0.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- test: add various test cases from rules_nodejs by @jbedard in #49
- chore: re-use GHA workflow from rules-template by @alexeagle in #50
- also use reusable workflow for release by @alexeagle in #51
- fix: release used wrong reusable workflow by @gregmagolan in #54
- perf: use rules_js Bazel 6 optimized fs patches if using Bazel 6 and experimental_allow_unresolved_symlinks is on by @gregmagolan in #55
New Contributors
Full Changelog: v0.5.0...v0.6.0
v0.5.0
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "9eb8e5e8f6c89463416710c729040cc7465dd6dca04e407bb15fb6aef129c3de",
strip_prefix = "rules_jasmine-0.5.0",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v0.5.0/rules_jasmine-v0.5.0.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- chore: update dependencies by @gregmagolan in #45
- chore: bzlmod by @alexeagle in #47
Full Changelog: v0.4.0...v0.5.0
v0.4.0
jasmine_repositories
repository rule is removed and a new node_modules
attribute is now required for jasmine_test
. This change is BREAKING for all users.
The //path/to:node_modules
tree target must be passed to the jasmine_test
rules via the node_modules
attribute. For example,
jasmine_test(
name = "test",
node_modules = "//:node_modules",
...
)
You'll need jasmine
and jasmine-reporters
linked in the node_modules tree provided. The jasmine-reporters
requirements can be removed by setting generate_junit_xml = False
on your jasmine_test
targets. jasmine-core
is also required if you use sharding.
This change has the added benefits of not requiring users to keep the jasmine version used in their package.json
in sync with their WORKSPACE and not requiring any changes to rules_jasmine
to support new releases of jasmine.
This change is in the spirit of the change in rules_webpack v0.11.0 and will also be rolled out to rules_jest, rules_rollup & rules_terser in the near future so the patterns on the downstream rules_js rulesets we maintain are aligned both for maintainers and for users.
WORKSPACE snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "5b8a9659221f2050012fb93c230ab5a5029b0b9d8aaa63ec9f1469e82a6c977e",
strip_prefix = "rules_jasmine-0.4.0",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v0.4.0/rules_jasmine-v0.4.0.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
What's Changed
- chore: update to Aspect CLI 5.2.0-rc0 by @gregmagolan in #42
- chore: update to Aspect CLI 5.2.1 by @gregmagolan in #43
- feat: add ESM support to
jasmine_test()
by @dgp1130 in #41 - refactor: remove vendored jasmine versions, user must provider their own jasmine from their node_modules by @gregmagolan in #44
New Contributors
Full Changelog: v0.3.1...v0.4.0
v0.3.1
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_jasmine",
sha256 = "b3b2ff30ed222db653092d8280e0b62a4d54c5e65c598df09a0a1d7aae78fc8f",
strip_prefix = "rules_jasmine-0.3.1",
url = "https://github.com/aspect-build/rules_jasmine/releases/download/v0.3.1/rules_jasmine-v0.3.1.tar.gz",
)
######################
# aspect_rules_jasmine setup #
######################
# Fetches the aspect_rules_jasmine dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
# Fetch dependencies which users need as well
rules_jasmine_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
load("@aspect_rules_jasmine//jasmine:repositories.bzl", "jasmine_repositories")
jasmine_repositories(name = "jasmine")
load("@jasmine//:npm_repositories.bzl", jasmine_npm_repositories = "npm_repositories")
jasmine_npm_repositories()
What's Changed
- chore: update latest version to jasmine 4.5.0 by @jstuder-gh in #29
- chore: Add the macOS runner to the matrix strategy by @realtimetodie in #35
- release: publish release artifact by @alexeagle in #38
- chore: update to rules_js 1.19.0 by @gregmagolan in #39
- chore: update to aspect_bazel_lib 1.27.2 by @gregmagolan in #40
New Contributors
- @jstuder-gh made their first contribution in #29
- @realtimetodie made their first contribution in #35
- @alexeagle made their first contribution in #38
Full Changelog: v0.3.0...v0.3.1