Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

Versions follow CalVer: YY.Quarter.Build — e.g. 26.2.1 = year 2026, quarter 2, build 1. Beta releases append .beta (e.g. 26.2.1.beta); production releases have no suffix.

[26.4.1] — 2026-10-12

Complex forms are now built one way: nest FormModels as fields of a parent FormModel and pick a layout=. Data in and out is nested JSON. This is a breaking release; see docs/complex_forms.md#upgrading.

Breaking Changes

  • Form-orchestration classes removed. TabbedLayout, ListLayout, SectionDesign, FormDesign, FormLayoutBase, and the form_layouts VerticalLayout/HorizontalLayout wrappers now raise FormLayoutRemovedError (a TypeError) when subclassed or called. The message contains the upgrade steps and points to the new "Upgrading to nested forms" section of the AI instructions.
  • Top-level VerticalLayout/HorizontalLayout now name the flex layout primitives from rendering/layout_engine.py, which the removed wrappers used to shadow.
  • pydantic_schemaforms.layouts (the deprecated re-export shim) is deleted.
  • FormModel.validate(flatten=...) removed. result.data is always nested like the model. Passing flatten raises a TypeError explaining this.
  • ValidationResult.errors is a nested error tree shaped like the data (errors["pets"][1]["name"]) instead of string-path keys (errors["pets[1].name"]). Container and form-wide messages use the reserved "_errors" key instead of "general".
  • layout="tabbed"/"side-by-side" group sub-forms. The field-name keyword heuristic and the two-fields-per-row pairing are gone; on a form with no sub-form fields these layouts raise ValueError. Several input_type="layout" fields no longer auto-render as tabs; pass layout="tabbed".
  • Unknown layout= values raise ValueError instead of rendering vertically.
  • Non-validation exceptions propagate from validate() instead of being shown on the form as errors["general"].
  • Renderer internals: RenderContext.all_errors is replaced by child_errors (the field's own error sub-tree), and render_field() takes the field's error node as error with no all_errors argument. get_nested_form_data, EnhancedFormRenderer._humanize_error_field, and FieldRenderer.extract_nested_errors_for_field are removed.
  • handle_form/handle_form_async with a model return nested data and a nested error tree. FormValidator.validate_pydantic_model() (which kept only the first segment of each error path) is removed.

Added

  • Sub-form fields. A field typed as another FormModel (or Optional of one) renders as a titled section with inputs named address.city, with no ui_element needed. ui_collapsible/ui_collapsed render it as a <details> section that opens when it holds an error.
  • Grouped layouts: layout="tabbed", "side-by-side", and the new "accordion" arrange the parent's plain fields plus one group per sub-form, in declaration order (ui_order overrides). Re-rendering after a failed submit opens the first group that contains an error.
  • Step wizard: layout="wizard" shows the same groups one step at a time with a progress header and Back/Next. All steps are in one <form>, so one POST submits everything. Next runs the browser's validation on the current step; a re-render opens the first step with an error and marks the others. Options: wizard_options={"linear", "show_progress", "back_label", "next_label"} and Field(ui_step_title=...). Without JavaScript all steps show stacked.
  • Examples cover every layout, input, and validation, enforced by tests/test_examples_coverage.py and a browser test that loads every example page: the widget gallery shows every input type and alias with each of its options plus field-level options (ui_disabled, ui_readonly, icon, ...); /validation shows every Pydantic constraint, validator, rule class, and a cross-field rule failing on one form; /layouts takes the wizard options as query parameters; /employees/directory shows the read-only DataTableLayout options.
  • validate() takes the raw request form (Starlette FormData, Werkzeug MultiDict, (name, value) pairs) as well as nested dicts, keeping repeated values as lists. render_form_html(form_data=...) accepts the same.
  • render_with_errors(errors=...) re-renders with a different error tree, e.g. the result's own errors merged with a rule-based FormValidator's.
  • AI instructions now list every ui_options key per widget with its default, every field-level option, the rule classes and cross-field rules, the FormModel/ValidationResult API, every render option, and the asset helpers.
  • ValidationResult.error_list() (flat [{"loc": [...], "msg": ...}]) and ValidationResult.instance (the validated model).
  • list[FormModel] fields render as repeating sub-forms without ui_element="model_list".
  • LiveValidator.register_model_validator() registers sub-form and list-item fields under their input names (address.city, pets[].name).
  • validate_form_data is exported from the top-level package, as the validation guide already documented.
  • docs/complex_forms.md, a guide to composing forms and upgrading.

Fixed

  • Decoding a submission compacts list indices instead of padding gaps with None: pets[0] and pets[2] decode to a two-item list, so an item removed without re-indexing still validates, and one field named like pets[500000000].name no longer makes the server allocate a list that long.
  • validation_response_headers, wrap_with_schemaforms_markers, read_asset_text, bootstrap_icons_css_content and bootstrap_icons_css_tag are exported from the top-level package; the docs and examples imported them from internal modules.
  • Removing every item of a repeating sub-form now fails its min_length instead of passing as the field's default (form submissions only; nested JSON that omits the key still gets the default).
  • Under layout="tabbed"/"accordion"/"wizard", Material forms no longer let the browser block submission on a required input in a hidden group with no visible message; the server re-renders with that group open.
  • A layout field's default_factory that raises is no longer silently swallowed (the table rendered empty); the error propagates.
  • radio and checkbox_group never showed the current value: a re-rendered form lost the user's choices. A combobox lost its value the same way.
  • A field declared ui_element="hidden" rendered a visible label (only ui_hidden=True produced a bare hidden input).
  • Custom date_format/time_format/datetime_format were not applied to ISO string values (JSON data), which showed as 2024-06-15 instead of the format.
  • The file input's preview script failed to parse (a # comment in JavaScript), so no preview appeared; it now shows file names as text, never as markup.
  • Material: the colour picker's hex readout (show_value) was missing, and a select with a placeholder had its label overlapping the placeholder text.
  • Switching tabs left the active class on the first panel.
  • Field(icon=...), like other non-Pydantic keywords, was silently dropped when any ui_* option was also passed.
  • Material forms' inline script failed to parse (a # comment in JavaScript), so its floating-label and field enhancements never ran.
  • Field() silently dropped any ui_* option it doesn't name as a parameter (such as ui_collapsible) when another ui_* option like ui_help_text was also passed. All ui_* options are now kept.
  • Validation errors now reach fields inside sub-forms and are namespaced per sub-form, so two sub-forms with the same field name no longer collide.
  • Library code no longer imports from the examples/ package or hard-codes the demo app's field names.
  • DataTableLayout.parse_submitted_rows() no longer turns cell values like "1" or "yes" into booleans before validation.
  • The documented FormConfig/TabbedLayout((...)) and HorizontalLayout(label_cols=...) recipes, which never worked, are replaced.
  • Several documentation examples that interpolated submitted values into HTML with f-strings now use html(t"...").

[26.2.3] — 2026-06-28

Fixed

  • LiveValidator.register_model_validator partial-validation bug — previously called model_class.model_validate({field: value}) with only one field's data; if the model had other required fields, Pydantic raised ValidationError for them, causing all unrelated fields to produce is_valid=False with no errors even when the value was valid. Now uses __pydantic_validator__.validate_assignment(model_construct(), field_name, value) to validate each field in isolation, independent of sibling required fields.

  • LiveValidator.render_field_with_live_validation single-trigger limitation — the if/elif/elif chain for validate_on_blur / validate_on_input / validate_on_change silently dropped every trigger after the first truthy one. Changed to independent if checks so all enabled triggers combine into a single hx-trigger attribute (e.g. hx-trigger="blur, change" when both are True).

Added

  • Live-validation example — GET /live-validation demo route in the FastAPI example app shows a contact form with per-field HTMX validation on blur. Includes POST /validate/{field_name} HTMX endpoint using validation_response_headers() and GET /vendor/htmx.min.js to serve the vendored HTMX asset.

[26.2.2] — 2026-06-28

Added

  • FormModel.as_api_model() — new class method that returns a pure Pydantic BaseModel with ui_* rendering metadata stripped from json_schema_extra. Allows the same model class to serve both as an HTML form and as a typed FastAPI body / response_model without ui_element, ui_placeholder, etc. appearing in the OpenAPI/Swagger docs. Field(title=...), Field(examples=[...]), descriptions, and all validation constraints (min_length, ge, pattern, …) are fully preserved. Result is cached per subclass and safe to assign at module level (ContactSchema = ContactForm.as_api_model()).

Changed

  • Reduced SonarCloud code smells: extracted duplicate magic strings to named constants, prefixed unused parameters with _, renamed methods that shadowed class attributes, and merged nested if statements into compound conditions across multiple modules.

[26.2.1] — 2026-05-17

First production release. All public Quick Start code paths verified working end-to-end.

Breaking Changes

  • submit_url is now explicit across public form render APIs and no longer defaults silently. Calls that omit submit_url raise a clear ValueError, enforcing app-owned routing boundaries.

Added

  • HTMX live validation — LiveValidator, HTMXValidationConfig, and validation_response_headers() provide server-side field validation triggered by blur/input events via HTMX without page reloads.
  • Branch coverage — branch = true added to coverage configuration for deeper test quality.
  • HTML structural validation — tests/test_html_structural.py validates tag balance across all frameworks and field types.
  • HTTP integration tests — FastAPI TestClient and Flask test_client round-trip tests.
  • Property-based tests — Hypothesis suite covering arbitrary field names, labels, and frameworks.
  • Performance benchmarks — pytest-benchmark suite for small, medium, and large form rendering.
  • Playwright browser tests — End-to-end HTMX validation tests against a live FastAPI server (tests/playwright/), running in CI on Chromium.
  • macOS in CI matrix — Tests now run on ubuntu-latest, windows-latest, and macos-latest.
  • py.typed marker for PEP 561 compatibility.
  • Vendored assets (htmx, Bootstrap, Materialize, iMask) with sha256 manifest verification.
  • .gitattributes forcing LF line endings on vendored assets for cross-platform checksum stability.

Fixed

  • create_form_from_model crashed with any Pydantic model — AutoFormBuilder._build_from_model used the wrong parameter name (default_value instead of value) and compared against ... instead of PydanticUndefined; the sentinel leaked into json_schema_extra, causing PydanticSerializationError on every render call.
  • Windows path separator in test assertion caused CI failure on win32.
  • Dependabot config used unsupported interval: "cron" — silently ignored, causing weekly runs. Replaced with interval: "monthly".
  • HTMX live validation JS used JSON.parse(responseText) on HTML responses; replaced with the idiomatic HX-Trigger: validationResult header pattern so CSS classes are applied correctly.
  • except A, B: tuple syntax preserved via # fmt: skip to prevent ruff from removing parentheses that pyright requires.

Changed

  • Layout rendering internals refactored for maintainability and reduced cognitive complexity.
  • Reliability and maintainability improvements to satisfy SonarCloud quality gate.
  • Improved nested/collapsible form behavior when multiple forms are rendered on a page.
  • Pre-commit ruff version pinned to match requirements.txt to eliminate local/CI formatting drift.
  • Pyright added to make tests so type errors surface before commit.

Dependencies

  • fastapi[all]: 0.121.2 → 0.128.4
  • ruff: 0.14.14 → 0.15.0
  • tqdm: 4.67.1 → 4.67.3
  • pytest-html: 4.1.1 → 4.2.0
  • packaging: 25.0 → 26.0
  • black: 25.12.0 → 26.1.0
  • mkdocstrings[python]: 1.0.0 → 1.0.1
  • pymdown-extensions: 10.20 → 10.20.1

Latest Changes

Production Releases

Enhancement: Collapse and Select Improvements (26.3.7)

Changes

  • Update project dependencies and configurations (#219) (@devsetgo)

Features

  • Add collapsible option groups and menu order example for checkboxes/radios (#221) (@devsetgo)
  • Add optional forced-selection placeholder to select dropdowns (#220) (@devsetgo)

Bug Fixes

  • Expand and improve AI assistant app-building instructions (#218) (@devsetgo)

Documentation

  • Bump version to 26.3.7 (#223) (@devsetgo)
  • Dev (#222) (@devsetgo)
  • Add collapsible option groups and menu order example for checkboxes/radios (#221) (@devsetgo)

Maintenance

  • Bump version to 26.3.7 (#223) (@devsetgo)
  • Dev (#222) (@devsetgo)
  • Add collapsible option groups and menu order example for checkboxes/radios (#221) (@devsetgo)

Contributors

@devsetgo and @claude

Published Date: 2026 August 29, 22:05

Browser Cache Bug (26.3.6)

Changes

Bug Fixes

  • Reset CSV import page to blank state on each new visit (#216) (@devsetgo)

Documentation

  • Reset CSV import page to blank state on each new visit (#216) (@devsetgo)

Maintenance

  • Reset CSV import page to blank state on each new visit (#216) (@devsetgo)

Contributors

@devsetgo and @claude

Published Date: 2026 August 23, 21:17

Bug Fix: CSV Import (26.3.5)

Changes

Bug Fixes

  • Fix DataTableLayout to submit all pages during large data imports (#215) (@devsetgo)

Documentation

  • Fix DataTableLayout to submit all pages during large data imports (#215) (@devsetgo)

Maintenance

  • Fix DataTableLayout to submit all pages during large data imports (#215) (@devsetgo)

Contributors

@devsetgo and @claude

Published Date: 2026 August 23, 20:54

Enhancement: CSV Import (26.3.4)

Changes

Documentation

  • Deep documentation pass across library, examples, and docs (#213) (@devsetgo)
  • Add DataTableLayout composite control for CSV import to table (#212) (@devsetgo)
  • Demo Application and MonoRepo (#207) (@devsetgo)

Maintenance

  • Bump of Version to 26.3.4 (#214) (@devsetgo)
  • Deep documentation pass across library, examples, and docs (#213) (@devsetgo)
  • Add DataTableLayout composite control for CSV import to table (#212) (@devsetgo)
  • Demo Application and MonoRepo (#207) (@devsetgo)

Contributors

@devsetgo and @claude

Published Date: 2026 August 23, 19:08

Enhancements to JSON output and new input types (26.3.3)

Changes

Features

  • Fix register_input_class registry and expand AI-assistant instructions (#202) (@devsetgo)

Documentation

  • Add code/data mode to TextArea: format + optional syntax highlighting (#205) (@devsetgo)
  • Refactoring Live Validation to Simplify (#204) (@devsetgo)
  • Add option for DNS and MX email deliverability validation (#203) (@devsetgo)
  • Fix register_input_class registry and expand AI-assistant instructions (#202) (@devsetgo)
  • 187 enhance date datetime and time (#192) (@devsetgo)
  • 189 enhancement json schema model output (#191) (@devsetgo)
  • Dev (#185) (@devsetgo)

GitHub Actions

  • Refactoring Live Validation to Simplify (#204) (@devsetgo)
  • github-actions(deps): bump SonarSource/sonarqube-scan-action from 8.2.0 to 8.2.1 (#193) (@dependabot[bot])
  • github-actions(deps): bump actions/labeler from 6 to 7 (#194) (@dependabot[bot])
  • github-actions(deps): bump release-drafter/release-drafter from 7.5.1 to 7.7.0 (#195) (@dependabot[bot])
  • github-actions(deps): bump actions/setup-python from 6 to 7 (#196) (@dependabot[bot])
  • Dev (#185) (@devsetgo)

Maintenance

  • Bump version to 26.3.3 (#206) (@devsetgo)
  • Add code/data mode to TextArea: format + optional syntax highlighting (#205) (@devsetgo)
  • Refactoring Live Validation to Simplify (#204) (@devsetgo)
  • Add option for DNS and MX email deliverability validation (#203) (@devsetgo)
  • Fix register_input_class registry and expand AI-assistant instructions (#202) (@devsetgo)
  • github-actions(deps): bump SonarSource/sonarqube-scan-action from 8.2.0 to 8.2.1 (#193) (@dependabot[bot])
  • github-actions(deps): bump actions/labeler from 6 to 7 (#194) (@dependabot[bot])
  • github-actions(deps): bump release-drafter/release-drafter from 7.5.1 to 7.7.0 (#195) (@dependabot[bot])
  • github-actions(deps): bump actions/setup-python from 6 to 7 (#196) (@dependabot[bot])
  • 187 enhance date datetime and time (#192) (@devsetgo)
  • pip(deps): bump pymdown-extensions from 11.0 to 11.0.1 (#201) (@dependabot[bot])
  • pip(deps): bump hatchling from 1.30.1 to 1.31.0 (#200) (@dependabot[bot])
  • 189 enhancement json schema model output (#191) (@devsetgo)
  • Dev (#185) (@devsetgo)

Contributors

@devsetgo, @dependabot[bot] and @claude

Published Date: 2026 August 07, 21:33

New Input Types and Bug Fixes (26.3.2)

Changes

Bug Fixes

  • Feature: Fix ui_element registry collisions; expand AI assistant docs with a verified example (#180) (@devsetgo)

Documentation

  • Dev (#183) (@devsetgo)
  • Add Tier-2 input widgets and Widget Gallery example, fix Material bugs (#181) (@devsetgo)
  • Feature: Fix ui_element registry collisions; expand AI assistant docs with a verified example (#180) (@devsetgo)

GitHub Actions

  • github-actions(deps): bump SonarSource/sonarqube-scan-action from 8.1.0 to 8.2.0 (#172) (@dependabot[bot])
  • github-actions(deps): bump actions/checkout from 5 to 7 (#169) (@dependabot[bot])
  • github-actions(deps): bump release-drafter/release-drafter from 7.3.1 to 7.5.1 (#170) (@dependabot[bot])

Maintenance

  • Dev (#183) (@devsetgo)
  • Dev (#182) (@devsetgo)
  • Add Tier-2 input widgets and Widget Gallery example, fix Material bugs (#181) (@devsetgo)
  • Feature: Fix ui_element registry collisions; expand AI assistant docs with a verified example (#180) (@devsetgo)
  • github-actions(deps): bump SonarSource/sonarqube-scan-action from 8.1.0 to 8.2.0 (#172) (@dependabot[bot])
  • pip(deps): bump pytest-asyncio from 1.3.0 to 1.4.0 (#173) (@dependabot[bot])
  • pip(deps): bump fastapi from 0.138.1 to 0.139.0 (#171) (@dependabot[bot])
  • pip(deps): bump pytest from 9.0.3 to 9.1.1 (#174) (@dependabot[bot])
  • github-actions(deps): bump actions/checkout from 5 to 7 (#169) (@dependabot[bot])
  • github-actions(deps): bump release-drafter/release-drafter from 7.3.1 to 7.5.1 (#170) (@dependabot[bot])

Contributors

@dependabot[bot], @devsetgo and dependabot[bot]

Published Date: 2026 July 19, 18:46

America 250 Release: Adding AI Help Instructions and Clean Up. (26.3.1)

Changes

Happy 250th Birthday USA!!!!

Features

  • Enhancement: Adding AI Helper Documentation (#177) (@devsetgo)
  • Fix: Live Validation (#167) (@devsetgo)

Bug Fixes

  • Fix: Live Validation (#167) (@devsetgo)

Documentation

  • Enhancement: Adding AI Helper Documentation (#177) (@devsetgo)
  • Documentation Fix (#168) (@devsetgo)
  • Fix: Live Validation (#167) (@devsetgo)
  • Production Release - Final Edits (#166) (@devsetgo)

GitHub Actions

  • Enhancement: Adding AI Helper Documentation (#177) (@devsetgo)
  • Documentation Fix (#168) (@devsetgo)

Maintenance

  • Enhancement: Adding AI Helper Documentation (#177) (@devsetgo)
  • Fix: Live Validation (#167) (@devsetgo)
  • Production Release - Final Edits (#166) (@devsetgo)

Contributors

@devsetgo

Published Date: 2026 July 03, 23:12

Live Validation Fix, Example, and Doc Updates (26.2.4)

Changes

Features

  • Fix: Live Validation (#167) (@devsetgo)

Bug Fixes

  • Fix: Live Validation (#167) (@devsetgo)

Documentation

  • Fix: Live Validation (#167) (@devsetgo)

Maintenance

  • Fix: Live Validation (#167) (@devsetgo)

Contributors

@devsetgo

Published Date: 2026 June 28, 14:32

CSRF Feature Release (26.2.1.beta)

Changes

  • Documentation Updates (#116) (@devsetgo)

Features

  • bump to v26.2.1.beta (#117) (@devsetgo)
  • CSRF Feature (#114) (@devsetgo)

Maintenance

  • feat(csrf): add CSRFMode enum with backward-compatible mode handling (#115) (@devsetgo)
  • pip(deps): bump tox from 4.52.0 to 4.52.1 (#104) (@dependabot[bot])
  • pip(deps): bump python-multipart from 0.0.24 to 0.0.26 (#106) (@dependabot[bot])
  • github-actions(deps): bump actions/upload-pages-artifact from 4 to 5 (#107) (@dependabot[bot])
  • pip(deps): bump mike from 2.1.4 to 2.2.0 (#108) (@dependabot[bot])
  • pip(deps): bump fastapi from 0.134.0 to 0.135.3 (#97) (@dependabot[bot])
  • pip(deps): bump pytest-cov from 7.0.0 to 7.1.0 (#98) (@dependabot[bot])
  • pip(deps): bump pydantic-extra-types from 2.11.1 to 2.11.2 (#99) (@dependabot[bot])
  • pip(deps): bump python-multipart from 0.0.22 to 0.0.24 (#100) (@dependabot[bot])
  • pip(deps): bump pytest from 9.0.1 to 9.0.3 (#101) (@dependabot[bot])
  • github-actions(deps): bump actions/github-script from 7 to 9 (#102) (@dependabot[bot])
  • github-actions(deps): bump release-drafter/release-drafter from 6.2.0 to 7.2.0 (#103) (@dependabot[bot])
  • dependency update and tests (#96) (@devsetgo)
  • update of dependencies (#87) (@devsetgo)
  • pip(deps): bump hatchling from 1.28.0 to 1.29.0 (#73) (@dependabot[bot])
  • pip(deps): bump tox from 4.44.0 to 4.46.3 (#74) (@dependabot[bot])
  • pip(deps): bump fastapi[all] from 0.128.4 to 0.134.0 (#75) (@dependabot[bot])
  • pip(deps): bump mkdocs-material from 9.7.2 to 9.7.3 (#76) (@dependabot[bot])
  • pip(deps): bump ruff from 0.15.1 to 0.15.4 (#77) (@dependabot[bot])

Contributors

@dependabot[bot], @devsetgo and dependabot[bot]

Published Date: 2026 April 26, 19:26

Removing External Validation Logic (26.1.8.beta)

Changes

Bug Fixes

  • Removing validation logic outside of library. (#71) (@devsetgo)

Contributors

@devsetgo

Published Date: 2026 February 27, 21:32

Bug fix and cleanup. (26.1.7.beta)

Changes

  • Move of examples (#69) (@devsetgo)

Bug Fixes

  • fix(layouts): validate nested layout submissions and restore Preferen… (#70) (@devsetgo)

Contributors

@devsetgo

Published Date: 2026 February 22, 19:56

Many fixes, enhancements, and increasing code coverage (26.1.6.beta)

Changes

  • bumping version to 26.1.6.beta (#68) (@devsetgo)
  • feat(examples,docs): add plain HTML style support and document render… (#67) (@devsetgo)
  • improving documents (#59) (@devsetgo)
  • improving test coverage (#58) (@devsetgo)
  • improving reliability rating (#57) (@devsetgo)
  • working on sonarcloud issue (#41) (@devsetgo)
  • fixing examples (#33) (@devsetgo)

Features

  • working on example. (#65) (@devsetgo)
  • Improvements - docs, examples, and bug fixes (#43) (@devsetgo)
  • 34 add timing (#42) (@devsetgo)
  • adding start line and end line for HTML sent to browser (#32) (@devsetgo)

Bug Fixes

  • working on material design render issues (#66) (@devsetgo)
  • working on example. (#65) (@devsetgo)
  • Improvements - docs, examples, and bug fixes (#43) (@devsetgo)

Maintenance

Contributors

@dependabot[bot], @devsetgo and dependabot[bot]

Published Date: 2026 February 22, 16:35

Bug fixes and Improvements (26.1.2.beta)

Changes

  • Publishing Improvements (#17) (@devsetgo)
  • Doc (#16) (@devsetgo)
  • GitHub Actions Improvements (#10) (@devsetgo)
  • first release (#9) (@devsetgo)
  • working on documentation (#5) (@devsetgo)
  • working on coverage (#4) (@devsetgo)

Features

  • Improving Workflow (#1) (@devsetgo)

Bug Fixes

  • 18 bootstrap not included in self contained example (#24) (@devsetgo)
  • Fix model-list delete for dynamically added items (#23) (@devsetgo)
  • working on coverage issue (#3) (@devsetgo)
  • working on publishing issue (#2) (@devsetgo)

Maintenance

  • github-actions(deps): bump actions/upload-pages-artifact from 3 to 4 (#19) (@dependabot[bot])
  • updating release drafter (#11) (@devsetgo)
  • Pre-Release Checks (#6) (@devsetgo)

Contributors

@dependabot[bot], @devsetgo and dependabot[bot]

Published Date: 2026 January 09, 21:46

Pre-releases

Initial Beta Release (26.1.1.beta)

Changes

  • GitHub Actions Improvements (#10) (@devsetgo)
  • first release (#9) (@devsetgo)
  • working on documentation (#5) (@devsetgo)
  • working on coverage (#4) (@devsetgo)

Features

  • Improving Workflow (#1) (@devsetgo)

Bug Fixes

  • working on coverage issue (#3) (@devsetgo)
  • working on publishing issue (#2) (@devsetgo)

Maintenance

  • updating release drafter (#11) (@devsetgo)
  • Pre-Release Checks (#6) (@devsetgo)

Contributors

@devsetgo

Published Date: 2026 January 02, 19:13