# Cytoplasm Change Log This document contains the complete change log for every official release of Cytoplasm. It is intended to be updated with every commit that makes a user-facing change worth reporting in the change log. As such, it changes frequently between releases. Final change log entries are published as [Releases](releases). ## v0.4.1 Cytoplasm is now a C99 library! Upgrading from C89 to C99 makes Cytoplasm more portable than ever. ### New Features - Added an option to `j2s` to allow additional fields in structures and ignore them in encoding and decoding. Note that additional fields are totally untouched—they are not even initialized to a default value. - Fixed a memory leak that would occur in code generated by `j2s` under specific circumstances. - Added `JsonMerge()` to the JSON API to merge two JSON objects together. - Make `HttpRouter` decode path parts before matching them on regular expressions. - Fixed a bug in `ArraySort()` that would crash programs if the passed array has no elements. - Adds `Db[OP]Args` functions that are equivalent to their `Db[OP]` counter parts, but uses an array of string instead of variadic arguments. ## v0.4.0 **Released on November 1, 2023** This is the first independent release of Cytoplasm! Last month, Cytoplasm was split off of [Telodendria](/Telodendria/Telodendria) to become its own independent project with its own independent releases. This allows it to develop at a much more rapid pace than Telodendria. Changes in future releases will be reported here. Since this is the first release, there are no changes to show.