Skip to content

Releases: in03/proxima

v1.0.7

14 Sep 02:20
Compare
Choose a tag to compare

v1.0.7 (2023-09-14)

Build

  • build: Bump package version (08cd3f5)

  • build: Export updated requirements.txt (88f980b)

  • build: Export updated requirements.txt (5733bbc)

Chore

  • chore: gitignore user config toml (5842d52)

Documentation

  • docs: Update README

Remove new TOML support from roadmap, added to features, updated issue link to PR link (ebcc818)

Fix

  • fix: Broken module import paths (6461cd5)

  • fix: Broken module import paths (242eb31)

  • fix: Broken dependency (41a2501)

v1.0.6

20 Feb 03:19
Compare
Choose a tag to compare

Fix

  • Incorrect definition of 'linked' (70c3c03)
  • Inverted offline logic (1ce6aa5)
  • settings: Settings priority issues (b11c5de)

Documentation

  • is_offline: Disambiguate 'Offline' (99ac4ef)
  • is_linked: Disambiguate 'linked' (572294f)

v2.0.0

17 Feb 04:54
89a8fa4
Compare
Choose a tag to compare

What's Changed

  • Configuration has moved! TOML is now used in place of the YAML user configuration file. It also now lives within the package itself instead of user home configuration directories (xdg_config, etc).

  • More CLI subcommands exist for configration management. `proxima config [edit|view|reset] [toml|dotenv|env]. Dotenv makes for easier development configuration. Environment variables are directly supported. Toml is populated by default and easily resettable, similar to old YAML settings.

  • Pydantic is used for settings static/dynamic typing as well as runtime validation

  • Prompting subsititution for missing or invalid keys is no longer supported. It was overly complex, slow and glitchy. Especially when entire configuration sections were absent, since a user couldn't be expected to enter ALL the missing settings in a single prompt at runtime.

Why

  • Increase startup speed
  • Decrease circular import issues,
  • TOML > YAML (stricter types),
  • Pydantic is more maintainable/optimised

PRs

  • refactor: SettingsManager with TOML and better practices by @github-actions in #258

Notes:

I'm a noob and my feat and BREAKING CHANGE message was disregarded by the Semantic Release action. I thought it parsed the commits, not the PR title...

Full Changelog: v1.0.5...v2.0.0

v1.0.5

09 Feb 02:24
Compare
Choose a tag to compare

Fix

  • build: Typed git vars were unassigned (ad53709)

v1.0.4

09 Feb 01:41
Compare
Choose a tag to compare

Fix

  • Isort broke fragile init imports (e227ac2)

v1.0.3

09 Feb 01:25
Compare
Choose a tag to compare

Fix

v1.0.2

06 Feb 06:27
Compare
Choose a tag to compare

Fix

  • Package path was using PWD! (4b2972d)

Documentation

1.0.0 - Semantic releases!

23 Jan 21:27
Compare
Choose a tag to compare

Huzzah! Automated semantic-releases are here!

This release marks the beginning of an automated semantic release cycle using python-semantic-release. It's been a year and a half since Proxima started on GitHub (back on the 28th of April 2021). Before then it was a two-year working collection of scripts that read .txt files for encoding jobs.

The old way

Until now, managing queuer/worker compatibility was maintained using a version-constraint key (a simple animal codename like 'quizzically-queer-quail') generated by CI/CD on each git push. This allowed for guaranteed queuer/worker compatibility across installation methods: pip/pipx, git/vcs, local repo clone, release install, etc. The plan was always to use semantic versioning as the version-constraint system eventually, but there were so many breaking changes in early dev that we'd but up to version 49.0.0 by now.

Why the change now?

While generating version-constraint-keys on repo push worked great to prevent incompatible workers from taking jobs, it was a big hindrance to development. Even the smallest bug-fix would require complete re-installation on each test-machine in the cluster. The code to get build info was also overly complicated and hacky for diminishing-returns: it needed to check if the installation was a local git-repo, installed via pip/pipx with a git URL or if it was a release install, and pass or fail instances in the cluster accordingly... Just a bit too much user hand-holding in the end.

What does that look like now?

For now, the version-constraint-key uses the package's __version__ which also matches pypackage.toml. Python-semantic-release handles bumping the hardcoded version variables based on conventional-commits (fix:, feat:, BREAKING CHANGE, etc). For the time being, the version-constraint uses both the major and minor semver numbers. This means that a minor change will create incompatibilities. Until there is solid compatibility testing to check for breaking changes, this is safer. This removes all the complexity of maintaining the complicated BuildInfo class, whilst also preventing patch level changes from creating incompatibilities. This release version will be incompatible with all prior git versions.

What's Changed?

This is actually everything since Proxima started, since we've never done a release! (This list doesn't include every change I pushed straight to 'main' which I'm ashamed to say was a lot)

  • Bump pywin32 from 300 to 301 by @dependabot in #8
  • Merge dev updates to main by @in03 in #18
  • Detect offline proxies, updated docstrings by @in03 in #23
  • fixed icecream dependency import error by @in03 in #24
  • Fixed bug/issue-27 by @in03 in #28
  • ci: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #30
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #31
  • Bug/issue 25 by @in03 in #35
  • feat: Add queuer/worker compatibility check by @in03 in #40
  • fix: Bug/issue 49 by @in03 in #59
  • feat: Feature/issue 48 by @in03 in #66
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #63
  • fix: bug/issue 25 by @in03 in #94
  • bug/issue103 by @in03 in #107
  • fix(CLI): Address printing incorrect queue name by @in03 in #109
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #90
  • fix: Offline proxy handler prints whole job obj by @in03 in #111
  • fix: Recognise offline but relinkable proxies by @in03 in #113
  • fix(handlers): handle zero queueable properly by @in03 in #116
  • fix: clip flip detection by @in03 in #119
  • fix(handlers): revert proxy status on link failed by @in03 in #124
  • fix: broken aspect ratio from target resolution rounding error by @in03 in #135
  • fix: unlinked_proxy KeyError by @in03 in #136
  • Bug/issue-138/correct-bad-loglevels by @in03 in #157
  • fix: bug/issue-155/git-sha-slicing by @in03 in #159
  • feat: add commitizen support by @in03 in #164
  • feat: Improve version constraining by @in03 in #165
  • ci: Export requirements.txt on build by @in03 in #168
  • ci: Fix requirements.txt not being pushed to repo by @in03 in #169
  • ci: Fix broken export-requirements GitHub action by @in03 in #170
  • fix: Remove linked proxies from queue by @in03 in #172
  • fix: Improved version constraint key generation by @in03 in #175
  • fix: Always choose newest existing proxy by @in03 in #177
  • feat: Add "create issue branch" GH action by @in03 in #181
  • ci: Fix syntax error in CIB by @in03 in #183
  • fix(linking): Match proxies properly by @in03 in #186
  • feat: Queuer-side progress indication by @github-actions in #190
  • feat: Rebrand to Proxima by @github-actions in #211
  • fix: Data levels issues by @github-actions in #209
  • fix: First stream probed is not main video stream by @in03 in #219
  • fix: Premature link success message by @github-actions in #220
  • feat: Redis PubSub for Queuer side progress by @github-actions in #225
  • refactor: Swap Redis PubSub for Celery AsyncResult and custom states by @in03 in #228
  • fix: Remove dead Redis PubSub code by @in03 in #229
  • chore: [pre-commit.ci] automatic update by @pre-commit-ci in #188
  • chore: [pre-commit.ci] automatic update by @pre-commit-ci in #230
  • feat: Extend rerender offline prompt by @in03 in #232
  • refactor: Job dict object as Class by @github-actions in #234
  • feat: support-semver-version-constraint by @in03 in #251

New Contributors

Full Changelog: https://github.com/in03/proxima/commits/0.1.0