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
v1prefix to each endpoints- (51f9e4b) refactor(http): append
/v1versioning prefix on each endpoint
- (51f9e4b) refactor(http): append
Notable Changes
- Scala 3.4.0
- (fb62001) chore: bump scala from
3.3.3to3.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
404instead of raise error if content not found
Recfactors
- (7a6cb89) refactor: use
F[_]instead ofM[_]for Higher-Kinded Types - (4f5edc7) refactor(syntax): more abstraction, use
HKTinstead ofIO - (199e160) refactor(db/transactor): more abstraction, use
Monadfor HKT instead ofIO - (b7ed267) refactor(syntax): use
Monadinstead ofIOfor more abstraction - (588f86a) refactor(auth/jwt): use
Monadinstead ofIOfor more abstraction - (9670be5) refactor(syntax/throwable): use
Monadinstead ofIOfor more abstraction - (06982f8) refactor: re-structure
Failcase classes - (8e6dbbe) refactor(http): rewrite error handling
- (abcaf5a) refactor(domains/repository): move into
repositoriesdirectory - (565fba7) refactor: rename case class for read db row
- (5580144) refactor(docs/rest-api): devide file
- (bbc93e9) refactor: use
Context Functionsif possible - (eb46d65) refactor: use
usingor add comment - (dd20aee) refactor: use
log4catsinBootStrapinstead ofslf4j - (12e4f85) refactor(db): avoid using
unsafeRunSync()in db migration - (3bdcbf2) refactor(http):
MethodNotAllowSupporttrait more abstract - (d43f008) fix(db/migrate): delete return types and run
unsafeRunSyncbefore 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
log4catsLoggerinstance fromBootStraptoModules
Docker
- (9cd0a9f) chore(docker): update
dbimage forlocalandtest - (5b78f73) chore(docker): add
--no-install-recommendsfor install packages - (3637cc5) chore(docker): reduce image size with multi stage build
- (df9e4d5) chore(docker): enable
QUALTET_HTTP_ENDPOINT_SYSTEM_METADATA_ENABLEDon 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
TODOcomment - (571217d) test(http): assert
Content-Typeexplicitly in all endpoint - (b9db55d) test(http): assert JSON response for all endpoints
CI
- (f019d3e) chore(ci): bump
actions/checkoutfrom3to4 - (5b1c658) chore(ci): bump
actions/setup-javafrom3to4 - (3b6c562) chore(ci): update
actions - (8f5ee22) chore(ci): bump
actions/cachefrom@v3to@v4 - (3a4fc84) ci: update cache settings
- (3cfb94c) ci: use
coursier/cache-actioninstead 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.1to3.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.7to1.9.9 - (59af9ea) chore: bump scala from
3.3.1to3.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
deprecatedoption tostatusendpoint - (739ff1c) docs(openapi): add
requestandresponseheader description - (0620b8c) docs(openapi): update
externalDocsurl - (d55ea19) docs(openapi): fix typo
- (8ed98fa) docs(openapi): update
headerssection - (7d8a6ad) docs(openapi): add
External Resourcessection - (dde8e71) docs: update
README.md - (1931c47) docs: update
README.md - (c503e32) docs: update LICENSE year
- (917a0fe) docs: fix example
docker-compose.ymlurl - (e364154) docs: fix wrong library name
- (c8b7565) docs(deps): update dependencies
- (2a8ab29) docs(rest-api): add
NOTEsection - (71d40f6) docs(README): update coverage badge
- (145b831) docs(README): update coverage badge
- (1e579ef) docs: add missing
robotsAttributesdescription - (3eb094a) docs(rest-api): memtion to which content excludes from the response
Misc
- (2f9fdbb) chore: add
TODOandFIXMEcomment - (176c332) chore: add comment
- (2853f48) chore: suppress
SeqApplyin recursive function - (386b390) chore: update
scalafmtsettings - (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-sbtimage - (30cd028) chore(docker): bump
docker-sbtversion - (b40a9ff) chore(docker): bump base image
- (db733ba) chore(docker): delete unnecessary layer, package and files
CI/CD
- (d6670fa) ci: add
Java 21to matrix
Dependencies
- (28dc8a0) chore(deps): bump scala from
3.3.0to3.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-reportplugin
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
statusendpoint
Notable Changes
- (81ad641) chore(deps): bump
http4sfrom1.0.0-M39to1.0.0-M40and bumpcats-effectfrom3.4.11to3.5.1
Docker
- (de48746) chore(docker): bump
docker-mariadbfromv10.11.4tov10.11.5
CI / CD
- (500ef21) Revert "chore(plugin): bump
sbt-coverallsfrom1.3.9to1.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/metadataendpoint and related commits- (a5cdbf1) feat(http/system): add
metadataendpoint - (4dc0381) feat(http/system): configurable
metadataendpoint enable or not - (306c813) refactor(http/metadata): if expression
- (152a791) refactor(config): reorganize stracture
- (743598d) pref(http/system): use
lazy valfor getmetadata - (a4a9e9c) feat(http/system): return more field when
GETrequest tometadataendpoint - (c254ec7) test(http/system): delete unnecessary var
- (a5cdbf1) feat(http/system): add
- Add
system/healthendpoint 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.Foreverinstead ofIOApp - (54807d2) refactor: delete unnecessary
import,valandargs - (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-coverallsfrom1.3.9to1.3.11 - (398eb50) chore: bump
scalafmtfrom3.7.9to3.7.12
Docs
Misc
- (a5573d5) chore(plugins): add
sbt-buildinfoandsbt-git - (12ee11d) chore(deps/docs): update dependencies
- (294d1fc) chore(http): add
withShutdownTimeoutoption - (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-Idheader to response and refactorhttpAppbuild sequence - (b247ebb) feat(auth): case insensitive
Bearersupport - (51774df) feat(docker): define
QUALTET_VERSIONENV - (25e8823) feat(tags): return
countfields that related number of articles
Fixes
- (7f2a1e9) fix(http/cors): avoid allow all origin if config contains invalid URL
- (2618170) fix(http/queryParams):
limitdefault value from1to10
Refactors
- (a71105a) refactor(contents): delete
requestIdfield - (27817d0) test(CORS): add test case for
CorsProvider - (e1ad0ca) refactor(http): remove
orNotFoundmethod fromRouterclass and applyCORSto router bulky - (58a0c1f) chroe: clean up
import - (b3497f5) refactor(http/cors): use
AllowOriginAllexplicitly if cors config is empty - (c55d8d6) refactor(http/router): clean up
import - (e27d102) refactor(http/queryParams): move from
Routerclass tosyntaxtrait and add test cases - (cce8366) refactor(http): move
HttpRoutes.ofmethods fromRouterclass to eachRoutesclasses - (419a3dc) refactor(http): move
HttpAppbuilder fromBootStraptoHttpAppBuilder - (7645d0b) refactor(auth): delete redundant pattern match
- (a54cf99) refactor(auth): clean up
import
Test
- (30eddb4) test(cors): add
emptytest case - (a2f8464) test(http/header): add test case for additional headers
Dependencies
- (0240403) chore(deps): bump sbt from
1.9.0to1.9.3
Misc
Docs
- (501fa73) docs(docker): add
Environment variablessection - (a0e93d6) docs: add
Using Stacksection - (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-Timeheader to response
Performances
- (bfc2f86) perf: use
opaque typeinstead ofvalue class
Refactor
- (8b00b3b) refactor: rename variable
- (faabdcc) refactor: extends trait for
value extension - (96feed5) refactor: extends
applymethod forIdfield - (e8e0bf0) refactor(contents): use
ContentId.apply() - (5cfbc33) refactor: delete unnecessary import
- (2e2ff5d) refactor: move the db migration process into the
runmethod to make the booting process easier to understand - (8ea19bc) refactor(cors): delete unnecessary import
Docs
Dependencies
- (1f7f299) chore(deps): bump
scalafmtfrom3.5.9to3.7.9 - (fed07d4) chore(plugins): update plugins
- (9135c2d) chore(deps): update dependencies
- (a405617) chore(docs/deps): bump
@redocly/clifrom^1.0.0-beta.127to1.0.0 - (bbc11e4) chore: bump docs
package.jsonversion
Misc
Full Changelog
v2.6.0 (Scarlet Gamila)
「ガミラに会えることになった。今から行くかね?」
森博嗣.血か、死か、無か? Is It Blood, Death or Null?Wシリーズ(講談社タイガ)(p.67).講談社.Kindle版.
New Features
- (66d1a86) feat(content): return
idwhenGETa content
New Features (For Internal use)
- (9011486) feat: add
asEitherforOption[_]
Fixes
- (27e4b70) fix(log): enalbe
ConsoleAppenderand printSTDOUTalways - (76e0541) fix(auth): return correct statuscode (from
500to401) - (a4c799e) fix(http/content): return
422instead of404ifauthor,content-typeandseriesis 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
RequestQueryParamatercase class for request
Test
Dependencies
- (8a4b75a) chore(deps): update
- (228307a) chore(deps): bump
doobiefrom1.0.0-RC2to1.0.0-RC4 - (c7660e4) chore(plugins): update plugins
Miscs
- (00e3e94) chore(auth): add type annotation to pattern match
- (3118830) chore: add
-Ykind-projectorcompiler option - (fcd639b) chore(articles): fix typo
- (fa30d17) chore:
build.sbtcode 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
seriestable - (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
contentsandseries - (b616649) chore(series): rename table column from
pathtoname - (b32f2c7) feat: return
404ifseriesnot found whenPOSTa content - (d2b98a5) feat(series): implement
ContentSerializingdomain - (8d905a4) feat(series): implement
upserttoContentSerializingRepositoryandContentSerializingService - (df44bba) feat(series): upsert
ContentSerializingtable when upsert aContent - (c6a8ec2) fix(content): include
contentSerializingUpsertto transaction - (403dcb3) feat(series): return series by name
- (b9d5802) feat(series): implement
getand return series with related articles - (fd4026a) test(series): add
SeriesServiceSpec - (362bdc6) fix(series): validate
nameis not empty whenPOSTa 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
404response - (b8b76fd) docs(fix/rest-api): rename
pathtoname
- (455d08e) feat(series): add
Fixes
- (810db1c) fix(log): put exception to
STDOUTif envvalQUALTET_ENV=dev
Refactors
- (802ae3d) refactor: use
===instead of== - (58ca4ef) refactor: rename implicit context
- (bb1af2f) refactor(db): rename type annotations
- (9c64667) refactor: rename from
getDevServerPIDtogetLocalServerPID - (45a0b9e) refactor(http): set default
hostandportif theyNone - (250eaee) refactor: rename from
DoobieContexttoDoobieTransactor - (cac76b2) refactor: file rename from
DoobieContexttoDoobieTransactor - (9cb8f9f) refactor: use
java.net.URIinstead 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
BeforeAndAfterAllfor workaround - (cf2fbd8) test(http/tags): workaround for ci failuer
- (2feb0b1) test: cleanup fixture
- (348160a) test: implement fixure for create
RequestContentinstances - (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
BeforeAndAfterAllfor 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 Entropysection - (7c69582) docs: update
README - (5d9fb4a) docs(rest-api): require
npm v9.xandnode 20.x - (d15ab39) docs(rest-api): update dependencies
- (6a4ac11) docs: update requirements
- (158ea8a) docs: update requirements
- (b1210d1) docs: update
featurespage - (cdc4800) docs: update
featuressection - (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
READMEabount 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
sbtimage - (530b3d6) chore(docker): bump
mariadbfrom10.11.2to10.11.3
Dependencies
- (f8f9de5) chore: bump scala from
3.2.2to3.3.0- (b6cafe7) chode: update assembly destination for build docker image
- (6899926) chore(plugin): update
wartremoverfrom3.0.11to3.1.1 - (0bfac72) chore(plugin): bump
wartremoverfrom3.1.1to3.1.3 - (38d23e4) chore: bump sbt from
1.8.0to1.8.2 - (f4eadcc) chore: bump
sbtfrom1.8.2to1.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
IterableOpswarning - (0b389c6) chore(wart): delete unnecessary suppress annotation
- (4046fc8) chore(wart): suppress
AsInstanceOfwarning - (1a024ef) chore(wart): suppress
ToStringwarning - (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[_]: MonadtoM[_]: Monad - Scala 3 syntaxes
- (1c3dd77) chore: delete
.githooksandinitializeprocedure of sbt - (f93f618) chore: delete
scalafix - (3c04d64) chore: delete
Makefile - (09aa91f) refactor/fix(sbt/docker): use
traitfor docker command and task key change to unique - (1a63136) refactor: delete unnecessary import
- (72a3364) refactor(sbt): move some tasks from
build.sbttoproject/LocalProcesses.scala - (0f98fde) refactor(sbt): move some tasks from
build.sbttoproject/Docker.scala
New Features (for develop commands)
Fixes
- (6cea3b5) fix(log): print log with
STDOUTonlydevenv - (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_TOKENinstead 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.1to3.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-clito@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.10tov10.11.2