{"result":{"depiction_url":null,"edges":{"subject":{"objects":[{"created":"2026-09-09T13:48:27Z","object_id":{"id":2560,"is_a":["categorization","keyword","keyword_information_type"],"name":"zotonic_topic_release_notes","title":"Release notes","uri":"https:\/\/zotonic.com\/id\/2560"},"seq":1}],"predicate":{"id":308,"is_a":["meta","predicate"],"name":"subject","title":{"_type":"trans","tr":{"en":"Keyword"}},"uri":"http:\/\/purl.org\/dc\/elements\/1.1\/subject"}}},"id":1677,"is_a":["text","documentation","releasenotes"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/1677"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"doc_releasenotes_rel_0_21_0","page_url":{"en":"https:\/\/zotonic.com\/docs\/1677\/0.21.0","x-default":"https:\/\/zotonic.com\/docs\/1677\/0.21.0"},"preview_url":null,"resource":{"version":3420,"pivot_location_lat":null,"title":"0.21.0","is_authoritative":true,"body":"<p>Welcome to Zotonic 0.21.0, released on 3 October, 2016.<\/p>\n<p>Main changes are:<\/p>\n<ul><li>Added an <code>acl_is_owner<\/code> notification (<a href=\"https:\/\/github.com\/zotonic\/zotonic\/issues\/1404\">#1404<\/a>).<\/li><li>Added a Docker image for Zotonic development (<a href=\"https:\/\/github.com\/zotonic\/zotonic\/issues\/1425\">#1425<\/a>).<\/li><li>Improved Docker images size by switching to Alpine (<a href=\"https:\/\/github.com\/zotonic\/zotonic\/issues\/1374\">#1374<\/a>).<\/li><li>Improved password hashing by switching to bcrypt (<a href=\"https:\/\/github.com\/zotonic\/zotonic\/issues\/1390\">#1390<\/a>).<\/li><li>Improved <code>is_visible<\/code> filter to support fulltext search results.<\/li><li>Moved documentation to Read the Docs (<a href=\"https:\/\/github.com\/zotonic\/zotonic\/issues\/1454\">#1454<\/a>).<\/li><li>Fixed removed observers not being detached (<a href=\"https:\/\/github.com\/zotonic\/zotonic\/issues\/1441\">#1441<\/a>).<\/li><\/ul>\n<h2>Commits since 0.20.0<\/h2>\n<p>There were 31 commits since release 0.20.0.<\/p>\n<p>Big thanks to all people contributing to Zotonic!<\/p>\n<h3>Git shortlog<\/h3>\n<p>Arjan Scherpenisse (1):<\/p>\n<ul><li>core: Add default config for ‘setup’ application<\/li><\/ul>\n<p>David de Boer (12):<\/p>\n<ul><li>core: Remove rid from maybe_allowed (#1400)<\/li><li>tests: Fix m_identity_tests on 0.x (#1415)<\/li><li>Add 0.20.0 release notes (#1423)<\/li><li>mod_admin: Fix spelling error<\/li><li>doc: Add deeplink to custompivot<\/li><li>doc: Fix ref<\/li><li>docker: Negate paths in .dockerignore to make image even smaller (#1426)<\/li><li>docker: Fix compilation by switching bcrypt dep (#1434)<\/li><li>doc: Improve site creation (fix #1440)<\/li><li>docker: Add dev Docker image (#1425)<\/li><li>docker: Fix duplicate config files (#1442)<\/li><li>doc: Build 0.x docs on Read the Docs (#1454)<\/li><\/ul>\n<p>Maas-Maarten Zeeman (1):<\/p>\n<ul><li>core: Use bcrypt and erlpass for password hashes (#1390)<\/li><\/ul>\n<p>Marc Worrell (16):<\/p>\n<ul><li>mod_acl_user_groups: make the is_owner check a notification (#1404)<\/li><li>mod_acl_user_groups: fix is_owner check.<\/li><li>mod_admin: pass args to connect dialog items. Add ‘thumbnail-linkable’ class.<\/li><li>mod_admin: in connect-dialog search result, add the class ‘unpublished’ for unpublished items.<\/li><li>mod_admin: filter connect-list on visibility<\/li><li>mod_base: let is_visible filter also accept a list of tuples {Id,Score} as returned by the fulltext search<\/li><li>core: add smtp headers from the #email message.<\/li><li>mod_video: fix replacement of temp re-render placeholder.<\/li><li>i18n: manual merge of #1437<\/li><li>mod_oembed: don’t embed data for ‘link’ type (our metadata sniffer is better at this)<\/li><li>mod_email_status: export clear_status\/2<\/li><li>core: fix eacces\/eaccess mixup<\/li><li>core: fix a problem where removing an exported observe function did not detach the observer. Fixes #1441<\/li><li>core: less restrictive receive for module shutdown.<\/li><li>core: skip identify errors when extracting mime format.<\/li><li>mod_export: catch errors in xlsx export of illegal dates<\/li><\/ul>\n<p>Marco Wessel (1):<\/p>\n<ul><li>docker: Use Alpine Linux for the Docker images (#1374)<\/li><\/ul>","slug":"0.21.0","is_protected":false,"visible_for":0,"tz":"UTC","language":["en"],"doc_source_hash":"19aa9629dba2dc3c00514ff71f811331b30e09938699b9b0c6cb9810860fe643","is_featured":false,"content_group_id":{"id":2551,"is_a":["meta","content_group"],"name":"content_group_imported_docs","title":"Imported documentation","uri":"https:\/\/zotonic.com\/id\/content_group_imported_docs"},"category_id":{"id":330,"is_a":["meta","category"],"name":"releasenotes","title":"Release notes","uri":"https:\/\/zotonic.com\/id\/releasenotes"},"doc_source_path":"doc\/release-notes\/0.21.0.md","publication_start":"2016-10-03T00:00:00Z","github_url":"https:\/\/github.com\/zotonic\/zotonic\/blob\/master\/doc\/release-notes\/0.21.0.md","pivot_location_lng":null,"doc_source_kind":"release","name":"doc_releasenotes_rel_0_21_0","is_unfindable":false,"is_published":true,"pivot_geocode":null,"created":"2020-05-30T05:47:30Z","uri":null,"doc_status":"current","is_dependent":false,"publication_end":"9999-06-01T00:00:00Z","modifier_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"privacy":0,"doc_source_commit":"bb8c4bfc7674f55f71ccc1d9130a01760b8031bc\n","creator_id":{"id":336,"is_a":["person","robot"],"name":"gitbot","title":"Git","uri":"https:\/\/zotonic.com\/id\/336"},"modified":"2026-10-24T06:47:20Z","title_slug":"0.21.0"},"uri":"https:\/\/zotonic.com\/id\/1677","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/1677"}},"status":"ok"}