Releases: elan-ev/tobira
v2.13 🦎
🟢 There are no breaking changes.
User-facing changes
- Enable footer links to break into multiple lines on narrow screens in #1278
Changes primarily for admins
- Make workflow of uploader configurable via
upload.workflow
in #1268 - Fix minor mistakes in auth docs in #1270
- Do some dependency updates in #1259
- Improve harvest error reporting in #1257
Changes primarily for developers
Full Changelog: v2.12...v2.13
v2.12 🦇
🟢 There are no breaking changes.
What's Changed
User facing changes
- Update Paella to fix visual bug with floating menus in #1245
- Explicitly mention "delete" as possible things someone with "write" access can do in #1254
Changes primarily for admins
- Fix deserialization of old harvest responses in #1256
- This makes Tobira again work with older Opencast versions. With v2.9 and v2.10 we accidentally bumped the requirements for the harvest API without realizing it. This is now fixed. We also added tests to reduce the likelihood of this happening again.
- Update some dependencies
Changes primarily for developers
- Fix GitHub action scripts
- Fix UI tests
- Fix copy&paste bug in GraphQL docs in #1255
Full Changelog: v2.11...v2.12
v2.11 🦭
🟢 There are no breaking changes.
What's Changed
User-facing changes
- Add playlists in #1159 and #1181
- Playlists are now synced with Opencast, and stored in Tobiras DB and search index
- There are direct links to playlists and playlists can be added as blocks to pages, very similar to series
- Make event/series/playlist selection in block editor return most recently updated items first when no search term is entered in #1224
- Fix & improve various UI things in our paella integration in #1208
- Fix uploader for metadata containing '%' in #1192
- Remove "open in new tab" icons from Editor and Studio buttons in #1207
- Fix navigation for invalid realm paths in #1204
- Fix back button by replacing current state in "forward to direct video" in #1210
- Refine notes for missing videos in series and playlist blocks in #1213
- Make video routes work with Opencast Ids in #1190
Changes primarily for admins
- Add
opencast.external_api_node
config value (previously deleting videos was using the sync node, which usually did not work with multi-node setups) in #1221 - Remove outdated note about series not findable from docs in #1194
- Fix comment in config for
general.initial_consent
in #1201 - Improve config docs for
general.initial_consent
in #1206 - Fix docs about "listed" behavior in #1211
- Update some paella packages in #1223
Changes primarily for developers
- Fix "listed" logic, rewrite all search index trigger logic & some other improvements in #1217
- Make scripts compatible with older versions of
bash
in #1188 - Ignore
build
andnode_modules
folder forwebpack --watch
in #1193 - Update appkit and replace own components by the ones from appkit in #1199
- Replace
docker-compose
command withdocker compose
& updatetime
dep to fix build error in #1218
Full Changelog: v2.10...v2.11
v2.10 🐙
What's Changed
User-facing changes
- Allow users to delete videos they have write-access to in #1172
- Enable paella slide previews in #1163
- Note: you have to run a resync to take advantage of that for existing events.
- Adjust sizing and color of new paella icons to be less bold and distracting in #1165
- Add option to embed videos using Opencast IDs by @geichelberger in #1174
- Open studio and editor in current tab and add return-to-tobira links in #1178
- Hide editor link on live videos since they can't be edited anyway in #1182
- Fix issue where very wide videos could overflow and cause horizontal scrolling in #1183
Changes primarily for admins
- Make font configurable in #1167
Changes primarily for developers
- Update and improve deployment scripts for installation on RHEL9 by @wsmirnow in #1169
- Improve asset handling and use frontend bundle splitting in #1167
- Add block editing UI tests in #1147
- Store custom ACL actions in database in #1164
New Contributors
Full Changelog: v2.9...v2.10
v2.9 🐍
Breaking changes ⚠
- Rework Tobira permission roles: remove "Tobira moderator", add "Tobira admin", add granular roles in #1137
- You have to adjust your auth integration to give the appropriate new roles to your privileged users. In the easiest case you just have to replace
ROLE_TOBIRA_MODERATOR
withROLE_TOBIRA_ADMIN
. But please see the PR or the documentation for more information.
- You have to adjust your auth integration to give the appropriate new roles to your privileged users. In the easiest case you just have to replace
- Improve logging: switch to
tracing
& make filters more powerful in #1145- This is only a configuration-breaking-change. The
log.level
config value is replaced bylog.filters
. To get the previous behavior, just replacelevel = "$yourLevel"
inconfig.toml
withfilters.tobira = "$yourLevel"
.
- This is only a configuration-breaking-change. The
User-facing changes
- Add quality selector for progressive download videos in #1143
- Add series to search results in #1144
- Adjust paella progress bar color in #1149
- Adjust spacing of forwards and backwards button text in #1150
- Use new Paella icons and proper translations in #1162
Changes primarily for developers
- Dependency updates (only patch versions)
- Adjust sync code for series metadata in #1160
Changes primarily for developers
- Add basic search filters (experimental) in #1080
- Update
loadtest
utility with new GraphQL requests in #1142 - Add "danger zone" UI tests in #1151
Full Changelog: v2.8...v2.9
v2.8 🐻❄️
🟢 There are no breaking changes.
Changes primarily for admins
- Fix deadlock in auth cache (solves Tobira freezing problem) in #1141
- See this issue for more details. This bug was introduced in v2.4, occurring randomly depending on a few factors.
- Fix behavior when
auth.callback.cache_duration
is set to 0 in #1141- Tobira went into a kind of busy loop, using CPU resources needlessly. This bug seems to use up to roughly 1/4 of a single CPU core.
- Pass more metadata to Paella (mainly for Matomo integration) in #1140
Full Changelog: v2.7...v2.8
v2.7 🦦
🟢 There are no breaking changes.
What's Changed
User-facing changes
- Fix broken Quality selector UI in Paella in #1122 (note: currently only used for live videos)
- Fix bug where event search was not returning all events for ROLE_ADMIN in #1134
- Improve some button/link descriptions for screen reader accessibility in #1136
Changes primarily for admins
- Add i18ned footer links by @geichelberger in #1119
- Release authkit 0.2.0 in #1124
- Update
paella-user-tracking
to fix Matomo's customDimensions and media analytics in #1139 - Dependency updates
- Note: due to this, the glibc requirement of our pre-built
x86_64-unknown-linux-gnu
has increased to 2.29. If you are using an old OS that does not satisfy this requirement, use the-musl
pre-built binary or build the binary yourself in the system in question. Again: Tobira does not require a newer glibc version, just this one pre-built binary.
- Note: due to this, the glibc requirement of our pre-built
Changes primarily for developers
- Switch to login callback for local development & deployment server in #1123
- Improve UI tests by running each in isolation (separate Tobira process & DB) with fixed offline data in #1093
- Use secret password for
admin
user on test deployment in #1135
Full Changelog: v2.6...v2.7
v2.6 🦣
What's Changed
Breaking changes ⚠
With this release, the auth system was restructured to be more flexible, convenient and powerful. All previous "auth modes" are still supported and you don't have to change anything apart from the Tobira config file! See the "Migration" section at the bottom of these release notes. As part of this, the documentation about auth was reworked. See those new docs or this PR for more information.
- Remove
auth.mode
in favor ofauth.source
plusauth.session.*
- Move
auth.session_duration
toauth.session.duration
- Remove a
auth.*_header
configs. These were not useful, see this commit for the reasoning. - Move role-related configs into
auth.roles
. That'smoderator_role
,upload_role
,studio_role
,editor_role
,user_realm_role
, anduser_role_prefixes
. - Always add
ROLE_ANONYMOUS
andROLE_USER
to logged in users. Technically a breaking change, but this should always be the case. It might not have been in the past if fauly auth integrations forgot to add those roles.
Apart from the auth related changes, there are two other breaking changes:
- Tobira moderators (
ROLE_TOBIRA_MODERATOR
) cannot edit all pages anymore. OnlyROLE_ADMIN
can do that implicitly. To retain the old behavior, addROLE_TOBIRA_MODERATOR
as "page admin" to the home page. (You might have to add a "known group" for that purpose.) - The libc requirement for the
tobira-x86_64-unknown-linux-gnu
binary increased to 2.31 (which is Ubuntu 20.04 kind of old). If this is a problem for you, you an always use the-musl
build.
User-facing changes
- Add granular permissions to the page tree in #1097
- This allows you to give users access to only parts of the page tree. Access is inherited down the tree, meaning that giving a user access to one page means that user also has access to all sub-pages. There are two levels of permissions: page admin (can do everything) and moderator (cannot delete the page, change its path, or change access rules).
- Add configurable "terms and conditions" popup in #1112
- Useful in combination with the added basic Matomo integration.
- Update Paella and add support for fallback fullscreen mode on iOS in #1113
- Revise download menu listitems in #1111
- Add arrow navigation to remaining popover menus in #1001
- Fix overlarge thumbnails in series slider view in #1078
- Group edit series options by @geichelberger in #1079
- Left align "about tobira" page content in #1084
- Add breadcrumbs to series pages in #1085
- Make logout button work with keyboard in #1083
- Hide child list in "change order" UI if sorted alphabetically in #1105
- Fix login page redirect when
login_link
is not configured in #1117 - Extend edit series block by @geichelberger in #1058
- Change edit series block label "layout" to "Metadata" in #1076
Changes primarily for admins
- Add auth callbacks in #1032
- This is a new way to include your custom auth logic with Tobira. It is preferred over the existing "auth header" solution for several reasons. It usually makes setup a lot easier and the whole system faster. See the new auth docs for more information.
- Add initial support for Matomo data collection via Paella player in #1099
- Fix bug in
auth.mode = "opencast"
in #1109 - Fix deserialization bug for harvesting in special cases in #1109
- Add logging of useful DB server information in #1089
- Future proof harvest sync code for new items in #1115
Changes primarily for developers
- Add
url
field to routes to build path and use it everywhere in #1035 - Split
ci
action into two jobs to start deploy faster in #1073 - Actually pass relevant options through to
start-dev.sh
by @JulianKniephoff in #1104 - Stop using non-existent Roboto fonts in Paella in #1106
- Add realm ACL roles to db dump in #1110
Full Changelog: v2.5...v2.6
Migration
This section should make the it easy to adjust to the auth system changes that replace auth.mode
. Be sure to check the other breaking changes as well.
You currently have auth.mode = ...
"opencast"
[auth]
source = "tobira-session"
session.from_login_credentials = "opencast"
"login-proxy"
[auth]
source = "tobira-session"
session.from_session_endpoint = "trust-auth-headers"
Consider migrating to login callbacks.
"full-auth-proxy"
[auth]
source = "trust-auth-headers"
Consider migrating to auth callbacks.
v2.5 🦔
🟢 There are no breaking changes.
User-facing changes
- Fix router bug to prevent critical errors when redirecting internally in #1060
- Filter out past live events from search results in #1062
- Implement several minor UI improvements in #1061
- Unify series block layouts by always placing the description inside the block in #1020
- Improve video item spacing in series blocks for certain screen widths in #1071
- Replace radio buttons in edit series form with simple radio/checkboxes the in #1021
Full Changelog: v2.4...v2.5
v2.4 🐢
This is quite a big release which adds a UI for editing ACLs, switches to the new and much improved Paella design, includes a redesign of the search page, and much more. Unfortunately, there are also a number of breaking changes.
What's Changed
Breaking changes ⚠
- Tobira now requires MeiliSearch ≥ 1.4 (see our docs on how to update)
- Tobira now requires PostgreSQL ≥ 12
- Tobira now requires the
hstore
extension in the PostgreSQL DB. For PG12 you have to manually install that extension. For PG13 and newer, you don't have to do anything. - A required config value
general.tobira_url
was added. You have to specify the public URL under which Tobira is available. - It is now required that the roles for a user (returned by the auth integration) contain exactly one user role (that is: a role starting with the configured
auth.user_role_prefixes
,ROLE_USER_
by default). This is almost certainly already the case for almost everyone, but we are now officially requiring this property.
User-facing changes
- Add UI to set ACLs/access rules.
- Currently this is only used in the uploader, but in the future, the same UI will be used to edit the ACL of events/series or to give granular editing permissions for pages. Developing this UI unblocks quite a few features.
- The functionality is quite flexible, allowing you to configure "groups" that users can select from. Individual users can also be added by specifying their exact username/email or searching for their name (configurable).
- There are still some limitations that we plan on addressing in the near future: custom actions, possible to disable, ACL merge support.
- Use new Paella skin and improve player UX
- Tobira finally uses the new Paella skin, making the player (and by extension the video page) look a lot more modern. Paella uses the configured
primary
color for accents. - The UX was improved by making the Paella UI disappear more quickly while the video is playing, and by showing a more appropriate icon when hovering over elements that can be clicked.
- Updates:
paella-core
(1.41.0
->1.46.1
),paella-basic-plugins
(1.31.2
->1.44.2
),paella-zoom-plugin
(1.29.0
->1.41.1
)
- Tobira finally uses the new Paella skin, making the player (and by extension the video page) look a lot more modern. Paella uses the configured
- Improve search page in #1025.
- This is the start of us finally giving some love to the search functionality, improving the design and adding more feature in the future.
- Add timestamp support via
?t=1m23s
parameter and "start at:" option to share menu in #943 - Adjust Paella scaling and background in #984
- Fix paella dual stream layout in #985
- Auto pause videos when playing a different one on the same page in #973
- Retain volume setting across all videos in #983
- Let textarea inputs grow dynamically in #970
- Unify focus style on miscellaneous elements in #962
- Disable automatic font size adjustment in iOS safari in #989
- Wrap
delete realm
button text in #993 - Adjust some translations in #987
- Stop radio buttons from shrinking in #992
- Add contextual video link to "referencing pages" in #995
- Fix scrolling footer in #1022
- Fix text color in text blocks in #1034
- Hide information on "add child" page behind tooltips in #1030
- Use fixed background/color for inputs and textareas in #939
Changes primarily for admins
- Make user role prefixes configurable in #974
- Add docs with general info about Tobira in #935
- Do not include
"email": null
in JWT (if there is no email) in #964 - Improve error message in case
sync.{user/password}
are incorrect in #1000 - Update dependencies
Changes primarily for developers
- Add utility functions for building GraphQL event and series IDs in #981
- Change type of event duration in DB from i32 to i64 in #986
- Forward
ExternalLink
component ref in #997 - Replace most Hero icons by ones from Lucide in #936
- Replace feather icons with lucide icons in #994
- Add musl release builds and basic load testing scripts in #940
- Add compile target to adopter registration stats in #942
- Replace manual DOM ids with "useId()" hook in #980
- Improve homepage of test deployment in #1051
Full Changelog: v2.3...v2.4