Files
openstapps/frontend/app/CHANGELOG.md
Rainer Killinger 5a48342a8d docs: update changelogs for release
ci: publish release
2025-07-30 14:15:24 +02:00

39 KiB

@openstapps/app

4.0.2

Patch Changes

  • @openstapps/core@4.0.2
  • @openstapps/api@4.0.2

4.0.1

Patch Changes

  • b40ba7ad: Updated Elasticsearch dependency
  • Updated dependencies [b40ba7ad]
    • @openstapps/api@4.0.1
    • @openstapps/core@4.0.0

4.0.0

Major Changes

Patch Changes

  • b8ac30b9: Migrated IonIcons replacer to a custom component

  • b8ac30b9: Migrated to Ionic standalone components

    Angular ESBuild will not work with IonicModule apps

  • b8ac30b9: Migrated to Angular ESBuild

  • Updated dependencies [c8e29020]

    • @openstapps/api@4.0.0
    • @openstapps/collection-utils@4.0.0
    • @openstapps/core@4.0.0

3.3.5

Patch Changes

  • 4c9d330c: fix user logout when token expires

3.3.4

Minor Changes

  • 8b581ef9: Use user facing changelogs in the about pages as the primary source, with the technical changes accessible through a sub menu.

3.3.3

Patch Changes

  • 496b50d8: Bug fixes and Android target sdk version is now 34

3.3.2

Patch Changes

  • 7afc24f1: fixed config version comparison
    • @openstapps/core@3.3.2
    • @openstapps/api@3.3.2

3.3.0

Minor Changes

Patch Changes

  • Updated dependencies [688bc5f2]
    • @openstapps/api@3.2.0
    • @openstapps/core@3.2.0
    • @openstapps/collection-utils@3.0.0

3.2.0

Patch Changes

  • 689ac68b: pin alpine version to 3.18 and add healthchecks
  • Updated dependencies [912ae422]
    • @openstapps/core@4.0.0
    • @openstapps/api@4.0.0
    • @openstapps/collection-utils@3.0.0

3.1.2

Patch Changes

  • Fix for Android users not being able to log in

3.1.1

Patch Changes

  • Fix version history offered by backend
  • Updated dependencies
    • @openstapps/api@3.1.1
    • @openstapps/core@3.1.1

3.1.1

Patch Changes

  • last minute deployment changes

3.1.0

Minor Changes

Patch Changes

  • 066e3744: Update logo flow to use capacitor-assets (single asset)
  • 066e3744: Replace NavigationBar/StatusBar plugins with native color setting
  • 066e3744: Hide splash screen only when app is ready
  • Updated dependencies [06b8ca10]
    • @openstapps/core@3.1.0
    • @openstapps/api@3.1.0

3.0.0

Major Changes

  • 23481d0d: Update to Angular 16.1

  • 64caebaf: Move project to a turbo monorepo & pnpm

    Internal dependencies are now defined using "@openstapps/package": "workspace:*"

    • Removed extraneous files from packages
      • .npmrc
      • .npmignore
      • .mailmap
      • .gitignore
      • CONTRIBUTING.md
      • LICENSE (Project license file is added upon publishing, see pnpm.io)
      • package-lock.json
      • .editorconfig
      • .eslintrc.json (moved eslint config to package.json)
      • .eslintignore
      • .gitlab-ci.yml (Most workflows are workspace-level)
      • .gitlab/** (issue templates etc. are now workspace-level)
      • .dockerignore (Docker files are determined by which files are deployed with pnpm deploy, as per package.json/files)
    • TSConfig has been moved to its own package (You can now use "extends": "@openstapps/tsconfig")
    • Removed ESLint and Prettier peer dependency hell by injecting them through the .pnpmfile.cjs
    • Added syncpack for keeping dependency versions in sync (and consistent key ordering in package.json)
    • Replaced conventional changelog with changesets
    • Apps with binaries now use a top level app.js
    #!/usr/bin/env node
    import './lib/app.js';
    
  • 64caebaf: Migrate to ESM

    CommonJS is no longer supported in any capacity. To use the new version, you will need to migrate your package to ESM. We recommend using tsup and Node 18.

    {
      "type": "module"
    }
    
  • 64caebaf: Migrate package to Node 18

    • Consumers of this package will need to migrate to Node 18 or higher.
    • Packages have been migrated from promisified readFile or readFileSync towards fs/promises
    • Packages use native flatMap now

Minor Changes

  • f2c4ee30: Detail views now won't load data again if it is being navigated to from a list item

  • e1cc33bb: Added the ability to remove and add date series from their detail page

  • 64caebaf: Migrate tests to C8/Chai/Mocha

    • @testdeck OOP testing has been removed.
    • Tests have been unified
    • CommonJS module mocking has been replaced through refactoring of tests, as ES Modules cannot be mocked (do yourself a favor and don't try to mock them)
    • C8 now replaces NYC as a native coverage tool
  • 1f62b5c5: Add support for web-service-provided id cards on the profile page

  • a5c9d220: Add directions to inPlace and place list items

  • e1cc33bb: Improved calendar descriptions

    • The dashboard quick link now has a more intuitive icon
    • "Recurring" has been renamed to "Week Overview"
    • Long words in calendar tabs will now break instead of overflowing
  • 001f978b: Revamp "My Courses" section on profile page

    The "My Courses" section on the profile page has been improved

    • It will now show the upcoming courses for the next five days
    • The section header is now consistent with the other sections
    • The section now uses standard list items instead of the custom solution

    Additionally, the profile page component has been cleaned up.

  • a5c9d220: Adjust map button and item behavior on different screen sizes

    • Small screens will show the item without margins below the map actions
    • Large screens will show the list item on the left side
  • 23481d0d: Migrate to Ionic 7

    • Migrate uses of <ion-label> with inputs to new syntax
    • Fix infinite loop in schedule date picker (datetime.confirm() to datetime.cancel())
  • 64caebaf: Migrate away from JIT compilation

  • a5c9d220: Map items are now native list items

  • e1cc33bb: Replaced simple links with list items in date-series detail

  • 001f978b: Use event title for date series instead of the generic date series title

Patch Changes

  • a99e08cd: Refactored Opening Hours

    • Migrated Opening Hours to use OnPush change detection
    • Fixed a bug where opening hours would not update correctly
    • Lazy-load opening hours module to keep it out of the main bundle
    • Added e2e tests to verify functionality
    • Changed live update status to show exact minutes starting one hour before the next change
  • bd09b366: Use observable chains instead of change detection in the rating component

  • 001f978b: Add a way to hide action chips on list items

  • e0b7e616: Fixed distance not updating in list items

  • b210e0d9: Change leaflet tiles to be inverted as a whole

  • 98546a97: Migrate away from @openstapps/configuration

  • 23481d0d: Update to TypeScript 5.1.6

  • bebee6b4: Migrate collection helpers to use @openstapps/collection-utils

  • 3c49c4cf: Fixed an issue that caused double and triple loading of data detail items through the route stack service

  • 107a7c5e: Migrate unit tests to karma-coverage and junit reports. Fixes an issue where coverage reports would not be generated.

  • 1f62b5c5: Make section swiper buttons reactive

  • Updated dependencies [64caebaf]

  • Updated dependencies [64caebaf]

  • Updated dependencies [98546a97]

  • Updated dependencies [64caebaf]

  • Updated dependencies [64caebaf]

  • Updated dependencies [64caebaf]

  • Updated dependencies [64caebaf]

  • Updated dependencies [1f62b5c5]

  • Updated dependencies [98546a97]

  • Updated dependencies [23481d0d]

  • Updated dependencies [64caebaf]

  • Updated dependencies [0a7e6af1]

  • Updated dependencies [64caebaf]

  • Updated dependencies [64caebaf]

  • Updated dependencies [64caebaf]

    • @openstapps/api@3.0.0
    • @openstapps/collection-utils@3.0.0
    • @openstapps/core@3.0.0

3.0.0-next.4

Major Changes

Minor Changes

  • 23481d0d: Migrate to Ionic 7

    • Migrate uses of <ion-label> with inputs to new syntax
    • Fix infinite loop in schedule date picker (datetime.confirm() to datetime.cancel())

Patch Changes

  • 23481d0d: Update to TypeScript 5.1.6
  • bebee6b4: Migrate collection helpers to use @openstapps/collection-utils
  • 107a7c5e: Migrate unit tests to karma-coverage and junit reports. Fixes an issue where coverage reports would not be generated.
  • Updated dependencies [23481d0d]
    • @openstapps/collection-utils@3.0.0-next.4
    • @openstapps/core@3.0.0-next.4
    • @openstapps/api@3.0.0-next.4

3.0.0-next.0

Major Changes

  • 64caebaf: Move project to a turbo monorepo & pnpm

    Internal dependencies are now defined using "@openstapps/package": "workspace:*"

    • Removed extraneous files from packages
      • .npmrc
      • .npmignore
      • .mailmap
      • .gitignore
      • CONTRIBUTING.md
      • LICENSE (Project license file is added upon publishing, see pnpm.io)
      • package-lock.json
      • .editorconfig
      • .eslintrc.json (moved eslint config to package.json)
      • .eslintignore
      • .gitlab-ci.yml (Most workflows are workspace-level)
      • .gitlab/** (issue templates etc. are now workspace-level)
      • .dockerignore (Docker files are determined by which files are deployed with pnpm deploy, as per package.json/files)
    • TSConfig has been moved to its own package (You can now use "extends": "@openstapps/tsconfig")
    • Removed ESLint and Prettier peer dependency hell by injecting them through the .pnpmfile.cjs
    • Added syncpack for keeping dependency versions in sync (and consistent key ordering in package.json)
    • Replaced conventional changelog with changesets
    • Apps with binaries now use a top level app.js
    #!/usr/bin/env node
    import './lib/app.js';
    
  • 64caebaf: Migrate to ESM

    CommonJS is no longer supported in any capacity. To use the new version, you will need to migrate your package to ESM. We recommend using tsup and Node 18.

    {
      "type": "module"
    }
    
  • 64caebaf: Migrate package to Node 18

    • Consumers of this package will need to migrate to Node 18 or higher.
    • Packages have been migrated from promisified readFile or readFileSync towards fs/promises
    • Packages use native flatMap now

Minor Changes

  • 64caebaf: Migrate tests to C8/Chai/Mocha

    • @testdeck OOP testing has been removed.
    • Tests have been unified
    • CommonJS module mocking has been replaced through refactoring of tests, as ES Modules cannot be mocked (do yourself a favor and don't try to mock them)
    • C8 now replaces NYC as a native coverage tool
  • 64caebaf: Migrate away from JIT compilation

Patch Changes

2.1.1

Bug Fixes

  • autofocus searchbar only when no default data is displayed (e90286f)
  • breadcrumbs are under parallax (9e160e8)
  • browser logout only if endSession url defined (7f6de94), closes #395
  • can't select some list elements on safari 16.4 (3e99d7f)
  • canteen view removes item select listener on view exit (05e996a)
  • catalog module semester selection (afbd1fc)
  • catalog semester selection (a8c7d5a)
  • data detail local favorite fallback causing duplicate nested favorite view (dff4a95)
  • data-detail favorite button color leaking to list items (95f2da2)
  • location flow on iOS devices (f207e02)
  • parallax broken since safari 16.4 (0f970fa)
  • remove infinite scroll e2e test (47565e5)
  • replace breadcrumb popover with simply expanding the breadcrumbs (1318cbc)
  • schedule tabs navigating to the wrong url (abf2ab6)
  • translate simple pipe doesn't update on language changes (f5ca150)
  • typo in catalog provider query (f49c44f)
  • workaround for side menu items not being active on page load (947cab4)

Features

  • add content to empty catalogs (982fb16)
  • add easy way to configure search filtering for nested properties (2220ab2)
  • dark theme (e75a466)
  • dashboard search rework (8c30a47)
  • implement custom cdk virtual scroll behavior (968cb72)
  • optional logout from identity provider (8cd2d77), closes #372
  • revamp dashboard mensa section (33a74d9)
  • rework settings page design (2f1298c)
  • show in-place in date series modal, resolves #385 (22e70ae), closes #386 #388
  • transition to full sidebar at xl instead of lg (cc939f3)

2.0.1

Bug Fixes

  • assessment segments can become unreadable (939fb6e)
  • login button not easily found (11d1ac3)
  • remove misleading assessment calculations (aefae33)
  • right-align add event detail chip (1eee652)

Features

2.0.0

Bug Fixes

  • daia_url missing in environment configs (863a3ff)
  • 404 on all surge links (f1b4930)
  • add areaServed to person detail (488150f)
  • add event popover expanding beyond screen width (046a95b)
  • add location info to dates from timetable (92adb9d), closes #344
  • add missing profile translation (cdb6ac4)
  • add nav button to schedule page (e628f39)
  • add openingHours config and catch its errors (6125d43)
  • add PKCE parameters for PAIA auth (f3e83bf)
  • address late init from ionic components (0bce9e5)
  • adjust code to overcome the breaking changes (ionic 4 to 5) (f779042), closes #70
  • adjust hebis catalog templates (83d9a4a)
  • adjust library account user info (bafabb1), closes #331
  • adjust npm docker scripts and typos (82bb15b)
  • angular1 ng-if leftover (25434d5)
  • assign navigation app name dynamically (90b9733)
  • background fetch crashing android app (3316ad9)
  • calculating SCDateSeries for next unit view (82ba5f8)
  • canteen module layout (b89f5c4)
  • canteen module layout (6f7c680)
  • cards not having rounded corners in safari (8a04a43)
  • catch error Setting "language" not provided (584878d)
  • CI stage/job setup (ae429ca)
  • config.get issue by updating ionic (9386351)
  • config: fix catch ConfigFetchError in getValue (161da63), closes #46
  • correct data path color (0d755bc)
  • correct html whitespace handling for icon detection (9bc3642)
  • daia availability (13cee2d)
  • dashboard next unit structural directive causing animation issues (c8f6a27)
  • data: fix and adjust detail test using translation (478f49a), closes #50
  • data: fix template and other consistency issues (c3bc227)
  • detail page when dish of mensa selected (e5c2270), closes #140
  • download events should respect selection (28fbfef)
  • enable background fetch on iOS (a1592f8)
  • enable overflow for day labels in schedule (1195c5f)
  • encode URI parameter to proxy URI (bc13cc5), closes #326
  • extend landing period button not working on android (0caa69c), closes #333
  • failing native http requests with body (fed4f20)
  • feedback not allowing valid emails (cf74c8e), closes #349
  • fix issues found by ng build for production (a503811), closes #48
  • fix various typos (ad0dae4)
  • fixate webdriver to match used chrome version (24dbb42)
  • generate library online links properly (9854541), closes #340
  • handle prices as an optional property (9e71efc), closes #219
  • header logo changing size on ios navigate (38f0a30)
  • ignore null-island location (d3188f5), closes #149
  • item not available in offer template (7b402d6), closes #110
  • library account missing ready for pickup (e504d8c), closes #330
  • library fines should load item title only if needed (cbb949e), closes #342
  • links of timetable tabs (837c69b), closes #144
  • logged out button not showing on profile (ebdc14d), closes #239
  • make action chips react to changes of their item (c0d0b1b)
  • make keyboard dismissable on mobile devices (b2cc1fd)
  • map search on iOS (7d449b4), closes #148
  • map widget not loading tiles properly (09aa7bb), closes #127
  • missing init (config setup) in default auth service (f16e539), closes #227
  • missing translations (30d801a)
  • modals not reacting after several uses (f39c29f)
  • news module not scrollable on large screens (44b6a4a)
  • ngx-translate defaultLanguage not set (581a5b2)
  • omit sync native calendar when no uuids (c9720dc), closes #177
  • opening hours pipe refreshing too often (95e1734)
  • overhaul auth to avoid issues (99e8d6c), closes #336
  • overview search bar scrolling behind header (a037090)
  • performance degradation when scrolling (f0a45d1)
  • person list should use long-inline-text (8b2b853)
  • prevent multiple heavy setting inits (f772637)
  • prevent opening invalid links (fdee2db), closes #328
  • profile module items show click effect on scroll (8b2f2c0)
  • recurring schedule offset and event limit (9c6b513)
  • refresh token not used by default auth provider (15ccbe4), closes #311
  • remove "extend landing" button when renewal not possible (f60a228), closes #338
  • remove item before adding it to secure storage (ec511fb)
  • schedule navigation bar layout (e7d5f83)
  • set android status bar color correctly (b38a969)
  • setting of default language (ccf8b1a)
  • show nothing for empty array properties (1c56c89), closes #154
  • single map place width (88684f0), closes #147
  • some android devices don't support implied css animation units (54cc883)
  • status bar being black on Android 13 devices (feee9e8)
  • suppress router event logs in console (28caaf1), closes #207
  • swap missing icon after ionic update (643b6c9)
  • temporary disable flaky ui test (6b9b1fa)
  • timetable dates cannot be removed (9242438)
  • translate back button title (b8db0f3)
  • translations (5e1a902)
  • typo in translation (7928534)
  • update core and apply stricter tslint rules (911492d)
  • use HashLocationStrategy for routes (9d68212), closes #54
  • use localized date and time (6ca0b97)
  • use stapps core version to compare with backends' core version (66b8720), closes #77
  • user info card (998edcb), closes #305

Features

  • add "no results" screen to search (c75ca68)
  • add about module (d420008)
  • add action chips to search results (67fb4a4)
  • add auth support (default and paia) (b5f239e)
  • add backend toggle (c1d3330)
  • add basic templates for data list items (3e697b1)
  • add catalog module (03084b1)
  • add ConfigModule and FakeBackendInterceptor (406f400), closes #34 #37
  • add detail view for news (2566a71)
  • add duration pipe with frequency capabilites (49a1758)
  • add favorites support (e9452d6)
  • add feedback module (867f9e9)
  • add filter chips for news (5435f85)
  • add formatting pipes basted on Intl (4b932af)
  • add HeBIS HDS search (9a3241c)
  • add library account screens (080e6fa)
  • add library action confirmations (42b860e), closes #334
  • add logger (a0c798f)
  • add map module (c1c9a92)
  • add new font and new icons (915fd72)
  • add not found screen (e3d9ef4)
  • add permission check for geoLocation setting (d5fa2fd)
  • add service and pipe for core translator (4565600)
  • apply new layout overhaul (7bbdba5)
  • assessment tree view (0b037f9)
  • assessments module (e68d1b7)
  • calendar plugin (a57c302)
  • dashboard ui tests (9f8ab5c)
  • data: add basic methods of data provider (ffe05e4), closes #1
  • data: add data detail templates (5855acc)
  • data: add method that checks if data item has been saved (017fc67)
  • data: implement basic facets handling (b6f92a7), closes #1
  • data: show skeleton screens before data is loaded (e1039aa), closes #4
  • data: use data provider for list and detail view (7caaa18)
  • data: use general template for all offers (58960a2)
  • display availability and item data for library items (d571b1d)
  • dynamic news page rows (848d257)
  • expandable accordion in grades module (3f81afd)
  • get tab navigation items from config (c3130a3)
  • Implement variable for styling (8ecf347)
  • include font licenses in the licenses section (82479f4)
  • Ionic v6 breadcrumbs in catalog module (7b491ed)
  • lazy load all news (e48134e)
  • menu: add context menu (1dbf451), closes #3
  • navigation rail (6b08af6)
  • news module (22cd0af)
  • profile page sections (e395e9d), closes #233 #261 #267
  • refresh on pull for news module (1f3d9ad)
  • resume at origin path after login (a5e5a5b), closes #168
  • schedule layout (e416590)
  • scroll schedule cursor into view (bc4c3d7)
  • search url query param handling (f349bd7)
  • seperate dishes by menu sections (400c6b8)
  • show availability in offers (5fdef95)
  • show feedback when map search yields no results (c54ea86)
  • show menu for multiple days for canteens and cafes (3c079cd), closes #19 #79
  • storage: add search using regex (86b9bff)
  • storage: support deletion of multiple entries (63266f5)
  • storage: support search using a string (4334cad)
  • support deep links (2e3f668)
  • support overlapping timetable dates (93c37b2)
  • tab navigation bar animations and state (7ecba0b)
  • timetable module - schedule and calendar (d8ede00)
  • turn on oauth2 state check for PAIA (5bd0b50), closes #172
  • use http interceptor for backendless development (2558163), closes #37
  • use school-neutral news image fallback via css (bb94c71)
  • webpack bundle analyzer (552911c)

0.0.1

Features