Releases: dkorecko/PatchPanda
v0.11.1
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
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
v0.10.0
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
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.
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.
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.
Automatic updates
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.
Quality of life updates
The version is now displayed in the UI and the About link was replaced with a GitHub link.
Now you can open multiple accordions, not just one.
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
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
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
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
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
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
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
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