Skip to content

Releases: dkorecko/PatchPanda

v0.11.1

27 Mar 18:31
7afcb22

Choose a tag to compare

What's Changed

  • build(deps): bump tar from 7.5.6 to 7.5.7 in /PatchPanda.Web in the npm_and_yarn group across 1 directory by @dependabot[bot] in #120
  • feat: support dot in repo owner and repo name by @dkorecko in #133
  • fix: Don't change github regex if override is active by @dkorecko in #132

Full Changelog: v0.11.0...v0.11.1

v0.11.0

26 Jan 15:15
7908158

Choose a tag to compare

What's Changed

  • feat: Reduce log spam for detecting new versions by @dkorecko in #95
  • fix: No longer show error when one of the apps already has been updated by @dkorecko in #96
  • feat: Provide more info when no update plan could be generated by @dkorecko in #99
  • refactor: Make update logic more robust with better logging and solve edge cases by @dkorecko in #100
  • feat: Skip compose down completely by @dkorecko in #105
  • feat: Ability to ignore container by @dkorecko in #106
  • fix: Terminal not showing up by @dkorecko in #107
  • build(deps): bump tar from 7.5.2 to 7.5.3 in /PatchPanda.Web in the npm_and_yarn group across 1 directory by @dependabot[bot] in #108
  • build(deps): bump tar from 7.5.3 to 7.5.6 in /PatchPanda.Web in the npm_and_yarn group across 1 directory by @dependabot[bot] in #111
  • feat: Portainer Access Token Support by @MaxGojko in #112
  • feat: Exponential backoff for automatic update failures by @dkorecko in #117
  • fix: Don't allow past potentially malicious release by @dkorecko in #118

New Contributors

Full Changelog: v0.10.1...v0.11.0

v0.10.1

05 Jan 13:52
074cc94

Choose a tag to compare

What's Changed

Full Changelog: v0.10.0...v0.10.1

v0.10.0

05 Jan 13:16
a3a9f5c

Choose a tag to compare

What's Changed

  • feat: Chunk summary for security analysis by @dkorecko in #83
  • feat: Respect context length in release note summary by @dkorecko in #84
  • fix: Consider Portainer even when config file env is set, but was not found in normal file system by @dkorecko in #85

Full Changelog: v0.9.0...v0.10.0

v0.9.0

04 Jan 13:15

Choose a tag to compare

Hello, quite a big update coming up once again!

Let's get right to it:

Settings tab

With the new updates there was a need for a settings page, so I have added one. It can be found in the navigation menu and allows the configuration of the features mentioned down below.

image

LLM-based security scanning

It didn't feel right allowing automatic updates without adding any checks that would be too time-consuming for a single person to do on a regular basis for each application. Here come LLM-based security scanning.

image

If you have configured ollama via the environment variables (check the README for instructions), you can go into the Settings and enable security scanning. For each detected update for an application, this will feed all the changes between the two releases to the codebase into your ollama instance, which will provide a security analysis and also determine if there are any new threats. This also supports chunking for when the diff is too large to fit into your provided context (also check README for how to provide context size). This is included in the update notification and the versions page.

image

Automatic updates

image

Finally I felt confident enough to include the feature for enabling automatic updates. Meaning, if you enable automatic updates and set a specific threshold, when an update for any app comes up, it will wait for that specific period of time and then execute the update automatically. For an app to be eligible for an automatic update, these conditions will need to be met:

  • Able to generate an update plan
  • There are no breaking changes (either algorithm-based or AI-detected)
  • There are no security threats detected

In case an automatic update fails, it's handled just the same way as any other update. It will show up in update attempts and you will receive a notification about it to your configured notifications channels.

image

Quality of life updates

The version is now displayed in the UI and the About link was replaced with a GitHub link.

image

Now you can open multiple accordions, not just one.

image

Hope you enjoy the new release and let me know if there are any issues!

What's Changed

  • feat: Automatic updates by @dkorecko in #77
  • feat: Security analysis by @dkorecko in #78
  • feat: Send notification when automatic update concludes by @dkorecko in #80
  • feat: Display application version in UI, pass release version to Docker labels and don't collapse when opening different accordion by @dkorecko in #81

Full Changelog: v0.8.0...v0.9.0

v0.8.0

21 Dec 18:54
902ad82

Choose a tag to compare

Hey everyone!

I've been quite busy working on the next update and I'm excited to bring the first iteration of error handling. Up until now, PatchPanda took a bit of a dumb approach to updates, never checking if it was actually successful. From now on, this is no longer the case. Panda will check at each step if it was successful and if not, it will do its best to revert to the previous compose version.

Furthermore, this release adds toasts to display when an update has succeeded/failed and a whole new update attempts page to be able to view what went wrong during an update. Additionally, it comes with support for developing on Linux (yes, I finally did the switch) and now properly reports not being able to generate an update plan. This is so you guys can avoid triggering updates which don't do anything.

I took quite some time using this release for myself and resolved all the issues I came across, so I hope it should be more of a smooth sailing onward, but let me know if you come across any.

Enjoy!

What's Changed

Full Changelog: v0.7.0...v0.8.0

v0.7.0

09 Dec 17:09
24a4869

Choose a tag to compare

Hey everyone!

This is a bit of a bigger update, but don't worry, none of the changes are breaking, so feel free to just update and not worry about it, but let me introduce some new features that require some additional configuration:

Homepage Widget

image

I have added an endpoint to make it possible to have a Homepage widget for PatchPanda.

Example usage:

- PatchPanda:
    container: patchpanda-app
    href: http://your-url:5091 # Change this based on your setup
    description: Compose updater and monitoring
    widget:
      type: customapi
      url: http://patchpanda-app:8080/api/info # You may need to change the hostname/port based on your setup
      refreshInterval: 600000 # 10 minutes
      mappings:
        - field: stackCount
          label: Stack count
          format: number
        - field: containerCount
          label: Container count
          format: number
        - field: toBeUpdatedContainersCount
          label: Containers with updates
          format: number

Docker in Windows support and other environment fixes

Some time was spent on making sure PatchPanda now works when running Docker on Windows! This also included an improvement to be able to better determine when a specific compose file is found right when parsing the container initially. To use with Windows, instead of the normal Linux mount, you can use this with your own paths:

- /c/Users/PC/testing-compose:/c/Users/PC/testing-compose:rw

Reminder that both sides must be the same and yes, this is the correct format, so if your compose files are under the C:\ drive, the volume bindings should start with /c/, so for D:\ it would be /d/ and so on. Relative paths are not supported.

Ollama integration

image

This release brings the ability to use your locally hosted AI, Ollama, to provide AI summaries of release notes as well as additional detection for whether the release contains breaking changes. This will work hand-in-hand with automatic updates in future releases. For now, here are the environment variables you need to set if you want to enable the Ollama integration:

- OLLAMA_URL=http://localhost:11434 # Ollama or compatible LLM API URL
- OLLAMA_MODEL=llama3 # model name to use from Ollama - you must have it downloaded already

Other small improvements

A bunch of those as well.

For an example of a complete compose file visit our Readme.

Hope you guys enjoy and let me know what you think! Also a reminder that you can join our Discord community :)

What's Changed

  • style: Hide update plan while updating by @dkorecko in #64
  • feat: Homepage integration and API info endpoint by @dkorecko in #67
  • feat: Support Docker running in Windows by @dkorecko in #68
  • fix: Remove remnant of multi-container app when there's only one container remaining by @dkorecko in #69
  • fix: Improvements to path detection to better support different ways of hosting by @dkorecko in #70
  • feat: Ollama integration by @dkorecko in #71

Full Changelog: v0.6.0...v0.7.0

v0.6.0

04 Dec 18:20
877c5c5

Choose a tag to compare

What's Changed

  • fix: Transient exception when app tried to update terminal after it no longer exists by @dkorecko in #59
  • feat: Turn all actions into jobs by @dkorecko in #60
  • feat: Check for updates button and queue icon improvements by @dkorecko in #61
  • feat: Show indicator of how many apps are selected for update by @dkorecko in #63

Full Changelog: v0.5.1...v0.6.0

v0.5.1

02 Dec 09:36
a4e6b7c

Choose a tag to compare

My apologies, ran release before going to sleep, did not notice it failed its build step. Resolved now, please use v0.5.1 as v0.5.0 won't be available.

Full Changelog: v0.5.0...v0.5.1

v0.5.0

01 Dec 22:39
2ae4432

Choose a tag to compare

Hello everyone, I finally bring you Portainer support! This is a "breaking" change. Breaking meaning, if you're a Portainer user and want to take advantage of the newly added support, update your docker compose file of PatchPanda in accordance with the README. You will need to provide the URL to Portainer, as well as username and password. Also, for getting things to work, I recommend to use PatchPanda's delete on the stacks that are managed to Portainer so we they are identified correctly as such.

Note: latest/stable/etc kind of images (without specific version numbers) are still not supported, track #33 for progress.

Expect issues that may arise as this was my first time using Portainer and directly integrating with its API. Let me know if there are any issues!

What's Changed

  • fix: Properly mark MySQL containers as supportive - therefore excluded for updates by @dkorecko in #54
  • feat: Portainer support by @dkorecko in #55

Full Changelog: v0.4.2...v0.5.0