Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 20:59
· 10 commits to main since this release
bb7733a

1.0.0 (2026-07-23)

Feature

  • read http addr from config file (51035f4)
  • add InternalServerResponse helper fn (2115f76)
  • domain: add more errors (ee07a7d)
  • adapters: implement delete artifact handler include batch deleting (26a6f64)
  • adapters: implement download handler (237eb65)
  • adapters: handling multiple files upload (92ec78d)
  • adapters: add utility funciton for extractice object key from url's path (4286cf3)
  • implement clearing bucket (71cf001)
  • applicaiton: implement upload multiple artifacts usecase (7e54e84)
  • application: implement delete artifacts usecase (e1a216d)
  • application: validate os & arch & use opened file from file validator (ee92554)
  • pkg: add os & arch validator helper (56ba08d)
  • wire up app & server in cmd/main.go (edd4d62)
  • add echo router & server to serve http endpoints (0fe5e6a)
  • adapters: add delete artifacts handler (9063ffc)
  • adapters: add list artifacts handler (2fff348)
  • adapters: add upload artifact handler (4d43364)
  • adapters: add health handler (a0c45ff)
  • pkg: add http response helper (63aaaf4)
  • infra: add Name method to minio (7dcbe5b)
  • domain: add more errors (ed61046)
  • implement bulk delete with minio (5dcacb8)
  • application: implement delete artifact usecase (c37a6f4)
  • implement delete object via storage (6afbd6c)
  • application: implement list artifacts usecase (408e6dd)
  • infra/minio: implement listing (15d5ccf)
  • domain: add ListObjects to storage's port (bf2ef4a)
  • application: add download artifact usecase (01b2990)
  • infra/minio: implement Download functionality (5e878ef)
  • domain: add Download functionality to storage's port (cddaed7)
  • infra/hasher: add writer-like hashing (17fb00d)
  • domain: add writer like method to hasher's port (9a5f588)
  • pkg: add MBToBytes helper (484b076)
  • pkg: add runtime utility helper for getting runtime information (8950689)
  • application/uc: implement upload artifact feature (6a19804)
  • domain: add more errors (c718969)
  • domain: add Artifact entity (54273df)
  • infra/minio: implement Upload functionality (1f117ed)
  • domain: add Upload functionality to storage port (a82bc43)
  • infra: implement chechsum hasher in sha256 (6321284)
  • domain: add CecksumHasher port (25194cd)
  • domain: add file validator service (b4bc7fb)
  • infra/storage: implement creating new bucket (bf2c5bb)
  • domain: add creating new bucket to port (982912f)
  • infra/storage: validate object storage connectivity after creating new one (8bd1933)
  • infra/config: add validation (832a2db)
  • infra/config: use viper to load configuration from yaml file (312cb21)
  • infra/config: add configuration struct (c9d1d22)
  • infra/storage: implement ObjectStorage port from domain (c44d65c)
  • domain: add ObjectStorage port (9043a4e)
  • infra: implement logger port from domain (dfe90da)
  • domain: add logger port (86f8ce0)
  • domain: add DomainError abstraction (f713dd1)
  • init the project (bdebf78)

Bug Fixes

  • infra/logger: define logger as global (e861a37)
  • infra/zap_logger: pass args in With method (379ff2e)
  • infra/config: incorrect error for logger's format validation (019a54a)
  • infra/minio: unused len for channel in listing obj (0b5c671)
  • adapters: use first uploaded artifact for now (6a0c93e)
  • infra: wrong err for max size & default config values (42929a4)
  • domain: do not wrap same error, it's cause stack overflow (6470188)
  • infra: syntax err (d10b94b)
  • make go packages compatible with go v.1.23.7 (7e3bef0)

Performance Improvements

  • application: use reader instead of file path in upload artifact usecase (7ce7923)
  • application: getting reader instead of file path in download artifact usecase (419bf51)
  • open file once in file validator and pass the os.File as output to just open once (8544c5f)

Documentation

Tests

  • add unit tests for helpers (81db0ec)
  • infra: add unit tests for config validation (ed6abd4)
  • domain: add artifact unit tests (cb5c761)
  • domain: testing file validator input file size as mb and output as bytes (df49fc4)
  • infra: add unit tests for minio mapper (db0a2fb)
  • infra: add unit tests for checksum hasher (5bbdfcd)
  • domain: add unit tests for file validator service (f7df14c)
  • infra/config: add unit tests (f934088)
  • domain: add DomainError unit tests (31e9bcc)

Code Refactoring

  • rename NewLogger to just Get (e5b20d0)
  • infra: remove WithVersions: true option in listing (557f47c)
  • wiring up new featues (b90c9bb)
  • file_validator: add ValidateAndGetExt method to not force openning file (f9795e5)
  • ports: return io.ReadSeekClose instead of io.ReadSeeker in Download from storage (04285b1)
  • pass app's env to health handler & show it in response (6363a1e)
  • infra: return minio struct instead of port in factory fn (f985692)
  • application: get username, hostname, os, arch from input (6f68366)
  • infra/minio: read metadata from usermetadata as fallback (6796e8f)
  • application: add logging to upload usecase (a037004)
  • infra/minio: add more option in creating new instance (36d8a1a)
  • infra/storage: get ping & create bucket in initiation (8a47364)

Chores

  • do not make pr in workflow for lint/formatting (4866783)
  • build & push docker image after release (7495de4)
  • add .env.example (27ea0ec)
  • decrease read/write of http server timeout (6c99783)
  • call docker build & push inside the release workflow (9571d4b)
  • update go.mod, go.sum (25ff853)
  • add gen-mocks command in justfile (ac11c7c)
  • adapters: remove redundant f.Close in upload handler (0781f4a)
  • fix object key pattern's comment (5238adc)
  • build & push docker image in release workflow (b54e61e)
  • run lint & test workflows on dev branch too (ed78ef7)
  • add config yaml example file (43a0908)
  • add minio docker compose file (41b0564)
  • redirect /docs to /docs/index.html (6578c04)
  • add request id middleware & log error (ee72740)
  • add omitempty tag to error response for meta field (41364d5)
  • domain: add json tags to artifact entity (6292a78)
  • validate valid file extension format from config file (6708de5)
  • docker build and push (71b648c)
  • add Dockerfile (2b82b91)
  • update .gitignore (91ca9e2)
  • add CI workflows (e3a7cd9)
  • update .gitignore (afa277b)
  • move server booting to pkg/server (ec3088a)
  • add .goreleaser.yaml config (335cea4)
  • add go.mod & go.sum (08326f6)
  • add .air config (06a33f9)
  • add justfile & swag command to generate openapi documents (81d1c94)
  • infra: update config (af4238b)
  • go.mod & go.sum (d055fcb)
  • add minio docker compose (88445ec)

tests

  • domain: add mock implementations for ports (949d433)
  • add unit tests for usecases (4593cee)

reafactor

  • application: move makeEmptyUnknown to shared file in usecases (da494f1)