Skip to content

Releases: byronka/minum

v8.2.0 Make it faster

07 Aug 01:59

Choose a tag to compare

  • New database feature: indexed data

    "Indexed data" means 1000x faster data access in some cases. By indexing the data,
    it is associated with keys - in other words, it is a map of strings to lists of data.
    In cases where the keys are unique identifiers for each element of data, the list will
    contain just one single item, thus enabling O(1) requests for data.

  • Templating performance improvements

  • New templating feature: nested templates

  • HTTP processing performance improvements

  • Better documentation

v8.1.2 - Handling throwables, documentation, testing

31 Jul 23:47

Choose a tag to compare

  • Fix a bug in the ActionQueue - handle throwables
    It was found that when an Error (versus an Exception) was encountered, it would kill
    the thread of the ActionQueue. Errors are things like out-of-memory errors. This might
    happen if the function to run in a loop iteration required too much memory. It's fine to
    crash out of that particular run, but not fine to crash the thread entirely.
  • The system will complain if duplicate endpoints are registered
    If there is a developer error of registering the same endpoint more than once, (that is,
    a verb plus endpoint, such as GET /foo), the system will thrown an exception right away, so
    there is less chance of incorporating subtle bugs.
  • General documentation improvements all around: In the JavaDocs and on the root README page.
    • Documentation improvements to IRequest
    • Clearer documentation about change to InputStreamUtils.read(), with test
    • noticed a component of StatusLine that isn't used except for testing -
      moved it to a testing section
  • Prevent registering paths with a prefixed slash. This is a typical pattern from other
    frameworks. Minum differs from that common pattern, on the basis that it provides
    no clear benefit. A typical (pseudocode) path registration will look like the
    following, note the path has no special symbol prefix: register(GET, "foo", doFoo). Naturally,
    deeper paths may be defined, like register(GET, "foo/bar", doFoo)

v8.1.1 Better documentation for HtmlParseNode

26 Apr 18:42

Choose a tag to compare

Noticed that the HtmlParseNode had some confusing methods without documentation, this should help

v8.1.0 - Add toString for HtmlParseNode, account for compressibility better

12 Apr 14:52

Choose a tag to compare

  • Add toString to HtmlParseNode
    This enables a capability to process HTML code, adjust it, and render it out as HTML
  • Account for more compressible types in responses
    Responses of a textual type are easily compressed. Before, we would only look for a mime
    type in the Content-Type head which started with "text". Now we use a regular expression
    to look for more types.
  • Improved documentation

v8.0.7 minor adjustments

07 Feb 16:27

Choose a tag to compare

Minor adjustments:

  1. No need to include sitemap.xml as a suspicious path in the minum.config, it is a path
    most search engines will try on a site, it is not an attack.
  2. If the developer makes a mistake and returns a null instead of a valid IResponse interface
    from a web handler endpoint, we fail faster, and with a clearer message, whereas before
    the null response would rattle around through some methods before causing an exception with
    an unclear error message and in an unexpected part of the code.

v8.0.6 handle bad URL-encodings better - simply skip

16 Jan 02:34

Choose a tag to compare

handle bad URL-encodings better - simply skip

It was discovered that if a user sent a request with improperly-formed URL-encoded data, it would sometimes cause a 500 error. This was not a significant issue, but ergonomically the system should not react so strongly for a relatively minor issue.

This adjustment takes a milder approach, simply moving on to the next key-value pair and logging about the action.

v8.0.5 Fixing security vulnerabilities

24 Nov 19:46

Choose a tag to compare

v8.0.4 Various improvements

11 Nov 20:36

Choose a tag to compare

v8.0.3 Bug fix

15 Sep 17:31

Choose a tag to compare

v8.0.2 Better edge condition handling, documentation

08 Sep 00:43

Choose a tag to compare