{"result":{"depiction_url":null,"edges":{"subject":{"objects":[{"created":"2026-09-09T13:48:24Z","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":1624,"is_a":["text","documentation","releasenotes"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/1624"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"doc_releasenotes_rel_0_12_4","page_url":{"en":"https:\/\/zotonic.com\/docs\/1624\/0.12.4","x-default":"https:\/\/zotonic.com\/docs\/1624\/0.12.4"},"preview_url":null,"resource":{"version":3989,"pivot_location_lat":null,"title":"0.12.4","is_authoritative":true,"body":"<p>Released on 2015-02-20 14:19 by arjan.<\/p>\n<p>Arjan Scherpenisse (13):<\/p>\n<ul><li>core: Add ‘preview_url’ to rsc export API call<\/li><li>core: Fix edocs build<\/li><li>doc: Clarify that finished\/upcoming filters don’t perform sorting<\/li><li>mod_acl_simple_roles: Fix ACL check when category of rsc cannot be found<\/li><li>mod_development: Enable automatic recompilation on MacOS X<\/li><li>mod_search: API: Add limit, offset, format arguments to search API<\/li><li>mod_search: Add ‘finished’ search filter + documentation<\/li><li>mod_search: Add {finished} search method<\/li><li>mod_survey: Add ‘submit’ API service<\/li><li>mod_twitter: Close login window when user denies login request<\/li><li>mod_twitter: Set all context vars when rendering logon_done template<\/li><li>mod_twitter: Show logon page in current context’s language<\/li><li>mod_video: Make command line to ffmpeg\/ffprobe calls configurable<\/li><\/ul>\n<p>Arthur Clemens (44):<\/p>\n<ul><li>mod_admin: remove confusing text<\/li><li>Social login: use FB compliant “Login with...”<\/li><li>admin: fix zlink from editor, remove superseded template<\/li><li>admin: include font-awesome version 4<\/li><li>admin: tidy up Authentication Services page<\/li><li>basesite: remove old fix for logo image<\/li><li>doc: Document template models<\/li><li>doc: add icons documentation<\/li><li>doc: document ‘page_url with’ syntax<\/li><li>doc: document more use cases for <code>|if<\/code><\/li><li>doc: formatting<\/li><li>doc: remove deprecated %stream%<\/li><li>doc: restructure actions<\/li><li>doc: restructure filters<\/li><li>doc: reword solution<\/li><li>doc: show css output when extending icons<\/li><li>mod_admin: cosmetic fixes logon widget<\/li><li>mod_admin: fix layout person form<\/li><li>mod_admin: include icons css instead of recreating with less<\/li><li>mod_admin: layout tweaks<\/li><li>mod_admin: mobile tweaks<\/li><li>mod_admin: tidy email table<\/li><li>mod_base: add non-circle icons<\/li><li>mod_base: add share icon<\/li><li>mod_base: add social login icons<\/li><li>mod_base: clean up documentation<\/li><li>mod_base: hide original x char<\/li><li>mod_base: include all font source files<\/li><li>mod_base: make Z icons independent of FontAwesome<\/li><li>mod_base: make icon extend cleaner<\/li><li>mod_base_site: add icon css<\/li><li>mod_base_site: better defaults<\/li><li>mod_bootstrap: version 3.3.2<\/li><li>mod_development: flush when translation file changes<\/li><li>mod_facebook: typo<\/li><li>mod_filestore: tidy up html<\/li><li>mod_filestore: use 0 if archive size is undefined<\/li><li>social login: use icons and update brand colors<\/li><li>translation tweaks (NL)<\/li><li>validation: provide message_after param to templates<\/li><\/ul>\n<p>David de Boer (1):<\/p>\n<ul><li>Connect to “postgres” when creating database<\/li><\/ul>\n<p>Maas-Maarten Zeeman (4):<\/p>\n<ul><li>core: Make sure the z_file_entry fsm uses correct timeouts<\/li><li>core: prevent reconnecting a ws when the page is unloading<\/li><li>mod_admin_identity: Fix for adding email addresses<\/li><li>mod_base: Close websocket when unloading page. Fixes #898<\/li><\/ul>\n<p>Marc Worrell (67):<\/p>\n<ul><li>New z_stdlib locked.<\/li><li>core: add ‘expected’ option to m_rsc:update.<\/li><li>core: add compile\/0 and \/1 to z.erl, for compiling without flush.<\/li><li>core: added e.issuu.com and static.issuu.com to the sanitizer whitelist.<\/li><li>core: allow binaries for some special keys.<\/li><li>core: better handling of errornous urls for the z_file\/media routines.<\/li><li>core: correct the language utf8 encoding for R16+<\/li><li>core: correctly parse multipart\/signed emails.<\/li><li>core: extra utf8 sanitization of received email’s subject, text, html and from.<\/li><li>core: fix for importing structured blocks (like during imports)<\/li><li>core: fix in m_identity where fetching email identities could loop on a check if the email property was known as an identity.<\/li><li>core: fix problem in m_rsc:update where modified was not set on save.<\/li><li>core: fix problem where erlydtl_runtime crashed on fetching a value from a ‘time_not_exists’ atom.<\/li><li>core: fix stacktrace shown in transport lager messages.<\/li><li>core: m_rsc:update now converts non-tuple dates and handles creator\/modified on import correctly.<\/li><li>core: move erlang:get_stacktrace() outside of lager calls. Otherwise a stacktrace of lager will be shown due to the parse transforms.<\/li><li>core: on startup z_dropbox moves now all processing files to unhandled.<\/li><li>core: refactor database creation on site init.<\/li><li>core: remove unreachable code.<\/li><li>core: set the edge’s creator_id on insert<\/li><li>core: truncate the slug at 78 characters.<\/li><li>core: z_datetime:to_datetime\/1 now also handles numerical timestamps.<\/li><li>docs: add link to the pdf version.<\/li><li>docs: added placeholders.<\/li><li>docs: correct the {% call %} documentation.<\/li><li>m_identity: fix spec of get_rsc_types\/2<\/li><li>mod_admin: add pubzub and some related javascripts. needed for live tags etc.<\/li><li>mod_admin: also log stacktrace on a catch.<\/li><li>mod_admin: fix a problem where quick-editing a rsc adds all enabled languages.<\/li><li>mod_admin_identity: publish identity changes to the topic ~\/rsc\/1234\/identity.<\/li><li>mod_admin_identity: some extra padding for the identity verification page.<\/li><li>mod_admin_identity: typo in translation.<\/li><li>mod_authentication\/mod_twitter\/etc: changes for new font-awesome, bs3 and some small tpl fixes<\/li><li>mod_authentication: add authentication via LinkedIn. Add possibility to connect\/disconnect accounts with FB\/LinkedIn\/Twitter. Fix redirects after using an external service for authentication. List connected authentication services in the password reminder email.<\/li><li>mod_authentication: add special error message if there are cookie problems and the current browser is Safari 8. Issue #902<\/li><li>mod_authentication: make logon form responsive, add optional page_logon with title\/body texts.<\/li><li>mod_base: added filter trans_filter_filled\/3 export.<\/li><li>mod_base: added the filter ‘trans_filter_filled’<\/li><li>mod_base: check dialog height repeatingly, account for rounding errors in height calculation.<\/li><li>mod_base: filter-sort of undefined is undefined.<\/li><li>mod_base: handle ping\/pong websocket control frames, remove name conflict with zotonic ping\/pong.<\/li><li>mod_import_csv\/core: fixes for importing categories, new properties, corrected basename in #import_csv_definition{}<\/li><li>mod_import_csv: added checks to the model creation.<\/li><li>mod_import_csv: fix handling of blocks. Add support for ‘blocks.name.field’ keys in m_rsc:update<\/li><li>mod_import_csv: fixes for file handling and medium_url imports.<\/li><li>mod_import_csv: major changes to mod_import_csv.<\/li><li>mod_instagram: authenticate and import tags from Instagram<\/li><li>mod_instagram: fix property name in comment.<\/li><li>mod_l10n: adaptations for utf8 parsing changes in R17<\/li><li>mod_l10n: add utf-8 encoding hints to source file<\/li><li>mod_linkedin: modify template for bootstrap3<\/li><li>mod_linkedin: seems LinkedIn doesn’t like URL encoded secrets?<\/li><li>mod_linkedin: try to workaround a problem where LinkedIn doesn’t recognize the Access Token it just handed out.<\/li><li>mod_linkedin: work around for a problem with access-tokens at linkedin.<\/li><li>mod_mqtt: allow topics like [‘~site’, ‘rsc’, 1234].<\/li><li>mod_oembed\/mod_video_embed: fix problem with access rights if new media insert was done without admin rights.<\/li><li>mod_oembed: don’t crash on oembed connect timeouts.<\/li><li>mod_signup: show external auth services for signup using the logon methods. Also always force the presence of a username_pw identity for signed up users.<\/li><li>mod_survey: fix ‘stop’ survey button.<\/li><li>mod_twitter: Fix twitter redirect url<\/li><li>rebar.config.lock: lock new z_stdlib<\/li><li>rebar.config.lock: new s3filez<\/li><li>rebar.config.lock: new z_stdlib<\/li><li>rebar.config.lock: new z_stdlib<\/li><li>rebar.config.lock: new z_stdlib<\/li><li>rebar.config.lock: new z_stdlib<\/li><li>skel: add mod_mqtt to the base site, as it is needed by mod_admin<\/li><\/ul>\n<p>肥仔 (2):<\/p>\n<ul><li>emqtt_auth_zotonic issue would cause crashed when mqtt client try to connect onto it.<\/li><li>Fix the emqtt client connection issue.<\/li><\/ul>","slug":"0.12.4","is_protected":false,"visible_for":0,"tz":"UTC","language":["en"],"doc_source_hash":"ceccaa0148a8116f90ab14931d65d7df00bab1cfca56cc04d4ba8dc10de0aa74","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.12.4.md","publication_start":"2015-02-20T00:00:00Z","github_url":"https:\/\/github.com\/zotonic\/zotonic\/blob\/master\/doc\/release-notes\/0.12.4.md","pivot_location_lng":null,"doc_source_kind":"release","name":"doc_releasenotes_rel_0_12_4","is_unfindable":false,"is_published":true,"pivot_geocode":null,"created":"2020-05-30T05:47:28Z","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":"b8c4b2ccdc223257f311968fbd17b2d66f0c4156\n","creator_id":{"id":336,"is_a":["person","robot"],"name":"gitbot","title":"Git","uri":"https:\/\/zotonic.com\/id\/336"},"modified":"2026-09-30T09:40:03Z","title_slug":"0.12.4"},"uri":"https:\/\/zotonic.com\/id\/1624","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/1624"}},"status":"ok"}