Skip to content

Release 0.31.2 #2243

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 35 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
fab0c32
UAI Dashboard (#2189)
ChristopherChudzicki Apr 10, 2025
70b73c4
backpopulate edx files by learning_resource_id (#2174)
abeglova Apr 11, 2025
5b2569f
Add OpenTelemetry Config (#2194)
shaidar Apr 11, 2025
65811d5
enrollments dashboard expand collapse (#2195)
gumaerc Apr 11, 2025
10ccd37
fix(deps): update dependency ruff to v0.11.5 (#2197)
renovate[bot] Apr 12, 2025
d129de8
fix(deps): update dependency litellm to v1.65.7 (#2199)
renovate[bot] Apr 12, 2025
4f82990
multi page marketing site scraping (#2196)
shanbady Apr 14, 2025
ec555e8
fix(deps): update dependency html2text to v2025 (#2207)
renovate[bot] Apr 15, 2025
7ed922a
fix some hardcoded dates (#2208)
ChristopherChudzicki Apr 15, 2025
2a73c52
fix(deps): update dependency litellm to v1.66.1 (#2205)
renovate[bot] Apr 16, 2025
620e825
Rename the realm file to work under keycloak 26.2+ (#2209)
rhysyngsun Apr 17, 2025
c518814
add email settings and unenroll dialogs as default context menu items…
gumaerc Apr 22, 2025
938c265
Reduce memory usage for nextjs in dev mode (#2211)
rhysyngsun Apr 22, 2025
01ece7a
redirect new users to onboarding (#2204)
shanbady Apr 25, 2025
a06ae69
chore(deps): update yarn to v4.9.0 (#2198)
renovate[bot] Apr 25, 2025
0b72b05
Drawer/chat accessibility fixes (#2214)
jonkafton Apr 25, 2025
2d3e2ec
Increase local dev container session lifespan to 2 weeks (#2212)
mbertrand Apr 28, 2025
b7148ea
[pre-commit.ci] pre-commit autoupdate (#2203)
pre-commit-ci[bot] Apr 28, 2025
e4b8e3d
add a loading state to DashboardCard (#2216)
gumaerc Apr 29, 2025
e8596b6
Merge branch 'release'
odlbot Apr 29, 2025
e41d4e5
Force https for urls in scraper (#2222)
shanbady May 1, 2025
70998ab
Static header for accessible drawer content at page magnification (#2…
jonkafton May 2, 2025
aa4605e
update coursenumber weight in search (#2219)
abeglova May 2, 2025
67968be
test (#2226)
ChristopherChudzicki May 5, 2025
69274bf
embedding content updates and removals (#2217)
shanbady May 6, 2025
039ac79
fix: Continue summarizer on error and add more logging (#2220)
arslanashraf7 May 7, 2025
3e930ee
UAI dashboard - unenrolled module card changes (#2231)
gumaerc May 7, 2025
03fd5b6
chore(deps): update dependency eslint-import-resolver-typescript to v…
renovate[bot] May 8, 2025
cc3f865
fix(deps): update dependency django to v4.2.21 [security] (#2234)
renovate[bot] May 8, 2025
4393139
Retry requests on connection errors and additional behavior (#2230)
jonkafton May 8, 2025
baae86a
Remove param based onboarding navigation (#2233)
jonkafton May 9, 2025
0331d84
Adjust default env values for mit-learn (#2235)
mbertrand May 9, 2025
cf4d909
Remove ai_chat app (#2238)
mbertrand May 9, 2025
e3621b6
ingestion of test/sandbox courses (#2224)
shanbady May 9, 2025
8f8ac52
Release 0.31.2
odlbot May 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,11 @@ jobs:
run: yarn workspace main build
env:
NODE_ENV: production
NEXT_PUBLIC_ORIGIN: https://ci.learn.mit.edu
NEXT_PUBLIC_MITOL_API_BASE_URL: https://api.ci.learn.mit.edu
NEXT_PUBLIC_ORIGIN: https://cifake.learn.mit.edu
NEXT_PUBLIC_MITOL_API_BASE_URL: https://api.cifake.learn.mit.edu
NEXT_PUBLIC_CSRF_COOKIE_NAME: cookie-monster
NEXT_PUBLIC_SITE_NAME: MIT Learn
NEXT_PUBLIC_MITOL_SUPPORT_EMAIL: help@ci.learn.mit.edu
NEXT_PUBLIC_MITOL_SUPPORT_EMAIL: help@citest.learn.mit.edu
# do this before typecheck. See https://github.com/vercel/next.js/issues/53959#issuecomment-1735563224

- name: Typecheck
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@ repos:
- --exclude-files
- "config/keycloak/tls/*"
- --exclude-files
- "config/keycloak/realms/default-realm.json"
- "config/keycloak/realms/ol-local-realm.json"
additional_dependencies: ["gibberish-detector"]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.11.4"
rev: "v0.11.6"
hooks:
- id: ruff-format
- id: ruff
Expand Down
935 changes: 0 additions & 935 deletions .yarn/releases/yarn-4.8.1.cjs

This file was deleted.

948 changes: 948 additions & 0 deletions .yarn/releases/yarn-4.9.0.cjs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .yarnrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ enableGlobalCache: false

nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-4.8.1.cjs
yarnPath: .yarn/releases/yarn-4.9.0.cjs

# https://github.com/vitejs/vite-plugin-react-swc/issues/74#issuecomment-1520484130
# https://github.com/swc-project/swc/issues/5616#issuecomment-1265639797
Expand Down
48 changes: 32 additions & 16 deletions README-keycloak.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
# Keycloak and APISIX Integration

The "docker-compose.services.yml" file includes Keycloak and APISIX containers that you can use for authentication instead of spinning up separate ones or using the deployed instances. It's not enabled by default, but you can run it if you prefer not to run your own Keycloak/APISIX instances.
The "docker-compose.services.yml" file includes Keycloak and APISIX containers
that you can use for authentication instead of spinning up separate ones or
using the deployed instances. It's not enabled by default, but you can run it if
you prefer not to run your own Keycloak/APISIX instances.

## Default Settings

There are some defaults that are part of this.

_SSL Certificate_: There's a self-signed cert that's in `config/keycloak/tls` - if you'd rather set up your own (or you have a real cert or something to use), you can drop the PEM files in there. See the README there for info.
_SSL Certificate_: There's a self-signed cert that's in `config/keycloak/tls` -
if you'd rather set up your own (or you have a real cert or something to use),
you can drop the PEM files in there. See the README there for info.

_Realm_: There's a `default-realm.json` in `config/keycloak` that will get loaded by Keycloak when it starts up, and will set up a realm for you with some users and a client so you don't have to set it up yourself. The realm it creates is called `ol-local`.
_Realm_: There's a `ol-local-realm.json` in `config/keycloak` that will get
loaded by Keycloak when it starts up, and will set up a realm for you with some
users and a client so you don't have to set it up yourself. The realm it creates
is called `ol-local`.

The users it sets up are:

Expand All @@ -18,19 +26,27 @@ The users it sets up are:
| `[email protected]` | `prof` |
| `[email protected]` | `admin` |

The client it sets up is called `apisix`. You can change the passwords and get the secret in the admin.
The client it sets up is called `apisix`. You can change the passwords and get
the secret in the admin.

## Making it Work

The Keycloak instance is part of the `keycloak` profile in the Composer file, so if you want to interact with it, you'll need to run `COMPOSE_PROFILES=backend,frontend,keycloak,apisix docker compose up`. (If you start the app without the profile, you can still start Keycloak later by specifying the profile.)

If you want to use the Keycloak and APISIX instances, follow these steps:

1. Change the value of `MITOL_API_BASE_URL` to `http://api.open.odl.local:8065` in your `shared.local.env` file.
2. Add `MITOL_NEW_USER_LOGIN_URL=http://open.odl.local:8062/onboarding` to your `shared.local.env` file
3. Copy all the env values under the "# APISIX/Keycloak " section of `backend.local.example.env` to your `backend.local.env` file. You can leave all the values as is.
Remove `DISABLE_APISIX_USER_MIDDLEWARE=False` if present in your backend.local.env file.
4. Keycloak needs to create its own database, which will only happen if you first destroy your current mit-learn database container: `docker compose down db`. If you prefer not to do this, you can manually create it by running the SQL in `config/postgres/init-keycloak.sql` in a postgres shell.
5. Start containers with the command `COMPOSE_PROFILES=backend,frontend,keycloak,apisix docker compose up`

The Keycloak and APISIX containers should start up and stay running. APISIX is on port 8065, Keycloak on port 8066. Now you should be able to log in at `https://open.odl.local:8065/login` with one of the users mentioned above, or just click "Log in" from the home page at http://open.odl.local:8062. Try logging out and back in a couple times to make sure it works.
The Keycloak instance is part of the `keycloak` profile in the Composer file, so
be sure that you have the following set in your .env file:
`COMPOSE_PROFILES=backend,frontend,keycloak,apisix`. (If you
start the app without the profile, you can still start Keycloak later by
specifying the profile.)

When you run `docker compose up`, the Keycloak and APISIX containers should start up.
APISIX is on port 8065, Keycloak on port 8066. Now you should be able to log in at
`https://open.odl.local:8065/login` with one of the users mentioned above, or
just click "Log in" from the home page at http://open.odl.local:8062. Try
logging out and back in a couple times to make sure it works.

Keycloak is enabled by default. If you do NOT want to use the Keycloak and APISIX instances,
follow these steps:

1. Change the value of `MITOL_API_BASE_URL` to `http://api.open.odl.local:8063`
in your `shared.local.env` file.
2. Add `DISABLE_APISIX_USER_MIDDLEWARE=True` to your `backend.local.env` file
3. Set `COMPOSE_PROFILES=backend,frontend` in your .env file
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The following settings must be configured before running the app:

- `COMPOSE_PROFILES`

Controls which docker containers run. To run them all, use `COMPOSE_PROFILES=backend,frontend`. See [Frontend Development](./frontends/README.md) for more.
Controls which docker containers run. To run them all, use `COMPOSE_PROFILES=backend,frontend,keycloak,apisix`. See [Frontend Development](./frontends/README.md) for more.
This can be set either in a top-level `.env` that `docker compose` [automatically ingests](https://docs.docker.com/compose/environment-variables/envvars/#compose_env_files) or through any other method of setting an environment variable in your shell (e.g. `direnv`).

- `MAILGUN_KEY` and `MAILGUN_SENDER_DOMAIN`
Expand Down
37 changes: 37 additions & 0 deletions RELEASE.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,43 @@
Release Notes
=============

Version 0.31.2
--------------

- ingestion of test/sandbox courses (#2224)
- Remove ai_chat app (#2238)
- Adjust default env values for mit-learn (#2235)
- Remove param based onboarding navigation (#2233)
- Retry requests on connection errors and additional behavior (#2230)
- fix(deps): update dependency django to v4.2.21 [security] (#2234)
- chore(deps): update dependency eslint-import-resolver-typescript to v4 (#2200)
- UAI dashboard - unenrolled module card changes (#2231)
- fix: Continue summarizer on error and add more logging (#2220)
- embedding content updates and removals (#2217)
- test (#2226)
- update coursenumber weight in search (#2219)
- Static header for accessible drawer content at page magnification (#2221)
- Force https for urls in scraper (#2222)
- add a loading state to DashboardCard (#2216)
- [pre-commit.ci] pre-commit autoupdate (#2203)
- Increase local dev container session lifespan to 2 weeks (#2212)
- Drawer/chat accessibility fixes (#2214)
- chore(deps): update yarn to v4.9.0 (#2198)
- redirect new users to onboarding (#2204)
- Reduce memory usage for nextjs in dev mode (#2211)
- add email settings and unenroll dialogs as default context menu items in dashboard cards (#2210)
- Rename the realm file to work under keycloak 26.2+ (#2209)
- fix(deps): update dependency litellm to v1.66.1 (#2205)
- fix some hardcoded dates (#2208)
- fix(deps): update dependency html2text to v2025 (#2207)
- multi page marketing site scraping (#2196)
- fix(deps): update dependency litellm to v1.65.7 (#2199)
- fix(deps): update dependency ruff to v0.11.5 (#2197)
- enrollments dashboard expand collapse (#2195)
- Add OpenTelemetry Config (#2194)
- backpopulate edx files by learning_resource_id (#2174)
- UAI Dashboard (#2189)

Version 0.31.1 (Released April 29, 2025)
--------------

Expand Down
Loading
Loading