{"id":15054321,"url":"https://github.com/io7m-graveyard/jcanephora","last_synced_at":"2025-10-04T14:32:27.592Z","repository":{"id":57725339,"uuid":"43243403","full_name":"io7m/jcanephora","owner":"io7m","description":"OpenGL plus static safety","archived":true,"fork":false,"pushed_at":"2018-06-04T14:31:49.000Z","size":25614,"stargazers_count":1,"open_issues_count":9,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-01-06T22:36:24.852Z","etag":null,"topics":["java","opengl","static-types"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/io7m.png","metadata":{"files":{"readme":"README-CHANGES.xml","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-27T11:01:50.000Z","updated_at":"2023-01-28T17:49:54.000Z","dependencies_parsed_at":"2022-09-11T20:30:32.017Z","dependency_job_id":null,"html_url":"https://github.com/io7m/jcanephora","commit_stats":null,"previous_names":[],"tags_count":114,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/io7m%2Fjcanephora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/io7m%2Fjcanephora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/io7m%2Fjcanephora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/io7m%2Fjcanephora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/io7m","download_url":"https://codeload.github.com/io7m/jcanephora/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235264991,"owners_count":18962466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","opengl","static-types"],"created_at":"2024-09-24T21:38:39.755Z","updated_at":"2025-10-04T14:32:22.124Z","avatar_url":"https://github.com/io7m.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cc:changelog xmlns:c=\"http://schemas.io7m.com/changelog/2.0.0\"\u003e\n  \u003cc:project\u003ecom.io7m.jcanephora\u003c/c:project\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2017-06-21\u003c/c:date\u003e\n    \u003cc:version\u003e0.61.0\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-06-19\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:summary\u003eFixed an accidental call to glUniform4ui instead of glUniform4i.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-06-19\u003c/c:date\u003e\n      \u003cc:type-code-change/\u003e\n      \u003cc:ticket\u003e26\u003c/c:ticket\u003e\n      \u003cc:summary\u003ePrevent index buffers from being re-bound for any array object other than the default.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2017-04-03\u003c/c:date\u003e\n    \u003cc:version\u003e0.60.0\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-02-04\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e48\u003c/c:ticket\u003e\n      \u003cc:summary\u003eCorrect OSGi metadata for the JOGL backend.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-02-22\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e51\u003c/c:ticket\u003e\n      \u003cc:summary\u003eUse jtensors [7.0.0, 8.0.0).\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-02-23\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e52\u003c/c:ticket\u003e\n      \u003cc:summary\u003eUse fastutil [7.0.0, 8.0.0).\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-02-23\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:summary\u003eUse junsigned [1.0.0, 2.0.0).\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-04-03\u003c/c:date\u003e\n      \u003cc:type-code-change/\u003e\n      \u003cc:summary\u003eRename all packages to use a new OSGi naming convention.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-04-03\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eUse a primogenitor POM.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-04-08\u003c/c:date\u003e\n      \u003cc:type-code-change/\u003e\n      \u003cc:ticket\u003e54\u003c/c:ticket\u003e\n      \u003cc:summary\u003eUse jtensors [8.0.0, 9.0.0).\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2017-04-08\u003c/c:date\u003e\n      \u003cc:type-code-change/\u003e\n      \u003cc:ticket\u003e55\u003c/c:ticket\u003e\n      \u003cc:summary\u003eUse new jregions package.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-12-26\u003c/c:date\u003e\n    \u003cc:version\u003e0.53.1\u003c/c:version\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-12-26\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eAdd from*() methods to the scalar type enums for easy conversions.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-12-26\u003c/c:date\u003e\n    \u003cc:version\u003e0.53.0\u003c/c:version\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-12-26\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eAdd getSizeBytes() methods to the scalar type enums.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-12-10\u003c/c:date\u003e\n    \u003cc:version\u003e0.52.0\u003c/c:version\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-12-10\u003c/c:date\u003e\n      \u003cc:type-code-change/\u003e\n      \u003cc:summary\u003eAdd cube texture method to the texture loader interface. This is a breaking change: The existing 2D texture method was renamed for consistency.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-12-10\u003c/c:date\u003e\n    \u003cc:version\u003e0.51.0\u003c/c:version\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-12-10\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eAdd cube texture allocation to the texture unit allocator.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-08-15\u003c/c:date\u003e\n    \u003cc:version\u003e0.50.0\u003c/c:version\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-08-14\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:summary\u003eUpdate Maven plugins to latest versions\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-08-14\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eThe produced packages are now OSGi bundles\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-08-14\u003c/c:date\u003e\n      \u003cc:type-code-change/\u003e\n      \u003cc:summary\u003eSwitch to using jaffirm internally instead of valid4j\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-08-15\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eAdd new LWJGL3 backend\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-05-06\u003c/c:date\u003e\n    \u003cc:version\u003e0.45.3\u003c/c:version\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-05-06\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e45\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd profiling interface from the r2 renderer\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-05-06\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e44\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd texture unit allocator interface from the r2 renderer\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-05-06\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e42\u003c/c:ticket\u003e\n      \u003cc:summary\u003eOptimization: Eliminate redundant state changes in the JCGLStencilBuffers interface\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-05-06\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e42\u003c/c:ticket\u003e\n      \u003cc:summary\u003eOptimization: Eliminate redundant state changes in the JCGLDepthBuffers interface\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-05-06\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e42\u003c/c:ticket\u003e\n      \u003cc:summary\u003eOptimization: Eliminate redundant state changes in the JCGLBlending interface\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-04-01\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e43\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd timer query interface.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-03-24\u003c/c:date\u003e\n    \u003cc:version\u003e0.45.2\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-28\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e34\u003c/c:ticket\u003e\n      \u003cc:summary\u003eFix illegal concurrent modification in texture unbinding code.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-28\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eOptimization: If a texture is already bound to a unit, binding it again has no effect.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-02-06\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e37\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd method for setting floating-point array-typed GLSL uniforms.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-03-23\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e41\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd functions for regenerating textures.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-03-24\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e38\u003c/c:ticket\u003e\n      \u003cc:summary\u003eReduce heap usage for texture tracking.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-01-26\u003c/c:date\u003e\n    \u003cc:version\u003e0.45.1\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-26\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e33\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd optional strict checking for array object builders.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-01-23\u003c/c:date\u003e\n    \u003cc:version\u003e0.45.0\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-23\u003c/c:date\u003e\n      \u003cc:type-code-change/\u003e\n      \u003cc:summary\u003eSplit up Async interface to avoid allocations and facilitate use as a functional interface.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-23\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eAdd array and index buffer reading functions, for unit testing the contents of buffers.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-01-17\u003c/c:date\u003e\n    \u003cc:version\u003e0.44.1\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-17\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e32\u003c/c:ticket\u003e\n      \u003cc:summary\u003eUse jpra 0.4.1 to fix RGBA8 texture cursors.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-01-10\u003c/c:date\u003e\n    \u003cc:version\u003e0.44.0\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-10\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e29\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd an API for efficiently initializing array object builders from existing objects.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-10\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e30\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd buffer respecification methods.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-01-05\u003c/c:date\u003e\n    \u003cc:version\u003e0.43.0\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-05\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e27\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd instancing API.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-01-05\u003c/c:date\u003e\n    \u003cc:version\u003e0.42.0\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-05\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e24\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd texture loading API.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-05\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e25\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd experimental asynchronous resource loading module.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2016-01-01\u003c/c:date\u003e\n    \u003cc:version\u003e0.41.1\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2016-01-01\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e23\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd missing framebuffer deletion API.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2015-12-30\u003c/c:date\u003e\n    \u003cc:version\u003e0.41.0\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2015-12-30\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:ticket\u003e22\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAdd view/projection matrix construction functions.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2015-12-30\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e21\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAvoid rebinding array buffers during array object construction.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2015-12-30\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eAdd arrayBufferAnyIsBound and arrayBufferIsBound methods.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2015-12-29\u003c/c:date\u003e\n    \u003cc:version\u003e0.40.3\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2015-12-29\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e20\u003c/c:ticket\u003e\n      \u003cc:summary\u003eShader uniforms now only require readable matrices.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2015-12-29\u003c/c:date\u003e\n    \u003cc:version\u003e0.40.2\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2015-12-29\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e19\u003c/c:ticket\u003e\n      \u003cc:summary\u003eAvoid allocations caused by boxing in log statements.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2015-12-11\u003c/c:date\u003e\n    \u003cc:version\u003e0.40.1\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2015-12-11\u003c/c:date\u003e\n      \u003cc:type-code-fix/\u003e\n      \u003cc:ticket\u003e18\u003c/c:ticket\u003e\n      \u003cc:summary\u003eEnsure returned texture images are in native byte order.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:release c:ticket-system=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:date\u003e2015-12-06\u003c/c:date\u003e\n    \u003cc:version\u003e0.40.0\u003c/c:version\u003e\n    \u003cc:item\u003e\n      \u003cc:date\u003e2015-12-06\u003c/c:date\u003e\n      \u003cc:type-code-new/\u003e\n      \u003cc:summary\u003eInitial release.\u003c/c:summary\u003e\n    \u003c/c:item\u003e\n  \u003c/c:release\u003e\n\n  \u003cc:ticket-system xml:id=\"com.github.io7m.jcanephora\"\u003e\n    \u003cc:ticket-url\u003ehttps://github.com/io7m/jcanephora/issues/\u003c/c:ticket-url\u003e\n  \u003c/c:ticket-system\u003e\n\n\u003c/c:changelog\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fio7m-graveyard%2Fjcanephora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fio7m-graveyard%2Fjcanephora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fio7m-graveyard%2Fjcanephora/lists"}