autobackend-hot - AutoBackend.SDK 0.1.11-hot-343

This package provides the boilerplate infrastructure to create simplified backend services by managing DataBase and API layers.

PM> Install-Package AutoBackend.SDK -Version 0.1.11-hot-343 -Source https://www.myget.org/F/autobackend-hot/api/v3/index.json

Copy to clipboard

> nuget.exe install AutoBackend.SDK -Version 0.1.11-hot-343 -Source https://www.myget.org/F/autobackend-hot/api/v3/index.json

Copy to clipboard

> dotnet add package AutoBackend.SDK --version 0.1.11-hot-343 --source https://www.myget.org/F/autobackend-hot/api/v3/index.json

Copy to clipboard
<PackageReference Include="AutoBackend.SDK" Version="0.1.11-hot-343" />
Copy to clipboard
source https://www.myget.org/F/autobackend-hot/api/v3/index.json

nuget AutoBackend.SDK  ~> 0.1.11-hot-343
Copy to clipboard

> choco install AutoBackend.SDK --version 0.1.11-hot-343 --source https://www.myget.org/F/autobackend-hot/api/v2

Copy to clipboard
Import-Module PowerShellGet
Register-PSRepository -Name "autobackend-hot" -SourceLocation "https://www.myget.org/F/autobackend-hot/api/v2"
Install-Module -Name "AutoBackend.SDK" -RequiredVersion "0.1.11-hot-343" -Repository "autobackend-hot" -AllowPreRelease
Copy to clipboard

AutoBackend

DEVELOPER BUILDS RELEASE BUILDS
MyGet MyGet NuGet

This package provides infrastructure templates to facilitate the creation of backend services. This is a personal project with no commercial backing and offers no guarantees regarding future development.

Features

Initialization

A sample usage scenario is available here.

Initialize AutoBackend from your Program.cs file

using AutoBackend.Sdk;

await new AutoBackendHost<Program>().RunAsync(args);

Define models to represent your domain relationships

Refer to the sample project models for examples.

public class Budget
{
    public Guid Id { get; set; }
    
    //..
}

public class Transaction
{
    public Guid Id { get; set; }
    
    //..
}

public class TransactionVersion
{
    //..
}

public class User
{
    public long Id { get; set; }
    
    //..
}

public class Participating
{
    public long UserId { get; set; }
    
    public Guid BudgetId { get; set; }
    
    //..
}

Feature Configuration

All features are detailed in the sections below.


Database

The following relational databases are currently supported (including in-memory):

  • SqlServer
  • Postgres

AutoBackend.SDK will generate tables and establish relationships for your configured entities.

Schema Modeling

There are typically three types of database tables:

  • Keyless,
  • Single-column primary key,
  • Multi-column primary key.

Depending on the number of primary key columns in your entity, follow the instructions below to enable AutoBackend.SDK to track changes.

Keyless Entities

Use the [GenericEntity] attribute to designate a model as a keyless entity.

[GenericEntity]
public class TransactionVersion
{
    //...
}

Single-PK Entities

Use the [GenericEntity(<primary key property name>)] attribute to designate a model as an entity with a single-column primary key.

[GenericEntity(
    nameof(Id)
)]
public class Budget
{
    public Guid Id { get; set; }

    // ...
}

Multi-PK Entities

Use the [GenericEntity(<primary key property names>)] attribute to designate a model as an entity with a composite primary key.

Currently, the maximum number of properties in a composite key is 8.

This limit should be sufficient for most use cases.

[GenericEntity(
    nameof(UserId),
    nameof(BudgetId)
)]
public class Participating
{
    public long UserId { get; set; }

    public Guid BudgetId { get; set; }
    
    // ...
}

Providers

To configure database connection management, set up the "Database" section in your configuration.

"Database": {
  "PrimaryProvider": "InMemory",
  "Providers": {
    "InMemory": "InMemory database name",
    "SqlServer": "SqlServer database connection string",
    "Postgres": "Postgres database connection string"
  }
}

The PrimaryProvider property accepts one of the following string values:

  • InMemory,
  • SqlServer,
  • Postgres.

The Providers property must contain an object with optional properties: InMemory, SqlServer, or Postgres. The property corresponding to the selected PrimaryProvider value is required.

Migrations

First, install Entity Framework Core Tools. You can create a new migration by executing one of the following commands from the project root directory:

  • For SqlServer: dotnet ef migrations add "<your migration name>" -o Migrations/SqlServer -c SqlServerGenericDbContext
  • For Postgres: dotnet ef migrations add "<your migration name>" -o Migrations/Postgres -c PostgresGenericDbContext

Alternatively, you can use the provided scripts to add a new migration or to remove the last migration for both database providers.

If you choose not to use AutoBackend's migration management (see above), you can perform migrations manually by executing dotnet ef database update from the project root directory.

Migrate on Startup

When using a relational database (e.g., SqlServer or Postgres), you can configure AutoBackend to automatically migrate the database at application startup by passing the migrateRelationalOnStartup parameter to the RunAsync method during AutoBackend initialization. For example:

await new AutoBackend.Sdk.AutoBackendHost<Program>().RunAsync(args, migrateRelationalOnStartup: true);

API

AutoBackend.SDK currently supports two types of API interfaces:

  • HTTP REST API
  • GraphQL

HTTP API

Apply the [GenericController] attribute to your models to have AutoBackend generate HTTP API endpoints.

Disclaimer

The [GenericController] attribute is compatible only with models also marked with [GenericEntity].

Response Container and Endpoints

The current API version is v1. API v1 uses JSON and follows the following response container format:

{
  "ok": boolean,
  "error_code": number,
  "description": string,
  "request_time_ms": number,
  "result": <response object>
}

For detailed information on generated endpoints, visit /swagger.

Endpoints

The [GenericController] attribute generates the following HTTP API endpoints:

Method Url Keyless Single-PK Multi-PK Description
GET /api/v1/<model name> ✔️ ✔️ ✔️ Retrieve all entities of a specific model
GET /api/v1/<model name>/count ✔️ ✔️ ✔️ Retrieve the count of entities of a specific model
GET /api/v1/<model name>/<pk1> ✔️ Retrieve an entity with the requested primary key of a specific model
GET /api/v1/<model name>/<pk1>/<pk2>/.../<pkN> ✔️ Retrieve an entity with the requested composite primary key of a model
POST /api/v1/<model name> ✔️ Create a new keyless entity of a specific model
POST /api/v1/<model name>/<pk1> ✔️ Create a new entity with the specified primary key of a specific model
POST /api/v1/<model name>/<pk1>/<pk2>/.../<pkN> ✔️ Create a new entity with the specified composite primary key of a model
PUT /api/v1/<model name>/<pk1> ✔️ Update an entity with the specified primary key of a specific model
PUT /api/v1/<model name>/<pk1>/<pk2>/.../<pkN> ✔️ Update an entity with the specified composite primary key of a model
DELETE /api/v1/<model name>/<pk1> ✔️ Delete an entity with the specified primary key of a specific model
DELETE /api/v1/<model name>/<pk1>/<pk2>/.../<pkN> ✔️ Delete an entity with the specified composite primary key of a model

📘Filtering Capabilities

Refer to the following section for more information on filtering.

Code Samples

[GenericEntity(
    nameof(Id)
)]
[GenericController]
public class User
{
    public long Id { get; set; }

    // ...
}

GraphQL

Apply the [GenericGqlQuery] and [GenericGqlMutation] attributes to your models to generate GraphQL queries and mutations, respectively.

Disclaimer

The [GenericGqlQuery] and [GenericGqlMutation] attributes are compatible only with models also marked with [GenericEntity].

For detailed information on generated queries and mutations, visit /graphql.

Queries

The [GenericGqlQuery] attribute generates the following GraphQL queries:

Query Arguments Keyless Single-PK Multi-PK Description
all filter: generic filter input model ✔️ ✔️ ✔️ Retrieve all entities of a specific model
count filter: generic filter input model ✔️ ✔️ ✔️ Retrieve the count of entities of a specific model
byKey key: entity primary key ✔️ Retrieve an entity with the requested primary key of a model
byKey key1, key2, ..., keyN: entity PK-set ✔️ Retrieve an entity with the requested composite primary key

📘Filtering Capabilities

Refer to the following section for more information on filtering.

Code Samples

[GenericEntity(
    nameof(Id)
)]
[GenericGqlQuery]
public class User
{
    public long Id { get; set; }

    // ...
}

Mutations

The [GenericGqlMutation] attribute generates the following GraphQL mutations:

Mutation Arguments Keyless Single-PK Multi-PK Description
create request: generic entity input model ✔️ Create a new keyless entity of a specific model
create key: entity primary key, request: generic entity input model ✔️ Create a new entity with the specified primary key of a model
create key1, key2, ..., keyN: entity PK-set, request: generic entity input model ✔️ Create a new entity with the specified composite primary key
update key: entity primary key, request: generic entity input model ✔️ Update an entity with the specified primary key of a model
update key1, key2, ..., keyN: entity PK-set, request: generic entity input model ✔️ Update an entity with the specified composite primary key
delete key: entity primary key (for PK-holder entities only) ✔️ Delete an entity with the specified primary key
delete key1, key2, ..., keyN: entity PK-set ✔️ Delete an entity with the specified composite primary key

Code Samples

[GenericEntity(
    nameof(Id)
)]
[GenericGqlMutation]
public class User
{
    public long Id { get; set; }

    // ...
}

Modeling

AutoBackend.SDK automatically generates request and response models for any entity with HTTP API or GraphQL generation configured. By default, these models include all original entity properties. However, if you explicitly specify properties using the [GenericRequest] or [GenericResponse] attributes, only those specified properties will be included, and all others will be omitted.

Request Models

The [GenericRequest] attribute specifies which properties can be mapped from the request model to the entity.

Code Samples

[GenericEntity(
    nameof(Id)
)]
[GenericController]
[GenericGqlQuery]
[GenericGqlMutation]
[GenericRequest(
    nameof(Id),
    nameof(UserId),
    nameof(BudgetId),
    nameof(Amount),
    nameof(DateTimeUtc),
    nameof(Comment),
    nameof(SecretKey)
)]
public class Transaction
{
    // ...
}

Response Models

The [GenericResponse] attribute specifies which properties can be mapped from the entity to the response model.

Code Samples

[GenericEntity(
    nameof(Id)
)]
[GenericController]
[GenericGqlQuery]
[GenericGqlMutation]
[GenericResponse(
    nameof(Id),
    nameof(UserId),
    nameof(BudgetId),
    nameof(Amount),
    nameof(DateTimeUtc),
    nameof(Comment)
)]
public class Transaction
{
    // ...
}

Authorization

AutoBackend.SDK supports permission-based authorization using JWT tokens. You can control access to CRUD operations at both entity and property levels.

Configuration

Configure JWT settings in your appsettings.json:

"Jwt": {
  "PublicKey": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----",
  "ValidIssuer": "AutoBackendServer",
  "ValidAudience": "AutoBackendUser"
}
  • PublicKey: RSA public key in PEM format (required) - used to verify JWT token signatures
  • ValidIssuer: Optional issuer validation
  • ValidAudience: Optional audience validation

Permission Attributes

Use permission attributes on entity classes to require authorization for specific operations:

  • [GenericCreatePermission] - Requires permission to create entities
  • [GenericReadPermission] - Requires permission to read entities
  • [GenericUpdatePermission] - Requires permission to update entities
  • [GenericDeletePermission] - Requires permission to delete entities

Code Samples

[GenericEntity(
    nameof(Id)
)]
[GenericController]
[GenericGqlQuery]
[GenericGqlMutation]
[GenericCreatePermission]
[GenericReadPermission]
[GenericUpdatePermission]
[GenericDeletePermission]
public class Budget
{
    public Guid Id { get; set; }
    
    // ...
}

Property-Level Permissions

⚠️ Note: Property-level permissions are currently only processed for Update operations.

You can apply permission attributes to individual properties for fine-grained access control during update operations:

[GenericEntity(
    nameof(Id)
)]
[GenericController]
[GenericGqlMutation]
[GenericUpdatePermission]
public class Transaction
{
    public Guid Id { get; set; }
    
    [GenericUpdatePermission]
    public string? SecretKey { get; set; }
    
    // ...
}

When updating an entity, AutoBackend will check property-level permissions only for properties that are actually being modified. This allows you to restrict access to sensitive fields while allowing updates to other properties.

JWT Token Format

JWT tokens must be sent in the Authorization header with the Bearer prefix:

Authorization: Bearer <your-jwt-token>

The JWT token must contain claims with:

  • Type: permissions
  • Value: Permission strings in the format {EntityName}{PermissionType} or {EntityName}{PropertyName}{PermissionType}

Permission Name Format

  • Entity permissions: {EntityName}{PermissionType}
    • Examples: BudgetCreate, BudgetRead, BudgetUpdate, BudgetDelete
  • Property permissions: {EntityName}{PropertyName}{PermissionType} (only for Update operations)
    • Examples: TransactionSecretKeyUpdate

Example JWT Claims

{
  "permissions": [
    "BudgetCreate",
    "BudgetRead",
    "BudgetUpdate",
    "BudgetDelete",
    "TransactionSecretKeyUpdate"
  ]
}

Error Handling

When a request lacks required permissions, AutoBackend returns an Unauthorized error with details about missing permissions.

Filtering

AutoBackend.SDK generates filter models for any entity with configured HTTP API or GraphQL generation. By default, these models include only pagination management properties. To include specific entity properties in the filter model, use the [GenericFilter] attribute.

Defaults

By default, two filter parameters are always available for any GET request (returning a list of entities) or GraphQL queries to manage pagination:

  • skipCount: number
  • takeCount: number

Custom Filtering

The [GenericFilter] attribute marks a model property as filterable in the generated filter model.

[GenericEntity(
    nameof(Id)
)]
[GenericController]
[GenericGqlQuery]
[GenericGqlMutation]
public class Budget
{
    [GenericFilter]
    public Guid Id { get; set; }

    [GenericFilter]
    public string Name { get; set; }

    [GenericFilter]
    public long? OwnerId { get; set; }

    // ...
}

AutoBackend will construct a filter model with parameters that can be used in API endpoints like /api/v1/<model name> or /api/v1/<model name>/count, as well as in GraphQL queries.

  • API filter parameter names follow the pattern: <property's camelCase-name>.<condition name>
  • GraphQL queries will have filtering models with condition properties generated

The following filter conditions are supported:

  • equal
  • notEqual
  • greaterThan
  • greaterThanOrEqual
  • lessThan
  • lessThanOrEqual
  • in
  • isNull

Changelog Summary:

Enhancements:

  • Released version v0.1.10 with major infrastructure updates.
  • Added JWT authorization support with configurable public key validation.
  • Refactored AutoBackendHost configuration by consolidating StartupBoilerplate logic inline.
  • Enhanced sample project with PostgreSQL as primary database provider.
  • Updated README.md with comprehensive authorization documentation.

Package Updates:

  • Target framework advanced to .NET 10.0 with SDK version 10.0.0.
  • Upgraded Microsoft.EntityFrameworkCore packages from 8.0.4 to 10.0.1.
  • Updated Npgsql.EntityFrameworkCore.PostgreSQL from version 8.0.2 to 10.0.0.
  • Upgraded HotChocolate.AspNetCore from 13.9.0 to 15.1.11.
  • Updated HotChocolate.Data.EntityFramework from 13.9.0 to 15.1.11.
  • Incremented NSwag.AspNetCore from 14.0.7 to 14.6.3.
  • Upgraded Microsoft.NET.Test.Sdk from 17.9.0 to 18.0.1.
  • Updated MSTest.TestAdapter from 3.3.1 to 4.0.2.
  • Updated MSTest.TestFramework from 3.3.1 to 4.0.2.
  • Elevated coverlet.collector version from 6.0.2 to 6.0.4.
  • Removed Flurl.Http dependency.

Infrastructure Updates:

  • Updated Dockerfile base images to .NET 10.0.
  • Enhanced GitHub Actions workflows with latest versions.
  • Upgraded actions/checkout from v4 to v6.
  • Updated actions/setup-dotnet from v4 to v5.
  • Incremented tj-actions/changed-files from v41 to v47.
  • Upgraded actions/github-script from v7 to v8.
  • Enhanced Dependabot configuration with GitHub Actions support.
  • Added parallel test execution configuration.

Documentation and Organization:

  • Expanded README.md with authorization section and improved descriptions.
  • Updated sample project configuration with JWT settings.
  • Enhanced PostgreSQL connection string with error detail inclusion.
  • .NETFramework 10.0
    • HotChocolate.AspNetCore (>= 16.2.2)
    • HotChocolate.Data.EntityFramework (>= 16.3.0)
    • Microsoft.EntityFrameworkCore (>= 10.0.9)
    • Microsoft.EntityFrameworkCore.InMemory (>= 10.0.9)
    • Microsoft.EntityFrameworkCore.SqlServer (>= 10.0.9)
    • Npgsql.EntityFrameworkCore.PostgreSQL (>= 10.0.1)
    • NSwag.AspNetCore (>= 14.7.0)
  • .NETFramework 10.0: 10.0.0.0

Owners

vorobalek

Authors

Alexey Vorobev

Project URL

https://github.com/vorobalek/autobackend

License

Unknown

Info

4525 total downloads
0 downloads for version 0.1.11-hot-343
Download (81.64 KB)
Found on the current feed only

Package history

Version Size Last updated Downloads Mirrored?
0.1.11-hot-346 81.64 KB Mon, 29 Jun 2026 01:26:39 GMT 0
0.1.11-hot-345 81.64 KB Mon, 29 Jun 2026 01:26:24 GMT 0
0.1.11-hot-344 81.64 KB Mon, 29 Jun 2026 01:25:50 GMT 0
0.1.11-hot-343 81.64 KB Mon, 29 Jun 2026 01:26:07 GMT 0
0.1.11-hot-342 81.64 KB Mon, 29 Jun 2026 01:25:18 GMT 0
0.1.11-hot-341 81.64 KB Mon, 22 Jun 2026 21:39:38 GMT 4
0.1.11-hot-340 81.64 KB Mon, 22 Jun 2026 21:40:02 GMT 3
0.1.11-hot-339 81.65 KB Mon, 22 Jun 2026 21:09:01 GMT 4
0.1.11-hot-338 81.64 KB Mon, 22 Jun 2026 01:26:04 GMT 3
0.1.11-hot-337 81.64 KB Mon, 22 Jun 2026 20:58:54 GMT 2
0.1.11-hot-336 81.63 KB Mon, 22 Jun 2026 01:23:52 GMT 4
0.1.11-hot-335 81.63 KB Mon, 15 Jun 2026 17:21:36 GMT 3
0.1.11-hot-334 81.64 KB Mon, 15 Jun 2026 13:07:32 GMT 5
0.1.11-hot-333 81.65 KB Mon, 15 Jun 2026 01:26:07 GMT 4
0.1.11-hot-332 81.64 KB Mon, 15 Jun 2026 15:29:31 GMT 4
0.1.11-hot-331 81.64 KB Mon, 15 Jun 2026 01:25:16 GMT 5
0.1.11-hot-330 81.63 KB Mon, 08 Jun 2026 07:28:29 GMT 4
0.1.11-hot-329 81.64 KB Mon, 08 Jun 2026 07:47:11 GMT 5
0.1.11-hot-328 81.63 KB Mon, 08 Jun 2026 01:26:44 GMT 3
0.1.11-hot-326 81.64 KB Mon, 08 Jun 2026 07:19:23 GMT 3
0.1.11-hot-325 81.62 KB Mon, 08 Jun 2026 01:25:40 GMT 3
0.1.11-hot-324 81.63 KB Thu, 04 Jun 2026 15:41:08 GMT 11
0.1.11-hot-322 81.63 KB Thu, 04 Jun 2026 15:33:37 GMT 15
0.1.11-hot-321 81.62 KB Thu, 04 Jun 2026 15:36:25 GMT 5
0.1.11-hot-320 81.63 KB Mon, 20 Apr 2026 01:25:24 GMT 9
0.1.11-hot-319 81.63 KB Mon, 20 Apr 2026 01:25:13 GMT 11
0.1.11-hot-318 81.63 KB Sat, 18 Apr 2026 11:19:44 GMT 13
0.1.11-hot-317 81.63 KB Sat, 18 Apr 2026 11:20:30 GMT 11
0.1.11-hot-316 81.63 KB Sat, 18 Apr 2026 11:06:56 GMT 12
0.1.11-hot-315 81.62 KB Sat, 18 Apr 2026 10:59:20 GMT 13
0.1.11-hot-314 81.63 KB Sat, 18 Apr 2026 10:53:44 GMT 8
0.1.11-hot-313 81.63 KB Sat, 18 Apr 2026 10:06:08 GMT 11
0.1.11-hot-312 81.63 KB Mon, 13 Apr 2026 01:23:37 GMT 12
0.1.11-hot-311 81.63 KB Mon, 06 Apr 2026 02:07:50 GMT 12
0.1.11-hot-310 81.63 KB Mon, 06 Apr 2026 01:25:33 GMT 9
0.1.11-hot-309 81.62 KB Mon, 30 Mar 2026 04:42:31 GMT 12
0.1.11-hot-308 81.63 KB Mon, 30 Mar 2026 04:39:10 GMT 12
0.1.11-hot-307 81.63 KB Mon, 23 Mar 2026 01:25:34 GMT 10
0.1.11-hot-306 81.63 KB Mon, 16 Mar 2026 01:26:56 GMT 10
0.1.11-hot-305 81.64 KB Sat, 21 Mar 2026 15:39:20 GMT 10
0.1.11-hot-304 81.63 KB Mon, 16 Mar 2026 01:26:32 GMT 14
0.1.11-hot-303 81.64 KB Sat, 21 Mar 2026 15:33:07 GMT 16
0.1.11-hot-302 81.63 KB Mon, 16 Mar 2026 01:25:49 GMT 12
0.1.11-hot-301 81.61 KB Mon, 02 Mar 2026 01:25:34 GMT 15
0.1.11-hot-300 81.61 KB Tue, 17 Feb 2026 07:28:10 GMT 9
0.1.11-hot-299 81.61 KB Tue, 17 Feb 2026 07:02:22 GMT 13
0.1.11-hot-298 81.61 KB Tue, 17 Feb 2026 07:19:19 GMT 12
0.1.11-hot-297 81.61 KB Mon, 16 Feb 2026 01:25:43 GMT 10
0.1.11-hot-296 81.61 KB Mon, 16 Feb 2026 01:25:27 GMT 15
0.1.11-hot-295 81.6 KB Mon, 09 Feb 2026 01:25:17 GMT 9
0.1.11-hot-294 81.62 KB Mon, 09 Feb 2026 01:25:05 GMT 12
0.1.11-hot-293 81.61 KB Mon, 26 Jan 2026 01:26:27 GMT 13
0.1.11-hot-292 81.61 KB Mon, 19 Jan 2026 07:27:25 GMT 17
0.1.11-hot-291 81.61 KB Mon, 19 Jan 2026 01:33:26 GMT 17
0.1.11-hot-290 81.61 KB Mon, 19 Jan 2026 07:22:22 GMT 14
0.1.11-hot-289 81.61 KB Mon, 19 Jan 2026 01:32:35 GMT 19
0.1.11-hot-288 81.61 KB Mon, 19 Jan 2026 07:16:02 GMT 17
0.1.11-hot-287 81.61 KB Mon, 19 Jan 2026 01:32:08 GMT 14
0.1.10-hot-286 81.6 KB Tue, 23 Dec 2025 22:12:32 GMT 18
0.1.10-hot-285 81.6 KB Tue, 23 Dec 2025 21:54:59 GMT 15
0.1.10-hot-284 81.64 KB Tue, 23 Dec 2025 21:28:13 GMT 13
0.1.10-hot-283 76.85 KB Mon, 22 Dec 2025 10:38:58 GMT 16
0.1.10-hot-282 76.85 KB Mon, 22 Dec 2025 01:06:49 GMT 14
0.1.10-hot-281 76.85 KB Mon, 15 Dec 2025 01:07:24 GMT 16
0.1.10-hot-280 76.84 KB Mon, 15 Dec 2025 01:06:45 GMT 21
0.1.10-hot-279 76.84 KB Wed, 03 Dec 2025 21:26:38 GMT 22
0.1.10-hot-278 76.42 KB Wed, 03 Dec 2025 20:34:33 GMT 14
0.1.10-hot-277 76.42 KB Wed, 03 Dec 2025 20:33:19 GMT 15
0.1.10-hot-276 76.41 KB Wed, 03 Dec 2025 20:32:09 GMT 16
0.1.10-hot-275 76.42 KB Wed, 03 Dec 2025 20:30:36 GMT 18
0.1.10-hot-274 76.41 KB Wed, 03 Dec 2025 20:26:48 GMT 20
0.1.10-hot-273 76.42 KB Wed, 03 Dec 2025 20:24:36 GMT 10
0.1.10-hot-272 76.41 KB Wed, 03 Dec 2025 20:23:55 GMT 20
0.1.10-hot-271 76.41 KB Mon, 01 Dec 2025 01:32:07 GMT 18
0.1.10-hot-270 76.42 KB Mon, 24 Nov 2025 10:47:59 GMT 26
0.1.10-hot-269 76.41 KB Mon, 24 Nov 2025 10:53:44 GMT 18
0.1.10-hot-268 76.42 KB Mon, 24 Nov 2025 09:28:44 GMT 15
0.1.10-hot-267 76.42 KB Mon, 24 Nov 2025 09:01:08 GMT 16
0.1.10-hot-266 76.42 KB Mon, 24 Nov 2025 08:32:49 GMT 16
0.1.10-hot-265 76.42 KB Mon, 24 Nov 2025 01:09:51 GMT 18
0.1.10-hot-264 76.42 KB Mon, 24 Nov 2025 09:09:21 GMT 19
0.1.10-hot-263 76.42 KB Mon, 24 Nov 2025 01:08:48 GMT 16
0.1.10-hot-262 76.28 KB Mon, 10 Nov 2025 01:07:22 GMT 18
0.1.10-hot-261 76.28 KB Mon, 27 Oct 2025 01:09:04 GMT 17
0.1.10-hot-260 76.28 KB Mon, 20 Oct 2025 19:55:07 GMT 17
0.1.10-hot-259 76.29 KB Mon, 20 Oct 2025 19:50:13 GMT 23
0.1.10-hot-258 76.29 KB Mon, 20 Oct 2025 16:40:41 GMT 24
0.1.10-hot-257 76.29 KB Mon, 20 Oct 2025 01:09:01 GMT 14
0.1.10-hot-256 76.29 KB Mon, 20 Oct 2025 01:08:16 GMT 17
0.1.10-hot-255 76.29 KB Mon, 13 Oct 2025 12:54:27 GMT 14
0.1.10-hot-254 76.28 KB Mon, 13 Oct 2025 12:54:12 GMT 15
0.1.10-hot-253 76.29 KB Mon, 13 Oct 2025 12:49:41 GMT 14
0.1.10-hot-252 76.29 KB Mon, 13 Oct 2025 01:06:36 GMT 12
0.1.10-hot-251 76.28 KB Mon, 06 Oct 2025 09:58:42 GMT 23
0.1.10-hot-250 76.28 KB Mon, 06 Oct 2025 09:33:35 GMT 17
0.1.10-hot-249 76.28 KB Mon, 06 Oct 2025 09:02:49 GMT 20
0.1.10-hot-248 76.28 KB Mon, 06 Oct 2025 08:57:57 GMT 13
0.1.10-hot-247 76.28 KB Mon, 06 Oct 2025 01:06:28 GMT 20
0.1.10-hot-246 76.29 KB Mon, 29 Sep 2025 08:27:17 GMT 17
0.1.10-hot-245 76.28 KB Mon, 29 Sep 2025 08:19:58 GMT 15
0.1.10-hot-244 76.29 KB Mon, 29 Sep 2025 08:15:14 GMT 17
0.1.10-hot-243 76.29 KB Mon, 29 Sep 2025 01:06:50 GMT 19
0.1.10-hot-242 76.29 KB Mon, 22 Sep 2025 01:06:20 GMT 15
0.1.10-hot-241 76.29 KB Mon, 22 Sep 2025 07:53:46 GMT 20
0.1.10-hot-240 76.28 KB Mon, 22 Sep 2025 08:02:09 GMT 17
0.1.10-hot-239 76.29 KB Mon, 15 Sep 2025 01:07:02 GMT 17
0.1.10-hot-238 76.28 KB Mon, 22 Sep 2025 07:56:12 GMT 14
0.1.10-hot-237 76.29 KB Mon, 15 Sep 2025 01:06:35 GMT 19
0.1.10-hot-236 76.29 KB Mon, 08 Sep 2025 01:12:13 GMT 17
0.1.10-hot-235 76.28 KB Mon, 08 Sep 2025 01:12:14 GMT 21
0.1.10-hot-234 76.28 KB Mon, 08 Sep 2025 18:47:46 GMT 17
0.1.10-hot-233 76.28 KB Mon, 08 Sep 2025 01:06:38 GMT 15
0.1.10-hot-232 76.29 KB Mon, 01 Sep 2025 08:46:47 GMT 17
0.1.10-hot-231 76.29 KB Mon, 01 Sep 2025 08:42:34 GMT 20
0.1.10-hot-230 76.29 KB Mon, 01 Sep 2025 08:34:54 GMT 18
0.1.10-hot-229 76.29 KB Mon, 01 Sep 2025 02:15:43 GMT 18
0.1.10-hot-228 76.28 KB Mon, 01 Sep 2025 02:10:15 GMT 15
0.1.10-hot-227 76.3 KB Mon, 01 Sep 2025 02:08:36 GMT 14
0.1.10-hot-226 76.28 KB Tue, 19 Aug 2025 18:32:14 GMT 16
0.1.10-hot-225 76.29 KB Tue, 19 Aug 2025 18:15:06 GMT 13
0.1.10-hot-224 76.28 KB Tue, 12 Aug 2025 10:46:11 GMT 18
0.1.10-hot-223 76.28 KB Wed, 06 Aug 2025 11:59:18 GMT 17
0.1.10-hot-222 76.28 KB Wed, 06 Aug 2025 11:46:18 GMT 16
0.1.10-hot-221 76.28 KB Wed, 06 Aug 2025 11:43:22 GMT 17
0.1.10-hot-220 74.14 KB Thu, 20 Feb 2025 01:13:10 GMT 25
0.1.10-hot-219 74.15 KB Thu, 20 Feb 2025 01:12:41 GMT 17
0.1.10-hot-218 74.15 KB Thu, 13 Feb 2025 01:21:00 GMT 15
0.1.10-hot-217 74.14 KB Thu, 13 Feb 2025 01:20:32 GMT 17
0.1.10-hot-216 74.16 KB Wed, 12 Feb 2025 01:20:13 GMT 16
0.1.10-hot-215 74.15 KB Wed, 12 Feb 2025 01:19:06 GMT 20
0.1.10-hot-214 74.14 KB Wed, 12 Feb 2025 01:18:30 GMT 16
0.1.10-hot-213 74.14 KB Tue, 11 Feb 2025 01:55:46 GMT 17
0.1.10-hot-212 74.15 KB Fri, 07 Feb 2025 01:23:29 GMT 18
0.1.10-hot-211 74.16 KB Fri, 07 Feb 2025 01:22:44 GMT 20
0.1.10-hot-210 74.14 KB Thu, 06 Feb 2025 02:03:43 GMT 16
0.1.10-hot-209 74.15 KB Thu, 06 Feb 2025 02:03:21 GMT 23
0.1.10-hot-208 74.14 KB Wed, 05 Feb 2025 01:47:12 GMT 8
0.1.10-hot-207 74.15 KB Wed, 05 Feb 2025 01:46:02 GMT 17
0.1.10-hot-206 74.14 KB Tue, 28 Jan 2025 01:47:31 GMT 21
0.1.10-hot-205 74.15 KB Tue, 28 Jan 2025 01:47:18 GMT 16
0.1.10-hot-204 74.14 KB Wed, 22 Jan 2025 01:56:54 GMT 11
0.1.10-hot-203 74.13 KB Wed, 22 Jan 2025 01:56:54 GMT 16
0.1.10-hot-202 74.14 KB Mon, 20 Jan 2025 01:29:03 GMT 13
0.1.10-hot-201 74.15 KB Wed, 15 Jan 2025 01:12:28 GMT 15
0.1.10-hot-200 74.14 KB Tue, 14 Jan 2025 01:22:56 GMT 19
0.1.10-hot-199 74.14 KB Tue, 14 Jan 2025 01:23:06 GMT 19
0.1.10-hot-198 74.15 KB Tue, 31 Dec 2024 01:09:20 GMT 18
0.1.10-hot-197 74.14 KB Mon, 23 Dec 2024 01:32:04 GMT 17
0.1.10-hot-196 74.14 KB Mon, 23 Dec 2024 01:31:37 GMT 19
0.1.10-hot-195 74.16 KB Tue, 17 Dec 2024 01:22:36 GMT 16
0.1.10-hot-194 74.15 KB Tue, 17 Dec 2024 01:22:14 GMT 10
0.1.10-hot-193 74.15 KB Mon, 09 Dec 2024 01:10:18 GMT 16
0.1.10-hot-192 74.22 KB Wed, 04 Dec 2024 10:04:20 GMT 21
0.1.10-hot-191 74.21 KB Wed, 04 Dec 2024 10:04:46 GMT 15
0.1.10-hot-190 74.14 KB Wed, 04 Dec 2024 10:23:12 GMT 21
0.1.10-hot-188 74.22 KB Wed, 20 Nov 2024 01:28:06 GMT 21
0.1.10-hot-187 74.2 KB Wed, 04 Dec 2024 10:04:06 GMT 16
0.1.10-hot-186 74.2 KB Wed, 04 Dec 2024 09:58:33 GMT 17
0.1.10-hot-185 74.21 KB Tue, 19 Nov 2024 01:39:41 GMT 10
0.1.10-hot-184 74.21 KB Wed, 13 Nov 2024 01:22:49 GMT 16
0.1.10-hot-183 74.21 KB Wed, 13 Nov 2024 01:22:39 GMT 16
0.1.10-hot-182 74.21 KB Wed, 13 Nov 2024 01:22:30 GMT 18
0.1.10-hot-181 74.22 KB Wed, 13 Nov 2024 01:21:38 GMT 16
0.1.10-hot-180 74.21 KB Wed, 13 Nov 2024 01:21:17 GMT 15
0.1.10-hot-177 74.21 KB Fri, 01 Nov 2024 01:21:03 GMT 16
0.1.10-hot-176 74.21 KB Fri, 01 Nov 2024 01:20:58 GMT 17
0.1.10-hot-175 74.21 KB Fri, 18 Oct 2024 01:36:19 GMT 12
0.1.10-hot-172 74.21 KB Wed, 09 Oct 2024 01:50:53 GMT 13
0.1.10-hot-171 74.21 KB Wed, 09 Oct 2024 01:50:24 GMT 18
0.1.10-hot-170 74.21 KB Wed, 09 Oct 2024 01:49:54 GMT 13
0.1.10-hot-169 74.21 KB Fri, 04 Oct 2024 01:13:27 GMT 16
0.1.10-hot-168 74.21 KB Fri, 04 Oct 2024 01:13:00 GMT 17
0.1.10-hot-167 74.21 KB Tue, 01 Oct 2024 01:12:30 GMT 15
0.1.10-hot-166 74.22 KB Tue, 01 Oct 2024 01:12:16 GMT 15
0.1.10-hot-165 74.21 KB Mon, 30 Sep 2024 01:34:33 GMT 16
0.1.10-hot-164 74.21 KB Mon, 30 Sep 2024 01:30:31 GMT 12
0.1.10-hot-163 74.21 KB Mon, 30 Sep 2024 01:34:22 GMT 14
0.1.10-hot-162 74.21 KB Thu, 19 Sep 2024 06:00:40 GMT 13
0.1.10-hot-161 74.21 KB Thu, 19 Sep 2024 06:00:34 GMT 14
0.1.10-hot-160 74.21 KB Thu, 19 Sep 2024 06:00:54 GMT 12
0.1.10-hot-159 74.22 KB Thu, 19 Sep 2024 06:00:48 GMT 21
0.1.10-hot-158 74.21 KB Thu, 19 Sep 2024 06:00:30 GMT 16
0.1.10-hot-157 74.21 KB Thu, 19 Sep 2024 06:00:41 GMT 16
0.1.10-hot-156 74.21 KB Mon, 26 Aug 2024 01:53:42 GMT 18
0.1.10-hot-155 74.21 KB Fri, 23 Aug 2024 11:12:28 GMT 21
0.1.10-hot-154 74.21 KB Fri, 23 Aug 2024 11:12:25 GMT 25
0.1.10-hot-153 74.22 KB Fri, 23 Aug 2024 11:03:02 GMT 10
0.1.10-hot-152 74.21 KB Fri, 23 Aug 2024 11:12:28 GMT 17
0.1.10-hot-151 74.22 KB Fri, 23 Aug 2024 11:03:01 GMT 14
0.1.10-hot-150 74.21 KB Fri, 23 Aug 2024 11:07:34 GMT 17
0.1.10-hot-149 74.21 KB Fri, 23 Aug 2024 10:57:07 GMT 18
0.1.10-hot-148 74.2 KB Fri, 09 Aug 2024 01:54:09 GMT 12
0.1.10-hot-147 74.2 KB Thu, 08 Aug 2024 08:49:30 GMT 21
0.1.10-hot-146 74.2 KB Thu, 08 Aug 2024 11:48:12 GMT 14
0.1.10-hot-145 74.2 KB Thu, 08 Aug 2024 08:16:59 GMT 19
0.1.10-hot-144 74.21 KB Thu, 08 Aug 2024 09:07:19 GMT 24
0.1.10-hot-143 74.19 KB Thu, 08 Aug 2024 09:03:23 GMT 21
0.1.10-hot-142 74.2 KB Thu, 08 Aug 2024 08:59:42 GMT 17
0.1.10-hot-141 74.2 KB Thu, 08 Aug 2024 01:10:21 GMT 11
0.1.10-hot-140 74.2 KB Thu, 08 Aug 2024 01:10:29 GMT 17
0.1.10-hot-139 74.2 KB Fri, 26 Jul 2024 01:28:03 GMT 18
0.1.10-hot-138 74.21 KB Fri, 26 Jul 2024 01:27:48 GMT 17
0.1.10-hot-137 74.2 KB Thu, 08 Aug 2024 08:55:52 GMT 20
0.1.10-hot-136 74.2 KB Wed, 17 Jul 2024 01:11:13 GMT 14
0.1.10-hot-135 74.2 KB Wed, 17 Jul 2024 01:11:14 GMT 15
0.1.10-hot-134 74.19 KB Thu, 08 Aug 2024 08:16:28 GMT 18
0.1.10-hot-133 74.2 KB Thu, 08 Aug 2024 08:16:33 GMT 18
0.1.10-hot-132 74.21 KB Fri, 05 Jul 2024 01:45:11 GMT 14
0.1.10-hot-131 74.21 KB Fri, 05 Jul 2024 01:44:35 GMT 11
0.1.10-hot-130 74.2 KB Thu, 13 Jun 2024 02:05:14 GMT 15
0.1.10-hot-129 74.2 KB Thu, 13 Jun 2024 02:00:38 GMT 19
0.1.10-hot-128 74.2 KB Thu, 13 Jun 2024 01:59:44 GMT 22
0.1.10-hot-127 74.2 KB Fri, 31 May 2024 01:17:20 GMT 18
0.1.10-hot-126 74.2 KB Fri, 31 May 2024 01:16:31 GMT 20
0.1.10-hot-125 74.21 KB Wed, 29 May 2024 01:19:50 GMT 21
0.1.10-hot-124 74.2 KB Wed, 29 May 2024 01:19:23 GMT 20
0.1.10-hot-123 74.2 KB Wed, 29 May 2024 01:19:07 GMT 23
0.1.10-hot-122 74.2 KB Wed, 29 May 2024 01:18:42 GMT 21
0.1.10-hot-121 74.2 KB Tue, 28 May 2024 01:51:16 GMT 15
0.1.10-hot-120 74.19 KB Tue, 28 May 2024 01:50:47 GMT 18
0.1.10-hot-119 74.2 KB Fri, 24 May 2024 01:26:49 GMT 11
0.1.10-hot-118 74.2 KB Fri, 24 May 2024 01:26:10 GMT 23
0.1.10-hot-117 74.2 KB Thu, 08 Aug 2024 08:11:58 GMT 12
0.1.10-hot-116 74.16 KB Wed, 15 May 2024 01:16:13 GMT 21
0.1.10-hot-115 74.16 KB Tue, 14 May 2024 01:36:25 GMT 15
0.1.10-hot-114 74.16 KB Tue, 14 May 2024 01:35:55 GMT 12
0.1.10-hot-113 74.16 KB Mon, 13 May 2024 01:24:29 GMT 20
0.1.10-hot-112 74.16 KB Mon, 13 May 2024 01:24:06 GMT 20
0.1.10-hot-111 74.15 KB Mon, 13 May 2024 01:23:42 GMT 16
0.1.10-hot-110 74.16 KB Wed, 08 May 2024 01:34:28 GMT 14
0.1.10-hot-109 74.17 KB Wed, 08 May 2024 01:38:53 GMT 12
0.1.10-hot-108 74.15 KB Wed, 01 May 2024 10:45:09 GMT 20
0.1.10-hot-107 74.15 KB Wed, 01 May 2024 10:19:46 GMT 13
0.1.10-hot-106 74.16 KB Wed, 01 May 2024 09:59:45 GMT 22
0.1.9-hot-105 74.15 KB Sat, 27 Apr 2024 03:54:41 GMT 19
0.1.8-hot-104 73.43 KB Sat, 27 Apr 2024 03:41:50 GMT 17
0.1.7-hot-103 73.45 KB Sat, 27 Apr 2024 03:15:22 GMT 15
0.1.6-hot-99 79.77 KB Sat, 27 Apr 2024 00:18:11 GMT 14
0.1.6-hot-98 79.77 KB Sat, 20 Apr 2024 11:29:52 GMT 16
0.1.6-hot-97 78.88 KB Sat, 20 Apr 2024 09:31:12 GMT 15
0.1.6-hot-96 79.12 KB Fri, 19 Apr 2024 20:59:16 GMT 18
0.1.6-hot-95 60.74 KB Mon, 15 Apr 2024 18:24:11 GMT 17
0.1.6-hot-93 60.58 KB Wed, 09 Aug 2023 01:22:40 GMT 14
0.1.6-hot-90 60.57 KB Mon, 07 Aug 2023 02:06:24 GMT 17
0.1.6-hot-89 60.58 KB Tue, 25 Jul 2023 01:24:58 GMT 17
0.1.6-hot-88 60.59 KB Tue, 25 Jul 2023 01:25:08 GMT 14
0.1.6-hot-87 60.57 KB Mon, 17 Jul 2023 01:31:14 GMT 15
0.1.6-hot-86 60.57 KB Mon, 17 Jul 2023 01:31:04 GMT 22
0.1.6-hot-84 60.58 KB Wed, 12 Jul 2023 01:44:08 GMT 17
0.1.6-hot-83 60.59 KB Wed, 12 Jul 2023 01:43:28 GMT 21
0.1.6-hot-82 60.58 KB Wed, 12 Jul 2023 01:43:20 GMT 15
0.1.6-hot-79 60.58 KB Tue, 11 Jul 2023 02:01:03 GMT 15
0.1.6-hot-78 60.58 KB Tue, 11 Jul 2023 02:00:41 GMT 15
0.1.6-hot-77 60.59 KB Thu, 06 Jul 2023 01:32:47 GMT 19
0.1.6-hot-76 60.58 KB Thu, 06 Jul 2023 01:32:44 GMT 17
0.1.6-hot-75 60.58 KB Tue, 04 Jul 2023 01:44:52 GMT 21
0.1.6-hot-74 60.58 KB Tue, 04 Jul 2023 01:44:01 GMT 17
0.1.6-hot-73 60.57 KB Wed, 28 Jun 2023 02:06:39 GMT 12
0.1.6-hot-71 60.58 KB Fri, 23 Jun 2023 02:03:48 GMT 17
0.1.6-hot-66 60.58 KB Wed, 14 Jun 2023 02:04:52 GMT 18
0.1.6-hot-64 60.58 KB Wed, 07 Jun 2023 02:04:20 GMT 16
0.1.6-hot-63 60.58 KB Tue, 06 Jun 2023 02:04:29 GMT 26
0.1.6-hot-62 60.58 KB Tue, 06 Jun 2023 02:04:13 GMT 21
0.1.6-hot-61 60.58 KB Mon, 05 Jun 2023 02:10:36 GMT 16
0.1.6-hot-60 60.58 KB Mon, 05 Jun 2023 02:09:50 GMT 14
0.1.6-hot-59 60.58 KB Fri, 02 Jun 2023 02:03:44 GMT 12
0.1.6-hot-58 60.58 KB Fri, 02 Jun 2023 02:03:47 GMT 13
0.1.6-hot-57 60.58 KB Fri, 02 Jun 2023 02:03:54 GMT 15
0.1.6-hot-56 60.57 KB Fri, 26 May 2023 02:04:33 GMT 17
0.1.6-hot-55 60.58 KB Fri, 26 May 2023 02:04:21 GMT 15
0.1.6-hot-54 60.58 KB Mon, 22 May 2023 02:12:20 GMT 15
0.1.6-hot-53 60.59 KB Mon, 22 May 2023 02:11:36 GMT 15
0.1.6-hot-52 60.58 KB Mon, 22 May 2023 02:11:05 GMT 18
0.1.6-hot-51 60.57 KB Wed, 17 May 2023 02:04:46 GMT 19
0.1.6-hot-50 60.57 KB Fri, 05 May 2023 02:04:19 GMT 11
0.1.6-hot-49 60.58 KB Thu, 04 May 2023 02:05:24 GMT 18
0.1.6-hot-48 60.58 KB Wed, 03 May 2023 02:04:33 GMT 14
0.1.6-hot-47 60.58 KB Tue, 25 Apr 2023 02:05:11 GMT 18
0.1.6-hot-46 60.58 KB Wed, 12 Apr 2023 02:05:55 GMT 21
0.1.6-hot-45 60.57 KB Tue, 18 Apr 2023 08:18:48 GMT 25
0.1.6-hot-44 60.58 KB Tue, 18 Apr 2023 08:11:07 GMT 13
0.1.6-hot-43 60.58 KB Tue, 18 Apr 2023 08:14:38 GMT 18
0.1.6-hot-42 60.36 KB Sun, 07 May 2023 16:01:48 GMT 21
0.1.6-hot-41 60.58 KB Mon, 03 Apr 2023 17:51:47 GMT 14
0.1.6-hot-40 50.01 KB Wed, 15 Mar 2023 11:49:09 GMT 23
0.1.6-hot-39 50.02 KB Wed, 15 Mar 2023 11:39:17 GMT 16
0.1.6-hot-38 50.02 KB Wed, 15 Mar 2023 11:22:34 GMT 17
0.1.6-hot-37 50.01 KB Wed, 15 Mar 2023 11:30:52 GMT 17
0.1.6-hot-36 50.02 KB Wed, 15 Mar 2023 11:25:14 GMT 17
0.1.6-hot-35 50.02 KB Wed, 15 Mar 2023 10:47:01 GMT 14
0.1.6-hot-34 50.02 KB Wed, 15 Mar 2023 11:28:03 GMT 19
0.1.6-hot-33 73.44 KB Sat, 27 Apr 2024 02:54:20 GMT 20
0.1.6-hot-32 50.01 KB Sat, 11 Mar 2023 21:27:52 GMT 15
0.1.6-hot-102 73.45 KB Sat, 27 Apr 2024 02:33:58 GMT 13
0.1.6-hot-101 73.54 KB Sat, 27 Apr 2024 02:24:26 GMT 8
0.1.6-hot-100 79.42 KB Sat, 27 Apr 2024 00:29:41 GMT 24