Skip to content

v0.4.0

Compare
Choose a tag to compare
@lucafaggianelli lucafaggianelli released this 06 Oct 19:25
· 78 commits to main since this release
888afe8

It took a while but here's a new release of Plombery!

Automatically navigate to a run page when you run a pipeline or a trigger manually via the run button:
auto-navigate-to-run

A dev tool can't lack the dark mode! Thanks Tremor
dark-mode

All times are shown on the web UI as local times and if you hover them you'll get the UTC time
show-utc-on-hover

During a run, live logs are autoscrolled to the bottom so you always see the latest ones, then if you scroll with your mouse/touchpad the auto scroll is disabled:
log-autoscroll

Ah and take a look at Codespaces, you can play with a Plombery server on the cloud just clicking a button:
codespaces

✨ New Features 💃🕺

  • Navigate to run page after manually running a pipeline or trigger (#71)
  • Improve the UI during a pipeline run (spinning icons, live logs indicator, etc.)
  • Add duration timer to the run page while the pipeline is running
  • Automatic scroll lock for the log stream
  • Show UTC datetime when hovering a datetime
  • Implement Dark mode and theme switcher
  • Create a settings menu for the user, the theme switch and future settings (#157)
  • New doc section: recipes
  • Improve documentation
  • Improve manual run form
  • Add codespaces config to run demo
  • Add allowed_origins configuration to explicitly set CORS headers
  • Add HTML template for email notifications (#52)
  • Add in-app messages for new users to get started (#38)
  • Use skeleton loaders during data fetch

💥 Breaking Changes 💣

There few breaking changes in this release but most of them are very easy to handle.
One of the biggest changes is the migration to Pydantic v2.

Here the breaking changes and how to migrate your code:

  • Update of FastAPI to v0.100+ and pydantic to v2, the biggest change is on Pydantic, check here the
    v2 migration guide
  • All authentication endpoints are now prefixed with /auth, so if you're using the authentication,
    the auth redirect URL is now /auth/redirect, please update it in your OAuth2 provider settings
  • The following API endpoints now have trailing slashes: pipelines/, runs/ and ws/, if you were not
    using Plombery REST API then you don't have anything to do!
  • By default CORS headers Access-Control-Allow-Origin is set to *, but can be set via the config option
    allowed_origins
  • The configuration option server_url has been removed, use allowed_origins instead
  • Trigger.params accepts a BaseModel instance and not a dict, here the changes to do:
class InputParams(BaseModel):
  value: int

Trigger(
-  params={"value": 2},
+  params=InputParams(value=2),
)

🚑 Fixes

  • Sometimes logs are appended to an existing logs files of previous runs (#131)
  • During a pipeline run, logs are streamed to any pipeline run page bug (#130)
  • Check task function signature before calling it (#154)
  • Fix link arrow decoration in scrolling containers
  • Fix table sticky headers
  • Show absolute URL in trigger run hook (#82)
  • Re-implement dialog to fix several bugs (#81)
  • Validate parameters in pipeline run endpoint
  • Derive correct WebSocket scheme from the HTTP URL scheme
  • Fix context in sync tasks functions (#153)
Full Changelog

Added

  • Navigate to run page after running manually a pipeline or trigger (#71)
  • Add ky frontend dependency as HTTP fetch library
  • Spin the running icon in the status badge
  • Add a live logs indicator to the logs viewer
  • Add duration timer to run page
  • Automatic scroll lock for the log stream
  • Show UTC datetime when hovering a datetime
  • Implement Dark mode and theme switcher
  • Create a settings menu (#157)
  • (docs): added recipe SSL certificate check
  • (docs): document pipelines and tasks (#110)
  • Improve manual run form
  • (docs): add codespaces config to run demo
  • Add allowed_origins configuration to explicitly set CORS headers
  • Add HTML template for email notifications (#52)
  • Add in-app messages for new users to get started (#38)
  • Use skeleton loaders during data fetch

Fixed

  • Sometimes logs are appended to an existing logs files of previous runs (#131)
  • During a pipeline run, logs are streamed to any pipeline run page bug (#130)
  • Check task function signature before calling it (#154)
  • Fix link arrow decoration in scrolling containers
  • Fix table sticky headers
  • Show absolute URL in trigger run hook (#82)
  • Re-implement dialog to fix several bugs (#81)
  • Validate parameters in pipeline run endpoint
  • Derive correct WebSocket scheme from the HTTP URL scheme
  • Fix context in sync tasks functions (#153)

Changed

  • Migrate tremor to v3
  • Update frontend deps
  • (breaking) updated FastAPI to v0.103 (#144)
  • updated authlib for compatibility with fastapi
  • (internal): refactored FastAPI backend (#159)
  • (breaking): auth redirect url is now /auth/redirect
  • (breaking): all auth endpoints are prefixed with /auth
  • (breaking): pipelines/, runs/ and ws/ endpoints now have trailing slashes
  • (breaking): updated pydantic to v2
  • (breaking): Trigger.params accepts a BaseModel instance, not a dict
  • (breaking): By default CORS headers allow_origins is set to *

Removed

  • Remove server_url configuration as unused