Frappe Learning
Easy to use, open source Learning Management System
Alternative to: teachable, thinkific, udemy
About
Versions (79)
v2.45.0
2026-02-25What’s Changed
- feat: open to opportunities by @pateljannat in https://github.com/frappe/lms/pull/1919
- fix: enrollment in restricted courses by admin by @pateljannat in https://github.com/frappe/lms/pull/1922
- feat: Improved evaluation scheduling by @pateljannat in https://github.com/frappe/lms/pull/1923
- fix: certification caching issue by @pateljannat in https://github.com/frappe/lms/pull/1924
- feat: filter assignments by course in lesson by @pateljannat in https://github.com/frappe/lms/pull/1926
- fix: skip closed jobs API call for guest users by @rehanrehman389 in https://github.com/frappe/lms/pull/1934
- fix: job details for guest user by @rehanrehman389 in https://github.com/frappe/lms/pull/1935
- fix: profile save after image removal by @rehanrehman389 in https://github.com/frappe/lms/pull/1936
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/1928
- fix: batch enrollment conditions by @pateljannat in https://github.com/frappe/lms/pull/1937
- fix: batch enrollment conditions by @pateljannat in https://github.com/frappe/lms/pull/1938
- fix: dark mode visibility by @rehanrehman389 in https://github.com/frappe/lms/pull/1940
- feat: consent on billing page by @pateljannat in https://github.com/frappe/lms/pull/1939
- build: support Python 3.14 by @rehanrehman389 in https://github.com/frappe/lms/pull/1943
- feat: open to hiring by @pateljannat in https://github.com/frappe/lms/pull/1953
- feat: search by instructor name from command palette by @pateljannat in https://github.com/frappe/lms/pull/1959
- fix(quizzes): enable enter key to submit quiz creation by @royalpinto007 in https://github.com/frappe/lms/pull/1912
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/1961
- fix: show options on focus and filter selected values by @rehanrehman389 in https://github.com/frappe/lms/pull/1962
- fix: payment validation during course enrollment by @pateljannat in https://github.com/frappe/lms/pull/1963
- fix: certification filters by @pateljannat in https://github.com/frappe/lms/pull/1983
- feat: Notifications feed by @pateljannat in https://github.com/frappe/lms/pull/1971
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/1987
- fix: Add missing /lms prefix to assignment submission notification links by @Omcodes23 in https://github.com/frappe/lms/pull/1978
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/1993
- refactor: telemetry by @nextchamp-saqib in https://github.com/frappe/lms/pull/1991
- feat(batch): add student pagination and optimize dashboard queries by @raizasafeel in https://github.com/frappe/lms/pull/1992
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/1996
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/2002
- fix: allow social login endpoints by @pateljannat in https://github.com/frappe/lms/pull/2003
- fix: allow enabled server script endpoints by @pateljannat in https://github.com/frappe/lms/pull/2004
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/2008
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/2007
- refactor(lms): update get_frappe_version import by @raizasafeel in https://github.com/frappe/lms/pull/2014
- fix(lesson): ensure markdown text is displayed when pasted by @raizasafeel in https://github.com/frappe/lms/pull/1997
- fix: prevent ‘Create New’ button from overlapping last dropdown element by @raizasafeel in https://github.com/frappe/lms/pull/2022
- fix(quiz): questions list empty on back navigation from test quiz by @raizasafeel in https://github.com/frappe/lms/pull/2029
- fix(batch): restrict student list in batch details API to authorised roles by @raizasafeel in https://github.com/frappe/lms/pull/2028
- fix(course): resolve deletion failure for enrolled courses by @raizasafeel in https://github.com/frappe/lms/pull/1998
- fix(chapter): recalculate indices on deletion to prevent duplicate index errors by @raizasafeel in https://github.com/frappe/lms/pull/2012
- feat: course admin dashboard by @pateljannat in https://github.com/frappe/lms/pull/2015
- fix: api permissions by @pateljannat in https://github.com/frappe/lms/pull/2035
- feat: configurable frontend base path by @NagariaHussain in https://github.com/frappe/lms/pull/2001
- fix: reindex lessons after deletion to prevent stale form state by @Anexus5919 in https://github.com/frappe/lms/pull/2018
- fix: instructor notes block settings menu overlapped by sidebar by @Anexus5919 in https://github.com/frappe/lms/pull/2017
- fix: issue date not coming from backend by @vishwajeet-13 in https://github.com/frappe/lms/pull/2038
- fix: permissions cleanup by @pateljannat in https://github.com/frappe/lms/pull/2040
- fix: filter tabs not working in non-english languages by @raizasafeel in https://github.com/frappe/lms/pull/2043
- fix(batches): order assessments by their index by @raizasafeel in https://github.com/frappe/lms/pull/2044
- feat: student progress in course dashboard by @pateljannat in https://github.com/frappe/lms/pull/2054
- fix: improved the default print format by @pateljannat in https://github.com/frappe/lms/pull/2062
- fix(profile): translations in tab are now rendered by @raizasafeel in https://github.com/frappe/lms/pull/2060
- fix(setup): Add frappe dependency and build utils by @Aradhya-Tripathi in https://github.com/frappe/lms/pull/2036
- fix: show error toast when course creation fails by @UmakanthKaspa in https://github.com/frappe/lms/pull/2066
- fix: add missing type annotation to get_job_details by @UmakanthKaspa in https://github.com/frappe/lms/pull/2072
- fix: issues on home page by @pateljannat in https://github.com/frappe/lms/pull/2075
- fix: add text color for category names in dark mode by @UmakanthKaspa in https://github.com/frappe/lms/pull/2073
- refactor: MultiSelect field by @pateljannat in https://github.com/frappe/lms/pull/2077
- fix: misc issues by @pateljannat in https://github.com/frappe/lms/pull/2084
- fix(lesson): vimeo player rendered for private and unsanitized content by @raizasafeel in https://github.com/frappe/lms/pull/2048
- fix: dark mode ui by @raizasafeel in https://github.com/frappe/lms/pull/2083
- fix: check permission of session user during batch enrollment (backport #2109) by @mergify[bot] in https://github.com/frappe/lms/pull/2110
- fix: lesson progress issue by @pateljannat in https://github.com/frappe/lms/pull/2112
New Contributors
- @royalpinto007 made their first contribution in https://github.com/frappe/lms/pull/1912
- @Omcodes23 made their first contribution in https://github.com/frappe/lms/pull/1978
- @Anexus5919 made their first contribution in https://github.com/frappe/lms/pull/2018
- @Aradhya-Tripathi made their first contribution in https://github.com/frappe/lms/pull/2036
- @mergify[bot] made their first contribution in https://github.com/frappe/lms/pull/2091
Full Changelog: https://github.com/frappe/lms/compare/v2.43.0…v2.45.0