Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
7c210a4
feat: add reasoning content to AI conversation records and update rel…
hgaol May 30, 2026
68085ab
fix: update license entries
sy-records Jun 2, 2026
e884bb6
fix: avoid topic fallback for non-Latin titles via pragmatic ASCII tr…
ahmedqasid Jun 3, 2026
cece87f
feat: add recovery middleware to handle panic gracefully
hhc7 May 28, 2026
682811f
fix: scope JSON 500 to API routes, skip rewriting already-flushed res…
hhc7 Jun 2, 2026
43a9131
fix: accept answer fails when short links enabled (#1541)
hgaol Jun 9, 2026
d93e31e
feat(site): allow disabling email verification
AsyncAssassin Jun 4, 2026
3b6f981
fix(site): require explicit email verification setting
AsyncAssassin Jun 8, 2026
1e329eb
fix external login account binding
LinkinStars Jul 2, 2026
e1d58ab
feat(notification): add interval for new question emails
AsyncAssassin Jun 17, 2026
d10e6aa
fix(notification): move new question email throttling to worker
AsyncAssassin Jun 27, 2026
b70dda9
fix(notification): make new question email queue configurable
AsyncAssassin Jul 1, 2026
9e8414c
Align revision audit permission checks
LinkinStars Jul 7, 2026
3f30215
Harden avatar cleanup ownership checks
LinkinStars Jul 7, 2026
e424fce
Harden Accept-Language parsing
LinkinStars Jul 7, 2026
acc3e07
fix: update goroutine handling and context imports for consistency
LinkinStars Jul 7, 2026
af7243e
Merge remote-tracking branch 'origin/dev' into test
LinkinStars Jul 7, 2026
c17e0c9
fix(notification): remove buffer size parameter from new question ema…
LinkinStars Jul 7, 2026
c79b16d
Merge remote-tracking branch 'origin/dev' into test
LinkinStars Jul 7, 2026
9df5853
fix(tests): update goroutine handling in new question email worker tests
LinkinStars Jul 7, 2026
1234c2a
Merge remote-tracking branch 'origin/dev' into test
LinkinStars Jul 7, 2026
ef247af
fix(build): streamline Docker image build process in CI configuration
LinkinStars Jul 8, 2026
be08a3a
fix(build): update Go version in Dockerfile to 1.25-alpine
LinkinStars Jul 8, 2026
4334d7e
fix(tests): add mock methods for cache OAuth state in new question no…
LinkinStars Jul 8, 2026
74c7cf7
fix(build): update Docker build process to use buildx and streamline …
LinkinStars Jul 8, 2026
540f771
fix: enhance answer visibility checks for user permissions
LinkinStars Jul 8, 2026
15d2d3f
fix: enhance user admin service to manage API keys and filter answer …
LinkinStars Jul 8, 2026
db84943
Merge remote-tracking branch 'origin/fix/2.0.2/user' into test
LinkinStars Jul 9, 2026
5050766
fix: update version to 2.0.2 in Makefile and README
LinkinStars Jul 9, 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
41 changes: 19 additions & 22 deletions .github/workflows/build-image-for-latest-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,32 +35,29 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Docker meta
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
with:
images: apache/answer
tags: |
type=raw,value=latest

- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
run: |
sudo apt-get update
sudo apt-get install -y qemu-user-static

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
run: |
docker buildx create --name answer-builder --driver docker-container --use
docker buildx inspect --bootstrap

- name: Login to DockerHub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username "${{ secrets.DOCKERHUB_USER }}" --password-stdin

- name: Build and push
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
file: ./Dockerfile
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
run: |
BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
docker buildx build \
--file ./Dockerfile \
--platform linux/amd64,linux/arm64 \
--push \
--tag apache/answer:latest \
--label org.opencontainers.image.created="${BUILD_DATE}" \
--label org.opencontainers.image.revision="${GITHUB_SHA}" \
--label org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}" \
--label org.opencontainers.image.version="${GITHUB_REF_NAME#v}" \
.
42 changes: 19 additions & 23 deletions .github/workflows/build-image-for-manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,33 +33,29 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Docker meta
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
with:
images: apache/answer
tags: |
type=ref,enable=true,priority=600,prefix=,suffix=,event=branch
type=semver,pattern={{version}}

- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
run: |
sudo apt-get update
sudo apt-get install -y qemu-user-static

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
run: |
docker buildx create --name answer-builder --driver docker-container --use
docker buildx inspect --bootstrap

- name: Login to DockerHub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username "${{ secrets.DOCKERHUB_USER }}" --password-stdin

- name: Build and push
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
file: ./Dockerfile
tags: apache/answer:${{ inputs.tag_name }}
labels: ${{ steps.meta.outputs.labels }}
run: |
BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
docker buildx build \
--file ./Dockerfile \
--platform linux/amd64,linux/arm64 \
--push \
--tag "apache/answer:${{ inputs.tag_name }}" \
--label org.opencontainers.image.created="${BUILD_DATE}" \
--label org.opencontainers.image.revision="${GITHUB_SHA}" \
--label org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}" \
--label org.opencontainers.image.version="${{ inputs.tag_name }}" \
.
44 changes: 21 additions & 23 deletions .github/workflows/build-image-for-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,33 +34,31 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Docker meta
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
with:
images: apache/answer
tags: |
type=ref,enable=true,priority=600,prefix=,suffix=,event=branch
type=semver,pattern={{version}}

- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
run: |
sudo apt-get update
sudo apt-get install -y qemu-user-static

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
run: |
docker buildx create --name answer-builder --driver docker-container --use
docker buildx inspect --bootstrap

- name: Login to DockerHub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username "${{ secrets.DOCKERHUB_USER }}" --password-stdin

- name: Build and push
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
file: ./Dockerfile
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
env:
IMAGE_TAG: ${{ github.ref_name }}
run: |
BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
docker buildx build \
--file ./Dockerfile \
--platform linux/amd64,linux/arm64 \
--push \
--tag "apache/answer:${IMAGE_TAG#v}" \
--label org.opencontainers.image.created="${BUILD_DATE}" \
--label org.opencontainers.image.revision="${GITHUB_SHA}" \
--label org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}" \
--label org.opencontainers.image.version="${IMAGE_TAG#v}" \
.
41 changes: 16 additions & 25 deletions .github/workflows/build-image-for-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,32 +30,23 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Docker meta
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
with:
images: apache/answer
tags: |
type=raw,value=test

- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- name: Login to DockerHub
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username "${{ secrets.DOCKERHUB_USER }}" --password-stdin

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0

- name: Login to DockerHub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
docker buildx create --name answer-builder --driver docker-container --use
docker buildx inspect --bootstrap

- name: Build and push
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
run: |
BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
docker buildx build \
--file ./Dockerfile \
--platform linux/amd64 \
--push \
--tag apache/answer:test \
--label org.opencontainers.image.created="${BUILD_DATE}" \
--label org.opencontainers.image.revision="${GITHUB_SHA}" \
--label org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}" \
.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM golang:1.24-alpine AS golang-builder
FROM golang:1.25-alpine AS golang-builder
LABEL maintainer="linkinstar@apache.org"

ARG GOPROXY
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.PHONY: build clean ui

VERSION=2.0.1
VERSION=2.0.2
BIN=answer
DIR_SRC=./cmd/answer
DOCKER_CMD=docker
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ To learn more about the project, visit [answer.apache.org](https://answer.apache
### Running with docker

```bash
docker run -d -p 9080:80 -v answer-data:/data --name answer apache/answer:2.0.1
docker run -d -p 9080:80 -v answer-data:/data --name answer apache/answer:2.0.2
```

For more information, see [Installation](https://answer.apache.org/docs/installation).
Expand Down
2 changes: 1 addition & 1 deletion cmd/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions docs/docs.go
Original file line number Diff line number Diff line change
Expand Up @@ -8781,6 +8781,9 @@ const docTemplate = `{
"helpful": {
"type": "integer"
},
"reasoning_content": {
"type": "string"
},
"role": {
"type": "string"
},
Expand Down Expand Up @@ -12078,6 +12081,9 @@ const docTemplate = `{
},
"schema.SiteLoginReq": {
"type": "object",
"required": [
"require_email_verification"
],
"properties": {
"allow_email_domains": {
"type": "array",
Expand All @@ -12093,6 +12099,9 @@ const docTemplate = `{
},
"allow_password_login": {
"type": "boolean"
},
"require_email_verification": {
"type": "boolean"
}
}
},
Expand All @@ -12113,6 +12122,9 @@ const docTemplate = `{
},
"allow_password_login": {
"type": "boolean"
},
"require_email_verification": {
"type": "boolean"
}
}
},
Expand Down
Loading
Loading