Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
64d8db8
Add github-workflows, rename go module
gaby Sep 15, 2024
e15a0a6
Delete .github/workflows/issues.yml
gaby Sep 15, 2024
9ea6d85
Replace deprecated function
gaby Sep 15, 2024
a3bbfab
Merge pull request #1 from gofiber/update
gaby Sep 15, 2024
e2790a4
decoder: add benchmark cases
efectn Sep 30, 2024
a381689
use full match instead of strings.HasPrefix
efectn Sep 30, 2024
c05f267
Bump codecov/codecov-action from 4.5.0 to 4.6.0
dependabot[bot] Oct 1, 2024
9764af9
add release.yml
Oct 9, 2024
dde0765
Merge pull request #3 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Oct 9, 2024
7f57140
Bump benchmark-action/github-action-benchmark from 1.20.3 to 1.20.4
dependabot[bot] Oct 23, 2024
8ed48ec
Update decoder_test.go
gaby Oct 27, 2024
949b35e
Merge pull request #4 from gofiber/dependabot/github_actions/benchmar…
gaby Oct 27, 2024
05ca115
Bump codecov/codecov-action from 4.6.0 to 5.0.3
dependabot[bot] Nov 19, 2024
50a5ebd
Merge pull request #7 from gofiber/dependabot/github_actions/codecov/…
gaby Nov 20, 2024
986d316
Bump codecov/codecov-action from 5.0.3 to 5.0.6
dependabot[bot] Nov 20, 2024
5bae529
Merge pull request #8 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Nov 21, 2024
5a84715
Bump codecov/codecov-action from 5.0.6 to 5.0.7
dependabot[bot] Nov 21, 2024
05a8aa1
Merge pull request #9 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Nov 21, 2024
d33f7fe
Update LICENSE
ReneWerner87 Nov 29, 2024
376125c
Revert "Update LICENSE"
Nov 29, 2024
4b4f50c
Bump codecov/codecov-action from 5.0.7 to 5.1.1
dependabot[bot] Dec 5, 2024
6ea0d44
Merge pull request #10 from gofiber/dependabot/github_actions/codecov…
gaby Dec 17, 2024
8ef9628
Bump codecov/codecov-action from 5.1.1 to 5.1.2
dependabot[bot] Dec 18, 2024
326db53
Merge pull request #11 from gofiber/dependabot/github_actions/codecov…
gaby Dec 19, 2024
b35069a
Add more tests and benchmarks
gaby Jan 1, 2025
71a7ddd
Merge pull request #12 from gofiber/updates
gaby Jan 1, 2025
f21bf16
Update benchmarks
gaby Jan 2, 2025
93b1ea5
Merge pull request #13 from gofiber/update-benchmarks
gaby Jan 2, 2025
ccdc73c
Bump codecov/codecov-action from 5.1.2 to 5.3.1
dependabot[bot] Jan 24, 2025
f00d979
Merge pull request #16 from gofiber/dependabot/github_actions/codecov…
gaby Jan 26, 2025
cf1bef5
schema: add support for multipart files
efectn Feb 11, 2025
e79bef7
schema: add more test and benchmark cases for multipart file handling
efectn Feb 12, 2025
34c1119
schema: fix linter
efectn Feb 12, 2025
9a2749c
Merge pull request #17 from gofiber/multipart-support
ReneWerner87 Feb 13, 2025
7f9141d
Bump codecov/codecov-action from 5.3.1 to 5.4.0
dependabot[bot] Feb 27, 2025
2340fa2
Merge pull request #18 from gofiber/dependabot/github_actions/codecov…
gaby Mar 29, 2025
95db9dd
Bump codecov/codecov-action from 5.4.0 to 5.4.3
dependabot[bot] May 15, 2025
62a3dab
Fix default tag parsing for values with colons
gaby May 18, 2025
2cb2c2c
Update cache.go
gaby May 18, 2025
8bc42dd
Update test.yml
gaby May 18, 2025
4c04aa0
Update cache.go
gaby May 18, 2025
a460b99
Merge pull request #22 from gofiber/dependabot/github_actions/codecov…
gaby May 18, 2025
1408e22
Add new logic
gaby May 18, 2025
7bc872e
Merge branch 'main' into codex/find-and-fix-a-bug
gaby May 18, 2025
c087795
Apply suggestions from code review
ReneWerner87 May 18, 2025
d1d1d97
Merge pull request #23 from gofiber/codex/find-and-fix-a-bug
ReneWerner87 May 18, 2025
b7fe30a
🚀 Handle schema decoder panics
ReneWerner87 May 21, 2025
452f46c
Merge pull request #24 from gofiber/handle_decoder_panics
ReneWerner87 May 21, 2025
f69649c
fix default bool behavior
ReneWerner87 May 25, 2025
bad39e1
add more tests
ReneWerner87 May 25, 2025
713caa4
Merge pull request #25 from gofiber/codex/überprüfe-default-feature-u…
ReneWerner87 May 25, 2025
6620609
Bump kenchan0130/actions-system-info from 1.3.0 to 1.3.1
dependabot[bot] May 27, 2025
a8dd97a
Merge pull request #26 from gofiber/dependabot/github_actions/kenchan…
gaby May 27, 2025
eb02845
Refine index limit handling and restore panic test
gaby Jun 5, 2025
ffa6b91
Merge pull request #27 from gofiber/codex/2025-06-05-05-02-46
ReneWerner87 Jun 5, 2025
e27a898
Return errIndexTooLarge when slice index exceeds parser limit
gaby Jun 18, 2025
03290a2
Merge pull request #28 from gofiber/codex/2025-06-18-01-54-49
ReneWerner87 Jun 18, 2025
44a1c3d
Add tests and benchmarks for utility functions
ReneWerner87 Jul 11, 2025
ab2b818
Update go version
ReneWerner87 Jul 12, 2025
84896e2
fix workflow for gotestsum
ReneWerner87 Jul 12, 2025
4732a47
chore: upgrade to Go 1.24
ReneWerner87 Jul 12, 2025
bdac978
chore(ci): update linter workflow
ReneWerner87 Jul 12, 2025
7bff59e
chore: install gotestsum via go
ReneWerner87 Jul 12, 2025
af397f5
test: improve coverage
ReneWerner87 Jul 12, 2025
a3ed089
Add additional converter tests and benchmarks
ReneWerner87 Jul 12, 2025
c41ac69
Refactor benchmarks to use b.Loop
ReneWerner87 Jul 12, 2025
783299c
Merge pull request #29 from gofiber/codex/2025-07-11-18-06-35
ReneWerner87 Jul 12, 2025
9a85031
Remove extra comment from decoder tests
gaby Jul 21, 2025
544dd4f
fix lint
gaby Jul 21, 2025
a73860d
Update decoder_test.go
ReneWerner87 Jul 21, 2025
2279510
Merge pull request #30 from gofiber/2025-07-21-02-17-44
ReneWerner87 Jul 21, 2025
5626dcf
test: expand decoder coverage
gaby Aug 10, 2025
fb1cdb6
Update decoder_test.go
gaby Aug 10, 2025
2e7ce08
Merge pull request #31 from gofiber/2025-08-10-17-21-17
gaby Aug 10, 2025
6ef6f82
Update test.yml
gaby Aug 10, 2025
f749ba7
Create codecov.yml
gaby Aug 10, 2025
c6ef223
build(deps): bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
5621235
build(deps): bump kenchan0130/actions-system-info from 1.3.1 to 1.4.0
dependabot[bot] Aug 12, 2025
210c504
Merge pull request #32 from gofiber/dependabot/github_actions/actions…
ReneWerner87 Aug 12, 2025
ffee63d
Merge pull request #33 from gofiber/dependabot/github_actions/kenchan…
ReneWerner87 Aug 12, 2025
0fb7bab
chore: upgrade go and use typeassert
ReneWerner87 Aug 21, 2025
284d3f3
build(deps): bump benchmark-action/github-action-benchmark
dependabot[bot] Sep 3, 2025
e10445c
Merge pull request #36 from gofiber/dependabot/github_actions/benchma…
ReneWerner87 Sep 3, 2025
c12e5cf
build(deps): bump actions/setup-go from 5 to 6
dependabot[bot] Sep 4, 2025
b407244
build(deps): bump codecov/codecov-action from 5.4.3 to 5.5.1
dependabot[bot] Sep 4, 2025
8d8ec47
build(deps): bump benchmark-action/github-action-benchmark
dependabot[bot] Sep 8, 2025
5e9590d
build(deps): bump actions/checkout from 5 to 6
dependabot[bot] Nov 20, 2025
d45db7f
Merge pull request #41 from gofiber/dependabot/github_actions/actions…
ReneWerner87 Nov 20, 2025
0009f14
Merge pull request #39 from gofiber/dependabot/github_actions/benchma…
gaby Nov 21, 2025
d0bbc6e
Merge pull request #38 from gofiber/dependabot/github_actions/codecov…
gaby Nov 21, 2025
e4d0470
Merge pull request #37 from gofiber/dependabot/github_actions/actions…
gaby Nov 21, 2025
8dc6cf3
Bump golangci-lint action to v9
ReneWerner87 Nov 21, 2025
0ab486b
Clarify promoted field assertions in decoder tests
ReneWerner87 Nov 21, 2025
0c99dea
Fix golangci-lint v2 config schema
ReneWerner87 Nov 21, 2025
db61134
Merge pull request #42 from gofiber/codex/2025-11-21-09-48-00
ReneWerner87 Nov 21, 2025
cedc20a
add auto labeler
ReneWerner87 Nov 22, 2025
0e8e27f
Merge remote-tracking branch 'origin/main'
ReneWerner87 Nov 22, 2025
3f8dc7c
build(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2
dependabot[bot] Dec 9, 2025
c2d3391
build(deps): bump actions/cache from 4 to 5
dependabot[bot] Dec 11, 2025
7e6891a
Remove macOS 13 from CI workflow platforms
gaby Dec 12, 2025
9684213
Merge pull request #44 from gofiber/dependabot/github_actions/actions…
gaby Dec 12, 2025
0f8c832
Merge pull request #43 from gofiber/dependabot/github_actions/codecov…
gaby Dec 12, 2025
e720d2e
Merge branch 'main' into codex/2025-08-21-11-10-50
gaby Dec 12, 2025
7ca6d20
Merge pull request #35 from gofiber/codex/2025-08-21-11-10-50
ReneWerner87 Feb 5, 2026
112d245
refactor: replace strconv functions with utils package equivalents an…
ReneWerner87 Feb 6, 2026
e394db9
refactor: replace strconv functions with utils package equivalents an…
ReneWerner87 Feb 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @gofiber/maintainers
24 changes: 24 additions & 0 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
coverage:
status:
project:
default:
target: auto
threshold: 0.5%
base: auto
patch:
default:
target: auto
threshold: 0.5%
base: auto
ignore:
# Ignore generated root files
- "*_msgp.go"
- "*_msgp_test.go"
- "*_gen.go"
# Ignore generated files below root
- "**/*_msgp.go"
- "**/*_msgp_test.go"
- "**/*_gen.go"
# Ignore internal and docs
- "internal/**"
- "docs/**"
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "gomod"
directory: "/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
labels:
- "🤖 Dependencies"
26 changes: 26 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# .github/release.yml

changelog:
categories:
- title: '❗ Breaking Changes'
labels:
- '❗ BreakingChange'
- title: '🚀 New Features'
labels:
- '✏️ Feature'
- '📝 Proposal'
- title: '🧹 Updates'
labels:
- '🧹 Updates'
- title: '🐛 Bug Fixes'
labels:
- '☢️ Bug'
- title: '🛠️ Maintenance'
labels:
- '🤖 Dependencies'
- title: '📚 Documentation'
labels:
- '📒 Documentation'
- title: 'Other Changes'
labels:
- '*'
17 changes: 17 additions & 0 deletions .github/workflows/auto-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: auto-labeler

on:
issues:
types: [opened, edited, milestoned]
pull_request_target:
types: [opened, edited, reopened, synchronize]
workflow_dispatch:

jobs:
auto-labeler:
uses: gofiber/.github/.github/workflows/auto-labeler.yml@main
secrets:
github-token: ${{ secrets.ISSUE_PR_TOKEN }}
with:
config-path: .github/labeler.yml
config-repository: gofiber/.github
111 changes: 111 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
paths-ignore:
- "**/*.md"

permissions:
# deployments permission to deploy GitHub pages website
deployments: write
# contents permission to update benchmark contents in gh-pages branch
contents: write
# allow posting comments to pull request
pull-requests: write

name: Benchmark
jobs:
Compare:
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v6
with:
fetch-depth: 0 # to be able to retrieve the last commit in main

- name: Install Go
uses: actions/setup-go@v6
with:
# NOTE: Keep this in sync with the version from go.mod
go-version: "1.25.x"

- name: Run Benchmark
run: set -o pipefail; go test ./... -benchmem -run=^$ -bench . | tee output.txt

# NOTE: Benchmarks could change with different CPU types
- name: Get GitHub Runner System Information
uses: kenchan0130/actions-system-info@v1.4.0
id: system-info

- name: Get Main branch SHA
id: get-main-branch-sha
run: |
SHA=$(git rev-parse origin/main)
echo "sha=$SHA" >> $GITHUB_OUTPUT

- name: Get Benchmark Results from main branch
id: cache
uses: actions/cache/restore@v5
with:
path: ./cache
key: ${{ steps.get-main-branch-sha.outputs.sha }}-${{ runner.os }}-${{ steps.system-info.outputs.cpu-model }}-benchmark

# This will only run if we have Benchmark Results from main branch
- name: Compare PR Benchmark Results with main branch
uses: benchmark-action/github-action-benchmark@v1.20.7
if: steps.cache.outputs.cache-hit == 'true'
with:
tool: 'go'
output-file-path: output.txt
external-data-json-path: ./cache/benchmark-data.json
# Do not save the data (This allows comparing benchmarks)
save-data-file: false
fail-on-alert: true
# Comment on the PR if the branch is not a fork
comment-on-alert: ${{ github.event.pull_request.head.repo.fork == false }}
github-token: ${{ secrets.GITHUB_TOKEN }}
summary-always: true
alert-threshold: "150%"

- name: Store Benchmark Results for main branch
uses: benchmark-action/github-action-benchmark@v1.20.7
if: ${{ github.ref_name == 'main' }}
with:
tool: 'go'
output-file-path: output.txt
external-data-json-path: ./cache/benchmark-data.json
# Save the data to external file (cache)
save-data-file: true
fail-on-alert: false
github-token: ${{ secrets.GITHUB_TOKEN }}
summary-always: true
alert-threshold: "150%"

- name: Publish Benchmark Results to GitHub Pages
uses: benchmark-action/github-action-benchmark@v1.20.7
if: ${{ github.ref_name == 'main' }}
with:
tool: 'go'
output-file-path: output.txt
benchmark-data-dir-path: "benchmarks"
fail-on-alert: false
github-token: ${{ secrets.GITHUB_TOKEN }}
comment-on-alert: true
summary-always: true
# Save the data to external file (GitHub Pages)
save-data-file: true
alert-threshold: "150%"
# TODO: reactivate it later -> when v3 is the stable one
#auto-push: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
auto-push: false

- name: Update Benchmark Results cache
uses: actions/cache/save@v5
if: ${{ github.ref_name == 'main' }}
with:
path: ./cache
key: ${{ steps.get-main-branch-sha.outputs.sha }}-${{ runner.os }}-${{ steps.system-info.outputs.cpu-model }}-benchmark
21 changes: 0 additions & 21 deletions .github/workflows/issues.yml

This file was deleted.

40 changes: 40 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Adapted from https://github.com/golangci/golangci-lint-action/blob/b56f6f529003f1c81d4d759be6bd5f10bf9a0fa0/README.md#how-to-use

name: golangci-lint
on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
paths-ignore:
- "**/*.md"

permissions:
# Required: allow read access to the content for analysis.
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
pull-requests: read
# Optional: Allow write access to checks to allow the action to annotate code in the PR.
checks: write

jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
# NOTE: Keep this in sync with the version from go.mod
go-version: "1.25.x"
cache: false

- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
# NOTE: Keep this in sync with the version from .golangci.yml
version: v2.6.2
37 changes: 0 additions & 37 deletions .github/workflows/security.yml

This file was deleted.

60 changes: 41 additions & 19 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,57 @@
name: Test

on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
branches:
- main
permissions:
contents: read
paths-ignore:
- "**/*.md"

jobs:
unit:
strategy:
matrix:
go: ['1.20','1.21']
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: true
runs-on: ${{ matrix.os }}
go-version: [1.25.x]
platform: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Fetch Repository
uses: actions/checkout@v6

- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ matrix.go-version }}

- name: Test
run: go run gotest.tools/gotestsum@latest -f testname -- ./... -race -count=1 -coverprofile=coverage.txt -covermode=atomic -shuffle=on

- name: Setup Go ${{ matrix.go }}
uses: actions/setup-go@v4
- name: Upload coverage reports to Codecov
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.go-version == '1.25.x' }}
uses: codecov/codecov-action@v5.5.2
with:
go-version: ${{ matrix.go }}
cache: false
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
slug: gofiber/schema
verbose: true

- name: Run Tests
run: go test -race -cover -coverprofile=coverage -covermode=atomic -v ./...
repeated:
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v6

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
- name: Install Go
uses: actions/setup-go@v6
with:
files: ./coverage
go-version: stable

- name: Install gotestsum
run: go install gotest.tools/gotestsum@v1.12.3

- name: Test
run: gotestsum -f testname -- ./... -race -count=15 -shuffle=on
Loading
Loading