diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c08da3..ba1f06b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,121 @@ # Changelog +## [1.8.0](https://github.com/shinybrar/skaha/compare/v1.7.0...v1.8.0) (2025-08-18) + + +### Features + +* **auth:** add HTTPx authentication hooks for token refresh ([489066d](https://github.com/shinybrar/skaha/commit/489066d560d883f1bad77521e6fa5a02e754b494)) +* **auth:** add OIDC authentication hooks for automatic token refresh ([bc4596f](https://github.com/shinybrar/skaha/commit/bc4596fdad62db016a7cc81f00150a5fd2e85150)) +* **auth:** added oidc device flow logic ([1013cf5](https://github.com/shinybrar/skaha/commit/1013cf551dceaafeeed25a2e1fdd11a8c375c9d5)) +* **auth:** added x509 cert get logic ([657a97d](https://github.com/shinybrar/skaha/commit/657a97de3c455e8ab26c1eb84a4dd794f4ebd5eb)) +* **auth:** implement async and sync OIDC token refresh functions ([b43b05f](https://github.com/shinybrar/skaha/commit/b43b05f60c70c8c95d2b4e9e6052df44b2e35d59)) +* **auth:** server info is now saved for each auth config ([1788c1e](https://github.com/shinybrar/skaha/commit/1788c1e35a93142b47a20c2d71c5f8609a40d05b)) +* **cli:** added `skaha open` command to open sessions in a web browser. Made skaha info more readable ([c932187](https://github.com/shinybrar/skaha/commit/c932187838c8c2f2a544dbde396ea79b484b661e)) +* **cli:** added auth cmds: list, switch, rm & purge ([6ab0bd8](https://github.com/shinybrar/skaha/commit/6ab0bd8c15c14fdbd5ada3c75bf68af022e7c186)) +* **cli:** added entrypoing cf ([cf3fce8](https://github.com/shinybrar/skaha/commit/cf3fce8dc49fc7c763bab218dd896a0ff22bb414)) +* **cli:** added feat to auto discover skaha servers ([46eb565](https://github.com/shinybrar/skaha/commit/46eb565e00e3bf4ff95020d87f15a93d64f16d4a)) +* **cli:** added list, ls to skaha ps as aliases ([c88eb6a](https://github.com/shinybrar/skaha/commit/c88eb6ab7369dd88a3e7b27e58a9c751f403e917)) +* **cli:** added support for using the CLI as canfar ([5051af1](https://github.com/shinybrar/skaha/commit/5051af190e188d2231d9aea98056b52d2eb65725)) +* **client:** add expiry property and enhance SSL context handling for authentication ([cb6261a](https://github.com/shinybrar/skaha/commit/cb6261aaad67126c32ac350de42777ea8ae21d6f)) +* **client:** enhance SkahaClient documentation and improve authentication handling ([1e6b770](https://github.com/shinybrar/skaha/commit/1e6b7708d009a207ccf60ee8aaa233df26f8ef97)) +* **client:** significant improvements to the base skaha client to support context managers ([a197553](https://github.com/shinybrar/skaha/commit/a19755376984a338e8ea56d73f9bec71463c7a34)) +* **cli:** work-in-process ([2e646ab](https://github.com/shinybrar/skaha/commit/2e646ab2586701f908d78844f94a3bc41b0c6a65)) +* **config:** updated auth config to provide valid & expired checks for all auth types and added tests ([4dc6929](https://github.com/shinybrar/skaha/commit/4dc6929b7538d3a230a9c1d4c3a134ec9835ec7c)) +* **discover:** added functionality to discover skaha servers from registries and also added tests ([5857772](https://github.com/shinybrar/skaha/commit/5857772563d354ad0ad5a90c0620b4689f904b54)) +* **exceptions:** added skaha exception classes ([0651191](https://github.com/shinybrar/skaha/commit/0651191ace890b489af64af6cd49cd892871fe38)) +* **garble:** added fernet and rot13 ciphers to encrypt/obsfucate sensitive info ([7204879](https://github.com/shinybrar/skaha/commit/72048791e297c46cd4a2d738ae4a25dc545348ff)) +* **helpers:** added code to to split tasks for large scale processing ([6ffe5cb](https://github.com/shinybrar/skaha/commit/6ffe5cb3328628f3782477d2927b2b458e477bc8)) +* **hooks:** added cli tool typer hook for multiple command aliases ([6c5bc15](https://github.com/shinybrar/skaha/commit/6c5bc150f969bf49edd14273a4aaef80f31fa57b)) +* **logging:** added comprehensive rich based logger for the project ([a48c520](https://github.com/shinybrar/skaha/commit/a48c520390db965825a0053722789cdb31812dab)) +* **models:** added http models for the client ([0679e8f](https://github.com/shinybrar/skaha/commit/0679e8f86055f01a4e54b4c63fe8e77ddc8d88b6)) +* **models:** all client models have been moved to skaha.models ([a07c676](https://github.com/shinybrar/skaha/commit/a07c6760ff824a6dcc647a67be2a9abcc27cf52d)) +* **oidc:** added tests and made the oidc auth flow async ([0059e12](https://github.com/shinybrar/skaha/commit/0059e128015e737ec3f008bf01afb5aa2b667392)) +* **tests:** add comprehensive tests for OIDC authentication and HTTPx hooks ([be7fb50](https://github.com/shinybrar/skaha/commit/be7fb505127cfa2496a852316e3601520cc27d37)) +* **types:** added mode, which reflects the auth type of the client ([5781e4a](https://github.com/shinybrar/skaha/commit/5781e4ad2c39be0faea78a6a814bb58c0d8cec79)) +* **types:** updated to the auth data model ([7f293c4](https://github.com/shinybrar/skaha/commit/7f293c43a1a028be38a27787a44f1d781580acc7)) + + +### Bug Fixes + +* **auth, config, http:** refactor imports and clean up default handling in models ([6095a09](https://github.com/shinybrar/skaha/commit/6095a09b3a94a01ac509dc3f8b9937c5d754c472)) +* **auth, config, models:** refactor authentication handling and improve configuration properties ([aaa8c61](https://github.com/shinybrar/skaha/commit/aaa8c618dd4c9de6314437a170e33d5f63328ced)) +* **auth:** added comprehensive login support ([bd11fe4](https://github.com/shinybrar/skaha/commit/bd11fe4f27e473a7461112d4f9e881bf6858dbb7)) +* **auth:** improve login flow and server selection logic ([18b8d6d](https://github.com/shinybrar/skaha/commit/18b8d6d881e5d70b9ee9f728a982ba13034b8fe6)) +* **auth:** x509 expired now return True when there is no cert to be found ([2ab7141](https://github.com/shinybrar/skaha/commit/2ab71416106aa107d06c773e3af641eba387f95d)) +* **auth:** x509 now has better exception handling ([a4469b3](https://github.com/shinybrar/skaha/commit/a4469b3282fc32c3bc2e4dae5fd11e8dda89c3c3)) +* **cli:** added a new aliases section to cleanup the l&f of the cli ([6165575](https://github.com/shinybrar/skaha/commit/6165575887826b0acf8dc8e2f59f21b08e946606)) +* **cli:** added new aliases for list and create, fixed added `Terminating` state for Status models ([a7e946d](https://github.com/shinybrar/skaha/commit/a7e946de8730a23609439bdb52a227ae576eaafa)), closes [#103](https://github.com/shinybrar/skaha/issues/103) +* **cli:** config - added path ([30f2617](https://github.com/shinybrar/skaha/commit/30f26178f8ead4286f14dbcc77095d9323198e7b)) +* **cli:** create options cpus changed to cpu ([05081ed](https://github.com/shinybrar/skaha/commit/05081ed6b528e0688f5a42a1fa514672cea7582b)) +* **client, overview:** refactor base URL handling to use 'url' attribute instead of 'server' ([b429820](https://github.com/shinybrar/skaha/commit/b429820807398c55b9b83f128a79f51f893d9c64)) +* **client:** the skaha client on performs x509 checks when creating the clients ([b6c3b80](https://github.com/shinybrar/skaha/commit/b6c3b80fa84d990995496aa695bc7ad7d51f875b)) +* **cli:** fix for stats output print statement ([856df95](https://github.com/shinybrar/skaha/commit/856df95171ae433bc5a5d6759a59d7ccc2a549b2)) +* **cli:** numerous fixes for general look and feel, updated usage and help to be more descriptive ([ea59085](https://github.com/shinybrar/skaha/commit/ea59085b359d040cc219d5e76680b354d9ad593b)) +* **cli:** ps,list,ls are now sorted by startTime ([fdf34ed](https://github.com/shinybrar/skaha/commit/fdf34edc957545cf2f74eb4887b51b7099a38f2d)) +* **cli:** updated the discover logic to be cleaner ([ebff177](https://github.com/shinybrar/skaha/commit/ebff177eab097de019cc13bb7876abf59b850762)) +* **docs:** improve docstrings for clarity and consistency across authentication modules ([48599d3](https://github.com/shinybrar/skaha/commit/48599d3dd683d68af242b433e339a2018f382f93)) +* **docs:** improve formatting of docstring for gather function parameters ([9807194](https://github.com/shinybrar/skaha/commit/980719411abdcc2c67df00dd6ca3419e0f822424)) +* **docs:** remove slow tests details and clarify slow test marking criteria ([18999b7](https://github.com/shinybrar/skaha/commit/18999b74bf652eb6eefbd4887b9128854db15250)) +* **docs:** updated test architecture docs ([4c32ef8](https://github.com/shinybrar/skaha/commit/4c32ef8ee4ac7ddfdab5b5428c5b9748e8f7a460)) +* **import:** fix for ruff TypeChecking import error ([6b5aa6f](https://github.com/shinybrar/skaha/commit/6b5aa6f396837714be37afd78cdf2bef53fb779f)) +* **init:** added CERT_PATH as module global ([bb4642d](https://github.com/shinybrar/skaha/commit/bb4642d434f532baa9f96c1acaa64f3f00105466)) +* **lint:** major improvements to standards ([264b9b5](https://github.com/shinybrar/skaha/commit/264b9b5b73bea1bee4e077004e8c6f6057c97556)) +* **log:** fixed a missed f-string ([bf31015](https://github.com/shinybrar/skaha/commit/bf31015a8f3e224eb46b576d8c03450cc821f735)) +* **logging:** moved all modules to use the new logging facility ([e05399f](https://github.com/shinybrar/skaha/commit/e05399fb848251aa0f309f14615236a833944559)) +* **models:** added `Failed` as a status ([ef2c34e](https://github.com/shinybrar/skaha/commit/ef2c34e8fafe084ad5a12d53d6b3a7d8538c14e3)) +* **models:** added desktop-app and contributed to allowed kinds ([2b8514f](https://github.com/shinybrar/skaha/commit/2b8514f432dccd7e971fa3401b53f20d270f07d0)) +* **models:** CreateSpec ([f4cd04f](https://github.com/shinybrar/skaha/commit/f4cd04fd83cd2fdd667a01f4d1fb086efa800825)) +* **models:** fixes model import errors for pydantic ([fd264d4](https://github.com/shinybrar/skaha/commit/fd264d410544b1896bc4857fec44f95c1f77b7f2)) +* **models:** typo ([4c7dbe6](https://github.com/shinybrar/skaha/commit/4c7dbe6159fb90b9e798a5b293a3877ac3855fe3)) +* **models:** update server fields to allow None values and adjust default handling ([84b9c5d](https://github.com/shinybrar/skaha/commit/84b9c5d982109a36de9f8ba0f383257c10aadeee)) +* **models:** updated client auth and reg models ([b1c3f2b](https://github.com/shinybrar/skaha/commit/b1c3f2bb3d923c62600eeae02e19f9a268fc646c)) +* **models:** updated client config model for better backwards compatibility ([e10f007](https://github.com/shinybrar/skaha/commit/e10f0079c036232bc108b970238754be59bbbf1a)) +* **models:** x509 now does a lazy, rather than an eager check for cert path ([eb16f76](https://github.com/shinybrar/skaha/commit/eb16f76b37d17b90963c87327e053e07dfd02058)) +* **mypy:** setting extra checks to true ([0a29305](https://github.com/shinybrar/skaha/commit/0a29305d8ea88115db535c4655529b17e73f4f58)) +* **oidc:** streamline OIDC imports and update token expiry handling ([ff0b62d](https://github.com/shinybrar/skaha/commit/ff0b62d43ecdbbbff13b958da369b0ce6254ac4b)) +* **overview:** baseurl fix ([4bcb8f4](https://github.com/shinybrar/skaha/commit/4bcb8f4f4095790fe215c22b3389296d52f2fad6)) +* **pre-commit:** added jwt to mypy ([f787507](https://github.com/shinybrar/skaha/commit/f7875070c35f1cbbfda33b1d1716896524edf9b0)) +* **pre-commit:** updates ([fa1b1c4](https://github.com/shinybrar/skaha/commit/fa1b1c49465899c3db08f1669b2a468905291b1f)) +* **registry:** added swedish skaha server ([cfad0ef](https://github.com/shinybrar/skaha/commit/cfad0ef49b076355b0491037fe3557d1aaace975)) +* **security:** fixing logging of sensitive info ([07ff1d0](https://github.com/shinybrar/skaha/commit/07ff1d0e26881b308673d4d181cfd0346eb27047)) +* **security:** private init ([0fada02](https://github.com/shinybrar/skaha/commit/0fada023ce59c2a30001a9486964309616eb67b5)) +* **security:** removed secret info ([dccb1c2](https://github.com/shinybrar/skaha/commit/dccb1c241006109bc9cea6a7cea949854135915e)) +* **skaha-client:** deprecated verify field ([a70c4b4](https://github.com/shinybrar/skaha/commit/a70c4b494f1ef54bb78e0d0689034a2ed614217b)) +* **style:** lint ([248565f](https://github.com/shinybrar/skaha/commit/248565f2c48a4d1d220a2f4c5d302b812af5d422)) +* **tests:** consolidated registry tests ([80ad530](https://github.com/shinybrar/skaha/commit/80ad530646b89c39e67215e1728179035ec7a124)) +* **tests:** ensure newline at end of file in test_servers_mixed_status ([b50349e](https://github.com/shinybrar/skaha/commit/b50349eb03148ff00afc6ff8062a887c3b68eb16)) +* **tests:** fix for comparing float values ([f391833](https://github.com/shinybrar/skaha/commit/f3918331f67cba6d4fa57ad6aef85d5804433be4)) +* **tests:** fix for stdout ([6c25d3e](https://github.com/shinybrar/skaha/commit/6c25d3e816a969954fda46d7edf765627182d685)) +* **tests:** for bad filenames ([f0f4831](https://github.com/shinybrar/skaha/commit/f0f483118dd97038ce811b6b0d6f846323c675ac)) +* **tests:** import ([54ed5fc](https://github.com/shinybrar/skaha/commit/54ed5fc492375a21292c556fb162542d90f5fc0f)) +* **tests:** refactor authentication tests to use updated model attributes and improve structure ([8cfa73f](https://github.com/shinybrar/skaha/commit/8cfa73ff536d8526c36474fe53a7032192d788b3)) +* **tests:** removed not needed tests ([d5be89c](https://github.com/shinybrar/skaha/commit/d5be89c87bbfdbc40f07237a91ff3cd3dddb1540)) +* **tests:** stdout related errors ([e262eb3](https://github.com/shinybrar/skaha/commit/e262eb3c7323180d67f8815995526cc9ca7347c4)) +* **tests:** tmp filename ([1dd4477](https://github.com/shinybrar/skaha/commit/1dd4477df330074d98645ce38fe4cedf05c317d6)) +* **tests:** update mock path mkdir lambda to accept arbitrary arguments ([2939796](https://github.com/shinybrar/skaha/commit/29397961baf9f0ac4d7640b488dd094349191738)) +* **tests:** update URL validation tests to reject 'sftp' scheme ([9117701](https://github.com/shinybrar/skaha/commit/9117701bfdf963ce2bf86f4bd0b107b3f026c737)) +* **tests:** updates ([53a0a7e](https://github.com/shinybrar/skaha/commit/53a0a7e461d1b64d130e968f0e8716c232519b8d)) +* **utils:** crypto fix for generating funny names :D ([2eff101](https://github.com/shinybrar/skaha/commit/2eff101998c927ce62fed6c414291a4af412e44a)) +* **wip:** lint/style/type-hinting ([ced042d](https://github.com/shinybrar/skaha/commit/ced042d425d657bbfb1e7375305aebdd304cb855)) +* **x509:** fixes for handling unintialized expiry ([76e7523](https://github.com/shinybrar/skaha/commit/76e7523344d903c72e4db272d11c1ad526769312)) +* **x509:** updated x509 auth utils to be all colocated and updated tests ([9e5e7c6](https://github.com/shinybrar/skaha/commit/9e5e7c6553389ac96d8eb018472c189ef60dc4f9)) + + +### Documentation + +* **auth:** added auth and context docs ([65d3c2e](https://github.com/shinybrar/skaha/commit/65d3c2ef5dcd3150c5aec07f5b801cb530272c9b)) +* **bug-reports:** added issue template and docs for reporting bugs ([1e177ea](https://github.com/shinybrar/skaha/commit/1e177ea5eee695a103d6b359f38d90626d1166a0)) +* **cli:** added docs ([9a7f20a](https://github.com/shinybrar/skaha/commit/9a7f20a5b9b48608d246047692bcf3309ed947fd)) +* **client:** updates ([3db735b](https://github.com/shinybrar/skaha/commit/3db735b8f4b94e9f0dccfc6717c68e6ebf6fdee1)) +* **contributing:** add note on alternative tooling for dependency management ([f7683db](https://github.com/shinybrar/skaha/commit/f7683db3d5886bdee25bf33aade192ae797f63c5)) +* **helpers:** updated docs for distributed.chunk and distributed.stripe usage ([a8c15a0](https://github.com/shinybrar/skaha/commit/a8c15a087cbc601bdebbceb311d0216a1976cb06)) +* **helpers:** updated docs to be better for advanced examples ([4eb7558](https://github.com/shinybrar/skaha/commit/4eb7558f297b57a1d1ba2e2dee62432e3acd2ef6)) +* **readme:** added migration notice ([baf5aaa](https://github.com/shinybrar/skaha/commit/baf5aaafa10658e8c8fd309b1286784912393903)) +* **skaha:** update ([e40bad4](https://github.com/shinybrar/skaha/commit/e40bad403b82e743acaf35b53d5180139241b47c)) +* **tests:** updated info about slow tests ([a4401a3](https://github.com/shinybrar/skaha/commit/a4401a3ef7680f5b23ddc9bc7a0a8ce6dda156e2)) +* **updates:** all over, work-in-progress ([8ea1cce](https://github.com/shinybrar/skaha/commit/8ea1cced8474ed2be7f6ea92552f306a7cc4a18f)) + ## [1.7.0](https://github.com/shinybrar/skaha/compare/v1.6.1...v1.7.0) (2025-05-28) diff --git a/pyproject.toml b/pyproject.toml index 2a76b18..4770cd9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "skaha" -version = "1.7.0" +version = "1.8.0" requires-python = ">=3.10" description = "Python Client for CANFAR Science Platform" license = { file = "LICENSE" }