Skip to content

Releases: MaMpf-HD/mampf

v1.18.0

17 Jul 19:38
3516a49
Compare
Choose a tag to compare

This update brings no new features, but bugfixes and version upgrades.

  • On the forefront is the upgrade vom Rails 7.2 to 8.0 (#796 and #812). This is the latest version of Rails from March 12, 2025.
  • Thanks to @Shteffitb who pointed out an issue with the new assignment invites introduced in #798. The fix is provided in #806.
  • For developers: we now have a new command just i18n health that lets you check the health of our internationalization files (i18n).

What's Changed

Full Changelog: v1.17.0...v1.18.0

v1.17.0

10 Jun 22:39
89f4799
Compare
Choose a tag to compare

PWA

image

We have great news, you can now install MaMpf as an app on your smartphone or your computer 🥳. To be more specific: #773 introduces basic PWA support (Progress Web App). The specific installation procedure depends on your OS, checkout this link for more information. Usually, it should really be straightforward.

Easier submission invitation

MaMpf user @Shteffitb requested this feature in #784 and here we deliver it. When you want to let somebody else join your submission for a homework, you have to exchange a code once. Afterwards (for subsequent submissions), you can directly invite the other person. As of #785, the invited person will now see an Accept invitation button directly in MaMpf for this submission. [This is an alternative to opening your email client and clicking on the link we sent you in order to join.]

Naming of URLs (goodbye food)

You might have already noticed some funny URLs beforehand in MaMpf, e.g. this one for the exercise sheets page:

/lectures/123/food?project=keks

In the initial construction phase, this was a fun gimmick. The naming centered around food nouns is actually where the name MaMpf itself comes from (mampfen is colloquial German for to chow). However, for URLs, we noticed this was doing more harm than good as it is not clear what keks, kiwi, kaviar, sesam etc. actually mean. Instead, we now use names like Question, Script, Quiz, Exercise etc. See #754 for more details (and one fruit that is still left 😂)

Upgrading

Besides all of this, the big keyword is UPGRADING

  • We've upgraded Ruby on Rails from 7.1 to 7.2 (#749)
  • We've upgraded Rack from 2.2 to 3.1 (#751) (also see #791 as follow-up)
  • We've upgraded PostgreSQL from 15 to 17 (#783, locally and already a few weeks ago in production)
  • and other dependency updates (#781 & #778)

Additionally for developers

  • Our dev branch is renamed to next. As of now, everything related to "dev" and "development" means "locally". On our servers, we have experimental and next as staging environments. (among others: #787)
  • The local environments docker_development and development were merged together. It is now simply development (#786)
  • We now have VSCode debugger support for Rails files. This makes life so much easier 🤓 (#790)

What's Changed

Full Changelog: v1.16.0...v1.17.0

v1.16.0

21 Apr 19:08
9d7ec50
Compare
Choose a tag to compare

We introduce a completely new feature, called Vignettes, a word stemming from pedagogical studies. Therefore, it's not surprising that our client for this feature was the Pädagogische Hochschule (PH) Heidelberg. They wanted to issue questionnaires for their study participants and we're happy to announce that after one semester of work, mainly by @f-buerckel, these questionnaires are now available in MaMpf. Here are some screenshots to give you a glimpse into it:

image

image

image

image

image

image

There are many more features to it, e.g. you can also select a free text answer field, "number answer field", export slide statistics, link to more than one info slide and more. The main code changes stem from the big #737.

What's Changed

New Contributors

Full Changelog: v1.15.4...v1.16.0

v1.15.4

18 Apr 12:28
9d3d087
Compare
Choose a tag to compare

In this release, we add a client for Erdbeere, our mathematical example database, into MaMpf, such that the MaMpf backend and the Erdbeere backend can communicate directly with each other on our server in Heidelberg (#748). Furthermore, a bug fix is deployed to fix the failing of new lecture creations (#752) and a problem with the new voucher system (#759).

In an effort to decaffeinate our codebase, we also removed some first small .coffee files and replaced them by .js ones (#758).

What's Changed

Full Changelog: v1.15.3...v1.15.4

v1.15.3

03 Feb 22:59
872f7ac
Compare
Choose a tag to compare

This version is only concerned with improving the dev experience concerning our Docker setup, see memory & speed improvements in #736. Lengthy container rebuilds, ade.

@MaMpf-HD/core Please wipe your local Docker setup once entirely to make room for the improved one. See the "Important" section in the PR comment.

What's Changed

  • Make Docker setup less memory-intensive & build deps at container start by @Splines in #736
  • Continuous Release 1.15.3 by @Splines in #747

Full Changelog: v1.15.2...v1.15.3

v1.15.2

31 Jan 22:46
dce5617
Compare
Choose a tag to compare

This mainly fixes a bug where admins couldn't create a new lecture anymore, see #741.

What's Changed

Full Changelog: v1.15.1...v1.15.2

v1.15.1

19 Jan 22:47
23aae01
Compare
Choose a tag to compare

We have another user cleaner fix for you as it turns out that user.update() can silently fail. So we have to check for the return value and handle the case when the update didn't work 😅. See #733 for more details including a PDF that summarizes the bug.

As usual, we also updated our Node.js and Ruby dependencies (gems).

What's Changed

Full Changelog: v1.15.0...v1.15.1

v1.15.0

14 Dec 20:14
412c981
Compare
Choose a tag to compare

At the end of 2024, we serve you with a ton of improvements to MaMpf ✨. With regards to the UI, the biggest change is the redesigned profile page shining in new splendor (and better adapted to mobile phones as well):

image

You might be wondering: what is that Redeem voucher field at the top? Well, that's a new voucher system we introduced to be better compliant to GDPR. Previously, elevated users like teachers could search for users in the whole database, e.g. when they wanted to assign them as tutors for their lecture. This is problematic since teachers could see all users in the database, including their e-mail.

With the new system, teachers can no longer use such a search. Instead, they most probably already have some contact to the users, e.g. via e-mail. So why not leverage that? From now on, teachers create a so-called voucher, which is a secure hash. They send it via another channel like e-mail to the users they want to give the "tutor status" for their lecture. Those users can then redeem the voucher on their profile page. A similar mechanism exists for speakers of a seminar, teachers themselves and editors of lectures.

image

As usual we upgraded our dependencies. 🔍 Shoutout to @christian-heusel who pointed us to an outdated solr version in #700 (solr is the search engine we are using). We also updated our security policy. At this page, you can report any security vulnerabilities without having to make them public in a GitHub issue.

For devs

As a highlight in the backend, developers now have the possibility to create ERD diagrams locally as PDF files (see just utils erd. Please add new diagrams when you modify the database tables 🙏

We now also support dynamic instance method calls on FactoryBot objects in Cypress, see #696. Just use .call.my_rails_method_name on the respective objects. Furthermore, quite a few new Cypress integration tests were added, such that our CI/CD pipeline takes really long to complete 🙈, but at least many scenarios are covered. We want to prevent regressions and give you the best possible experience with MaMpf.

What's Changed

Full Changelog: v1.14.4...v1.15.0

v1.14.4

01 Dec 21:36
ae4e982
Compare
Choose a tag to compare

This is yet another fix to hopefully put an end to UserCleaner errors 🙈.

The problem was that we enqueued a final mail right before the user was deleted. But when that mail was sent out, the user object didn't exist anymore resulting in an error. We now pass the respective user fields like email and locale directly to the mail method by value and not by reference to avoid this error. See #717 for more details.

What's Changed

  • Fix unknown user variable after deletion by @Splines in #717

Full Changelog: v1.14.3...v1.14.4

v1.14.3

01 Dec 16:44
2dc4bd6
Compare
Choose a tag to compare

In this fix, we improve some edge cases of the UserCleaner responsible to delete old users that haven't logged in for too long. See more details in #716 and #693.

What's Changed

  • Deal with registration edge cases in UserCleaner (cherry-pick #693) by @Splines in #716

Full Changelog: v1.14.2...v1.14.3