What’s new

What changed in the framework and the CLI, newest first, with the page that explains each change. Releases are tagged on git.splent.io and published on PyPI. Your product takes a release by pinning it under [tool.splent.runtime], which product:build writes.

Table of contents

  1. splent_framework
    1. Not released yet
    2. 1.29
    3. 1.28
    4. 1.27
    5. 1.26
    6. 1.25
    7. 1.24
    8. 1.23
    9. 1.22
    10. 1.21
  2. splent_cli
    1. Not released yet
    2. 1.49
    3. 1.48
    4. 1.47
    5. 1.46
    6. 1.45
    7. 1.44
    8. 1.43
    9. 1.42
    10. 1.41
    11. 1.40
    12. 1.39
    13. 1.38
    14. 1.37

splent_framework

Not released yet

  • Storage per feature. Each feature keeps its files in a folder of its own. See Storage.
  • HTTP APIs. problem+json errors, cursor pages, ETag and deprecation headers, and accepted() for work that runs later. See HTTP APIs.
  • Background tasks report their progress, and run_isolated runs heavy work in a child process with a time and memory limit. See Background tasks.
  • A shared rate limit for every feature, and form_guard for public forms. See Rate limits and forms.
  • Safe fetching of an address someone else chose, with a total time limit. See Fetching URLs.
  • Search fields, facets and sorts one feature adds to another’s. See Search.
  • Content helpers such as unique_slug, summary(), page_of() and pager(), and a sitemap built from what features register. See Content helpers.
  • The site’s own address and time zone, with site_root(), absolute_url(), site_name() and local_now(). See The site.
  • feature_cache, the product’s Redis or each process’s memory. See Cache.
  • Every template escapes, and | safe trusts only markup. See Template system.
  • Icons, empty states and page behaviours (icon(), empty_state, data-confirm, data-copy, data-reveal) on every shell.
  • optional_module and optional_attr, for a feature the product may not have.

1.29

  • An editable product’s version is its checkout’s. See The product’s version.
  • The framework names what a feature does, not which feature does it, for sessions and task queues. See Framework defaults.

1.28

1.27

  • register_menu_match lights another feature’s menu entry on your screens. See The current entry.
  • A list without choices can select a node of the feature model. See Letting a value select features.
  • A model of a feature the app does not load cannot break every query. See Database.

1.26

1.25

  • The audit API, record_event and register_audit_recorder. See Audit and reports.
  • report_degraded, request_id and readiness listeners.

1.24

1.23

1.22

1.21


splent_cli

Not released yet

  • SQL and XSS sinks. A command reads a feature’s sources for them, product:validate checks them in an eighth phase, and feature:release refuses a feature that has one.
  • The product’s storage in one volume, migrated at start.
  • feature:contract reads the framework’s optional_module and optional_attr as optional dependencies.

1.49

  • feature:release refuses a revision id longer than 32 characters. See Migrations.
  • feature:contract makes a link under has_endpoint an optional dependency. See Optional dependencies.
  • The neutral app finds its platform by what each piece does. See The platform.
  • feature:translate works on any working copy. See feature:translate.
  • The CLI writes from its own templates, never a checkout in the workspace. See The CLI.

1.48

1.47

1.46

1.45

1.44

1.43

1.42

  • A product’s own commands, splent product:<name>. See product:commands.
  • [tool.splent.test] env for a product’s own tests. See product:test.

1.41

1.40

1.39

  • product:validate checks parameters in a sixth phase. See Phase 6.
  • A breaking schema change needs a major version. See Parameters.

1.38

  • A feature’s tests run in a neutral app when the product does not declare it. See The neutral app.

1.37

  • product:test runs the product’s own tests.
  • check:vendor finds Keenthemes code. See check:vendor.
  • The start migrates once, under a database lock. See db:upgrade.
  • clear:uploads empties the protected uploads. See clear:uploads.

Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es