# [5.9.0](https://github.com/frappe/bench/compare/v5.8.1...v5.9.0) (2022-06-08)
### Bug Fixes
* add code removed via erroneous commit ([b28cfab](b28cfab550))
* added code removed via erroneous commit ([5b64175](5b641758cf))
* added code removed via erroneous commit ([7e28a3d](7e28a3dd9e))
* allow bench init with git tags ([c943b30](c943b30c66))
* case-insensitive matching ([3f57616](3f57616803))
* check current branch ([2287f3f](2287f3f7ec))
* Check for unauthorized status code in response ([e9b0112](e9b0112a9c))
* check for valid branch in resolve ([79765e6](79765e6b25))
* checking status code to determine rate limit ([dbb1904](dbb19046df))
* Delete folder if --no-backup is passed ([f7f7459](f7f7459c51))
* Don't handle `BaseException`s ([ad000f1](ad000f1be7))
* empty states json condition ([67df07b](67df07b732))
* fixed app states and checking/updating frappe version on install ([30a4ec3](30a4ec3b42))
* fixed app states and checking/updating frappe version on install ([42f4d74](42f4d74beb))
* fixed args to sync-states ([c667be9](c667be9023))
* fixed frappe branch check ([6c15327](6c15327348))
* fixed init in get-app and frappe versions ([88c2367](88c23673d6))
* fixed init in get-app and frappe versions ([e3bd34c](e3bd34c12c))
* Fixed order of install ([281d96a](281d96ac16))
* fixed org, branch for apps mounted on disk ([#1293](https://github.com/frappe/bench/issues/1293)) ([c8ef822](c8ef8224d4))
* fixed states sync ([7f37488](7f374887f4))
* Handle tag fetching failures of disk mounted App inits ([117d456](117d456b16))
* logging when in init-bench ([a26f3ce](a26f3ce564))
* logging when in init-bench ([de315f2](de315f27ad))
* merge conflicts ([61a864d](61a864de11))
* merge conflicts ([ca45305](ca4530528c))
* minor fixes ([94105c0](94105c0aa8))
* minor fixes ([e629ca6](e629ca6f86))
* Misc fixes ([#1294](https://github.com/frappe/bench/issues/1294)) ([eb71573](eb715735bb))
* missing installed branch ([af3c871](af3c871632))
* print required by in output ([5bb3b52](5bb3b52f23))
* Remove virtualenv dependency ([e0f6b17](e0f6b1735d))
* **remove-app:** Use App.name instead of App.repo for consistent App name ([a3b859b](a3b859bf50))
* removed erroneous file push ([f2fe569](f2fe56962f))
* removed erroneous file push ([b7e46aa](b7e46aab6f))
* removed unnecessary requests while removing apps ([49900ce](49900ce74b))
* replace certbot-auto with certbot ([#1303](https://github.com/frappe/bench/issues/1303)) ([a889325](a88932592e))
* reverted changes made by erroneous commit ([b8aa008](b8aa00898f))
* reverted erroneous commits ([ff98aaf](ff98aaf198))
* support for local and remote apps when looking for dependencies ([2f17da1](2f17da1bf0))
* support single required app ([c8205e4](c8205e485d))
* updated apps.sync to support new app_name parameter ([7980709](7980709a20))
* User messages on get-app actions ([d33d987](d33d987b2c))
### Features
* add commit hash and branch in `states.json` ([9004e1d](9004e1dd6a))
* add required and order of install ([9ac091b](9ac091b4d9))
* Added app states ([fdab757](fdab757f9b))
* Added app states ([549e8e2](549e8e2a1d))
* Added app_name attribute to App class ([35504f8](35504f81b3))
* Added bench command for resolve and install ([cdaeea1](cdaeea1d4a))
* Added bench command for resolve and install ([7a311a2](7a311a242d))
* Added exception for invalid version ([ddd498e](ddd498ebd0))
* Added support for backward compatibility in states ([a1a35ee](a1a35eed0e))
* added support for fetching dependencies from hooks.py ([58319a2](58319a21b7))
* added support for fetching dependencies from hooks.py ([7f678a3](7f678a3047))
* Added support for mounted app in get_dependencies ([0b862c0](0b862c0745))
* alternative request to validate branch ([8dd92c3](8dd92c32b1))
* **config:** Add IPv6 listener to nginx site configuration ([#1312](https://github.com/frappe/bench/issues/1312)) ([593c7b7](593c7b737f))
* Exiting when app does not exist ([fc0be25](fc0be250c2))
* introduced simple resolver ([bfd69c3](bfd69c37eb))
* introduced simple resolver ([d41e05e](d41e05e24f))
* Made dynamic mount path if bench attr is passed to App class ([b36c072](b36c0723be))
* mimicking get-app behaviour when app is already installed ([bbca3e9](bbca3e9fab))
* printing resolved dependencies when using resolve-deps flag wih get-app ([95b0834](95b0834932))
* printing resolved dependencies when using resolve-deps flag wih get-app ([bba4019](bba4019579))
* **remove-app:** Options for no backup of app & force removal ([69e14e5](69e14e512f))
* slower alternative for get_required_deps ([d0bd294](d0bd294dc2))
* using gitpython for branch validation ([cb2b0b0](cb2b0b0d7c))
* verbose env setup & checking for compatible versions ([d178b08](d178b08abb))
* verbose error messages ([19f9325](19f932513f))
### Performance Improvements
* caching deps and orgs, repos to avoid time taking checks & added slower version to check org and repo ([bd105a6](bd105a6609))
* Using github API ([b0ae3ae](b0ae3ae359))
Use virtualenv cli only if found in PATH. Else use
venv package of the invoker's Python installation.
venv was added in the std lib since PY33.
ref: https://docs.python.org/3/library/venv.html
* fix: replace certbot-auto references with certbot and add in prerequesites ansile tasks
* fix: config file flag fix
* fix: certbot path using find_executable instead of hardcoded
* fix: remove easy install entry for certbot
* fix: replace find_executable with which
* fix: no need to check and raise.
* fix: provide user with cerbot install instructions"
* fix: return certbot path
* fix: Use get_certbot_path instead of harcoded path
Co-authored-by: Abhishek Balam <abhishekbalam96@gmail.com>
Co-authored-by: gavin <gavin18d@gmail.com>
* Get-app from port specific ssh git server
Current bench package fails to get an app from a private git server with a specific ssh port other than the normal 22.
* test: Added tests for ssh ports
Co-authored-by: Aradhya Tripathi <67282231+Aradhya-Tripathi@users.noreply.github.com>
Co-authored-by: Aradhya <aradhyatripathi51@gmail.com>
The script has been untested and unmaintained for a while. We've asked
for help in maintenance but nobody seems to want to undertake it.
With newer versions of distros and packages coming out each day, setups
get more and more volatile. Making these tests run in the CI don't
reflect how it would go down irl as no server comes with the same base
config. Apart from the base sanity, these tests are just a waste of
carbon. Removing them.
* fix: use better api endpoint for is_valid_frappe_branch
* fix: dont allow appnames starting with number and/or dot in them
* fix: dont convert response to json
* fix: using ls-remote to check for valid branches
* refactor: changed the message displayed on invalid branch and invalid frappe path
Co-authored-by: Aradhya <aradhyatripathi51@gmail.com>
Co-authored-by: Aradhya Tripathi <67282231+Aradhya-Tripathi@users.noreply.github.com>
* fix: fixed org, branch for apps mounted on disk
* fix: DRY-er code
* fix: fixed loading apps when use_ssh is true
* fix: removed flaky tests to test dependencies
* fix: removed exception if app not found in frappe or erpnext org
* fix: remote server
* test: Updated tests
fix: tests
* fix: raise when org is not found
* fix: setup requirements
* fix: falling back to original method of mounted app initialization if git repo isn't found