pmtiles-swarm 0.34.0 → 0.35.0

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@
7
7
  ### 🐞 Bug fixes
8
8
  - _...Add new stuff here..._
9
9
 
10
+ ## 0.35.0
11
+ ### ✨ Features and improvements
12
+ - **Requires pmtiles-torrent 0.7.0, which stops the libtorrent sidecar going deaf while it works.**
13
+ Its request loop ran each call to completion before reading the next, so a long one starved
14
+ everything behind it. Two of them are long. `create` hashes a whole archive, which for a 698 GiB
15
+ local add is hours — reported here as `libtorrent list timed out after 60000ms` every minute, a
16
+ console header stuck at "connecting…", and archive details that never loaded. `read_piece` waits
17
+ up to 60s for a piece to arrive from the swarm, and every tile served from a cache-mode archive
18
+ goes through one, so a serving node spent most of its life unable to answer anything else.
19
+
20
+ Both now run off that loop. The second needed alert delivery reworked to a single pump with
21
+ subscribers first, because every consumer used to drain the session's one alert queue — so two
22
+ concurrent reads would have swallowed each other's `read_piece_alert` and both timed out. A read
23
+ also matches its alert on the torrent now, not just the piece number, and a storage fault is
24
+ reported once by the pump rather than only when a read happened to be waiting to notice it.
25
+
26
+ **Upgrade both together.** This release does not itself require the new behaviour, but it is the
27
+ version that asks for it, and a node running a 0.6.x sidecar keeps the stalls.
28
+
29
+ ### 🐞 Bug fixes
30
+
10
31
  ## 0.34.0
11
32
  ### ✨ Features and improvements
12
33
  - **`md5` is a declared setting.** It was already honoured wherever a torrent is created, but it
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmtiles-swarm",
3
- "version": "0.34.0",
3
+ "version": "0.35.0",
4
4
  "description": "BitTorrent distribution for PMTiles map archives: create torrents, watch folders, publish and subscribe to RSS feeds, and seed through qBittorrent or an embedded client",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -46,7 +46,7 @@
46
46
  "maplibre-gl": "^6.2.0",
47
47
  "parse-torrent": "^11.0.24",
48
48
  "pmtiles": "^4.4.1",
49
- "pmtiles-torrent": "^0.6.1",
49
+ "pmtiles-torrent": "^0.7.0",
50
50
  "webtorrent": "^3.0.21"
51
51
  },
52
52
  "engines": {