all repos — litestore @ 4c627df01f67248a11c587960ed4aa3b8148734b

A minimalist nosql document store.

Fixes, preparing for release.
h3rald h3rald@h3rald.com
Wed, 17 Jun 2026 23:36:12 +0200
commit

4c627df01f67248a11c587960ed4aa3b8148734b

parent

8c370c23d65755b29b93df9cda813ef4cf2c1fca

D .github/workflows/add-artifacts-to-current-release.yml

@@ -1,151 +0,0 @@

-name: Add Artifacts to Current Release - -# Controls when the action will run. -on: - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -jobs: - release: - name: 'Build and upload artifacts' - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - ubuntu-latest - - macos-latest - - windows-latest - - env: - CHOOSENIM_CHOOSE_VERSION: stable - CHOOSENIM_NO_ANALYTICS: 1 - - steps: - # Cancel other actions of the same type that might be already running - - name: 'Cancel similar actions in progress' - uses: styfle/cancel-workflow-action@0.6.0 - with: - access_token: ${{ github.token }} - - # Detects OS and provide Nim-friendly OS identifiers - - name: Detect current OS - id: os - run: echo "::set-output name=id::${{matrix.os == 'ubuntu-latest' && 'linux' || matrix.os == 'macos-latest' && 'macosx' || matrix.os == 'windows-latest' && 'windows'}}" - - # Checks out the repository - - uses: actions/checkout@v2 - - # Installs libraries - - name: install musl-gcc - run: sudo apt-get install -y musl-tools - if: matrix.os == 'ubuntu-latest' - - # Sets path (Linux, macOS) - - name: Update $PATH - shell: bash - run: | - echo "$HOME/.nimble/bin" >> $GITHUB_PATH - echo $GITHUB_WORKSPACE >> $GITHUB_PATH - - # Sets path (Windows) - - name: Update %PATH% - run: | - echo "${HOME}/.nimble/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - echo "${GITHUB_WORKSPACE}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - if: matrix.os == 'windows-latest' - - - name: Setup Msys2 - if: matrix.os == 'windows-latest' - uses: msys2/setup-msys2@v2 - with: - msystem: MINGW64 - release: true - update: true - path-type: inherit - install: >- - base-devel - autotools - mingw-w64-x86_64-perl-locale-maketext - mingw-w64-x86_64-toolchain - mingw-w64-x86_64-autotools - - # Install the Nim compiler - - name: Install Nim - run: | - curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh - sh init.sh -y - - # Install HastyScribe - - name: Install HastyScribe (macOS/Linux) - shell: bash - run: | - curl https://github.com/h3rald/hastyscribe/releases/download/v1.12.3/hastyscribe_v1.12.3_${{steps.os.outputs.id}}_x64.zip -L -o hastyscribe.zip - unzip hastyscribe.zip - mv src/hastyscribe . - - # Temporary Windows-specific fix (missing certificates for nimble) - - name: Install cert (temporary fix, windows only) - run: | - curl https://curl.se/ca/cacert.pem -L -o cacert.pem - if: matrix.os == 'windows-latest' - - # Build for Linux - - name: Build (Linux) - run: nimble build -v -y --passL:-static -d:release --gcc.exe:musl-gcc --gcc.linkerexe:musl-gcc --mm:refc --opt:size -d:ssl litestore - if: matrix.os == 'ubuntu-latest' - - # Build for macOS - - name: Build (macOS) - shell: bash - run: nimble build -v -y -d:release --mm:refc --opt:size -d:ssl litestore - if: matrix.os == 'macos-latest' - - # Build for Windows - - name: Build (Windows) - shell: msys2 {0} - run: nimble build -v -y -d:release --mm:refc --opt:size -d:ssl --gcc.exe:x86_64-w64-mingw32-gcc --gcc.linkerexe:x86_64-w64-mingw32-gcc litestore - if: matrix.os == 'windows-latest' - - # Import admin directory and create default db - - name: Import Admin - shell: bash - run: | - cp -r src/admin/ admin/ - litestore -d:admin import - - # Build guide - - name: Build guide - shell: bash - run: build_guide - - # Retrieve ID and Name of the current (draft) release - - name: "Get current release" - id: release - uses: InsonusK/get-latest-release@v1.0.1 - with: - myToken: ${{ github.token }} - exclude_types: "release" - view_top: 1 - - # Package the resulting Linux/macOS binary - - name: Create artifact (Linux, macOS) - shell: bash - run: zip litestore_${{steps.release.outputs.tag_name}}_${{steps.os.outputs.id}}_x64.zip litestore data.db LiteStore_UserGuide.htm - if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' - - # Package the resulting Windows binary - - name: Create artifact (Windows) - run: Compress-Archive -Path litestore.exe, data.db, LiteStore_UserGuide.htm -DestinationPath litestore_${{steps.release.outputs.tag_name}}_windows_x64.zip - if: matrix.os == 'windows-latest' - - # Upload artifacts to current draft release - - name: 'Upload to current release' - uses: xresloader/upload-to-github-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - file: 'litestore_v*.zip' - overwrite: true - tag_name: ${{steps.release.outputs.tag_name}} - release_id: ${{steps.release.outputs.id }} - verbose: true
D .github/workflows/ci.yml

@@ -1,43 +0,0 @@

-name: CI - -# Controls when the action will run. -on: - # Triggers the workflow on push or pull request events but only for the master branch - push: - branches: [master] - tags-ignore: ["**"] - pull_request: - branches: [master] - tags-ignore: ["**"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "ci" - ci: - # The type of runner that the job will run on - runs-on: ubuntu-20.04 - env: - CHOOSENIM_CHOOSE_VERSION: stable - CHOOSENIM_NO_ANALYTICS: 1 - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - - name: install musl-gcc - run: sudo apt-get install -y musl-tools - - - name: Update $PATH - run: echo "$HOME/.nimble/bin" >> $GITHUB_PATH - - - name: Install Nim - run: | - curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh - sh init.sh -y - - - name: Build - run: nimble build -y -d:release --gcc.exe:musl-gcc --gcc.linkerexe:musl-gcc --mm:refc -d:ssl
D .vscode/settings.json

@@ -1,11 +0,0 @@

-{ - "sqltools.connections": [ - { - "database": "${workspaceFolder}/data.db", - "dialect": "SQLite", - "name": "data" - } - ], - "sqltools.useNodeRuntime": true, - "git.ignoreLimitWarning": true -}
M CHANGELOG.mdCHANGELOG.md

@@ -1,5 +1,9 @@

## Changelog +### vA00-0 (2026-06-17) + +- Re-released using Convergent Versioning. + ### v1.13.0 (2024-01-07) - Implemented support for downloading and caching JWKS file for token verification by specifying a jwks_uri configuration setting.
D Dockerfile

@@ -1,58 +0,0 @@

-# Adapted from https://github.com/h3rald/litestore/issues/58 -FROM alpine:latest - -ARG USER=litestore -ENV HOME /home/$USER - -RUN apk add --no-cache gcc musl-dev git sudo - -# add new user -RUN adduser -D $USER && \ - echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER && \ - chmod 0440 /etc/sudoers.d/$USER - -# install nim and nimble (https://github.com/Docker-Hub-frolvlad/docker-alpine-nim/blob/master/Dockerfile) -RUN export NIM_VERSION=1.4.4 && \ - export NIMBLE_VERSION=0.12.0 && \ - \ - apk add --no-cache libcrypto1.1 libssl1.1 && \ - apk add --no-cache --virtual=.build-dependencies wget ca-certificates git && \ - mkdir -p "/opt" && \ - \ - cd "/opt" && \ - wget "https://github.com/nim-lang/Nim/archive/v$NIM_VERSION.tar.gz" -O - | tar xz && \ - mv "./Nim-$NIM_VERSION" "./Nim" && \ - cd "./Nim" && \ - wget "https://github.com/nim-lang/csources/archive/master.tar.gz" -O - | tar xz && \ - mv "./csources-master" "./csources" && \ - cd "./csources" && \ - sh build.sh && \ - cd .. && \ - ./bin/nim c koch && \ - ./koch boot -d:release && \ - chmod +x "/opt/Nim/bin/nim" && \ - ln -s "/opt/Nim/bin/nim" "/usr/local/bin/nim" && \ - rm -r "./csources" "./tests" && \ - \ - cd "/opt" && \ - wget "https://github.com/nim-lang/nimble/archive/v$NIMBLE_VERSION.tar.gz" -O - | tar xz && \ - cd "./nimble-$NIMBLE_VERSION" && \ - nim compile --run "src/nimble" build --accept && \ - rm -rf /tmp/* && \ - chmod +x nimble && \ - mv nimble "/usr/local/bin/" && \ - rm -rf "/opt/nimble-$NIMBLE_VERSION" && \ - \ - apk del .build-dependencies - -# install litestore and dependencies -RUN nimble install --verbose -y nimgen && \ - ln -s $HOME/.nimble/bin/nimgen /usr/bin/nimgen && \ - nimble install --verbose -y c2nim && \ - ln -s $HOME/.nimble/bin/c2nim /usr/bin/c2nim && \ - nimble install --verbose -y litestore && \ - ln -s $HOME/.nimble/bin/litestore /usr/bin/litestore -USER $USER -WORKDIR $HOME -ENTRYPOINT ["litestore"] -
M README.mdREADME.md

@@ -1,8 +1,3 @@

-[![Nimble](https://raw.githubusercontent.com/yglukhov/nimble-tag/master/nimble.png)](https://nimble.directory/pkg/litestore) - -[![Release](https://img.shields.io/github/release/h3rald/litestore.svg)](https://github.com/h3rald/litestore/releases/latest) -[![License](https://img.shields.io/github/license/h3rald/litestore.svg)](https://raw.githubusercontent.com/h3rald/litestore/master/LICENSE) - LiteStore is a lightweight, self-contained, RESTful, multi-format NoSQL document store server written in [Nim](http://www.nim-lang.org) and powered by a [SQLite](http://www.sqlite.org) backend for storage. It aims to be a very simple and lightweight backend ideal for prototyping and testing REST APIs and single-page applications. For more information, see:
M build_guidebuild_guide

@@ -32,7 +32,7 @@ for page in ${pages[@]}

do (cat "${page}"; printf "\n\n") >> LiteStore_UserGuide.md done -hastyscribe --field/version:1.13.0 LiteStore_UserGuide.md +hastyscribe --field/version:A00-0 LiteStore_UserGuide.md rm LiteStore_UserGuide.md mv LiteStore_UserGuide.htm ../.. cd ../..
M litestore.nimblelitestore.nimble

@@ -14,11 +14,11 @@ import litestorepkg/lib/config

# Package -version = pkgVersion -author = pkgAuthor -description = pkgDescription -license = pkgLicense -bin = @[pkgName] +version = "1.13.1" +author = "Fabio Cevasco" +description = "Self-contained, lightweight, RESTful document store." +license = "MIT" +bin = @["litestore"] srcDir = "src" skipDirs = @["test"] installExt = @["nim", "c", "h", "json", "ico"]
M src/admin/md/getting-started.mdsrc/admin/md/getting-started.md

@@ -1,34 +1,10 @@

## Getting Started - -### Downloading Pre-built Binaries - -The easiest way to get LiteStore is by downloading one of the prebuilt binaries from the [Github Release Page][release]: - - * [LiteStore for Mac OS X (x64)](https://github.com/h3rald/litestore/releases/download/{{$version}}/litestore_{{$version}}_macosx_x64.zip) - * [LiteStore for Windows (x64)](https://github.com/h3rald/litestore/releases/download/{{$version}}/litestore_{{$version}}_windows_x64.zip) - * [LiteStore for Linux (x64)](https://github.com/h3rald/litestore/releases/download/{{$version}}/litestore_{{$version}}_linux_x64.zip) - -### Running a Docker Image as a Container - -Official Docker images are available [on Docker Hub](https://hub.docker.com/repository/docker/h3rald/litestore). - -Just pull the latest version: - -[docker pull h3rald/litestore:v{{$version}}](class:cmd) - -then start a container to run the image on port 9500: +### Installing using Nimble -[docker run -p 9500:9500 h3rald/litestore:v{{$version}} -a:0.0.0.0](class:cmd) +The easiest way to install LiteStore is to use Nimble, the package manager of the [Nim](http://nim-lang.org/) programming language. -> %tip% -> Tip -> -> The [Dockerfile](https://github.com/h3rald/litestore/blob/master/Dockerfile) used to create tbe image is available in root of tbe LiteStore Github repository. - -### Installing using Nimble - -If you already have [Nim](http://nim-lang.org/) installed on your computer, you can simply run +If you already have Nim installed on your computer, you can simply run [nimble install litestore](class:cmd)
M src/litestorepkg/lib/cli.nimsrc/litestorepkg/lib/cli.nim

@@ -34,9 +34,9 @@ exUri = ""

cliSettings = newJObject() let - usage* = appname & " v" & pkgVersion & " - Lightweight REST Document Store" & """ + usage* = appname & " " & pkgVersionLabel & " - Lightweight REST Document Store" & """ -(c) 2015-2020 Fabio Cevasco +(c) 2015-2026 Fabio Cevasco Usage: litestore [command] [option1 option2 ...]
M src/litestorepkg/lib/config.nimsrc/litestorepkg/lib/config.nim

@@ -1,6 +1,7 @@

const pkgName* = "litestore" - pkgVersion* = "1.13.0" + pkgVersion* = "A000" + pkgVersionLabel* = "vA00-0" pkgAuthor* = "Fabio Cevasco" pkgDescription* = "Self-contained, lightweight, RESTful document store." pkgLicense* = "MIT"