firm-stack 1.0.0__tar.gz → 1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,18 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this project a
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.0] - 2026-07-28
10
+
11
+ ### Changed
12
+
13
+ - `firm-stack[cache]`, `[encryption]`, `[msgpack]` and `[all]` now require **`firm-cache~=1.1`**,
14
+ so they deliver the `MsgpackCoder` that `firm-stack[msgpack]` advertises. Raising the floor is
15
+ what makes `pip install -U firm-stack` actually move an installed `firm-cache` along: pip
16
+ upgrades a dependency only when the new release requires it.
17
+ - Every other pin is widened from `~=1.0.0` to `~=1.0`. The old form (`==1.0.*`) made this package
18
+ and a module's next minor uninstallable together — a resolver conflict rather than a missed
19
+ upgrade. See `docs/testing-and-contributing.md` § Cross-package pins.
20
+
9
21
  ## [1.0.0] - 2026-07-23
10
22
 
11
23
  First stable release: the PyPI classifier moves to **Production/Stable** and the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: firm-stack
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Pure-Python ports of the Rails Solid stack: database-backed background jobs (queue), caching (cache), pub/sub (channel), and an append-only audit log. No Redis required. This is a meta-package: pick modules via extras — firm-stack[queue], firm-stack[cache], firm-stack[channel], firm-stack[audit], or firm-stack[all].
5
5
  Project-URL: Homepage, https://github.com/h11t-labs/firm
6
6
  Project-URL: Documentation, https://h11t-labs.github.io/firm/
@@ -20,32 +20,32 @@ Classifier: Topic :: System :: Distributed Computing
20
20
  Classifier: Typing :: Typed
21
21
  Requires-Python: >=3.11
22
22
  Provides-Extra: all
23
- Requires-Dist: firm-cache[encryption,msgpack]~=1.0.0; extra == 'all'
24
- Requires-Dist: firm-core[mysql,postgres]~=1.0.0; extra == 'all'
25
- Requires-Dist: firm-queue[fastapi,flask]~=1.0.0; extra == 'all'
26
- Requires-Dist: firm-ui~=1.0.0; extra == 'all'
23
+ Requires-Dist: firm-cache[encryption,msgpack]~=1.1; extra == 'all'
24
+ Requires-Dist: firm-core[mysql,postgres]~=1.0; extra == 'all'
25
+ Requires-Dist: firm-queue[fastapi,flask]~=1.0; extra == 'all'
26
+ Requires-Dist: firm-ui~=1.0; extra == 'all'
27
27
  Provides-Extra: audit
28
- Requires-Dist: firm-audit~=1.0.0; extra == 'audit'
28
+ Requires-Dist: firm-audit~=1.0; extra == 'audit'
29
29
  Provides-Extra: cache
30
- Requires-Dist: firm-cache~=1.0.0; extra == 'cache'
30
+ Requires-Dist: firm-cache~=1.1; extra == 'cache'
31
31
  Provides-Extra: channel
32
- Requires-Dist: firm-channel~=1.0.0; extra == 'channel'
32
+ Requires-Dist: firm-channel~=1.0; extra == 'channel'
33
33
  Provides-Extra: encryption
34
- Requires-Dist: firm-cache[encryption]~=1.0.0; extra == 'encryption'
34
+ Requires-Dist: firm-cache[encryption]~=1.1; extra == 'encryption'
35
35
  Provides-Extra: fastapi
36
- Requires-Dist: firm-queue[fastapi]~=1.0.0; extra == 'fastapi'
36
+ Requires-Dist: firm-queue[fastapi]~=1.0; extra == 'fastapi'
37
37
  Provides-Extra: flask
38
- Requires-Dist: firm-queue[flask]~=1.0.0; extra == 'flask'
38
+ Requires-Dist: firm-queue[flask]~=1.0; extra == 'flask'
39
39
  Provides-Extra: msgpack
40
- Requires-Dist: firm-cache[msgpack]~=1.0.0; extra == 'msgpack'
40
+ Requires-Dist: firm-cache[msgpack]~=1.1; extra == 'msgpack'
41
41
  Provides-Extra: mysql
42
- Requires-Dist: firm-core[mysql]~=1.0.0; extra == 'mysql'
42
+ Requires-Dist: firm-core[mysql]~=1.0; extra == 'mysql'
43
43
  Provides-Extra: postgres
44
- Requires-Dist: firm-core[postgres]~=1.0.0; extra == 'postgres'
44
+ Requires-Dist: firm-core[postgres]~=1.0; extra == 'postgres'
45
45
  Provides-Extra: queue
46
- Requires-Dist: firm-queue~=1.0.0; extra == 'queue'
46
+ Requires-Dist: firm-queue~=1.0; extra == 'queue'
47
47
  Provides-Extra: ui
48
- Requires-Dist: firm-ui~=1.0.0; extra == 'ui'
48
+ Requires-Dist: firm-ui~=1.0; extra == 'ui'
49
49
  Description-Content-Type: text/markdown
50
50
 
51
51
  # firm-stack
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "firm-stack"
3
- version = "1.0.0"
3
+ version = "1.1.0"
4
4
  description = "Pure-Python ports of the Rails Solid stack: database-backed background jobs (queue), caching (cache), pub/sub (channel), and an append-only audit log. No Redis required. This is a meta-package: pick modules via extras — firm-stack[queue], firm-stack[cache], firm-stack[channel], firm-stack[audit], or firm-stack[all]."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -29,22 +29,22 @@ classifiers = [
29
29
  dependencies = []
30
30
 
31
31
  [project.optional-dependencies]
32
- queue = ["firm-queue~=1.0.0"] # background jobs
33
- cache = ["firm-cache~=1.0.0"] # cache store
34
- channel = ["firm-channel~=1.0.0"] # pub/sub
35
- audit = ["firm-audit~=1.0.0"] # append-only audit log
36
- ui = ["firm-ui~=1.0.0"] # web dashboard (pulls all four modules)
37
- flask = ["firm-queue[flask]~=1.0.0"] # Flask integration (contrib)
38
- fastapi = ["firm-queue[fastapi]~=1.0.0"] # FastAPI integration (contrib)
39
- postgres = ["firm-core[postgres]~=1.0.0"] # PostgreSQL driver
40
- mysql = ["firm-core[mysql]~=1.0.0"] # MySQL / MariaDB driver
41
- encryption = ["firm-cache[encryption]~=1.0.0"] # cache at-rest encryption
42
- msgpack = ["firm-cache[msgpack]~=1.0.0"] # cache msgpack coder
32
+ queue = ["firm-queue~=1.0"] # background jobs
33
+ cache = ["firm-cache~=1.1"] # cache store
34
+ channel = ["firm-channel~=1.0"] # pub/sub
35
+ audit = ["firm-audit~=1.0"] # append-only audit log
36
+ ui = ["firm-ui~=1.0"] # web dashboard (pulls all four modules)
37
+ flask = ["firm-queue[flask]~=1.0"] # Flask integration (contrib)
38
+ fastapi = ["firm-queue[fastapi]~=1.0"] # FastAPI integration (contrib)
39
+ postgres = ["firm-core[postgres]~=1.0"] # PostgreSQL driver
40
+ mysql = ["firm-core[mysql]~=1.0"] # MySQL / MariaDB driver
41
+ encryption = ["firm-cache[encryption]~=1.1"] # cache at-rest encryption
42
+ msgpack = ["firm-cache[msgpack]~=1.1"] # cache msgpack coder
43
43
  all = [
44
- "firm-ui~=1.0.0",
45
- "firm-queue[flask,fastapi]~=1.0.0",
46
- "firm-core[postgres,mysql]~=1.0.0",
47
- "firm-cache[encryption,msgpack]~=1.0.0",
44
+ "firm-ui~=1.0",
45
+ "firm-queue[flask,fastapi]~=1.0",
46
+ "firm-core[postgres,mysql]~=1.0",
47
+ "firm-cache[encryption,msgpack]~=1.1",
48
48
  ]
49
49
 
50
50
  [project.urls]
File without changes
File without changes
File without changes
File without changes