diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..d546614f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,42 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: ":new:, bug" +assignees: '' + +--- + +## Bug Report + + + +### Environment + - `jrnl --diagnostic` output: + - Install method: + +### Current Behavior + + +### Expected Behavior + + +### Repro Steps + + +### Other Information + diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml deleted file mode 100644 index 0303209b..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ /dev/null @@ -1,74 +0,0 @@ -name: Bug Report -description: Create a report to help us improve -title: "Bug Report" -labels: [ ":new:", "bug" ] -body: - - type: markdown - attributes: - value: | - # Bug Report - Hello, and thank you for reporting an issue! - - Please fill out the points below, as it will make our process much easier. - - - type: textarea - id: diagnostic - attributes: - label: Diagnostic output - description: Run `jrnl --diagnostic` and paste the output below - placeholder: Paste output here - validations: - required: true - - - type: textarea - id: current-behavior - attributes: - label: Current Behavior - description: Please put a short description of what is currently happening. - placeholder: Tell us what is happening - validations: - required: true - - - type: textarea - id: expected-behavior - attributes: - label: Expected Behavior - description: Please write a short description of what you would expect to happen - placeholder: Tell us what should be happening - validations: - required: true - - - type: textarea - id: repro-steps - attributes: - label: Repro Steps - description: | - Provide the steps to reproduce the problem. - - Please be as precise as possible, since more info will let us help you faster. - placeholder: Repro steps - validations: - required: true - - - type: textarea - id: debug-output - attributes: - label: Debug output - description: | - Please provide the output of your command with the `--debug` flag on. - placeholder: "example: `jrnl --debug lorem ipsum`" - validations: - required: true - - - type: textarea - id: other-info - attributes: - label: Other Information - description: > - Is there anything else we should know? - - (e.g. more detailed explanation, stacktraces, related - issues, suggestions how to fix, links for us to have context, eg. - stackoverflow, gitter, etc) - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md new file mode 100644 index 00000000..dc186ee9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -0,0 +1,31 @@ +--- +name: Documentation Change +about: Request or report any updates to our documentation (https://jrnl.sh) +title: '' +labels: ":new:, documentation" +assignees: '' + +--- + +## Documentation Change + + +### Affected Page(s) + + - + +### What Could Be Better? + + +### Other Information + diff --git a/.github/ISSUE_TEMPLATE/documentation.yaml b/.github/ISSUE_TEMPLATE/documentation.yaml deleted file mode 100644 index 32e58533..00000000 --- a/.github/ISSUE_TEMPLATE/documentation.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: Documentation Change -description: Request or report any updates to our documentation (https://jrnl.sh) -title: Documentation Change -labels: [ ":new:", "documentation" ] -body: - - type: markdown - attributes: - value: | - # Documentation Change - Hello, and thank you for reporting an issue! - - Please fill out the points below, as it will make our process much easier. - - - type: textarea - id: affected-pages - attributes: - label: Affected Page(s) - description: > - Please tell us which page, or pages, from the documentation site - (https://jrnl.sh) are affected in this issue - placeholder: "example: https://jrnl.sh/en/stable/overview" - validations: - required: true - - - type: textarea - id: what-could-be-better - attributes: - label: What Could Be Better? - description: > - Please write a short description of what you hope can be clarified or - further explained. - validations: - required: true - - - type: textarea - id: other-info - attributes: - label: Other Information - description: Is there anything else we should know that might be helpful? - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..d9061604 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,31 @@ +--- +name: Feature request +about: Suggest an idea for jrnl +title: '' +labels: ":new:, enhancement" +assignees: '' + +--- + +## Feature Request + + +### Use Case/Motivation + + +### Example Usage + + +### Other information + diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml deleted file mode 100644 index 9d0494c4..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ /dev/null @@ -1,43 +0,0 @@ -name: Feature Request -description: Suggest an idea for jrnl -title: "Feature Report" -labels: [ ":new:", "enhancement" ] -body: - - type: markdown - attributes: - value: | - # Feature Request - Hello, and thank you for reporting an issue! - - Please fill out the points below, as it will make our process much easier. - - - type: textarea - id: user-case - attributes: - label: Use Case/Motivation - description: What is the motivation / use case for changing the behavior? - placeholder: Tell us about your idea - validations: - required: true - - - type: textarea - id: example-usage - attributes: - label: Example Usage - description: Please provide examples of the usage you would like to see. - placeholder: e.g `jrnl --new-flag="super cool new feature"` - validations: - required: true - - - type: textarea - id: other-info - attributes: - label: Other Information - description: > - Is there anything else we should know? - - (e.g. more detailed explanation, stacktraces, related - issues, suggestions how to fix, links for us to have context, eg. - stackoverflow, gitter, etc) - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/support_request.md b/.github/ISSUE_TEMPLATE/support_request.md new file mode 100644 index 00000000..e7d1a96f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/support_request.md @@ -0,0 +1,40 @@ +--- +name: Support Request +about: Get help with jrnl +title: '' +labels: ":new:, support" +assignees: '' + +--- + +## Support Request + + +### Environment + + - Jrnl `--diagnostic` output: + - Install method: + +### What are you trying to do? + + +### What have you tried? + + +### Other Information + diff --git a/.github/ISSUE_TEMPLATE/support_request.yaml b/.github/ISSUE_TEMPLATE/support_request.yaml deleted file mode 100644 index 21c9bddc..00000000 --- a/.github/ISSUE_TEMPLATE/support_request.yaml +++ /dev/null @@ -1,54 +0,0 @@ -name: Support Request -description: Get help with jrnl -title: Support Request -labels: [ ":new:", "support" ] -body: - - type: markdown - attributes: - value: | - # Support Request - Hello, and thank you for reporting an issue! - - Please fill out the points below, as it will make our process much easier. - - - type: textarea - id: diagnostic - attributes: - label: Diagnostic output - description: Run `jrnl --diagnostic` and paste the output below - placeholder: Paste output here - validations: - required: true - - - type: textarea - id: current-behavior - attributes: - label: What are you trying to do? - description: Please put a short description of what is happening. - placeholder: Tell us what is happening - validations: - required: true - - - type: textarea - id: tried - attributes: - label: What have you tried? - description: > - Have you tried anything to fix the problem? This can help give us more - information to help you with. - placeholder: Tell us what should be happening - validations: - required: true - - - type: textarea - id: other-info - attributes: - label: Other Information - description: > - Is there anything else we should know? - - (e.g. more detailed explanation, stacktraces, related - issues, suggestions how to fix, links for us to have context, eg. - stackoverflow, gitter, etc) - validations: - required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 37711e2c..695290e8 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -12,13 +12,13 @@ Here are some key points to include in your description: ### Checklist -- [ ] I have read the [contributing doc](https://github.com/jrnl-org/jrnl/blob/develop/docs/contributing.md). +- [ ] I have read the [contributing doc](https://github.com/jrnl-org/jrnl/blob/develop/CONTRIBUTING.md). - [ ] I have included a link to the relevant issue number. - [ ] I have checked to ensure there aren't other open [pull requests](../pulls) for the same issue. - [ ] I have written new tests for these changes, as needed. diff --git a/.github/actionlint-matcher.json b/.github/actionlint-matcher.json deleted file mode 100644 index 4613e161..00000000 --- a/.github/actionlint-matcher.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "problemMatcher": [ - { - "owner": "actionlint", - "pattern": [ - { - "regexp": "^(?:\\x1b\\[\\d+m)?(.+?)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*: (?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)* \\[(.+?)\\]$", - "file": 1, - "line": 2, - "column": 3, - "message": 4, - "code": 5 - } - ] - } - ] -} diff --git a/.github/actions/run_tests/action.yaml b/.github/actions/run_tests/action.yaml deleted file mode 100644 index 490a00c4..00000000 --- a/.github/actions/run_tests/action.yaml +++ /dev/null @@ -1,46 +0,0 @@ -name: run jrnl tests -description: Runs all jrnl tests on multiple platforms -inputs: - cache-string: - description: 'Cache string secret. Change to bust the cache' - required: true -runs: - using: "composite" - steps: - - run: git config --global core.autocrlf false - shell: bash - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - allow-prereleases: true - - - name: Capture full Python version in env - run: echo "PYTHON_FULL_VERSION=$(python --version)" >> $GITHUB_ENV - shell: bash - - - name: poetry cache # Change CACHE_STRING secret to bust the cache - uses: actions/cache@v4 - with: - path: .venv - key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ env.PYTHON_FULL_VERSION }}-${{ inputs.cache-string }} - - - name: Install dependencies - run: | - echo '::group::poetry' - pip --disable-pip-version-check install poetry - poetry config --local virtualenvs.in-project true - echo '::endgroup::' - - echo '::group::Other dependencies' - poetry sync - echo '::endgroup::' - - echo 'DEPS_INSTALLED=true' >> $GITHUB_ENV - shell: bash - - - name: Linting & Testing - if: ${{ env.DEPS_INSTALLED == 'true' }} - run: poetry run poe test - shell: bash diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..070f47f8 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 + reviewers: + - wren + - micahellison + labels: + - packaging diff --git a/.github/renovate.json b/.github/renovate.json deleted file mode 100644 index 5aa9f254..00000000 --- a/.github/renovate.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base" - ], - "schedule": [ "at any time" ], - "prConcurrentLimit": 10, - "prHourlyLimit": 10, - "reviewers": [ - "wren", - "micahellison" - ], - "labels": [ "packaging" ] -} diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml index a9347a13..c8d184ec 100644 --- a/.github/workflows/changelog.yaml +++ b/.github/workflows/changelog.yaml @@ -1,6 +1,3 @@ -# Copyright © 2012-2023 jrnl contributors -# License: https://www.gnu.org/licenses/gpl-3.0.html - name: Changelog on: @@ -21,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 with: token: ${{ secrets.JRNL_BOT_TOKEN }} @@ -52,14 +49,14 @@ jobs: if [[ ! ${GITHUB_REF##*/} =~ $prerelease_regex ]]; then echo '::debug::Actual release (not a prerelease)' TAG_REGEX="$prerelease_regex" - echo "FULL_RELEASE=true" >> "$GITHUB_ENV" + echo "FULL_RELEASE=true" >> $GITHUB_ENV fi fi echo "::debug::TAG_REGEX: $TAG_REGEX" - if [[ "$(git rev-parse "origin/$BRANCH")" != "$GITHUB_SHA" ]]; then + if [[ "$(git rev-parse "origin/$BRANCH")" != $GITHUB_SHA ]]; then # Normal build on a branch (no tag) - echo "::debug::BRANCH: $BRANCH $(git rev-parse "origin/$BRANCH")" + echo "::debug::BRANCH: $BRANCH $(git rev-parse origin/$BRANCH)" echo "::debug::GITHUB_SHA: $GITHUB_SHA" echo "::error::$BRANCH has been updated since build started. Aborting changelog." exit 1 @@ -72,12 +69,10 @@ jobs: echo "::debug::FILENAME: CHANGELOG.md" echo "::debug::SINCE_TAG: $SINCE_TAG" - { - echo "BRANCH=$BRANCH" - echo "TAG_REGEX=$TAG_REGEX" - echo "FILENAME=CHANGELOG.md" - echo "SINCE_TAG=$SINCE_TAG" - } >> "$GITHUB_ENV" + echo "BRANCH=$BRANCH" >> $GITHUB_ENV + echo "TAG_REGEX=$TAG_REGEX" >> $GITHUB_ENV + echo "FILENAME=CHANGELOG.md" >> $GITHUB_ENV + echo "SINCE_TAG=$SINCE_TAG" >> $GITHUB_ENV - name: Prep changelog file (clear out old lines) run: | @@ -97,7 +92,7 @@ jobs: exit 1 fi - sed -i "1,$(( tagline - 1 ))d" "$FILENAME" + sed -i "1,$(expr $tagline - 1)d" "$FILENAME" # delete generated line (or it will be added multiple times) sed -i '/This Changelog was automatically generated by/d' "$FILENAME" # delete trailing empty lines @@ -141,30 +136,22 @@ jobs: SOMETHING_CHANGED=false git diff --exit-code || SOMETHING_CHANGED=true echo "::debug::SOMETHING_CHANGED: $SOMETHING_CHANGED" - echo "SOMETHING_CHANGED=$SOMETHING_CHANGED" >> "$GITHUB_ENV" + echo "SOMETHING_CHANGED=$SOMETHING_CHANGED" >> $GITHUB_ENV - name: Commit if: env.SOMETHING_CHANGED == 'true' run: | - git config --global user.name "${{ secrets.JRNL_BOT_NAME }}" - git config --global user.email "${{ secrets.JRNL_BOT_EMAIL }}" + git config user.email "jrnl.bot@gmail.com" + git config user.name "Jrnl Bot" git add "$FILENAME" git commit -m "Update changelog [ci skip]" - git push origin "$BRANCH" - - - name: Update tag to include changelog - if: startsWith(env.GITHUB_REF, 'refs/tags/') - run: | - # This is a tag build (releases and prereleases) - # update the tag to include the changelog - git tag -fam "$GITHUB_REF_NAME" "$GITHUB_REF_NAME" - git push --tags --force + git push origin $BRANCH - name: Merge to Release branch if: env.FULL_RELEASE == 'true' run: | git fetch --unshallow origin git checkout release - git merge --ff-only "$BRANCH" + git merge --ff-only $BRANCH git push origin release diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 3f5fe714..3b8cfa96 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -1,6 +1,3 @@ -# Copyright © 2012-2023 jrnl contributors -# License: https://www.gnu.org/licenses/gpl-3.0.html - name: Docs on: @@ -12,8 +9,6 @@ on: - 'mkdocs.yml' - 'readthedocs.yml' - '.github/workflows/docs.yaml' - - 'tasks.py' - - 'pyproject.toml' pull_request: branches: [ develop ] paths: @@ -22,41 +17,31 @@ on: - 'mkdocs.yml' - 'readthedocs.yml' - '.github/workflows/docs.yaml' - - 'tasks.py' - - 'pyproject.toml' jobs: accessibility: if: contains(toJson(github.event.commits), '[ci skip]') == false runs-on: ubuntu-latest - strategy: - fail-fast: true - matrix: - python-version: [ '3.11' ] - os: [ ubuntu-latest ] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v2 with: - python-version: ${{ matrix.python-version }} + python-version: 3.9 - name: Setup Node.js environment uses: actions/setup-node@main - - name: Capture full Python version in env - run: echo "PYTHON_FULL_VERSION=$(python --version)" >> "$GITHUB_ENV" - - name: poetry cache - uses: actions/cache@v4 + uses: actions/cache@v2 with: path: .venv - key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ env.PYTHON_FULL_VERSION }}-${{ secrets.CACHE_STRING }} + key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ matrix.python-version }} - name: npm cache - uses: actions/cache@v4 + uses: actions/cache@v2 with: path: node_modules key: ${{ runner.os }}-pa11y-v3 @@ -65,12 +50,19 @@ jobs: run: | pip install poetry poetry config --local virtualenvs.in-project true - poetry sync --no-root - npm install - echo "node_modules/.bin" >> "$GITHUB_PATH" + poetry install --no-root --remove-untracked + npm install pa11y-ci + echo "node_modules/.bin" >> $GITHUB_PATH - name: Start docs server - run: poetry run poe docs-run & + run: poetry run mkdocs serve & + + - name: Generate sitemap + env: + site_url: http://127.0.0.1:8000 + run: | + select="{urls: [\"${site_url}/\", \"${site_url}/search.html?q=jrnl\", .urlset.url[].loc]}" + curl -s "$site_url/sitemap.xml" | poetry run xq "$select" > list.json - name: Accessibility testing (Pa11y) - run: poetry run poe docs-check + run: pa11y-ci -c list.json diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f8e203b2..5e0169c1 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,22 +1,20 @@ -# Copyright © 2012-2023 jrnl contributors -# License: https://www.gnu.org/licenses/gpl-3.0.html - name: Release on: workflow_dispatch: inputs: version: description: 'Version (e.g. v2.5, v2.5.1-beta, v2.6-beta2)' - type: string required: true include_repo_version: - description: 'Update version in repo?' - type: boolean - required: true + description: 'Update version in repo? (true/false)' + require: true default: true include_pypi: - description: 'Publish to PyPI?' - type: boolean + description: 'Publish to PyPI? (true/false)' + required: true + default: true + include_brew: + description: 'Publish to Homebrew? (true/false)' required: true default: true @@ -58,15 +56,15 @@ jobs: run: | JRNL_VERSION="${{ github.event.inputs.version }}" echo "::debug::version: $JRNL_VERSION" - echo "JRNL_VERSION=$JRNL_VERSION" >> "$GITHUB_ENV" + echo "JRNL_VERSION=$JRNL_VERSION" >> $GITHUB_ENV - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v2 with: - python-version: '3.13' + python-version: 3.9 - name: Checkout repo - uses: actions/checkout@v4 + uses: actions/checkout@v2 with: token: ${{ secrets.JRNL_BOT_TOKEN }} @@ -82,7 +80,7 @@ jobs: if: ${{ github.event.inputs.include_repo_version == 'true' }} run: | poetry version "$JRNL_VERSION" - echo "__version__ = \"$JRNL_VERSION\"" > jrnl/__version__.py + echo __version__ = \"$JRNL_VERSION\" > jrnl/__version__.py - name: Commit updated files if: ${{ github.event.inputs.include_repo_version == 'true' && github.repository == env.HOME_REPO }} @@ -105,5 +103,113 @@ jobs: - name: Get PyPI version id: pypi-version-getter run: | - pypi_version="$(find dist/jrnl-*.tar.gz | sed -r 's!dist/jrnl-(.*)\.tar\.gz!\1!')" - echo "pypi_version=$pypi_version" >> "$GITHUB_OUTPUT" + pypi_version="$(ls dist/jrnl-*.tar.gz | sed -r 's!dist/jrnl-(.*)\.tar\.gz!\1!')" + echo "::set-output name=pypi_version::$pypi_version" + + release_homebrew: + if: ${{ github.event.inputs.include_brew == 'true' }} + needs: release_pypi + name: "Release to Homebrew" + runs-on: macos-latest + env: + HOMEBREW_NO_AUTO_UPDATE: 1 + HOMEBREW_NO_INSTALL_CLEANUP: 1 + HOME_REPO: ${{ secrets.HOME_REPO }} + steps: + - name: Get version + run: | + JRNL_VERSION="${{ github.event.inputs.version }}" + PYPI_VERSION="${{ needs.release_pypi.outputs.pypi_version }}" + + echo "::debug::jrnl version: $JRNL_VERSION" + echo "::debug::pypi version: $PYPI_VERSION" + + echo "JRNL_VERSION=$JRNL_VERSION" >> $GITHUB_ENV + echo "PYPI_VERSION=$PYPI_VERSION" >> $GITHUB_ENV + + - name: Set env variables + env: + REPO_OWNER: ${{ github.repository_owner }} + run: | + if [[ $JRNL_VERSION =~ (alpha|beta) ]]; then + echo '::debug::Prerelease (not a full release)' + { + echo "RELEASE_TYPE=pre" + echo "FORMULA_REPO=${REPO_OWNER}/homebrew-prerelease" + echo "BOT_REPO=jrnl-bot/homebrew-prerelease" + echo "FORMULA_NAME=jrnl-beta" + } >> $GITHUB_ENV + else + echo '::debug::Full release (not a prerelease)' + if [[ "${{ github.repository }}" == "${HOME_REPO}" ]]; then + REPO_OWNER="homebrew" + fi + { + echo "RELEASE_TYPE=full" + echo "FORMULA_REPO=${REPO_OWNER}/homebrew-core" + echo "BOT_REPO=jrnl-bot/homebrew-core" + echo "FORMULA_NAME=jrnl" + } >> $GITHUB_ENV + fi + + - name: Tap formula + run: | + brew tap ${FORMULA_REPO} + echo '::debug::Set tap directory' + echo "BREW_TAP_DIRECTORY=$(brew --repo ${FORMULA_REPO})" >> $GITHUB_ENV + - name: Install dependencies + run: brew install pipgrip + + - name: Query PyPI API + uses: nick-invision/retry@v2 + with: + timeout_seconds: 10 + max_attempts: 30 + retry_wait_seconds: 10 + command: | + curl -Ls https://pypi.org/pypi/jrnl/json > api_response.json + # if query doesn't have our version yet, give it some time before trying again + if [[ "null" == "$(jq ".releases[\"${PYPI_VERSION}\"][1].url" -r api_response.json)" ]]; then + echo "::debug::PYPI_VERSION: $PYPI_VERSION" + echo "::debug::JQ VALUE: $(jq ".releases[\"${PYPI_VERSION}\"][1].url" -r api_response.json)" + echo "::group::cat api_response.json" + cat api_response.json + echo "::endgroup::" + exit 1 + fi + + - name: Update Homebrew Formula + uses: nick-invision/retry@v2 + with: + timeout_minutes: 8 + max_attempts: 6 + retry_wait_seconds: 30 + command: > + brew bump-formula-pr "${FORMULA_NAME}" + --url $(jq ".releases[\"${PYPI_VERSION}\"][1].url" -r api_response.json) + --sha256 $(jq ".releases[\"${PYPI_VERSION}\"][1].digests.sha256" -r api_response.json) + --no-audit + --write + --force + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3 + with: + path: ${{ env.BREW_TAP_DIRECTORY }} + token: ${{ secrets.JRNL_BOT_TOKEN }} + push-to-fork: ${{ env.BOT_REPO }} + + committer: ${{ secrets.JRNL_BOT_NAME }} <${{ secrets.JRNL_BOT_EMAIL }}> + author: ${{ secrets.JRNL_BOT_NAME }} <${{ secrets.JRNL_BOT_EMAIL }}> + + title: jrnl ${{ env.JRNL_VERSION }} + body: Created with `brew bump-formula-pr` + + branch: jrnl-${{ env.JRNL_VERSION }}-- + branch-suffix: random + commit-message: | + jrnl ${{ env.JRNL_VERSION }} + + Update jrnl to ${{ env.JRNL_VERSION }} + + ${{ secrets.RELEASE_COAUTHORS }} diff --git a/.github/workflows/testing.yaml b/.github/workflows/testing.yaml new file mode 100644 index 00000000..63e50ea2 --- /dev/null +++ b/.github/workflows/testing.yaml @@ -0,0 +1,81 @@ +name: Testing + +on: + push: + branches: [ develop, release ] + paths: + - 'jrnl/**' + - 'features/**' + - 'tests/**' + - 'poetry.lock' + - 'pyproject.toml' + - '.github/workflows/testing.yaml' + pull_request: + branches: [ develop ] + paths: + - 'jrnl/**' + - 'features/**' + - 'tests/**' + - 'poetry.lock' + - 'pyproject.toml' + - '.github/workflows/testing.yaml' + +defaults: + run: + shell: bash # needed to prevent Windows from using PowerShell + +jobs: + test: + if: > + ! contains(github.event.head_commit.message, '[ci skip]') + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.python-version == '3.11-dev' }} + strategy: + fail-fast: false + matrix: + python-version: [ 3.7, 3.8, 3.9, '3.10', 3.11-dev ] + os: [ ubuntu-latest, macos-latest, windows-latest ] + + steps: + - run: git config --global core.autocrlf false + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: poetry cache # Change CACHE_STRING secret to bust the cache. Useful with minor Python version changes. + uses: actions/cache@v2 + with: + path: .venv + key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ matrix.python-version }}-${{ secrets.CACHE_STRING }} + + - name: Install dependencies + run: | + echo '::group::poetry' + pip --disable-pip-version-check install poetry + poetry config --local virtualenvs.in-project true + echo '::endgroup::' + + echo '::group::Other dependencies' + poetry install --remove-untracked + echo '::endgroup::' + + echo 'DEPS_INSTALLED=true' >> $GITHUB_ENV + + - name: Code formatting (Black) + if: ${{ env.DEPS_INSTALLED == 'true' }} + run: | + poetry run black --version + poetry run black --check --diff . + + - name: Code Style (flake8) + if: ${{ env.DEPS_INSTALLED == 'true' }} + run: | + poetry run pflake8 --version + poetry run pflake8 jrnl tests + + - name: Test with pytest + if: ${{ env.DEPS_INSTALLED == 'true' }} + run: poetry run pytest --junitxml=reports/pytest/results.xml diff --git a/.github/workflows/testing_pipelines.yaml b/.github/workflows/testing_pipelines.yaml deleted file mode 100644 index fbba51f1..00000000 --- a/.github/workflows/testing_pipelines.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright © 2012-2023 jrnl contributors -# License: https://www.gnu.org/licenses/gpl-3.0.html - -name: Testing Pipeline Files - -on: - push: - branches: [ develop, release ] - paths: - - '.github/workflows/**' - - '.github/actions/**' - pull_request: - branches: [ develop ] - paths: - - '.github/workflows/**' - - '.github/actions/**' - schedule: - - cron: '0 0 * * SAT' - -jobs: - test: - if: > - ! contains(github.event.head_commit.message, '[ci skip]') - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ ubuntu-latest ] - steps: - - run: git config --global core.autocrlf false - - uses: actions/checkout@v4 - - name: Check workflow files - uses: docker://rhysd/actionlint:latest - with: - args: -color diff --git a/.github/workflows/testing_prs.yaml b/.github/workflows/testing_prs.yaml deleted file mode 100644 index 42a3f86f..00000000 --- a/.github/workflows/testing_prs.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright © 2012-2023 jrnl contributors -# License: https://www.gnu.org/licenses/gpl-3.0.html - -name: Testing - -on: - push: - branches: [ develop, release ] - paths: - - 'jrnl/**' - - 'features/**' - - 'tests/**' - - 'poetry.lock' - - 'pyproject.toml' - - '.github/workflows/testing_prs.yaml' - - 'tasks.py' - pull_request: - branches: [ develop ] - paths: - - 'jrnl/**' - - 'features/**' - - 'tests/**' - - 'poetry.lock' - - 'pyproject.toml' - - '.github/workflows/testing_prs.yaml' - - 'tasks.py' - -defaults: - run: - shell: bash # needed to prevent Windows from using PowerShell - -jobs: - test: - if: > - ! contains(github.event.head_commit.message, '[ci skip]') - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: [ '3.10', '3.11', '3.12', '3.13' ] - os: [ ubuntu-latest, macos-latest, windows-latest ] - steps: - - run: git config --global core.autocrlf false - - uses: actions/checkout@v4 - - name: Run tests - uses: ./.github/actions/run_tests - with: - cache-string: ${{ secrets.CACHE_STRING }} diff --git a/.github/workflows/testing_schedule.yaml b/.github/workflows/testing_schedule.yaml deleted file mode 100644 index 9791349c..00000000 --- a/.github/workflows/testing_schedule.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright © 2012-2023 jrnl contributors -# License: https://www.gnu.org/licenses/gpl-3.0.html - -name: Testing - -on: - schedule: - - cron: '0 0 * * SAT' - -defaults: - run: - shell: bash # needed to prevent Windows from using PowerShell - -jobs: - test_all: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: [ '3.10', '3.11', '3.12', '3.13' ] - os: [ ubuntu-latest, macos-latest, windows-latest ] - steps: - - run: git config --global core.autocrlf false - - uses: actions/checkout@v4 - - name: Run tests - uses: ./.github/actions/run_tests - with: - cache-string: ${{ secrets.CACHE_STRING }} diff --git a/.gitignore b/.gitignore index 938692b0..41d2df7b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,63 +1,62 @@ -# Byte-compiled DLL and Shared Library files *.py[cod] + +# C extensions *.so +.python-version # Packages *.egg -*.egg-info/ +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs .installed.cfg -bin/ -build/ -develop-eggs/ -dist/ -eggs/ -lib64/ -parts/ -sdist/ -.tox/ -var/ -node_modules/ -__pycache__/ -.pytest_cache/ -.flakeheaven_cache/ - -# Versioning +lib64 .python-version -.tool-versions # Installer logs +pip-log.txt .DS_Store .travis-solo Icon -pip-log.txt # Documentation _build _sources _static -coverage.xml -exp/ objects.inv searchindex.js -# virtualenv -.venv*/ +# MS Visual Studio (PyTools) +obj +*.pyproj +*.sln +*.suo + +# virtaulenv env/ env*/ venv*/ +.venv*/ -# Editor and IDE specific files -# Since contributors may want to user a variety of development tools it is -# recommended that editor specific file types be ignored globally by each -# contributor via a global gitignore. Instructions for setting up a global -# ignore file can be found here: -# https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files -# (Configuring ignored files for all repositories on your computer) -# Examples of such files are: -# MS Visual Studio (PyTools) -# obj -# *.suo -# PyCharm -# .idea/ -# VS Code -# .vscode/settings.json \ No newline at end of file +# PyCharm Project files +.idea/ + +# export testing directories +exp/ + +_extras/ +*.sublime-* +site/ + +.vscode/settings.json +coverage.xml +.vscode/launch.json +.coverage +.vscode/tasks.json +todo.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index ba714328..1cee5260 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,439 +2,43 @@ ## [Unreleased](https://github.com/jrnl-org/jrnl/) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v4.2.1...HEAD) - -**Fixed bugs:** - -- poetry warning - "poetry.dev-dependencies" section is deprecated [\#1975](https://github.com/jrnl-org/jrnl/issues/1975) -- Homebrew autobump error on jrnl release [\#1961](https://github.com/jrnl-org/jrnl/issues/1961) - -**Build:** - -- Remove release step to publish to Homebrew [\#1994](https://github.com/jrnl-org/jrnl/pull/1994) ([micahellison](https://github.com/micahellison)) - -**Packaging:** - -- Update dependency rich to v14 [\#1989](https://github.com/jrnl-org/jrnl/pull/1989) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency python to 3.13 [\#1988](https://github.com/jrnl-org/jrnl/pull/1988) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tox to v4.25.0 [\#1986](https://github.com/jrnl-org/jrnl/pull/1986) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tzlocal to v5.3.1 [\#1984](https://github.com/jrnl-org/jrnl/pull/1984) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency jinja2 to v3.1.6 [\#1983](https://github.com/jrnl-org/jrnl/pull/1983) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency poethepoet to v0.33.1 [\#1982](https://github.com/jrnl-org/jrnl/pull/1982) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest to v8.3.5 [\#1981](https://github.com/jrnl-org/jrnl/pull/1981) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency cryptography to v44.0.2 [\#1980](https://github.com/jrnl-org/jrnl/pull/1980) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ruff to v0.11.3 [\#1978](https://github.com/jrnl-org/jrnl/pull/1978) ([renovate[bot]](https://github.com/apps/renovate)) - -## [v4.2.1](https://pypi.org/project/jrnl/v4.2.1/) (2025-02-25) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v4.2...v4.2.1) - -**Documentation:** - -- Typing animation in landing page is broken [\#1969](https://github.com/jrnl-org/jrnl/issues/1969) - -**Packaging:** - -- Update dependency pytest to \>=8.1.1 [\#1974](https://github.com/jrnl-org/jrnl/pull/1974) ([wren](https://github.com/wren)) -- Update dependency black to v25 [\#1973](https://github.com/jrnl-org/jrnl/pull/1973) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tzlocal to v5.3 [\#1972](https://github.com/jrnl-org/jrnl/pull/1972) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ruamel.yaml to v0.18.10 [\#1967](https://github.com/jrnl-org/jrnl/pull/1967) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency jinja2 to v3.1.5 [\#1966](https://github.com/jrnl-org/jrnl/pull/1966) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency cryptography to v44 [\#1962](https://github.com/jrnl-org/jrnl/pull/1962) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest-bdd to v8.1.0 [\#1952](https://github.com/jrnl-org/jrnl/pull/1952) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency poethepoet to v0.32.2 [\#1951](https://github.com/jrnl-org/jrnl/pull/1951) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency keyring to v25.6.0 [\#1948](https://github.com/jrnl-org/jrnl/pull/1948) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ruff to v0.9.7 [\#1947](https://github.com/jrnl-org/jrnl/pull/1947) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency rich to v13.9.4 [\#1946](https://github.com/jrnl-org/jrnl/pull/1946) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tox to v4.24.1 [\#1945](https://github.com/jrnl-org/jrnl/pull/1945) ([renovate[bot]](https://github.com/apps/renovate)) - -## [v4.2](https://pypi.org/project/jrnl/v4.2/) (2024-11-17) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v4.2-beta...v4.2) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.3...HEAD) **Implemented enhancements:** -- Add Python 3.13 support [\#1893](https://github.com/jrnl-org/jrnl/issues/1893) -- Add calendar heatmap display format [\#1759](https://github.com/jrnl-org/jrnl/pull/1759) ([alichtman](https://github.com/alichtman)) - -**Fixed bugs:** - -- -contains doesn't accept multiple search terms, doesn't work with -and [\#1877](https://github.com/jrnl-org/jrnl/issues/1877) -- Tests failing on develop branch starting with pytest-bdd 7.1.2 [\#1875](https://github.com/jrnl-org/jrnl/issues/1875) -- Ignore color when used in a pipeline [\#1839](https://github.com/jrnl-org/jrnl/issues/1839) -- Fix -contains to allow multiple terms with "OR" logic unless -and is added [\#1890](https://github.com/jrnl-org/jrnl/pull/1890) ([eigenric](https://github.com/eigenric)) - -**Documentation:** - -- Recommend pipx as default installation method [\#1888](https://github.com/jrnl-org/jrnl/issues/1888) -- Remove documentation recommendation to install pipx through brew or pip [\#1886](https://github.com/jrnl-org/jrnl/issues/1886) -- Document security risks of using a computer that someone else has admin access to [\#1793](https://github.com/jrnl-org/jrnl/issues/1793) -- Recommend pipx as easiest installation method for all OSes and remove warning about apt [\#1889](https://github.com/jrnl-org/jrnl/pull/1889) ([micahellison](https://github.com/micahellison)) -- Docs accessibility checker failure - contrast ratio [\#1934](https://github.com/jrnl-org/jrnl/issues/1934) -- Docs accessibility test runner failing [\#1932](https://github.com/jrnl-org/jrnl/issues/1932) - -**Packaging:** - -- Update actions/cache action to v4 [\#1847](https://github.com/jrnl-org/jrnl/pull/1847) ([renovate[bot]](https://github.com/apps/renovate)) -- Update actions/setup-python action to v5 [\#1848](https://github.com/jrnl-org/jrnl/pull/1848) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency black to v24.8.0 [\#1923](https://github.com/jrnl-org/jrnl/pull/1923) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency cryptography to v43.0.3 [\#1942](https://github.com/jrnl-org/jrnl/pull/1942) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency jinja2 to v3.1.4 [\#1892](https://github.com/jrnl-org/jrnl/pull/1892) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency keyring to v25.4.1 [\#1924](https://github.com/jrnl-org/jrnl/pull/1924) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency mkdocs to v1.6.1 [\#1895](https://github.com/jrnl-org/jrnl/pull/1895) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pa11y-ci to v3.1.0 [\#1831](https://github.com/jrnl-org/jrnl/pull/1831) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency parse-type to v0.6.4 [\#1936](https://github.com/jrnl-org/jrnl/pull/1936) ([renovate[bot]](https://github.com/apps/renovate)) -- Update peter-evans/create-pull-request action to v7 [\#1929](https://github.com/jrnl-org/jrnl/pull/1929) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency poethepoet to v0.29.0 [\#1925](https://github.com/jrnl-org/jrnl/pull/1925) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest to v7.4.4 [\#1845](https://github.com/jrnl-org/jrnl/pull/1845) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest-bdd to v7.3.0 [\#1896](https://github.com/jrnl-org/jrnl/pull/1896) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest-xdist to v3.6.1 [\#1897](https://github.com/jrnl-org/jrnl/pull/1897) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency python-dateutil to v2.9.0 [\#1898](https://github.com/jrnl-org/jrnl/pull/1898) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency requests to v2.32.3 [\#1899](https://github.com/jrnl-org/jrnl/pull/1899) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency rich to v13.9.2 [\#1937](https://github.com/jrnl-org/jrnl/pull/1937) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ruamel.yaml to v0.18.6 [\#1855](https://github.com/jrnl-org/jrnl/pull/1855) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ruff to v0.7.0 [\#1938](https://github.com/jrnl-org/jrnl/pull/1938) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tox to v4.23.0 [\#1935](https://github.com/jrnl-org/jrnl/pull/1935) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency typed.js to v2.1.0 [\#1861](https://github.com/jrnl-org/jrnl/pull/1861) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency xmltodict to v0.14.2 [\#1940](https://github.com/jrnl-org/jrnl/pull/1940) ([renovate[bot]](https://github.com/apps/renovate)) -- Update nick-invision/retry action to v3 [\#1851](https://github.com/jrnl-org/jrnl/pull/1851) ([renovate[bot]](https://github.com/apps/renovate)) -- Update peter-evans/create-pull-request action to v6 [\#1852](https://github.com/jrnl-org/jrnl/pull/1852) ([renovate[bot]](https://github.com/apps/renovate)) - -## [v4.1](https://pypi.org/project/jrnl/v4.1/) (2023-11-04) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v4.1-beta2...v4.1) - -**Build:** - -- Add Python 3.12 support [\#1761](https://github.com/jrnl-org/jrnl/pull/1761) ([micahellison](https://github.com/micahellison)) -- Set new required build fields in the ReadTheDocs config file [\#1803](https://github.com/jrnl-org/jrnl/pull/1803) ([micahellison](https://github.com/micahellison)) -- Replace flake8 and isort with ruff linter and add `black --check` to linting step [\#1763](https://github.com/jrnl-org/jrnl/pull/1763) ([micahellison](https://github.com/micahellison)) - -**Documentation:** - -- Add note about messages going to `stderr` and the implication for piping [\#1768](https://github.com/jrnl-org/jrnl/pull/1768) ([micahellison](https://github.com/micahellison)) - -**Packaging:** - -- Drop/replace ansiwrap dependency [\#1191](https://github.com/jrnl-org/jrnl/issues/1191) -- Use rich instead of ansiwrap to wrap text [\#1693](https://github.com/jrnl-org/jrnl/pull/1693) ([micahellison](https://github.com/micahellison)) -- Update actions/checkout action to v4 [\#1788](https://github.com/jrnl-org/jrnl/pull/1788) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency black to v23.10.1 [\#1811](https://github.com/jrnl-org/jrnl/pull/1811) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency cryptography to v41.0.5 [\#1815](https://github.com/jrnl-org/jrnl/pull/1815) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency keyring to v24.2.0 [\#1760](https://github.com/jrnl-org/jrnl/pull/1760) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency mkdocs to v1.5.3 [\#1795](https://github.com/jrnl-org/jrnl/pull/1795) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency parse-type to v0.6.2 [\#1762](https://github.com/jrnl-org/jrnl/pull/1762) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency poethepoet to v0.24.1 [\#1806](https://github.com/jrnl-org/jrnl/pull/1806) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest to v7.4.3 [\#1816](https://github.com/jrnl-org/jrnl/pull/1816) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest-bdd to v7 [\#1807](https://github.com/jrnl-org/jrnl/pull/1807) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency rich to v13.6.0 [\#1794](https://github.com/jrnl-org/jrnl/pull/1794) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ruamel.yaml to v0.18.3 [\#1813](https://github.com/jrnl-org/jrnl/pull/1813) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ruff to v0.1.3 [\#1810](https://github.com/jrnl-org/jrnl/pull/1810) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tox to v4.11.3 [\#1782](https://github.com/jrnl-org/jrnl/pull/1782) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tzlocal to v5.2 [\#1814](https://github.com/jrnl-org/jrnl/pull/1814) ([renovate[bot]](https://github.com/apps/renovate)) - -**Special thanks:** -- jrnl uses UTC instead of local time for entries in WSL/Ubuntu [\#1607](https://github.com/jrnl-org/jrnl/issues/1607) investigated and reported upstream by [giuseppedandrea](https://github.com/giuseppedandrea) - -## [v4.0.1](https://pypi.org/project/jrnl/v4.0.1/) (2023-06-20) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v4.0.1-beta...v4.0.1) - -**Fixed bugs:** - -- jrnl crashes when running `jrnl --list --format json` and `jrnl --list --format yaml` [\#1737](https://github.com/jrnl-org/jrnl/issues/1737) -- Refactor --template code [\#1711](https://github.com/jrnl-org/jrnl/pull/1711) ([micahellison](https://github.com/micahellison)) - -**Build:** - -- Fix linting issue in CI pipeline [\#1743](https://github.com/jrnl-org/jrnl/pull/1743) ([wren](https://github.com/wren)) - -**Packaging:** - -- Update dependency ruamel.yaml to v0.17.28 [\#1749](https://github.com/jrnl-org/jrnl/pull/1749) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency requests to v2.31.0 [\#1748](https://github.com/jrnl-org/jrnl/pull/1748) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ruamel.yaml to v0.17.26 [\#1746](https://github.com/jrnl-org/jrnl/pull/1746) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tzlocal to v5 [\#1741](https://github.com/jrnl-org/jrnl/pull/1741) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest-xdist to v3.3.1 [\#1740](https://github.com/jrnl-org/jrnl/pull/1740) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency poethepoet to v0.20.0 [\#1735](https://github.com/jrnl-org/jrnl/pull/1735) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency mkdocs to v1.4.3 [\#1733](https://github.com/jrnl-org/jrnl/pull/1733) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency rich to v13.3.5 [\#1729](https://github.com/jrnl-org/jrnl/pull/1729) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency requests to v2.30.0 [\#1728](https://github.com/jrnl-org/jrnl/pull/1728) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tox to v4.5.1 [\#1727](https://github.com/jrnl-org/jrnl/pull/1727) ([renovate[bot]](https://github.com/apps/renovate)) -- Update peter-evans/create-pull-request action to v5 [\#1719](https://github.com/jrnl-org/jrnl/pull/1719) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency flake8-simplify to v0.20.0 [\#1716](https://github.com/jrnl-org/jrnl/pull/1716) ([renovate[bot]](https://github.com/apps/renovate)) - -## [v4.0](https://pypi.org/project/jrnl/v4.0/) (2023-05-20) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v4.0-beta3...v4.0) - -🚨 **BREAKING CHANGES** 🚨 - -**Deprecated:** - -- Drop Python 3.9 and use Python 3.11 official release [\#1611](https://github.com/jrnl-org/jrnl/pull/1611) ([micahellison](https://github.com/micahellison)) - -**Implemented enhancements:** - -- Add message with config location and docs location when installation is complete [\#1695](https://github.com/jrnl-org/jrnl/pull/1695) ([micahellison](https://github.com/micahellison)) -- Prompt to include colors in config when first running jrnl [\#1687](https://github.com/jrnl-org/jrnl/pull/1687) ([micahellison](https://github.com/micahellison)) -- Add ability to use template with `--template` [\#1667](https://github.com/jrnl-org/jrnl/pull/1667) ([alichtman](https://github.com/alichtman)) -- Search for entries with no tags or stars with `-not -starred` and `-not -tagged` [\#1663](https://github.com/jrnl-org/jrnl/pull/1663) ([cjcon90](https://github.com/cjcon90)) -- Refactor flow for easier access to some files \(avoid things like `jrnl.Journal.Journal` and `jrnl.jrnl` co-existing\) [\#1662](https://github.com/jrnl-org/jrnl/pull/1662) ([wren](https://github.com/wren)) -- Add more type hints [\#1642](https://github.com/jrnl-org/jrnl/pull/1642) ([outa](https://github.com/outa)) -- Add `rich` handler to debug logging [\#1627](https://github.com/jrnl-org/jrnl/pull/1627) ([wren](https://github.com/wren)) -- Rework Encryption to enable future support of other encryption methods [\#1602](https://github.com/jrnl-org/jrnl/pull/1602) ([wren](https://github.com/wren)) - -**Fixed bugs:** - -- Only read text files that look like entries when opening folder journal [\#1697](https://github.com/jrnl-org/jrnl/pull/1697) ([micahellison](https://github.com/micahellison)) -- Save empty journal on install instead of just creating a zero-length file [\#1690](https://github.com/jrnl-org/jrnl/pull/1690) ([micahellison](https://github.com/micahellison)) -- Allow combinations of `--change-time`, `--delete`, and `--edit` while correctly counting the number of entries affected [\#1669](https://github.com/jrnl-org/jrnl/pull/1669) ([wren](https://github.com/wren)) -- Don't save templated journal entries if the received raw text is the same as the template itself [\#1653](https://github.com/jrnl-org/jrnl/pull/1653) ([Briscoooe](https://github.com/Briscoooe)) -- Add tag to XML file when edited DayOne entry and is searchable afterward [\#1648](https://github.com/jrnl-org/jrnl/pull/1648) ([jonakeys](https://github.com/jonakeys)) -- Update version key in config file after version changes [\#1646](https://github.com/jrnl-org/jrnl/pull/1646) ([jonakeys](https://github.com/jonakeys)) - -**Build:** - -- Update copyright notices for 2023 [\#1660](https://github.com/jrnl-org/jrnl/pull/1660) ([wren](https://github.com/wren)) -- Fix bug where changelog is always slightly out of date on release tags [\#1631](https://github.com/jrnl-org/jrnl/pull/1631) ([wren](https://github.com/wren)) -- Add `simplify` plugin to linting checks [\#1630](https://github.com/jrnl-org/jrnl/pull/1630) ([wren](https://github.com/wren)) -- Add type hints [\#1614](https://github.com/jrnl-org/jrnl/pull/1614) ([outa](https://github.com/outa)) - -**Documentation:** - -- Update contributing.md links in documentation [\#1726](https://github.com/jrnl-org/jrnl/pull/1726) ([ahosking](https://github.com/ahosking)) -- Fix various typos [\#1718](https://github.com/jrnl-org/jrnl/pull/1718) ([hezhizhen](https://github.com/hezhizhen)) -- Update documentation front page text [\#1698](https://github.com/jrnl-org/jrnl/pull/1698) ([micahellison](https://github.com/micahellison)) -- Support mkdocs 1.4.2 and fix its missing breadcrumb [\#1691](https://github.com/jrnl-org/jrnl/pull/1691) ([micahellison](https://github.com/micahellison)) -- Document temporary file extension behavior when using template [\#1686](https://github.com/jrnl-org/jrnl/pull/1686) ([micahellison](https://github.com/micahellison)) -- Document `-tagged`, `-not -tagged`, and `-not -starred` [\#1684](https://github.com/jrnl-org/jrnl/pull/1684) ([micahellison](https://github.com/micahellison)) -- Update documentation about privacy and security in VSCode [\#1680](https://github.com/jrnl-org/jrnl/pull/1680) ([giuseppedandrea](https://github.com/giuseppedandrea)) -- Update documentation on temporary files naming [\#1673](https://github.com/jrnl-org/jrnl/pull/1673) ([giuseppedandrea](https://github.com/giuseppedandrea)) -- Update docs to include time and title in arguments with `--edit` [\#1657](https://github.com/jrnl-org/jrnl/pull/1657) ([pconrad-fb](https://github.com/pconrad-fb)) -- Fix markup in "Advanced Usage" doc [\#1655](https://github.com/jrnl-org/jrnl/pull/1655) ([multani](https://github.com/multani)) -- Remove Windows 7 known issue since Windows 7 is no longer supported [\#1636](https://github.com/jrnl-org/jrnl/pull/1636) ([micahellison](https://github.com/micahellison)) - -**Packaging:** - -- Lock ruamel.yaml version to v0.17.21 until bug is fixed [\#1738](https://github.com/jrnl-org/jrnl/pull/1738) ([wren](https://github.com/wren)) -- Update dependency black to v23.3.0 [\#1715](https://github.com/jrnl-org/jrnl/pull/1715) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency cryptography to v40.0.2 [\#1723](https://github.com/jrnl-org/jrnl/pull/1723) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency flake8-type-checking to v2.4.0 [\#1714](https://github.com/jrnl-org/jrnl/pull/1714) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency flakeheaven to v3.3.0 [\#1722](https://github.com/jrnl-org/jrnl/pull/1722) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency ipdb to v0.13.13 [\#1703](https://github.com/jrnl-org/jrnl/pull/1703) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency poethepoet to v0.19.0 [\#1709](https://github.com/jrnl-org/jrnl/pull/1709) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest to v7.3.1 [\#1720](https://github.com/jrnl-org/jrnl/pull/1720) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency pytest-xdist to v3.2.1 [\#1705](https://github.com/jrnl-org/jrnl/pull/1705) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency rich to v13.3.4 [\#1713](https://github.com/jrnl-org/jrnl/pull/1713) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tox to v4.4.7 [\#1707](https://github.com/jrnl-org/jrnl/pull/1707) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency tzlocal to v4.3 [\#1708](https://github.com/jrnl-org/jrnl/pull/1708) ([renovate[bot]](https://github.com/apps/renovate)) - -## [v3.3](https://pypi.org/project/jrnl/v3.3/) (2022-10-29) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.3-beta2...v3.3) - -**Implemented enhancements:** - -- Change default config to use journal key [\#1594](https://github.com/jrnl-org/jrnl/pull/1594) ([micahellison](https://github.com/micahellison)) -- Add machine readable --list output [\#1592](https://github.com/jrnl-org/jrnl/pull/1592) ([apainintheneck](https://github.com/apainintheneck)) - -**Fixed bugs:** - -- Fix bug for new `--list --format` options when no default journal is specified [\#1621](https://github.com/jrnl-org/jrnl/pull/1621) ([wren](https://github.com/wren)) -- Don't create empty file when attempting a YAML export to a non-existing folder [\#1600](https://github.com/jrnl-org/jrnl/pull/1600) ([outa](https://github.com/outa)) - -**Build:** - -- Update `.gitignore` [\#1604](https://github.com/jrnl-org/jrnl/pull/1604) ([wren](https://github.com/wren)) -- Fix Docs Accessibility Testing [\#1588](https://github.com/jrnl-org/jrnl/pull/1588) ([wren](https://github.com/wren)) -- Update to use renamed flag for `brew bump-formula-pr` [\#1587](https://github.com/jrnl-org/jrnl/pull/1587) ([wren](https://github.com/wren)) -- Update peter-evans/create-pull-request action to v4 [\#1585](https://github.com/jrnl-org/jrnl/pull/1585) ([renovate[bot]](https://github.com/apps/renovate)) -- Update actions/setup-python action to v4 [\#1583](https://github.com/jrnl-org/jrnl/pull/1583) ([renovate[bot]](https://github.com/apps/renovate)) -- Update actions/checkout action to v3 [\#1582](https://github.com/jrnl-org/jrnl/pull/1582) ([renovate[bot]](https://github.com/apps/renovate)) -- Update actions/cache action to v3 [\#1581](https://github.com/jrnl-org/jrnl/pull/1581) ([renovate[bot]](https://github.com/apps/renovate)) -- Replace Dependabot with Renovate [\#1575](https://github.com/jrnl-org/jrnl/pull/1575) ([renovate[bot]](https://github.com/apps/renovate)) - -**Documentation:** - -- Add documentation about how the editor must be a blocking process [\#1456](https://github.com/jrnl-org/jrnl/issues/1456) -- Document that editors must be blocking processes [\#1624](https://github.com/jrnl-org/jrnl/pull/1624) ([micahellison](https://github.com/micahellison)) -- Remove wrong option in configuration file reference [\#1618](https://github.com/jrnl-org/jrnl/pull/1618) ([DSiekmeier](https://github.com/DSiekmeier)) -- Update YAML export description in docs [\#1591](https://github.com/jrnl-org/jrnl/pull/1591) ([apainintheneck](https://github.com/apainintheneck)) -- Update dependency jinja2 to v3.1.2 [\#1579](https://github.com/jrnl-org/jrnl/pull/1579) ([renovate[bot]](https://github.com/apps/renovate)) -- Update dependency typed.js to v2.0.12 [\#1578](https://github.com/jrnl-org/jrnl/pull/1578) ([renovate[bot]](https://github.com/apps/renovate)) -- Add hint for how to get vi to go to end-of-file [\#1563](https://github.com/jrnl-org/jrnl/pull/1563) ([pjz](https://github.com/pjz)) - -**Packaging:** - -- Pin dependencies [\#1577](https://github.com/jrnl-org/jrnl/pull/1577) ([renovate[bot]](https://github.com/apps/renovate)) - -## [v3.2](https://pypi.org/project/jrnl/v3.2/) (2022-09-03) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...v3.2) - -**Implemented enhancements:** - -- Update issue & PR templates to use forms [\#1559](https://github.com/jrnl-org/jrnl/issues/1559) -- Suppress "Entry added" message if using default journal [\#1561](https://github.com/jrnl-org/jrnl/pull/1561) ([micahellison](https://github.com/micahellison)) -- Add message showing the number of search results [\#1524](https://github.com/jrnl-org/jrnl/pull/1524) ([apainintheneck](https://github.com/apainintheneck)) - -**Build:** - -- Quick fix follow up for actionlint [\#1565](https://github.com/jrnl-org/jrnl/pull/1565) ([wren](https://github.com/wren)) - -**Documentation:** - -- Remove note in contributing docs about gh-pages branch that we no longer use [\#1566](https://github.com/jrnl-org/jrnl/pull/1566) ([micahellison](https://github.com/micahellison)) - -## [v3.1](https://pypi.org/project/jrnl/v3.1/) (2022-08-21) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta2...v3.1) - -**Implemented enhancements:** - -- Update tzlocal to v4.x and remove pytz dependency [\#1528](https://github.com/jrnl-org/jrnl/pull/1528) ([outa](https://github.com/outa)) -- Add linewrap option 'auto' [\#1507](https://github.com/jrnl-org/jrnl/pull/1507) ([jonakeys](https://github.com/jonakeys)) - -**Fixed bugs:** - -- Update formatting function to better account for indentation [\#1541](https://github.com/jrnl-org/jrnl/pull/1541) ([wren](https://github.com/wren)) -- Export to file\(s\) when first line/title of an entry is very long [\#1527](https://github.com/jrnl-org/jrnl/pull/1527) ([jonakeys](https://github.com/jonakeys)) -- Fixed index out of range error in fancy exporter [\#1522](https://github.com/jrnl-org/jrnl/pull/1522) ([apainintheneck](https://github.com/apainintheneck)) - -**Build:** - -- Add actionlint to testing pipelines [\#1555](https://github.com/jrnl-org/jrnl/pull/1555) ([wren](https://github.com/wren)) -- Fix docs pipeline, make docs tests easier to run locally and on different OSes [\#1554](https://github.com/jrnl-org/jrnl/pull/1554) ([wren](https://github.com/wren)) - -**Documentation:** - -- Reformat contributor appreciation on `--help` screen [\#1556](https://github.com/jrnl-org/jrnl/pull/1556) ([xeruf](https://github.com/xeruf)) -- Clean up copyright notices and version screen [\#1553](https://github.com/jrnl-org/jrnl/pull/1553) ([wren](https://github.com/wren)) - -**Packaging:** - -- Bump pyproject-flake8 from 0.0.1a4 to 0.0.1a5 [\#1552](https://github.com/jrnl-org/jrnl/pull/1552) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump keyring from 23.7.0 to 23.8.2 [\#1551](https://github.com/jrnl-org/jrnl/pull/1551) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump yq from 3.0.2 to 3.1.0 [\#1546](https://github.com/jrnl-org/jrnl/pull/1546) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump poethepoet from 0.15.0 to 0.16.0 [\#1542](https://github.com/jrnl-org/jrnl/pull/1542) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump keyring from 23.6.0 to 23.7.0 [\#1539](https://github.com/jrnl-org/jrnl/pull/1539) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump rich from 12.4.4 to 12.5.1 [\#1538](https://github.com/jrnl-org/jrnl/pull/1538) ([dependabot[bot]](https://github.com/apps/dependabot)) - -## [v3.0](https://pypi.org/project/jrnl/v3.0/) (2022-07-09) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta2...v3.0) - -🚨 **BREAKING CHANGES** 🚨 - -**Deprecated:** - -- Drop support for Python 3.7 and 3.8 [\#1412](https://github.com/jrnl-org/jrnl/pull/1412) ([micahellison](https://github.com/micahellison)) - -**Implemented enhancements:** - -- Show name of journal when creating a password/encrypting [\#1478](https://github.com/jrnl-org/jrnl/pull/1478) ([jonakeys](https://github.com/jonakeys)) -- Rework how all output and messaging works in jrnl [\#1475](https://github.com/jrnl-org/jrnl/pull/1475) ([wren](https://github.com/wren)) -- Implement --change-time flag [\#1452](https://github.com/jrnl-org/jrnl/pull/1452) ([richardjs](https://github.com/richardjs)) -- Reformat additional messages and finish centralizing exception handling [\#1424](https://github.com/jrnl-org/jrnl/pull/1424) ([wren](https://github.com/wren)) -- Reformat messages and add new centralized exception handling [\#1417](https://github.com/jrnl-org/jrnl/pull/1417) ([wren](https://github.com/wren)) - -**Fixed bugs:** - -- Display message when no edits take place [\#1510](https://github.com/jrnl-org/jrnl/pull/1510) ([apainintheneck](https://github.com/apainintheneck)) -- Fixed error related to display\_format in config file for some values [\#1495](https://github.com/jrnl-org/jrnl/pull/1495) ([apainintheneck](https://github.com/apainintheneck)) -- Create folder if config ends with \(back\)slash [\#1492](https://github.com/jrnl-org/jrnl/pull/1492) ([jonakeys](https://github.com/jonakeys)) -- `-not` search parameter no longer opens editor [\#1490](https://github.com/jrnl-org/jrnl/pull/1490) ([apainintheneck](https://github.com/apainintheneck)) -- Fix TypeError when using debug flag [\#1484](https://github.com/jrnl-org/jrnl/pull/1484) ([jonakeys](https://github.com/jonakeys)) -- Prompt for password change when using 'jrnl --encrypt' on already encrypted journal [\#1477](https://github.com/jrnl-org/jrnl/pull/1477) ([jonakeys](https://github.com/jonakeys)) -- Always expand all paths \(journals, templates, etc\) [\#1468](https://github.com/jrnl-org/jrnl/pull/1468) ([apainintheneck](https://github.com/apainintheneck)) -- The `-not` option with no arguments now outputs error instead of stack trace [\#1466](https://github.com/jrnl-org/jrnl/pull/1466) ([apainintheneck](https://github.com/apainintheneck)) -- Give a proper message when trying to use an empty config file [\#1461](https://github.com/jrnl-org/jrnl/pull/1461) ([jonakeys](https://github.com/jonakeys)) -- Display "No entry to save, because no text was received" after empty entry on cmdline [\#1459](https://github.com/jrnl-org/jrnl/pull/1459) ([apainintheneck](https://github.com/apainintheneck)) -- Yaml export errors now don't show stack trace [\#1449](https://github.com/jrnl-org/jrnl/pull/1449) ([apainintheneck](https://github.com/apainintheneck)) - -**Build:** - -- Pin `pytest-bdd` to \<6.0 to temporarily avoid breaking changes [\#1536](https://github.com/jrnl-org/jrnl/pull/1536) ([wren](https://github.com/wren)) -- Reduce difference between local and CI environments [\#1518](https://github.com/jrnl-org/jrnl/pull/1518) ([wren](https://github.com/wren)) -- Add bdd tests for jrnl installation [\#1513](https://github.com/jrnl-org/jrnl/pull/1513) ([apainintheneck](https://github.com/apainintheneck)) -- Stop hardcoding bot info in changelog pipeline [\#1506](https://github.com/jrnl-org/jrnl/pull/1506) ([wren](https://github.com/wren)) -- Fix Poetry caching for accessibility tests [\#1505](https://github.com/jrnl-org/jrnl/pull/1505) ([wren](https://github.com/wren)) -- Implement Tox for testing [\#1504](https://github.com/jrnl-org/jrnl/pull/1504) ([wren](https://github.com/wren)) -- Replace `make` with python alternative \(`poe`\) [\#1503](https://github.com/jrnl-org/jrnl/pull/1503) ([wren](https://github.com/wren)) -- Update copyright year [\#1502](https://github.com/jrnl-org/jrnl/pull/1502) ([wren](https://github.com/wren)) -- Add Python 3.11 to PR tests [\#1500](https://github.com/jrnl-org/jrnl/pull/1500) ([micahellison](https://github.com/micahellison)) -- Pin jinja2 in docs requirements to keep readthedocs builds from failing [\#1439](https://github.com/jrnl-org/jrnl/pull/1439) ([micahellison](https://github.com/micahellison)) -- Tidy up git ignore [\#1414](https://github.com/jrnl-org/jrnl/pull/1414) ([nelnog](https://github.com/nelnog)) - -**Documentation:** - -- Document --change-time in web-based docs' command line reference [\#1471](https://github.com/jrnl-org/jrnl/pull/1471) ([micahellison](https://github.com/micahellison)) - -**Packaging:** - -- Bump cryptography from 37.0.2 to 37.0.3 [\#1516](https://github.com/jrnl-org/jrnl/pull/1516) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump poethepoet from 0.13.1 to 0.14.0 [\#1514](https://github.com/jrnl-org/jrnl/pull/1514) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump keyring from 23.5.1 to 23.6.0 [\#1499](https://github.com/jrnl-org/jrnl/pull/1499) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump pyxdg from 0.27 to 0.28 [\#1497](https://github.com/jrnl-org/jrnl/pull/1497) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump keyring from 23.5.0 to 23.5.1 [\#1487](https://github.com/jrnl-org/jrnl/pull/1487) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump cryptography from 37.0.1 to 37.0.2 [\#1467](https://github.com/jrnl-org/jrnl/pull/1467) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump cryptography from 36.0.2 to 37.0.1 [\#1462](https://github.com/jrnl-org/jrnl/pull/1462) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump pytest from 7.1.1 to 7.1.2 [\#1458](https://github.com/jrnl-org/jrnl/pull/1458) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump pyproject-flake8 from 0.0.1a3 to 0.0.1a4 [\#1447](https://github.com/jrnl-org/jrnl/pull/1447) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump black from 22.1.0 to 22.3.0 [\#1442](https://github.com/jrnl-org/jrnl/pull/1442) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump mkdocs from 1.2.3 to 1.3.0 [\#1441](https://github.com/jrnl-org/jrnl/pull/1441) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump pyproject-flake8 from 0.0.1a2 to 0.0.1a3 [\#1440](https://github.com/jrnl-org/jrnl/pull/1440) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump pytz from 2021.3 to 2022.1 [\#1438](https://github.com/jrnl-org/jrnl/pull/1438) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump pytest from 7.0.1 to 7.1.1 [\#1430](https://github.com/jrnl-org/jrnl/pull/1430) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump cryptography from 36.0.1 to 36.0.2 [\#1427](https://github.com/jrnl-org/jrnl/pull/1427) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump yq from 2.13.0 to 2.14.0 [\#1418](https://github.com/jrnl-org/jrnl/pull/1418) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Replace PyYAML with ruamel.yaml [\#1416](https://github.com/jrnl-org/jrnl/pull/1416) ([micahellison](https://github.com/micahellison)) -- Bump pytest from 6.2.5 to 7.0.0 [\#1407](https://github.com/jrnl-org/jrnl/pull/1407) ([dependabot[bot]](https://github.com/apps/dependabot)) - -## [v2.8.4](https://pypi.org/project/jrnl/v2.8.4/) (2022-02-12) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4-beta2...v2.8.4) - -**Implemented enhancements:** - -- Add hash as a default tag symbol for new jrnl config file [\#1398](https://github.com/jrnl-org/jrnl/pull/1398) ([micahellison](https://github.com/micahellison)) +- Specify an alternate config file in the command line [\#1170](https://github.com/jrnl-org/jrnl/issues/1170) - Add --config-file argument to use alternate config file at runtime [\#1290](https://github.com/jrnl-org/jrnl/pull/1290) ([samuelgregorovic](https://github.com/samuelgregorovic)) **Fixed bugs:** -- Certs broken on website [\#1408](https://github.com/jrnl-org/jrnl/issues/1408) -- Add added option to \_print\_edited\_summary [\#1366](https://github.com/jrnl-org/jrnl/pull/1366) ([piero-vic](https://github.com/piero-vic)) +- Support pytest-bdd 5 [\#1364](https://github.com/jrnl-org/jrnl/issues/1364) **Build:** -- Improve handling of mocking logic in pytest [\#1382](https://github.com/jrnl-org/jrnl/pull/1382) ([wren](https://github.com/wren)) -- Use full Python version for GitHub Actions cache key [\#1373](https://github.com/jrnl-org/jrnl/pull/1373) ([micahellison](https://github.com/micahellison)) - Use Python 3.10 stable in CI [\#1362](https://github.com/jrnl-org/jrnl/pull/1362) ([micahellison](https://github.com/micahellison)) - Switch from poetry to poetry-core [\#1359](https://github.com/jrnl-org/jrnl/pull/1359) ([fabaff](https://github.com/fabaff)) - Add more steps to `pytest`, fully remove `behave` [\#1347](https://github.com/jrnl-org/jrnl/pull/1347) ([wren](https://github.com/wren)) **Documentation:** -- Fix styling on documentation sidebar [\#1395](https://github.com/jrnl-org/jrnl/pull/1395) ([wren](https://github.com/wren)) +- Document folder journal and DayOne journal types [\#1326](https://github.com/jrnl-org/jrnl/issues/1326) +- Move and expand contributing.md content into docs site [\#1180](https://github.com/jrnl-org/jrnl/issues/1180) - Added Recipe for visualizing Markdown in the CLI [\#1354](https://github.com/jrnl-org/jrnl/pull/1354) ([viegasfh](https://github.com/viegasfh)) - Fix recipe 'Launch a terminal for rapid logging' [\#1351](https://github.com/jrnl-org/jrnl/pull/1351) ([zapateo](https://github.com/zapateo)) - Fix readme splash and add changelog link to readme [\#1339](https://github.com/jrnl-org/jrnl/pull/1339) ([micahellison](https://github.com/micahellison)) -- Add reference documentation to docs site and separate out "Tips and Tricks" and "External Editors" from "Recipes" [\#1332](https://github.com/jrnl-org/jrnl/pull/1332) ([micahellison](https://github.com/micahellison)) - Document journal types [\#1331](https://github.com/jrnl-org/jrnl/pull/1331) ([micahellison](https://github.com/micahellison)) **Packaging:** -- Bump asteval from 0.9.25 to 0.9.26 [\#1400](https://github.com/jrnl-org/jrnl/pull/1400) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump black from 21.7b0 to 22.1.0 [\#1404](https://github.com/jrnl-org/jrnl/pull/1404) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump cryptography from 3.4.8 to 36.0.1 [\#1389](https://github.com/jrnl-org/jrnl/pull/1389) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump ipython from 7.28.0 to 7.31.1 [\#1401](https://github.com/jrnl-org/jrnl/pull/1401) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump keyring from 23.1.0 to 23.5.0 [\#1392](https://github.com/jrnl-org/jrnl/pull/1392) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump mkdocs from 1.2.2 to 1.2.3 [\#1355](https://github.com/jrnl-org/jrnl/pull/1355) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump pytest from 6.2.4 to 6.2.5 [\#1334](https://github.com/jrnl-org/jrnl/pull/1334) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump black from 21.9b0 to 21.10b0 [\#1370](https://github.com/jrnl-org/jrnl/pull/1370) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump pytest-bdd from 4.1.0 to 5.0.0 [\#1368](https://github.com/jrnl-org/jrnl/pull/1368) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump mkdocs from 1.2.2 to 1.2.3 [\#1355](https://github.com/jrnl-org/jrnl/pull/1355) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump pytz from 2021.1 to 2021.3 [\#1348](https://github.com/jrnl-org/jrnl/pull/1348) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump yq from 2.12.2 to 2.13.0 [\#1385](https://github.com/jrnl-org/jrnl/pull/1385) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump cryptography from 3.4.8 to 35.0.0 [\#1345](https://github.com/jrnl-org/jrnl/pull/1345) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump black from 21.8b0 to 21.9b0 [\#1343](https://github.com/jrnl-org/jrnl/pull/1343) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump keyring from 23.1.0 to 23.2.1 [\#1342](https://github.com/jrnl-org/jrnl/pull/1342) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump pytest from 6.2.4 to 6.2.5 [\#1334](https://github.com/jrnl-org/jrnl/pull/1334) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump black from 21.7b0 to 21.8b0 [\#1333](https://github.com/jrnl-org/jrnl/pull/1333) ([dependabot[bot]](https://github.com/apps/dependabot)) ## [v2.8.3](https://pypi.org/project/jrnl/v2.8.3/) (2021-09-06) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 68716f88..b177c666 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -59,7 +59,7 @@ representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by [emailing the maintainers](mailto:maintainers@jrnl.sh). +reported by [emailing the maintainers](mailto:jrnl-sh@googlegroups.com). All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dc078f3a..93b57d7e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,8 +1,5 @@ - - + # Contributing See "[Contributing](docs/contributing.md)" in the `docs` directory. diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..a9833c3e --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +# A Makefile for commands I run frequently: + +clean: + rm -rf dist + rm -rf _static + rm -rf jrnl.egg-info + rm -rf _build + rm -rf _sources + rm -rf _static + rm -rf site/ + rm -f *.html + +html: + poetry run mkdocs serve + +format: ## Format files to match style + poetry run black . + +lint: ## Check style with various tools + poetry check + poetry run pflake8 jrnl tests + poetry run black --check --diff . + +unit: # unit tests + poetry run pytest tests/unit + +bdd: # bdd tests + poetry run pytest tests/bdd --gherkin-terminal-reporter --tb=native + +bdd-debug: # bdd tests + poetry run pytest tests/bdd --gherkin-terminal-reporter --tb=native -x -vv + +test: lint unit bdd + +build: + poetry build + +install: clean ## install the package to the active Python's site-packages + poetry install diff --git a/README.md b/README.md index a99f0ba8..cacd8dda 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,3 @@ - -
@@ -19,7 +14,7 @@ jrnl
====
_To get help, [submit an issue](https://github.com/jrnl-org/jrnl/issues/new/choose) on
-GitHub._
+Github._
`jrnl` is a simple journal application for the command line.
@@ -70,7 +65,7 @@ src="https://opencollective.com/jrnl/contributors.svg?width=890&button=false"
/>
If you'd also like to help make `jrnl` better, please see our [contributing
-documentation](docs/contributing.md).
+documentation](CONTRIBUTING.md).
### Financial Backers
diff --git a/SECURITY.md b/SECURITY.md
index 44a0f958..c239b957 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,6 +1,6 @@
# Security
-If you've discovered a potential security issue in jrnl, please contact the maintainers at [maintainers@jrnl.sh](mailto:maintainers@jrnl.sh).
+If you've discovered a potential security issue in jrnl, please contact the maintainers at [jrnl-sh@googlegroups.com](mailto:jrnl-sh@googlegroups.com).
You can also feel free to [open an issue](https://github.com/jrnl-org/jrnl/issues/new/choose) (but please don't disclose the vulnerability) in case the email goes to spam.
diff --git a/docs/advanced.md b/docs/advanced.md
index 764ff98a..a9f1fb27 100644
--- a/docs/advanced.md
+++ b/docs/advanced.md
@@ -1,27 +1,119 @@
-
+
# Advanced Usage
## Configuration File
-`jrnl` has a wide variety of options that can be customized through the config file,
-including templates, formats, multiple journals, and more. See
-the [configuration file reference](./reference-config-file.md) for details
-or read on for some common use cases.
+You can configure the way jrnl behaves in a configuration file. By
+default, this is `~/.config/jrnl/jrnl.yaml`. If you have the `XDG_CONFIG_HOME`
+variable set, the configuration file will be saved as
+`$XDG_CONFIG_HOME/jrnl/jrnl.yaml`.
-### Multiple journal files
+!!! note
+ On Windows, the configuration file is typically found at `%USERPROFILE%\.config\jrnl\jrnl.yaml`.
+
+The configuration file is a YAML file with the following options
+and can be edited with a plain text editor.
+
+!!! note
+ Backup your journal and config file before editing. Changes to the config file
+ can have destructive effects on your journal!
+
+- `journals`
+ paths to your journal files
+- `editor`
+ if set, executes this command to launch an external editor for
+ writing your entries, e.g. `vim`. Some editors require special
+ options to work properly, see `FAQ