Releases: in03/proxima
v1.0.7
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
v1.0.6
v2.0.0
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
v1.0.4
v1.0.3
v1.0.2
1.0.0 - Semantic releases!
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
- @dependabot made their first contribution in #8
- @in03 made their first contribution in #18
- @pre-commit-ci made their first contribution in #30
- @github-actions made their first contribution in #190
Full Changelog: https://github.com/in03/proxima/commits/0.1.0