linkedin-apply-assistant 0.1.2 → 0.1.3
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.
- package/CHANGELOG.md +9 -0
- package/README.md +3 -3
- package/RELEASE_CHECKLIST.md +49 -1
- package/SECURITY.md +1 -1
- package/docs/install-and-configuration.md +17 -7
- package/docs/registry-publication-strategy.md +9 -7
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/src/linkedin_apply_assistant/__init__.py +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,15 @@ This file follows the spirit of Keep a Changelog and uses semantic version label
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.1.3] - 2026-06-13
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Replaced the README and npm package-page PowerShell installer command with
|
|
14
|
+
the shorter `irm ... | iex` form.
|
|
15
|
+
- Kept the inspectable temp-file PowerShell installer form in the detailed
|
|
16
|
+
install guide for optional installer arguments.
|
|
17
|
+
|
|
9
18
|
## [0.1.2] - 2026-06-13
|
|
10
19
|
|
|
11
20
|
### Changed
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ LinkedIn-apply-assistant is an experimental local browser automation assistant f
|
|
|
7
7
|
|
|
8
8
|
The package is local-first. It does not require credentials in config, copied browser profiles, private documents, or generated reports to import, inspect, or run its deterministic tests.
|
|
9
9
|
|
|
10
|
-
Current package metadata version: `0.1.
|
|
10
|
+
Current package metadata version: `0.1.3`.
|
|
11
11
|
|
|
12
12
|
## Safety Boundary
|
|
13
13
|
|
|
@@ -37,7 +37,7 @@ npm install -g linkedin-apply-assistant
|
|
|
37
37
|
Windows PowerShell:
|
|
38
38
|
|
|
39
39
|
```powershell
|
|
40
|
-
|
|
40
|
+
irm https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 | iex
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Verify:
|
|
@@ -47,7 +47,7 @@ linkedin-apply-assistant --help
|
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
Use Python 3.11 or newer. The npm package is the current public registry path;
|
|
50
|
-
the PowerShell command downloads the installer from GitHub
|
|
50
|
+
the PowerShell command downloads and runs the installer from GitHub.
|
|
51
51
|
See [docs/install-and-configuration.md](docs/install-and-configuration.md) for
|
|
52
52
|
source, Python, Playwright, and troubleshooting details. PyPI remains a future
|
|
53
53
|
package channel; the package-channel decision is documented in the
|
package/RELEASE_CHECKLIST.md
CHANGED
|
@@ -395,6 +395,54 @@ Distribution safety boundary:
|
|
|
395
395
|
- `install.ps1` continues to avoid `Invoke-Expression` pipe-install behavior
|
|
396
396
|
- PyPI and TestPyPI uploads stay out of this release
|
|
397
397
|
|
|
398
|
+
## v0.1.3 PowerShell Short Installer Command Release
|
|
399
|
+
|
|
400
|
+
This patch refreshes the README, npm package page, and GitHub Release wording to
|
|
401
|
+
use the shorter PowerShell installer command:
|
|
402
|
+
|
|
403
|
+
```powershell
|
|
404
|
+
irm https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 | iex
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
Scope:
|
|
408
|
+
|
|
409
|
+
- Package version: `0.1.3`
|
|
410
|
+
- npm package: `linkedin-apply-assistant`
|
|
411
|
+
- npm dist-tag: `latest`
|
|
412
|
+
- GitHub Release: `v0.1.3`
|
|
413
|
+
- Repository: `MohammedGhazal09/linkedin-apply-assistant`
|
|
414
|
+
- Runtime behavior, browser safety posture, and public CLI contract are unchanged.
|
|
415
|
+
- The longer temp-file PowerShell installer form remains documented for optional
|
|
416
|
+
arguments such as `-InstallBrowser`.
|
|
417
|
+
- PyPI and TestPyPI remain future channels.
|
|
418
|
+
|
|
419
|
+
Required local evidence before public sync:
|
|
420
|
+
|
|
421
|
+
```powershell
|
|
422
|
+
python -m pytest tests\test_distribution_metadata.py tests\test_docs_smoke.py tests\test_registry_publication_strategy.py tests\test_release_readiness.py tests\test_npm_launcher.py tests\test_distribution_smoke.py tests\test_release_manifest.py -q
|
|
423
|
+
python scripts\release.py clean
|
|
424
|
+
python scripts\release.py manifest --check
|
|
425
|
+
python scripts\release.py verify
|
|
426
|
+
npm pack --dry-run --json
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
Post-publish verification:
|
|
430
|
+
|
|
431
|
+
```powershell
|
|
432
|
+
npm view linkedin-apply-assistant version --json
|
|
433
|
+
npm view linkedin-apply-assistant dist-tags --json
|
|
434
|
+
gh release view v0.1.3 --repo MohammedGhazal09/linkedin-apply-assistant --json tagName,name,url,isDraft,isPrerelease,targetCommitish
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
Distribution safety boundary:
|
|
438
|
+
|
|
439
|
+
- this is a docs-only package refresh to update the immutable npm README for the
|
|
440
|
+
latest package version
|
|
441
|
+
- no lifecycle install, publish, or token scripts are added to `package.json`
|
|
442
|
+
- `install.ps1` itself is unchanged; the shorter command only changes how users
|
|
443
|
+
download and run that public script
|
|
444
|
+
- PyPI and TestPyPI uploads stay out of this release
|
|
445
|
+
|
|
398
446
|
## Required Public Metadata
|
|
399
447
|
|
|
400
448
|
`package.json` must include exactly these public project fields:
|
|
@@ -448,7 +496,7 @@ Do not publish while any hard blocker remains unresolved.
|
|
|
448
496
|
- `LEGAL.md` and `SAFETY.md` remain linked from README.
|
|
449
497
|
- `MIGRATION.md` explains extraction scope and excluded root surfaces.
|
|
450
498
|
- `CONTRIBUTING.md` and `SECURITY.md` are standalone-scoped.
|
|
451
|
-
- Changelog has `Unreleased`, `0.1.2`, `0.1.1`, and `0.1.0`.
|
|
499
|
+
- Changelog has `Unreleased`, `0.1.3`, `0.1.2`, `0.1.1`, and `0.1.0`.
|
|
452
500
|
- Source, Python, npm launcher, and PowerShell installer docs are current and tested.
|
|
453
501
|
- Phase 21 terminal UX docs and help stay current: `docs\commands.md`, `tests\test_cli_help.py`, and `tests\test_config_diagnostics.py`.
|
|
454
502
|
- Public package metadata points to the canonical GitHub repository and issue tracker.
|
package/SECURITY.md
CHANGED
|
@@ -34,4 +34,4 @@ Never attach browser profiles, cookies, credentials, screenshots, private docume
|
|
|
34
34
|
|
|
35
35
|
## Supported Versions
|
|
36
36
|
|
|
37
|
-
The initial standalone GitHub source release is `0.1.0`. Current package metadata is `0.1.
|
|
37
|
+
The initial standalone GitHub source release is `0.1.0`. Current package metadata is `0.1.3`. Security guidance applies to the current unreleased, `0.1.3`, `0.1.2`, `0.1.1`, and `0.1.0` package-local surfaces.
|
|
@@ -4,7 +4,7 @@ This package runs locally. You install the Python package, choose a local worksp
|
|
|
4
4
|
|
|
5
5
|
This file is the canonical install matrix. The README keeps only a short quick start.
|
|
6
6
|
|
|
7
|
-
Current package metadata version: `0.1.
|
|
7
|
+
Current package metadata version: `0.1.3`.
|
|
8
8
|
|
|
9
9
|
The npm launcher and PowerShell no-admin installer are the current quick-install paths.
|
|
10
10
|
PyPI remains a future package channel. The package-channel decision, approval
|
|
@@ -23,12 +23,12 @@ linkedin-apply-assistant --help
|
|
|
23
23
|
Windows PowerShell without npm:
|
|
24
24
|
|
|
25
25
|
```powershell
|
|
26
|
-
|
|
26
|
+
irm https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 | iex
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
The PowerShell command
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
The PowerShell command is the short `Invoke-RestMethod` pipe-to-`Invoke-Expression`
|
|
30
|
+
form. It downloads [install.ps1](../install.ps1) from GitHub raw content and
|
|
31
|
+
runs it in the current PowerShell session.
|
|
32
32
|
|
|
33
33
|
## Prerequisites
|
|
34
34
|
|
|
@@ -72,13 +72,23 @@ local virtual environment, installs the Python package, and writes
|
|
|
72
72
|
does not require admin rights.
|
|
73
73
|
|
|
74
74
|
```powershell
|
|
75
|
-
|
|
75
|
+
irm https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 | iex
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Inspectable temp-file equivalent:
|
|
79
|
+
|
|
80
|
+
```powershell
|
|
81
|
+
$script = Join-Path $env:TEMP 'linkedin-apply-assistant-install.ps1'
|
|
82
|
+
iwr https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 -OutFile $script
|
|
83
|
+
& $script
|
|
76
84
|
```
|
|
77
85
|
|
|
78
86
|
Optional visible-browser setup during install:
|
|
79
87
|
|
|
80
88
|
```powershell
|
|
81
|
-
|
|
89
|
+
$script = Join-Path $env:TEMP 'linkedin-apply-assistant-install.ps1'
|
|
90
|
+
iwr https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 -OutFile $script
|
|
91
|
+
& $script -InstallBrowser
|
|
82
92
|
```
|
|
83
93
|
|
|
84
94
|
## Current Source Checkout
|
|
@@ -7,17 +7,17 @@ asset, or grant publish-capable workflow permissions.
|
|
|
7
7
|
|
|
8
8
|
The first GitHub source release, `v0.1.0`, remains source-only and is not a
|
|
9
9
|
registry backfill candidate. The npm launcher release starts at `0.1.1`; the
|
|
10
|
-
current
|
|
11
|
-
future channels.
|
|
10
|
+
current PowerShell short-command npm package page refresh is `0.1.3`. PyPI and
|
|
11
|
+
TestPyPI remain future channels.
|
|
12
12
|
|
|
13
13
|
## Current Boundary
|
|
14
14
|
|
|
15
|
-
- Current package metadata version: `0.1.
|
|
15
|
+
- Current package metadata version: `0.1.3`.
|
|
16
16
|
- Current install path: npm global launcher, PowerShell installer, source
|
|
17
17
|
checkout, local Python install, local editable install, and local npm launcher
|
|
18
18
|
dry-run validation.
|
|
19
19
|
- Current public channel: GitHub repository source checkout and GitHub source
|
|
20
|
-
release archives; npm launcher package for `0.1.
|
|
20
|
+
release archives; npm launcher package for `0.1.3` after the approved npm
|
|
21
21
|
patch publish step verifies successfully.
|
|
22
22
|
- Not current: PyPI package, TestPyPI package, GitHub Packages package, PyPI
|
|
23
23
|
trusted-publisher setup, npm trusted-publisher setup, registry automation,
|
|
@@ -34,14 +34,14 @@ action, and exact mutation.
|
|
|
34
34
|
| GitHub Releases | Current source-only channel for `v0.1.0`. No wheel, sdist, npm tarball, or other release asset is attached. | Keep as the source-of-truth release record. Future assets require explicit approval. | Users can inspect and install from source without introducing registry auth or package-name ownership. | Clean local verification, changelog, release checklist, source manifest, approved tag or release mutation. | Explicit GitHub Release approval naming repo, tag, target commit, release state, and assets, if any. | `gh release view`, `gh release list`, source archive inspection, release manifest verification. | Remove mistaken assets from the release, correct the release notes, or delete a draft. Source tags need separate explicit remediation because asset removal does not undo a tag. |
|
|
35
35
|
| PyPI | Not published and not reserved. | Primary future Python registry for direct package publication. | The project is a Python CLI with Playwright-driven browser automation, so PyPI is the natural long-term install path. | Maintainer or maintainer-controlled organization ownership, account 2FA where supported, PyPI Trusted Publishing with GitHub Actions OIDC, protected `pypi` environment, clean build and metadata gates. | Explicit PyPI approval naming repository, version, PyPI project, workflow or manual action, and exact upload mutation. | Read-only JSON API check, `python -m build`, `twine check dist/*`, local wheel install smoke, release scan, manifest verification. | Prefer yanking a broken release where appropriate. Deletion is disruptive and permanent; never rely on deleting and reusing the same version. |
|
|
36
36
|
| TestPyPI | Not published and not reserved. | Required preflight for the first registry release and for publish-workflow changes. Routine patch preflights can become optional only after a proven release cycle. | It exercises package metadata, artifacts, and installer behavior before the real PyPI release. | Same artifact gates as PyPI, protected `testpypi` environment, explicit preflight approval, no production token. | Explicit TestPyPI approval naming repository, version, TestPyPI project, workflow or manual action, and exact upload mutation. | TestPyPI JSON API check, metadata validation, test-index install smoke, package contents review. | Clean up mistaken TestPyPI releases where possible and move forward with a new version if needed. Do not treat TestPyPI cleanup as production rollback proof. |
|
|
37
|
-
| npm | Public thin-launcher channel for `0.1.
|
|
38
|
-
| PowerShell installer | Current GitHub-hosted installer script at `install.ps1
|
|
37
|
+
| npm | Public thin-launcher channel for `0.1.3`; `0.1.1` was the first npm and PowerShell distribution release. | Keep as the JavaScript ecosystem convenience launcher; use PyPI later for direct Python package installs. | npm provides a familiar global command on systems that already have Node.js, but the launcher delegates to the Python CLI and cannot install Python itself. | Maintainer or maintainer-controlled ownership, account 2FA where supported, first-publish token bootstrap if trusted publishing cannot create the package, exact package contents review. | Explicit npm approval naming repository, version, npm package, workflow or manual action, and exact registry mutation. | `npm pack --dry-run --json`, package contents inspection, no lifecycle install/publish scripts, npm read-only registry check after publication. | Prefer deprecation for bad packages when unpublish criteria are not met. A used npm `package@version` cannot be reused, even after unpublish. |
|
|
38
|
+
| PowerShell installer | Current GitHub-hosted installer script at `install.ps1`; the README uses `irm ... \| iex` and the detailed install doc keeps a temp-file equivalent. | Keep as the no-admin Windows convenience path for users who prefer a single script. | It can create a local virtual environment, install dependencies from the public source archive, create command shims, and optionally install Chromium. | Public GitHub source archive availability, Python 3.11+, script syntax validation, and local install smoke. | Push the verified installer/docs to the public repository; no registry mutation is required for installer-only changes. | PowerShell parser check, temp-directory install smoke, command shim help smoke, and docs link checks. | Fix forward in `main`; users can reinstall from the corrected script or pin `-Ref` to a known tag. |
|
|
39
39
|
| GitHub Packages | Not used. | Deferred. | It adds `packages: write` and authenticated consumption friction without improving the primary Python install path. | A future reason to publish a package to GitHub Packages, explicit package type, permission model, and install documentation. | Separate approval naming package type, repository, version, and exact mutation. | GitHub Packages read-only checks and package permission review. | Delete or deprecate only according to the package type's GitHub Packages support. This is not a substitute for PyPI/npm remediation. |
|
|
40
40
|
|
|
41
41
|
## Package Names
|
|
42
42
|
|
|
43
43
|
The target package name for PyPI, TestPyPI, and npm publication is
|
|
44
|
-
`linkedin-apply-assistant`. The current npm launcher version is `0.1.
|
|
44
|
+
`linkedin-apply-assistant`. The current npm launcher version is `0.1.3`.
|
|
45
45
|
|
|
46
46
|
If the unscoped npm name becomes unavailable or ownership changes later, the
|
|
47
47
|
fallback is a future scoped npm package under a maintainer-controlled scope.
|
|
@@ -56,6 +56,8 @@ fallback is a future scoped npm package under a maintainer-controlled scope.
|
|
|
56
56
|
PowerShell installer without changing the browser workflow contract.
|
|
57
57
|
- The docs-only npm package page refresh uses `0.1.2` because published npm
|
|
58
58
|
README content is immutable for an existing package version.
|
|
59
|
+
- The PowerShell short-command README refresh uses `0.1.3` because the npm
|
|
60
|
+
package page must be republished to replace the prior command.
|
|
59
61
|
- If user-visible behavior changes before registry publication, the default
|
|
60
62
|
future version example is `0.2.0`.
|
|
61
63
|
- Future behavior changes remain SemVer decisions at the publish phase.
|
package/package.json
CHANGED
package/pyproject.toml
CHANGED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "linkedin-apply-assistant"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.3"
|
|
8
8
|
description = "Local LinkedIn application assistant with user-visible browser workflows"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|