fancy-gmail 0.3.1__tar.gz → 0.3.3__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.
@@ -7,6 +7,44 @@ The four packages share one version, because they are generated from one
7
7
  `provider/` definition and a version that meant something different in each
8
8
  would be a version nobody could reason about.
9
9
 
10
+ ## [0.3.3] — 2026-09-11
11
+
12
+ ### Added
13
+
14
+ - **`fancy-flow-php` executors for every node.** `src/Flow/` carries one `#[FlowNode]` class per action and trigger, and `GmailFlow::EXECUTORS` lists them.
15
+
16
+ A Laravel host running fancy-flow-php could show this connector's nodes in its editor and could not run them: `particle-academy/gmail-php` shipped the request builders and no executor. Each one is the PHP twin of the executor in `@particle-academy/gmail-js` — the same kind, the same request, the same value on `out` — and an unsafe-to-replay action derives its idempotency key from the run and the node, so a retried durable run sends the key it sent the first time.
17
+
18
+ Register them by adding `vendor/particle-academy/gmail-php/packages/php/src/Flow` to `config('fancy-flow.discover')`. `particle-academy/fancy-flow-php` is SUGGESTED, not required, and conflicts outside `>=0.51.0 <2.0`, the range the executors were tested under. Nothing outside `Flow\` needs it.
19
+
20
+ ### Fixed
21
+
22
+ - **Fake mode through `ConnectorClient` threw.** `Gmail::descriptor()` handed the connector core its faker as `GmailFaker::respond(...)`, which takes `($operation, $request)`; the core calls a faker `($operation, $config, $fake, $input)`. So `$config` arrived as `$request` and every fake call died on "Call to a member function … on null". The descriptor now translates between the two. Calling `GmailFaker::respond()` directly — what this package's own tests do, which is why they never saw it — is unchanged.
23
+
24
+ ## [0.3.2] — 2026-09-06
25
+
26
+ ### Changed
27
+
28
+ - **Published through npm Trusted Publishing, so these packages now carry PROVENANCE.**
29
+
30
+ Every earlier release went out under a scope-wide npm token. This one is
31
+ published by an OIDC exchange from the release workflow itself, and npm records
32
+ which workflow in which repository built it.
33
+ `npm view @particle-academy/gmail-ui@0.3.2` shows the attestation; releases before
34
+ this one have none.
35
+
36
+ What it buys a consumer: the tarball on the registry can be tied to a public
37
+ commit and a public workflow run, rather than to whoever held a token. What it
38
+ does not buy: nothing about the code changed, and the runtime behaviour of all
39
+ four packages is identical to 0.3.1.
40
+
41
+ - **`repository.directory` in the npm packages.**
42
+
43
+ `@particle-academy/gmail-ui` and `@particle-academy/gmail-js` live at
44
+ `packages/ui` and `packages/js` inside the provider repo. npm's `repository`
45
+ field now says so, which makes the "Repository" link on each package page point
46
+ at the package rather than at the repository root.
47
+
10
48
  ## [0.3.1] — 2026-08-24
11
49
 
12
50
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: fancy-gmail
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: Gmail for Python — the service descriptor, its faker, its webhook verification, and one function per operation. Plain HTTP; no vendor SDK.
5
5
  Project-URL: Homepage, https://github.com/Fancy-Friends/gmail
6
6
  Project-URL: Issues, https://github.com/Fancy-Friends/gmail/issues
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "fancy-gmail"
7
- version = "0.3.1"
7
+ version = "0.3.3"
8
8
  description = "Gmail for Python — the service descriptor, its faker, its webhook verification, and one function per operation. Plain HTTP; no vendor SDK."
9
9
  readme = "README.md"
10
10
  # 3.11 matches fancy-flow-py's floor: 3.10 reaches end of life on 2026-10-31,
@@ -21,7 +21,7 @@ from .actions.message_send import message_send
21
21
  from .faker import respond
22
22
  from .service import BASE_URLS, CONNECTOR_API_VERSION, REQUIRES, SANDBOX, SERVICE, TITLE, descriptor
23
23
 
24
- __version__ = "0.3.1"
24
+ __version__ = "0.3.3"
25
25
 
26
26
  __all__ = [
27
27
  "BASE_URLS",
File without changes
File without changes
File without changes