Montelearn is a backend API that you can use to build a custom e-learning platform. Its main focus is on creating interactive lessons and tests, so it’s suitable for every kind of science or topic.
We decided to develop Montelearn and make it publicly available due to the COVID-19 pandemic. The educational system will inevitably gravitate towards the remote paradigm. We believe that the ability to use free, open-source, and proven solutions will greatly benefit schools that often operate on a tight budget.
Montelearn is a high-end software built on microservices. It’s elastic and highly customizable at its core. It can be made to fit virtually any frontend — see the documentation below.
Montelearn will be helpful in any scenario where interactive, choice-based workflows are needed. The use cases include, but are not limited to:
To see Montelearn in action visit https://montelearn.monterail.com.
To make the implementation of Montelearn easier, we’re also giving full access to the demo’s frontend. You can freely modify it and brand it in your own way.
We welcome all contributors! If you want to jump in, simply do so and start creating pull requests.
The Montelearn source code is completely free and released under the MIT License.
Bumps nokogiri from 1.10.9 to 1.13.9.
Sourced from nokogiri's releases.
1.13.9 / 2022-10-18
Security
- [CRuby] Vendored libxml2 is updated to address CVE-2022-2309, CVE-2022-40304, and CVE-2022-40303. See GHSA-2qc6-mcvw-92cw for more information.
- [CRuby] Vendored zlib is updated to address CVE-2022-37434. Nokogiri was not affected by this vulnerability, but this version of zlib was being flagged up by some vulnerability scanners, see #2626 for more information.
Dependencies
- [CRuby] Vendored libxml2 is updated to v2.10.3 from v2.9.14.
- [CRuby] Vendored libxslt is updated to v1.1.37 from v1.1.35.
- [CRuby] Vendored zlib is updated from 1.2.12 to 1.2.13. (See LICENSE-DEPENDENCIES.md for details on which packages redistribute this library.)
Fixed
- [CRuby]
Nokogiri::XML::Namespace
objects, when compacted, update their internal struct's reference to the Ruby object wrapper. Previously, with GC compaction enabled, a segmentation fault was possible after compaction was triggered. [#2658] (Thanks,@eightbitraptor
and@peterzhu2118
!)- [CRuby]
Document#remove_namespaces!
now defers freeing the underlyingxmlNs
struct until theDocument
is GCed. Previously, maintaining a reference to aNamespace
object that was removed in this way could lead to a segfault. [#2658]
sha256 checksums:
9b69829561d30c4461ea803baeaf3460e8b145cff7a26ce397119577a4083a02 nokogiri-1.13.9-aarch64-linux.gem e76ebb4b7b2e02c72b2d1541289f8b0679fb5984867cf199d89b8ef485764956 nokogiri-1.13.9-arm64-darwin.gem 15bae7d08bddeaa898d8e3f558723300137c26a2dc2632a1f89c8574c4467165 nokogiri-1.13.9-java.gem f6a1dbc7229184357f3129503530af73cc59ceba4932c700a458a561edbe04b9 nokogiri-1.13.9-x64-mingw-ucrt.gem 36d935d799baa4dc488024f71881ff0bc8b172cecdfc54781169c40ec02cbdb3 nokogiri-1.13.9-x64-mingw32.gem ebaf82aa9a11b8fafb67873d19ee48efb565040f04c898cdce8ca0cd53ff1a12 nokogiri-1.13.9-x86-linux.gem 11789a2a11b28bc028ee111f23311461104d8c4468d5b901ab7536b282504154 nokogiri-1.13.9-x86-mingw32.gem 01830e1646803ff91c0fe94bc768ff40082c6de8cfa563dafd01b3f7d5f9d795 nokogiri-1.13.9-x86_64-darwin.gem 8e93b8adec22958013799c8690d81c2cdf8a90b6f6e8150ab22e11895844d781 nokogiri-1.13.9-x86_64-linux.gem 96f37c1baf0234d3ae54c2c89aef7220d4a8a1b03d2675ff7723565b0a095531 nokogiri-1.13.9.gem
1.13.8 / 2022-07-23
Deprecated
XML::Reader#attribute_nodes
is deprecated due to incompatibility between libxml2'sxmlReader
memory semantics and Ruby's garbage collector. Although this method continues to exist for backwards compatibility, it is unsafe to call and may segfault. This method will be removed in a future version of Nokogiri, and callers should use#attribute_hash
instead. [#2598]Improvements
XML::Reader#attribute_hash
is a new method to safely retrieve the attributes of a node fromXML::Reader
. [#2598, #2599]Fixed
... (truncated)
Sourced from nokogiri's changelog.
1.13.9 / 2022-10-18
Security
- [CRuby] Vendored libxml2 is updated to address CVE-2022-2309, CVE-2022-40304, and CVE-2022-40303. See GHSA-2qc6-mcvw-92cw for more information.
- [CRuby] Vendored zlib is updated to address CVE-2022-37434. Nokogiri was not affected by this vulnerability, but this version of zlib was being flagged up by some vulnerability scanners, see #2626 for more information.
Dependencies
- [CRuby] Vendored libxml2 is updated to v2.10.3 from v2.9.14.
- [CRuby] Vendored libxslt is updated to v1.1.37 from v1.1.35.
- [CRuby] Vendored zlib is updated from 1.2.12 to 1.2.13. (See LICENSE-DEPENDENCIES.md for details on which packages redistribute this library.)
Fixed
- [CRuby]
Nokogiri::XML::Namespace
objects, when compacted, update their internal struct's reference to the Ruby object wrapper. Previously, with GC compaction enabled, a segmentation fault was possible after compaction was triggered. [#2658] (Thanks,@eightbitraptor
and@peterzhu2118
!)- [CRuby]
Document#remove_namespaces!
now defers freeing the underlyingxmlNs
struct until theDocument
is GCed. Previously, maintaining a reference to aNamespace
object that was removed in this way could lead to a segfault. [#2658]1.13.8 / 2022-07-23
Deprecated
XML::Reader#attribute_nodes
is deprecated due to incompatibility between libxml2'sxmlReader
memory semantics and Ruby's garbage collector. Although this method continues to exist for backwards compatibility, it is unsafe to call and may segfault. This method will be removed in a future version of Nokogiri, and callers should use#attribute_hash
instead. [#2598]Improvements
XML::Reader#attribute_hash
is a new method to safely retrieve the attributes of a node fromXML::Reader
. [#2598, #2599]Fixed
- [CRuby] Calling
XML::Reader#attributes
is now safe to call. In Nokogiri <= 1.13.7 this method may segfault. [#2598, #2599]1.13.7 / 2022-07-12
Fixed
XML::Node
objects, when compacted, update their internal struct's reference to the Ruby object wrapper. Previously, with GC compaction enabled, a segmentation fault was possible after compaction was triggered. [#2578] (Thanks,@eightbitraptor
!)1.13.6 / 2022-05-08
Security
- [CRuby] Address CVE-2022-29181, improper handling of unexpected data types, related to untrusted inputs to the SAX parsers. See GHSA-xh29-r2w5-wx8m for more information.
... (truncated)
897759c
version bump to v1.13.9aeb1ac3
doc: update CHANGELOGc663e49
Merge pull request #2671 from sparklemotion/flavorjones-update-zlib-1.2.13_v1...212e07d
ext: hack to cross-compile zlib v1.2.13 on darwin76dbc8c
dep: update zlib to v1.2.1324e3a9c
doc: update CHANGELOG4db3b4d
Merge pull request #2668 from sparklemotion/flavorjones-namespace-scopes-comp...73d73d6
fix: Document#remove_namespaces! use-after-free bug5f58b34
fix: namespace nodes behave properly when compactedb08a858
test: repro namespace_scopes compaction issueDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps addressable from 2.7.0 to 2.8.1.
Sourced from addressable's changelog.
Addressable 2.8.1
- refactor
Addressable::URI.normalize_path
to address linter offenses (#430)- remove redundant colon in
Addressable::URI::CharacterClasses::AUTHORITY
regex (#438)- update gemspec to reflect supported Ruby versions (#466, #464, #463)
- compatibility w/ public_suffix 5.x (#466, #465, #460)
- fixes "invalid byte sequence in UTF-8" exception when unencoding URLs containing non UTF-8 characters (#459)
Ractor
compatibility (#449)- use the whole string instead of a single line for template match (#431)
- force UTF-8 encoding only if needed (#341)
#460: sporkmonger/addressable#460 #463: sporkmonger/addressable#463 #464: sporkmonger/addressable#464 #465: sporkmonger/addressable#465 #466: sporkmonger/addressable#466
Addressable 2.8.0
- fixes ReDoS vulnerability in Addressable::Template#match
- no longer replaces
+
with spaces in queries for non-http(s) schemes- fixed encoding ipv6 literals
- the
:compacted
flag fornormalized_query
now dedupes parameters- fix broken
escape_component
alias- dropping support for Ruby 2.0 and 2.1
- adding Ruby 3.0 compatibility for development tasks
- drop support for
rack-mount
and remove Addressable::Template#generate- performance improvements
- switch CI/CD to GitHub Actions
8657465
Update version, gemspec, and CHANGELOG for 2.8.1 (#474)4fc5bb6
CI: remove Ubuntu 18.04 job (#473)860fede
Force UTF-8 encoding only if needed (#341)99810af
Merge pull request #431 from ojab/ct-_do_not_parse_multiline_strings7ce0f48
Merge branch 'main' into ct-_do_not_parse_multiline_strings7ecf751
Merge pull request #449 from okeeblow/freeze_concatenated_strings41f12dd
Merge branch 'main' into freeze_concatenated_strings068f673
Merge pull request #459 from jarthod/iso-encoding-problemb4c9882
Merge branch 'main' into iso-encoding-problem08d27e8
Merge pull request #471 from sporkmonger/sporkmonger-enable-codeqlDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps tzinfo from 1.2.7 to 1.2.10.
Sourced from tzinfo's releases.
v1.2.10
- Fixed a relative path traversal bug that could cause arbitrary files to be loaded with require when used with
RubyDataSource
. Please refer to https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx for details. CVE-2022-31163.- Ignore the SECURITY file from Arch Linux's tzdata package. #134.
TZInfo v1.2.10 on RubyGems.org
v1.2.9
- Fixed an incorrect
InvalidTimezoneIdentifier
exception raised when loading a zoneinfo file that includes rules specifying an additional transition to the final defined offset (for example, Africa/Casablanca in version 2018e of the Time Zone Database). #123.v1.2.8
- Added support for handling "slim" format zoneinfo files that are produced by default by zic version 2020b and later. The POSIX-style TZ string is now used calculate DST transition times after the final defined transition in the file. The 64-bit section is now always used regardless of whether Time has support for 64-bit times. #120.
- Rubinius is no longer supported.
Sourced from tzinfo's changelog.
Version 1.2.10 - 19-Jul-2022
- Fixed a relative path traversal bug that could cause arbitrary files to be loaded with
require
when used withRubyDataSource
. Please refer to https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx for details. CVE-2022-31163.- Ignore the SECURITY file from Arch Linux's tzdata package. #134.
Version 1.2.9 - 16-Dec-2020
- Fixed an incorrect
InvalidTimezoneIdentifier
exception raised when loading a zoneinfo file that includes rules specifying an additional transition to the final defined offset (for example, Africa/Casablanca in version 2018e of the Time Zone Database). #123.Version 1.2.8 - 8-Nov-2020
- Added support for handling "slim" format zoneinfo files that are produced by default by zic version 2020b and later. The POSIX-style TZ string is now used calculate DST transition times after the final defined transition in the file. The 64-bit section is now always used regardless of whether Time has support for 64-bit times. #120.
- Rubinius is no longer supported.
0814dcd
Fix the release date.fd05e2a
Preparing v1.2.10.b98c32e
Merge branch 'fix-directory-traversal-1.2' into 1.2ac3ee68
Remove unnecessary escaping of + within regex character classes.9d49bf9
Fix relative path loading tests.394c381
Remove private_constant
for consistency and compatibility.5e9f990
Exclude Arch Linux's SECURITY file from the time zone index.17fc9e1
Workaround for 'Permission denied - NUL' errors with JRuby on Windows.6bd7a51
Update copyright years.9905ca9
Fix directory traversal in Timezone.get when using Ruby data sourceDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps rails-html-sanitizer from 1.3.0 to 1.4.3.
Sourced from rails-html-sanitizer's releases.
1.4.3 / 2022-06-09
Address a possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.
Prevent the combination of
select
andstyle
as allowed tags in SafeListSanitizer.Fixes CVE-2022-32209
Mike Dalessio
1.4.2 / 2021-08-23
Slightly improve performance.
Assuming elements are more common than comments, make one less method call per node.
1.4.1 / 2021-08-18
Fix regression in v1.4.0 that did not pass comment nodes to the scrubber.
Some scrubbers will want to override the default behavior and allow comments, but v1.4.0 only passed through elements to the scrubber's
keep_node?
method.This change once again allows the scrubber to make the decision on comment nodes, but still skips other non-elements like processing instructions (see #115).
Mike Dalessio
1.4.0 / 2021-08-18
Processing Instructions are no longer allowed by Rails::Html::PermitScrubber
Previously, a PI with a name (or "target") matching an allowed tag name was not scrubbed. There are no known security issues associated with these PIs, but similar to comments it's preferred to omit these nodes when possible from sanitized output.
Fixes #115.
Mike Dalessio
Sourced from rails-html-sanitizer's changelog.
1.4.3 / 2022-06-09
Address a possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.
Prevent the combination of
select
andstyle
as allowed tags in SafeListSanitizer.Fixes CVE-2022-32209
Mike Dalessio
1.4.2 / 2021-08-23
Slightly improve performance.
Assuming elements are more common than comments, make one less method call per node.
Mike Dalessio
1.4.1 / 2021-08-18
Fix regression in v1.4.0 that did not pass comment nodes to the scrubber.
Some scrubbers will want to override the default behavior and allow comments, but v1.4.0 only passed through elements to the scrubber's
keep_node?
method.This change once again allows the scrubber to make the decision on comment nodes, but still skips other non-elements like processing instructions (see #115).
Mike Dalessio
1.4.0 / 2021-08-18
Processing Instructions are no longer allowed by Rails::Html::PermitScrubber
Previously, a PI with a name (or "target") matching an allowed tag name was not scrubbed. There are no known security issues associated with these PIs, but similar to comments it's preferred to omit these nodes when possible from sanitized output.
Fixes #115.
Mike Dalessio
f83f08c
version bump to v1.4.3924e3ab
update CHANGELOG for v1.4.39b79253
Merge pull request #137 from rails/flavorjones-prevent-select-style-combinati...45a5c10
fix: modify safelist option if it contains both select
and style
045774a
test: clean up tests by using the helpersfe109c9
test: ensure we pass with libxml 2.9.149778c47
test: ensure tests pass when nokogiri uses system libxml29c421f0
ci: add coverage for system libxml2984b82e
ci: include coverage of ruby 3.1 and jruby 9.318f2f2c
test: finally use the CSS hex encoding originally intendedDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps rack from 2.2.3 to 2.2.3.1.
Sourced from rack's changelog.
Changelog
All notable changes to this project will be documented in this file. For info on how to format all future additions to this file please reference Keep A Changelog.
[3.0.0] - Unreleased
Security
- Do not use semicolon as GET parameter separator. (#1733, [
@jeremyevans
])SPEC Changes
- Response
status
must now be an integer greater than or equal to 100.- Response
headers
must now be an unfrozen hash.- Response header keys can no longer include uppercase characters.
- Response header values can be an
Array
to handle multiple values (and no longer supports\n
encoded headers).- Response body can now respond to
#call
(streaming body) instead of#each
(enumerable body), for the equivalent of response hijacking in previous versions.- Middleware must no longer call
#each
on the body, but they can call#to_ary
on the body if it responds to#to_ary
.rack.input
is no longer required to be rewindable.rack.multithread/rack.multiprocess/rack.run_once
are no longer required environment keys.SERVER_PROTOCOL
is now a required key, matching the HTTP protocol used in the request.Removed
- Remove
rack.multithread
/rack.multiprocess
/rack.run_once
. These variables generally come too late to be useful. (#1720, [@ioquatix
], [@jeremyevans
]))- Remove deprecated Rack::Request::SCHEME_WHITELIST. ([
@jeremyevans
])- Remove internal cookie deletion using pattern matching, there are very few practical cases where it would be useful and browsers handle it correctly without us doing anything special. (#1844, [
@ioquatix
])Added
Rack::Headers
added to support lower-case header keys. ([@jeremyevans
])Rack::Utils#set_cookie_header
now supportsescape_key: false
to avoid key escaping. ([@jeremyevans
])Rack::RewindableInput
supports size. (@ahorek
)Rack::RewindableInput::Middleware
added for makingrack.input
rewindable. ([@jeremyevans
])- The RFC 7239 Forwarded header is now supported and considered by default when looking for information on forwarding, falling back to the X-Forwarded-* headers.
Rack::Request.forwarded_priority
accessor has been added for configuring the priority of which header to check. (#1423, [@jeremyevans
])- Allow response headers to contain array of values. (#1598, [
@ioquatix
])Changed
- BREAKING CHANGE: Require
status
to be an Integer. (#1662,@olleolleolle
)- BREAKING CHANGE: Query parsing now treats parameters without
=
as having the empty string value instead of nil value, to conform to the URL spec. (#1696, [@jeremyevans
])- Relax validations around
Rack::Request#host
andRack::Request#hostname
. (#1606,@pvande
)- Removed antiquated handlers: FCGI, LSWS, SCGI, Thin. (#1658, [
@ioquatix
])- Removed options from
Rack::Builder.parse_file
andRack::Builder.load_file
. (#1663, [@ioquatix
])Rack::HTTP_VERSION
has been removed and theHTTP_VERSION
env setting is no longer set in the CGI and Webrick handlers. (#970, [@jeremyevans
])Rack::Request#[]
and#[]=
now warn even in non-verbose mode. (#1277, [@jeremyevans
])- Decrease default allowed parameter recursion level from 100 to 32. (#1640, [
@jeremyevans
])- Attempting to parse a multipart response with an empty body now raises Rack::Multipart::EmptyContentError. (#1603, [
@jeremyevans
])Rack::Utils.secure_compare
uses OpenSSL's faster implementation if available. (#1711,@bdewater
)Rack::Request#POST
now caches an empty hash if input content type is not parseable. (#749, [@jeremyevans
])
... (truncated)
925a4a6
update changelog70c0a24
bump version434413f
Escape untrusted text when logginga872bcc
Restrict broken mime parsingDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps puma from 4.3.5 to 4.3.12.
Sourced from puma's releases.
4.3.12
Security
- Close several HTTP Request Smuggling exploits (CVE-2022-24790)
4.3.11
- Bugfix/Security
- Response body will always be
close
d. (GHSA-rmj8-8hhh-gv5h, related to #2809)4.3.10
Re-allows UTF-8 in HTTP header values
4.3.9
https://github.com/puma/puma/security/advisories/GHSA-48w2-rm65-62xx
v4.3.8
- Security
- Close keepalive connections after the maximum number of fast inlined requests (#2625)
v4.3.6
https://github.com/puma/puma/compare/v4.3.5...4.3.6
A quick fix for a build error on Mac OS and a JSON require fix for those using phased restart.
Sourced from puma's changelog.
4.3.12 / 2022-03-30
- Security
- Close several HTTP Request Smuggling exploits (CVE-2022-24790)
4.3.11 / 2022-02-11
- Security
- Always close the response body (GHSA-rmj8-8hhh-gv5h)
4.3.10 / 2021-10-12
- Bugfixes
- Allow UTF-8 in HTTP header values
4.3.9 / 2021-10-12
- Security
- Do not allow LF as a line ending in a header (CVE-2021-41136)
4.3.8 / 2021-05-11
- Security
- Close keepalive connections after the maximum number of fast inlined requests (CVE-2021-29509) (#2625)
4.3.7 / 2020-11-30
4.3.6 / 2020-09-05
831d8a8
Version bump78dd448
4.3.11 historyb8439ff
Merge pull request from GHSA-h99w-9q5r-gjq9706534a
Updates and backports to 4-3-stable (#2829)1a3e339
Fix psych, close #28234ce94d7
4.3.11, backport 5.6.2 (#2822)a62754e
4.3.109576c2e
HTTP header field values: Allow all octets to be passed in as obscure data (#...166ad54
4.3.10 release notefb6ad8f
4.3.9 (#2721)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Monterail is a close-knit team of 200+ experts delivering meaningful software for startups and businesses.
GitHub Repository Homepage