Releases: yoshinorin/qualtet
v2.12.0 (Scarlet Magata)
「私は、真賀田四季です。貴女が不審に思うような、他の人格ではありません」
森博嗣.すべてがFになる THEPERFECTINSIDERS&Mシリーズ(講談社文庫)(p.12).講談社.Kindle版.
Breaking Changes (But no-bump major version)
- Java 21.x Support (and drop Java 17 Support)
- Error Response
- (3a06ed9) feat(http): error responses are in accordance with
RFC7807
- (3a06ed9) feat(http): error responses are in accordance with
- Add
v1
prefix to each endpoints- (51f9e4b) refactor(http): append
/v1
versioning prefix on each endpoint
- (51f9e4b) refactor(http): append
Notable Changes
- Scala 3.4.0
- (fb62001) chore: bump scala from
3.3.3
to3.4.0
- (fb62001) chore: bump scala from
New Features
- (287be32) feat(http/search): returns accumulated errors when search query params are invalid
Fixes
- (2dd0778) fix(http/content): excludes whitespace length from content length
- (81ae0ce) fix(contents): return
404
instead of raise error if content not found
Recfactors
- (7a6cb89) refactor: use
F[_]
instead ofM[_]
for Higher-Kinded Types - (4f5edc7) refactor(syntax): more abstraction, use
HKT
instead ofIO
- (199e160) refactor(db/transactor): more abstraction, use
Monad
for HKT instead ofIO
- (b7ed267) refactor(syntax): use
Monad
instead ofIO
for more abstraction - (588f86a) refactor(auth/jwt): use
Monad
instead ofIO
for more abstraction - (9670be5) refactor(syntax/throwable): use
Monad
instead ofIO
for more abstraction - (06982f8) refactor: re-structure
Fail
case classes - (8e6dbbe) refactor(http): rewrite error handling
- (abcaf5a) refactor(domains/repository): move into
repositories
directory - (565fba7) refactor: rename case class for read db row
- (5580144) refactor(docs/rest-api): devide file
- (bbc93e9) refactor: use
Context Functions
if possible - (eb46d65) refactor: use
using
or add comment - (dd20aee) refactor: use
log4cats
inBootStrap
instead ofslf4j
- (12e4f85) refactor(db): avoid using
unsafeRunSync()
in db migration - (3bdcbf2) refactor(http):
MethodNotAllowSupport
trait more abstract - (d43f008) fix(db/migrate): delete return types and run
unsafeRunSync
before select a data from db - (4650e3f) refactor(search): divide extract and validate search query function
- (858b091) refactor(http): delete unnecessary
implicit val
- (8ef223d) refactor(domain/repository): type classes
- (72ea9bc) refactor: escape reserved words instead of append suffix
- (a35c9e5) refactor(logger): move
log4catsLogger
instance fromBootStrap
toModules
Docker
- (9cd0a9f) chore(docker): update
db
image forlocal
andtest
- (5b78f73) chore(docker): add
--no-install-recommends
for install packages - (3637cc5) chore(docker): reduce image size with multi stage build
- (df9e4d5) chore(docker): enable
QUALTET_HTTP_ENDPOINT_SYSTEM_METADATA_ENABLED
on example docker compose file - (47b34d8) chore(docker): rename example docker compose file
- (e919585) chore(docker): bump runtime base image
- (d387505) docker: bump builder's image
Test
- (04609be) test: delete unnecessary import
- (70b4e59) test(http): assert JSON for error cases
- (badbbc7) test(http): add
TODO
comment - (571217d) test(http): assert
Content-Type
explicitly in all endpoint - (b9db55d) test(http): assert JSON response for all endpoints
CI
- (f019d3e) chore(ci): bump
actions/checkout
from3
to4
- (5b1c658) chore(ci): bump
actions/setup-java
from3
to4
- (3b6c562) chore(ci): update
actions
- (8f5ee22) chore(ci): bump
actions/cache
from@v3
to@v4
- (3a4fc84) ci: update cache settings
- (3cfb94c) ci: use
coursier/cache-action
instead ofactions/cache
- (6b43c03) ci: run compile before cache
- (7923bcc) ci: ignore take a coverage
- (e313dcd) ci: fix typo
- (af9429b) ci: enable take coverage and send report
- (1005acb) ci: bump scala from
3.3.1
to3.3.3
Dependencies
- (cfdcf38) chore(deps): update dependencies
- (ed3989a) docs(deps): update dependencies
- (294ef93) docs: bump dependencies
- (04eaf73) chore(deps): update dependencies
- (9aae68f) chore(deps): update dependencies
- (e4629f6) chore(plugins): update plugins
- (049b061) chore(deps): update dependencies
- (e7e7ea5) chore(deps): bump dependencies
- (3927898) chore: bump sbt from
1.9.7
to1.9.9
- (59af9ea) chore: bump scala from
3.3.1
to3.3.3
Docs
- (1883c9e) docs: update releases
- (3f73935) fix(docs/rest-api): fix wrong respons and etc
- (65d82c4) docs: update npm required engine version
- (c66c834) docs(openapi): add
deprecated
option tostatus
endpoint - (739ff1c) docs(openapi): add
request
andresponse
header description - (0620b8c) docs(openapi): update
externalDocs
url - (d55ea19) docs(openapi): fix typo
- (8ed98fa) docs(openapi): update
headers
section - (7d8a6ad) docs(openapi): add
External Resources
section - (dde8e71) docs: update
README.md
- (1931c47) docs: update
README.md
- (c503e32) docs: update LICENSE year
- (917a0fe) docs: fix example
docker-compose.yml
url - (e364154) docs: fix wrong library name
- (c8b7565) docs(deps): update dependencies
- (2a8ab29) docs(rest-api): add
NOTE
section - (71d40f6) docs(README): update coverage badge
- (145b831) docs(README): update coverage badge
- (1e579ef) docs: add missing
robotsAttributes
description - (3eb094a) docs(rest-api): memtion to which content excludes from the response
Misc
- (2f9fdbb) chore: add
TODO
andFIXME
comment - (176c332) chore: add comment
- (2853f48) chore: suppress
SeqApply
in recursive function - (386b390) chore: update
scalafmt
settings - (5d534cb) fix(tools): some fixes
Full Changelog
v2.11.0 (Scarlet Linda)
一人娘 で、リンダといった。
森博嗣. 幽霊を創出したのは誰か? Who Created the Ghost? WWシリーズ(講談社タイガ)(p.12).講談社.Kindle 版.
Docker
- (ab76c9c) chore(docker): bump
docker-sbt
image - (30cd028) chore(docker): bump
docker-sbt
version - (b40a9ff) chore(docker): bump base image
- (db733ba) chore(docker): delete unnecessary layer, package and files
CI/CD
- (d6670fa) ci: add
Java 21
to matrix
Dependencies
- (28dc8a0) chore(deps): bump scala from
3.3.0
to3.3.1
- (c79f558) chore(deps): update dependencies
- (e3392cd) chore(plugins): bump
scalafmt
- (ad81022) chore(plugins): bump plugins
- (939af1b) chore(deps): specify
log4cats
- (dd98c6f) chore(deps): update dependencies
- (cbd8785) chore(plugins): delete
sbt-license-report
plugin
Full Changelog
v2.10.0 (Scarlet Kanmapa)
ナクチュの区長であり、ここのリーダでもあるカンマパの許可を既に得てある。
森博嗣.風は青海を渡るのか? The Wind Across Qinghai Lake? Wシリーズ(講談社タイガ)(p.18).講談社.Kindle版.
Breaking Changes (but not bump major version)
- (11506b1) refactor(http/status): drop
status
endpoint
Notable Changes
- (81ad641) chore(deps): bump
http4s
from1.0.0-M39
to1.0.0-M40
and bumpcats-effect
from3.4.11
to3.5.1
Docker
- (de48746) chore(docker): bump
docker-mariadb
fromv10.11.4
tov10.11.5
CI / CD
- (500ef21) Revert "chore(plugin): bump
sbt-coveralls
from1.3.9
to1.3.11
"
Dependencies
Docs
- (d979ac3) docs(releases): add appendix section
Misc
- (3f4b854) docs(releases): fix typo
Full Changelog
v2.9.1
v2.9.0 (Scarlet Judy)
名前は、ジュディという。君に話しかけることはないと思う。控えめなのでね
森博嗣. 血か、死か、無か? Is It Blood, Death or Null? Wシリーズ (講談社タイガ) (p.153). 講談社. Kindle 版.
New Features
- Add
system/metadata
endpoint and related commits- (a5cdbf1) feat(http/system): add
metadata
endpoint - (4dc0381) feat(http/system): configurable
metadata
endpoint enable or not - (306c813) refactor(http/metadata): if expression
- (152a791) refactor(config): reorganize stracture
- (743598d) pref(http/system): use
lazy val
for getmetadata
- (a4a9e9c) feat(http/system): return more field when
GET
request tometadata
endpoint - (c254ec7) test(http/system): delete unnecessary var
- (a5cdbf1) feat(http/system): add
- Add
system/health
endpoint and related commits - (2b3988b) feat(docker): set a commit hash when build a docker image
- (237856f) feat(buildInfo): add
repository
- (97ba7ca) feat(logging): logging application info when boot a server
Refactor
- (c9fb76d) refactor: use
ResourceApp.Forever
instead ofIOApp
- (54807d2) refactor: delete unnecessary
import
,val
andargs
- (24aaf01) refactor(http): use
map[F]
instead offor-comprehension
- (075919b) refactor(docker): use v2 compose command in sbt task
CI / CD
- (98a17f0) fix(ci): ci doesn't run if change
Dockerfile
Test
- (764cfcd) test(http/system): nested should
Dependencies
- (9c0e66d) chore(deps): update dependencies
- (7a51202) chore(plugin): bump
sbt-coveralls
from1.3.9
to1.3.11
- (398eb50) chore: bump
scalafmt
from3.7.9
to3.7.12
Docs
Misc
- (a5573d5) chore(plugins): add
sbt-buildinfo
andsbt-git
- (12ee11d) chore(deps/docs): update dependencies
- (294d1fc) chore(http): add
withShutdownTimeout
option - (a933e22) chore: update compiler options
- (c5e5c46) chore(http): fix typo
Full Changelog
v2.8.0 (Scarlet Iman)
イマンという名で呼ばれていたそうだが、その……、人間を殺した最初の人工知能と呼ばれていたらしい
森博嗣. 血か、死か、無か? Is It Blood, Death or Null? Wシリーズ (講談社タイガ) (p.37). 講談社. Kindle 版.
New Features
- (c5e6a3a) feat(http): add
X-Request-Id
header to response and refactorhttpApp
build sequence - (b247ebb) feat(auth): case insensitive
Bearer
support - (51774df) feat(docker): define
QUALTET_VERSION
ENV - (25e8823) feat(tags): return
count
fields that related number of articles
Fixes
- (7f2a1e9) fix(http/cors): avoid allow all origin if config contains invalid URL
- (2618170) fix(http/queryParams):
limit
default value from1
to10
Refactors
- (a71105a) refactor(contents): delete
requestId
field - (27817d0) test(CORS): add test case for
CorsProvider
- (e1ad0ca) refactor(http): remove
orNotFound
method fromRouter
class and applyCORS
to router bulky - (58a0c1f) chroe: clean up
import
- (b3497f5) refactor(http/cors): use
AllowOriginAll
explicitly if cors config is empty - (c55d8d6) refactor(http/router): clean up
import
- (e27d102) refactor(http/queryParams): move from
Router
class tosyntax
trait and add test cases - (cce8366) refactor(http): move
HttpRoutes.of
methods fromRouter
class to eachRoutes
classes - (419a3dc) refactor(http): move
HttpApp
builder fromBootStrap
toHttpAppBuilder
- (7645d0b) refactor(auth): delete redundant pattern match
- (a54cf99) refactor(auth): clean up
import
Test
- (30eddb4) test(cors): add
empty
test case - (a2f8464) test(http/header): add test case for additional headers
Dependencies
- (0240403) chore(deps): bump sbt from
1.9.0
to1.9.3
Misc
Docs
- (501fa73) docs(docker): add
Environment variables
section - (a0e93d6) docs: add
Using Stack
section - (7d81caa) docs: update
README.md
- (bb5a1fe) docs(features): fix typo
Full Changelog
v2.7.0 (Scarlet Hagiri)
「ハギリ先生ですね?」そう言った。日本語だ。
森博嗣.彼女は一人で歩くのか? Does She Walk Alone?Wシリーズ(講談社タイガ)(p.8).講談社.Kindle版.
New Features
- (a1a6ca4) feat(contents): return content length
- (43927e8) feat(http): add
X-Response-Time
header to response
Performances
- (bfc2f86) perf: use
opaque type
instead ofvalue class
Refactor
- (8b00b3b) refactor: rename variable
- (faabdcc) refactor: extends trait for
value extension
- (96feed5) refactor: extends
apply
method forId
field - (e8e0bf0) refactor(contents): use
ContentId.apply()
- (5cfbc33) refactor: delete unnecessary import
- (2e2ff5d) refactor: move the db migration process into the
run
method to make the booting process easier to understand - (8ea19bc) refactor(cors): delete unnecessary import
Docs
Dependencies
- (1f7f299) chore(deps): bump
scalafmt
from3.5.9
to3.7.9
- (fed07d4) chore(plugins): update plugins
- (9135c2d) chore(deps): update dependencies
- (a405617) chore(docs/deps): bump
@redocly/cli
from^1.0.0-beta.127
to1.0.0
- (bbc11e4) chore: bump docs
package.json
version
Misc
Full Changelog
v2.6.0 (Scarlet Gamila)
「ガミラに会えることになった。今から行くかね?」
森博嗣.血か、死か、無か? Is It Blood, Death or Null?Wシリーズ(講談社タイガ)(p.67).講談社.Kindle版.
New Features
- (66d1a86) feat(content): return
id
whenGET
a content
New Features (For Internal use)
- (9011486) feat: add
asEither
forOption[_]
Fixes
- (27e4b70) fix(log): enalbe
ConsoleAppender
and printSTDOUT
always - (76e0541) fix(auth): return correct statuscode (from
500
to401
) - (a4c799e) fix(http/content): return
422
instead of404
ifauthor
,content-type
andseries
is not exists
Refactors
- (9c77eff) refactor(auth): use more meaningful type for
onFailure
- (2b31e1c) refactor(logback): delete unnecessary comment out
- (857bc11) refactor: delete unnecessary commented out
- (9ef42f0) refactor: use
*
instead of_
forimport syntax
- (bda3275) refactor(http): add
RequestQueryParamater
case class for request
Test
Dependencies
- (8a4b75a) chore(deps): update
- (228307a) chore(deps): bump
doobie
from1.0.0-RC2
to1.0.0-RC4
- (c7660e4) chore(plugins): update plugins
Miscs
- (00e3e94) chore(auth): add type annotation to pattern match
- (3118830) chore: add
-Ykind-projector
compiler option - (fcd639b) chore(articles): fix typo
- (fa30d17) chore:
build.sbt
code format
Full Changelog
v2.5.0 (Scarlet Fouri)
「フーリです。彼女はここで、数学と物理学を教えています」
森博嗣. 私たちは生きているのか? Are We Under the Biofeedback? Wシリーズ (講談社タイガ) (p.125). 講談社. Kindle 版.
New Features
- Series Feature (Supports create and update. Not yet supports delete.)
- (455d08e) feat(series): add
series
table - (1c47962) feat(series): implement
GET: /series/<seriesPath>
- (b1552a1) feat(series): implement
GET: /series/
- (f881369) fix(series): typo of table column name
- (fd4ac48) fix(series): findByPath hardcorded value
- (a1f3012) feat(series): implement upsert(
POST
)series
- (396619a) chore(series): rename junction table for
contents
andseries
- (b616649) chore(series): rename table column from
path
toname
- (b32f2c7) feat: return
404
ifseries
not found whenPOST
a content - (d2b98a5) feat(series): implement
ContentSerializing
domain - (8d905a4) feat(series): implement
upsert
toContentSerializingRepository
andContentSerializingService
- (df44bba) feat(series): upsert
ContentSerializing
table when upsert aContent
- (c6a8ec2) fix(content): include
contentSerializingUpsert
to transaction - (403dcb3) feat(series): return series by name
- (b9d5802) feat(series): implement
get
and return series with related articles - (fd4026a) test(series): add
SeriesServiceSpec
- (362bdc6) fix(series): validate
name
is not empty whenPOST
a series - (af39c42) fix(http/series): error handling
- (63d7cc4) test(http/series): add test for http routes
- (a230985) test(http/series): workaround for CI red
- (5a7ffb6) docs: update ERD
- (a055ad1) docs(fix/rest-api): add
404
response - (b8b76fd) docs(fix/rest-api): rename
path
toname
- (455d08e) feat(series): add
Fixes
- (810db1c) fix(log): put exception to
STDOUT
if envvalQUALTET_ENV=dev
Refactors
- (802ae3d) refactor: use
===
instead of==
- (58ca4ef) refactor: rename implicit context
- (bb1af2f) refactor(db): rename type annotations
- (9c64667) refactor: rename from
getDevServerPID
togetLocalServerPID
- (45a0b9e) refactor(http): set default
host
andport
if theyNone
- (250eaee) refactor: rename from
DoobieContext
toDoobieTransactor
- (cac76b2) refactor: file rename from
DoobieContext
toDoobieTransactor
- (9cb8f9f) refactor: use
java.net.URI
instead ofjava.net.URL
- (b8c5922) refactor(build/task): divide test task from docker task
Test
- (5c54fa9) test: ignore meaningless (
TODO
) test case - (dcf7a28) test(http/tags): ignoe
BeforeAndAfterAll
for workaround - (cf2fbd8) test(http/tags): workaround for ci failuer
- (2feb0b1) test: cleanup fixture
- (348160a) test: implement fixure for create
RequestContent
instances - (462c55c) test: follow-up 8fd7072
- (8fd7072) test: implement fixure for create contents
- (a2e8197) test(http/tags): fix test failure caused by timing issue
- (5ccbd48) test: use
BeforeAndAfterAll
for setup test data - (5e16373) test: rename implicit val in test
- (0e1e273) test: fix compile error
- (e8f0cee) test(docker): stores db data and logs in
test-out-data
Docs
- (28c0cb1) docs(remark): add
Need Entropy
section - (7c69582) docs: update
README
- (5d9fb4a) docs(rest-api): require
npm v9.x
andnode 20.x
- (d15ab39) docs(rest-api): update dependencies
- (6a4ac11) docs: update requirements
- (158ea8a) docs: update requirements
- (b1210d1) docs: update
features
page - (cdc4800) docs: update
features
section - (d62d1e9) docs(rest-api): uniformalize versioning
- (03de63f) docs(rest-api/deps): update dependencies
- (2f8cbb7) docs: update copyright year
- (21c8111) fix(docs): shutdown local docker db command
- (461e4e8) docs: minor fix
- (e470843) docs: add initialize local db section
- (a5b09a7) docs: update
README
- (a5b407f) docs: update
README
abount depends onHexo
- (c973421) chore(docs): add
Qualtet-CLI
- (0432b54) docs: update development docs
- (5efd424) docs: add ERD to
README
CI / CD
Docker
- (26b6b0c) chore(docker): bump base image
- (c82a6b5) chore(docker): bump
sbt
image - (530b3d6) chore(docker): bump
mariadb
from10.11.2
to10.11.3
Dependencies
- (f8f9de5) chore: bump scala from
3.2.2
to3.3.0
- (b6cafe7) chode: update assembly destination for build docker image
- (6899926) chore(plugin): update
wartremover
from3.0.11
to3.1.1
- (0bfac72) chore(plugin): bump
wartremover
from3.1.1
to3.1.3
- (38d23e4) chore: bump sbt from
1.8.0
to1.8.2
- (f4eadcc) chore: bump
sbt
from1.8.2
to1.9.0
- (716bfc7) chore(deps): update dependencies
- (2fe58be) chore(deps): update dependencies
- (6c90470) chore(deps): update dependencies
- (ab6abb9) chore(deps): update dependencies
Misc
- (8c8e09c) chore: delete
println
- (71fbfb5) chore(wart): suppress
IterableOps
warning - (0b389c6) chore(wart): delete unnecessary suppress annotation
- (4046fc8) chore(wart): suppress
AsInstanceOf
warning - (1a024ef) chore(wart): suppress
ToString
warning - (698fd8b) chore(wartremover): delete unnecessary suppress warning annotation for wartremover
- (65ce7dd) chore: code format
Full Changelog
v2.4.0 (Scarlet Eyes)
The main changes in this release is refactoring and re-architecting.
Refactors
- (282a8bc) refactor(db): more abstraction
- (25676ac) refactor:
F[_]: Monad
toM[_]: Monad
- Scala 3 syntaxes
- (1c3dd77) chore: delete
.githooks
andinitialize
procedure of sbt - (f93f618) chore: delete
scalafix
- (3c04d64) chore: delete
Makefile
- (09aa91f) refactor/fix(sbt/docker): use
trait
for docker command and task key change to unique - (1a63136) refactor: delete unnecessary import
- (72a3364) refactor(sbt): move some tasks from
build.sbt
toproject/LocalProcesses.scala
- (0f98fde) refactor(sbt): move some tasks from
build.sbt
toproject/Docker.scala
New Features (for develop commands)
Fixes
- (6cea3b5) fix(log): print log with
STDOUT
onlydev
env - (0562fbf) fix(local/db): change docker container name for local dev
Test
- (8dce5a5) test: delete unnecessary files
CI/CD
- (642bf47) chore(ci): update actions
- (3235f15) chore(ci): use
COVERALLS_REPO_TOKEN
instead ofGITHUB_TOKEN
- (9305ab3) chore(ci): add
matrix.scala
- (775a29b) chore(ci): update condition for building & publish docs
- (cf5f1b6) chore(ci): set timeout for build application
- (71424f3) chore(ci): ignore some paths when push a branch for application build
- (22bb39a) chore(ci): update build & publish conditions
Dependencies
- (6d5a9e6) chore(deps): update
sbt-scoverage
&sbt-coveralls
- (621cc8d) chore(deps): update dependencies & plugins
- (6539980) chore(deps): update dependencies
- (61a7edd) chore: bump scala from
3.2.1
to3.2.2
- (057bfd3) chore(deps): update dependencies
Docs
- (002953e) docs: enable coverage badge on
README.md
- (d018da0) docs: use & specify
node.js 18+
- (806d603) chore(ci): enable coverage report
- (5bf36b6) fix(ci): update build & publish conditions
- (c7a77c8) docs(rest-api):
redoc-cli
to@redocly/cli
- (c9cedff) docs: update require mariadb version (follow up d5c9bb0)
Misc
- (9435589) chore: add & delete comment
- (d5c9bb0) chore(docker): bump mariadb from
v10.6.10
tov10.11.2