mordaunt.dev/code

code / icns / log

icns log

235 commits, newest first

  1. 2026-09-23ffc7bb3icns: add standard justfile
  2. 2026-09-23b868f23all: name the magic values that remain
  3. 2026-09-21e8170b8icns: reorganise and rename
  4. 2026-09-21d461eb0ico,exe: reorganise and rename
  5. 2026-09-216f52a0bico: assemble a file from icons already encoded
  6. 2026-09-212c73f5bexe: name the resource types Windows knows them by
  7. 2026-09-2152451afall: name each format's magic once
  8. 2026-09-216cb325bci: let a failing check fail the job
  9. 2026-09-211814bd5ci: run the same check the working copy runs
  10. 2026-09-21045a12fcmd/icnsify.containerSniff: remove extension check
  11. 2026-09-212031fb0icns: drop the helper nothing calls, keep the value nothing names
  12. 2026-09-21ade0f6dicns: start the resize workers with WaitGroup.Go
  13. 2026-09-21736f81ficns: name the embedded field once
  14. 2026-09-21f247802icnsify: identify a binary by its header
  15. 2026-09-214c2e616all: count with a range over int
  16. 2026-09-21bb80a74ico: drop the parameters decodeBMP does not read
  17. 2026-09-21d583680icnsify: decode without the file name
  18. 2026-09-21a47e488appicon: clarify naming
  19. 2026-09-217b61967build: one check to run before a change is finished
  20. 2026-09-21217dd54exe: tell a library from a program by its header
  21. 2026-09-2183d0647appicon: spell a specialised value the way the manifest does
  22. 2026-09-215001ec0appicon: arrange the oracle the way a shipping icon is arranged
  23. 2026-09-212c9154eappicon: hold the bundle against actool
  24. 2026-09-207b995cbappicon: record the compiler crash rather than guard against it
  25. 2026-09-20756ab6eappicon: vary a bundle by appearance
  26. 2026-09-2092b4a77docs: describe the macOS 26 icon bundle
  27. 2026-09-202368c2ficnsify: write an icon bundle
  28. 2026-09-20e27066fappicon: write the icon bundle macOS 26 compiles
  29. 2026-09-201831a88icns: stop warning about ARGB padding
  30. 2026-09-2029025addocs: describe reading icons out of binaries
  31. 2026-09-20d23e323icnsify: read icons out of a Windows binary
  32. 2026-09-20ebed95fexe: read the icons a Windows binary carries
  33. 2026-09-201123bccdocs: describe validation
  34. 2026-09-20d9f37c5wasm: expose validation to the page
  35. 2026-09-20952d580icnsify: check an icon from the command line
  36. 2026-09-2039e1831icns: report what macOS will make of a file
  37. 2026-09-204e362e5ico: report what Windows will make of a file
  38. 2026-09-20b18d6e7build: separate minting a tag from releasing onev4.2.0
  39. 2026-09-203e85d61ci: leave the winget job without an ambient token
  40. 2026-09-20b77d8f9ci: pin govulncheck to a release
  41. 2026-09-207ed3aefci: pin the actions to commit hashes
  42. 2026-09-20df287f9build: move the release config to goreleaser v2
  43. 2026-09-2018ce131build: restore the shell extension's out-of-workspace build
  44. 2026-09-20aec6cb1build: take the published library in the command modules
  45. 2026-09-20a289d07ci: follow the winget releaser to its new owner
  46. 2026-09-1876ed5c9wasm: expose the converters to a web pagev4.1.0
  47. 2026-09-18cadf5f4icnsify: write ico files
  48. 2026-09-18c74311cico: check the format against Windows itself
  49. 2026-09-189eb03ebico: add a sibling package for the Windows icon format
  50. 2026-09-188204a2aicns: move resampling into an internal package
  51. 2026-09-18eeb191dicns: let registered decoders read the compressed elements
  52. 2026-09-18d42b4fcicns: pad compressed colour planes with a trailing byte
  53. 2026-09-1841fc02cbuild: annotate library test failures
  54. 2026-09-18911701bbuild: vet each module where it can build
  55. 2026-09-181ddb836build: hold the package against iconutil on macOS
  56. 2026-09-18358f79bdocs: say how far back decoding reaches
  57. 2026-09-18ee5210ficns: decode the indexed colour icon types
  58. 2026-09-18d56977aicns: decode the ARGB sidebar and toolbar icons
  59. 2026-09-181603cb1cmd/icnsify: report the build with a version flag
  60. 2026-09-186e0cc7ficns: sort with the slices package
  61. 2026-09-182569d0abuild: drop the shell extension's out-of-workspace build
  62. 2026-09-180993206all: update x/image and x/net
  63. 2026-09-187085580all: require Go 1.27
  64. 2026-09-18f9884d4cmd/preview: move to Gio 0.10
  65. 2026-09-1823ec0badocs: describe per-slot encoding and single icon decoding
  66. 2026-09-18335a96dcmd/icnsify: convert an iconset directory
  67. 2026-09-1828e0d60icns: encode from artwork supplied per slot
  68. 2026-09-1856bd4e8cmd/shell-extension: decode only the icon it needs
  69. 2026-09-18a0554feicns: decode one icon without decoding the rest
  70. 2026-09-180cebcdbicns: write a table of contents
  71. 2026-09-18bff19a6icns: write true 16 and 32 pixel icons
  72. 2026-09-185dbc5ddicns: let one icon occupy more than one element
  73. 2026-09-186d8994aicns: decode the legacy colour and mask icon types
  74. 2026-09-180438531icns: size the icon set from the types it will write
  75. 2026-09-184dbe1ccbuild: let dependabot watch every module
  76. 2026-09-189870ba9build: test, fuzz and scan every module in CI
  77. 2026-09-18c1aa75cicns: capture loop variables directly in the encoder
  78. 2026-09-18cff759cicns: build element headers with encoding/binary
  79. 2026-09-18cb4307bicns: take the interpolation function in resizeSquare
  80. 2026-09-1806d845aall: keep doc comments to what the code does
  81. 2026-09-186b7ce73cmd/shell-extension: resample with x/image/draw
  82. 2026-09-18d6caefcicns: resample with x/image/draw instead of nfnt/resize
  83. 2026-09-18bc979c7icns: skip resampling when the source is already icon-sized
  84. 2026-09-17b2ca62fcmd: record icns v4.0.0 in the command modules' go.sumv4.0.1
  85. 2026-09-17837e875build: drop the go.work replace now that v4.0.0 is published
  86. 2026-09-178129febdocs: give the GOWORK override as a PowerShell command
  87. 2026-09-17df50af1all: fold the old master line into the history
  88. 2026-09-172ef5d89docs: name each module when testing the workspacev4.0.0
  89. 2026-09-17bde1f4bdocs: describe the v4 layout, install paths and release steps
  90. 2026-09-1714a023cbuild: ignore compiled binaries
  91. 2026-09-171059a2ecmd/icnsify: fold into the root module
  92. 2026-09-17dba92d5cmd/icnsify: use the standard flag package
  93. 2026-09-173b4821dcmd/icnsify: use the os package instead of afero
  94. 2026-09-170c0aad7icns: move the module to v4
  95. 2026-09-16f2cd459build: add a go.work spanning the modules
  96. 2026-09-16715ac90cmd/icnsify: exit non-zero on failure and detect pipes reliably
  97. 2026-09-163a01775cmd/preview: fix save-as extension and icon list reset
  98. 2026-09-1653d3954shell-extension: recover from panics in COM callbacks
  99. 2026-09-16a7df5a0icns: make tests assert what they claim
  100. 2026-09-16816e624icns: measure images by their dimensions, not their bounds
  101. 2026-09-1638c96faicns: fall back to a decodable icon in Decode
  102. 2026-09-16d35ce81icns: reject malformed elements in the decoder
  103. 2026-09-165678c31shell-extension: document build, install modes and diagnostics
  104. 2026-09-16536736cshell-extension: test the DLL through raw COM vtables
  105. 2026-09-164de7696shell-extension: export COM entry points and registry setup
  106. 2026-09-166c97db1shell-extension: add icns thumbnail provider COM object
  107. 2026-09-1675c992cshell-extension: add COM primitives for a Go in-process server
  108. 2024-10-2932962dfgo.*: update icns version
  109. 2024-10-296c3229dicns.Decode{All}: explicitly error on unsupported formatsv3.0.1
  110. 2024-10-29439e61acmd/icnsify: probe icns prior to decode
  111. 2024-10-295519ecdcmd/icnsify: use slog instead of log
  112. 2024-10-298b1e856icns.Probe: allow probing for icons
  113. 2024-10-29b2a5cbdicns.IconDescription: describe each icon (without icon data)
  114. 2024-10-290161855icns.ImageFormat: enumerate expected image formats
  115. 2024-10-29e0231eecmd/icnsify: use octal for file permission
  116. 2024-10-29142a10aicns.sizesFrom: omit second index in slice
  117. 2024-10-29887a11bicns: delete panicf (unused)
  118. 2024-10-29ec1a785icns: remove use of deprecated ioutil
  119. 2023-12-08fc86995docs: update install commands
  120. 2023-12-08b6b3df9all: restructure into separate modulesv3.0.0
  121. 2023-12-06c461daeall: separate modules with workspacev2.3.0
  122. 2023-12-0604ed626cmd/preview: update to latest giov2.2.8
  123. 2023-12-067bf38c4go.mod: bump go version and tidy
  124. 2023-11-298f29e4acmd/preview: update deps
  125. 2023-11-2961700cfgoreleaser: use scoop.repository instead of scoop.bucket
  126. 2023-11-2943acd24goreleaser: use brew.repository instead of brew.tap
  127. 2023-11-290e6cd1fdeps: upgrade afero and textv2.2.7
  128. 2023-08-1755d64d1ci: change Winget Releaser job to `ubuntu-latest`
  129. 2023-08-03bf920e7docs: update homebrew tap instructions
  130. 2023-05-040a65229cmd/preview: update depsv2.2.6
  131. 2023-05-04fa684bcicns: updates deps
  132. 2023-05-04a915a6cicns: fix test to include 16 as smallest size
  133. 2023-05-040e02947cmd/preview: fixup module namev2.2.5
  134. 2023-03-03725d674docs: add winget install instructions
  135. 2023-03-033f9a69cci: add dependabot
  136. 2023-03-03a97a4e0ci: add winget releaser workflow
  137. 2023-02-273aa1692docs: [brew] add homebrew tap
  138. 2023-02-274e1050ddocs: [scoop] add personal bucket
  139. 2023-02-2759b54b1goreleaser: add scoop bucket description
  140. 2023-02-2705eacc5goreleaser: add brew tap description
  141. 2023-02-27473b2fdgoreleaser: produce zip archives for windowsv2.2.4
  142. 2023-02-27df756fadeps: update to Go 1.17
  143. 2023-02-27541477ddeps: upgrade gio version
  144. 2023-02-27a017c6fdeps: upgrade
  145. 2023-02-27a7361c8docs: add scoop installation instructions
  146. 2023-02-24c1113a3Bump golang.org/x/text from 0.3.6 to 0.3.8 in /cmd/preview
  147. 2023-02-240f7cda0Bump golang.org/x/text from 0.3.6 to 0.3.8
  148. 2022-04-08179b999build: release script
  149. 2022-04-081e2a23aRemove icon type icp4,icp5,icp6v2.2.1
  150. 2022-03-3019366bfUpdate the codes about generated icns files. (#10)v2.2.0
  151. 2021-12-224522a09cmd/preview: decouple preview from icnsv2.1.3
  152. 2021-12-2224b6242Drop pkg/errors in favour of fmt error wrapping (#7)
  153. 2021-05-299f7f2eefix: sort images largest-firstv2.1.2
  154. 2021-05-29535d9c9docs: fix install command
  155. 2021-05-28307d2e8build: migrate to v2v2.1.1
  156. 2021-05-2801d9bc5fix: update releaser configuration
  157. 2021-05-078d9b7b6docs: remove completed todo
  158. 2021-05-06fc3feb0feat: save as icns with ctrl-s hotkey
  159. 2021-05-062c1ad13docs: screenshot
  160. 2021-05-069194b50feat(ux): cooporate with 'open with' entry point
  161. 2021-05-060a2f4aedocs: showcase preview gui
  162. 2021-05-068a75d44ux: process icon concurrently
  163. 2021-05-061ff925dfeat(preview): gui for previewing icns icon files
  164. 2021-05-0605f19e0feat(DecodeAll): export func that returns all decoded images
  165. 2021-05-06a422e6afeat: gui app skeleton
  166. 2021-03-04a97290ccoffee!
  167. 2020-04-139e181b4Mistakenly added unsupported image formats (#3)
  168. 2020-04-13869b441Fix parsing of some modern ICNS files (#2)
  169. 2020-04-12ead765cChore: Include Go version in mod file.
  170. 2020-04-12bf406b9Fix: Add supported OS type to test.
  171. 2020-04-12de5873bDoc: Cleanup piping example.
  172. 2020-04-110ecefc2Merge pull request #1 from andydotxyz/patch-1
  173. 2020-04-111f2e4ecAdd supported icon types
  174. 2018-12-314f16af7[+] Create resized images in parallel.v2.0.3
  175. 2018-11-15bcdb459[~] Compile for windows. Ignore 32 bit architectures.
  176. 2018-11-15b5fa7ea[~] Stay up to date with goreleaser. (fpm was deprecated)v2.0.2
  177. 2018-11-15d352e0b[!] Migrate to go modules.v2.0.0
  178. 2018-05-2498e1c42[~] Added 128*128 size to the size list.
  179. 2018-02-187cc95a8[+] Updated readme examples. Removed deprecated roadmap item.v1.0.0
  180. 2018-02-187f59306[+] Encode direction based on input (icns -> png or png|jpg -> icns).
  181. 2018-02-18332bd5f[-] ICNS does not support standard JPEG.
  182. 2018-02-18033c0cb[*] Shorten the function call.
  183. 2018-02-18fe8561e[*] Default to jpeg quality of 100 for best icon quality.
  184. 2018-02-184f1b88a[+] Added errors as sanity checks.
  185. 2018-02-184dc1c00[+] Added test case for icon image with weird size.
  186. 2018-02-17608fd07[*] Factored out read icons into a type for readability.
  187. 2018-02-175399734[+] Introduced Decoder func with unit test.
  188. 2018-02-17e6262f6[*] Expanded the OsType to associate the types with their sizes.
  189. 2018-02-14a57a0ac[*] Targeting the package instead of main.gov0.1.2
  190. 2018-02-14c63623c[+] Added version variable to be filled in by ldflags.
  191. 2018-02-1490f485d[+] Ignoring dist folders which contain build artifacts (goreleaser).
  192. 2018-02-1464961de[*] Corrected author name and email.
  193. 2018-02-14669f320[*] Moved .goreleaser.yml to top level directory.
  194. 2018-02-141048361[+] Using goreleaser to release binaries.
  195. 2018-02-1462c5799[+] Using dep for dependency management.v0.1.1
  196. 2018-02-1481c49d6[-] Removed dependency on a local lib that isn't hosted anyhere yet.
  197. 2018-02-123075591[*] Fixed spacing in usage example.v0.1.0
  198. 2018-02-12d7aac8c[*] Typo fix.
  199. 2018-02-12ad28a01Merge branch 'master' of https://github.com/jackmordaunt/icns
  200. 2018-02-12e4ff63aMerged in testing branch.
  201. 2018-02-125cd42f5Initial commit
  202. 2018-02-120ca38bd[+] Added CLI usage and extra documentation.
  203. 2018-02-12540bed1[+] Documened the purpose of the lib and the included CLI app.
  204. 2018-02-12d5573f4[*] Moved image to a param to match other encoding APIs.
  205. 2018-02-12a3aa869[*] Exported Encoder fields.
  206. 2018-02-124c20a58[+] Tests for `encodeImage`.
  207. 2018-02-124dd8959[*] Pulled `Icon.encodeImage` into a func to make it easier to test.
  208. 2018-02-11635e3d8[+] Added comment on icns types and how to use them.
  209. 2018-02-11fa78841[+] Moved to fluent API. Image format is now passed to the encoder.
  210. 2018-02-11b6183dd[+] Introduced fluent API and an option for specifying the image format.
  211. 2018-02-11ea6fe46[+] Switch on image format to avoid lossy conversion.
  212. 2018-02-10894342c[*] Moved `EncodeWithInterpolationFunction` closer to its usage.
  213. 2018-02-106d0a0b1[*] Moved Todo to readme.
  214. 2018-02-102be3cea[+] Added readme.
  215. 2018-02-10f69aa50[+] Add test for `func Encode`.
  216. 2018-02-1006d66d5[*] Added sanity checks.
  217. 2018-02-093fb89f0[*] Typo fix.
  218. 2018-02-095df269f[*] Moved declaration closer to its usage.
  219. 2018-02-09d29b74d[*] Merged encoding implementations into a single file.
  220. 2018-02-09aa0f7ed[*] Changed name to "icnsify".
  221. 2018-02-09f4d6e9e[*] `getType` returns a boolean instead of panicking.
  222. 2018-02-095d48d73[*] `sizesFrom` now correctly handles bad sizes gracefully.
  223. 2018-02-09ce05490[*] Misc fixes.
  224. 2018-01-30de81965[+] Add todo regarding image.Decode registration.
  225. 2018-01-304d4e354[*] Moved cmd to cmd/icns so that go build defaults to the correct name.
  226. 2018-01-301bc682f[+] Enable unix piping.
  227. 2018-01-305fdb3ed[+] More thorough usage message.
  228. 2018-01-30ce8a601[+] Added flag to specify resize algorithm.
  229. 2018-01-2904e8a09[*] Renamed file for clarity.
  230. 2018-01-299b3f03f[*] Clarified documentation.
  231. 2018-01-299d9b98f[*] Renamed file for clarity.
  232. 2018-01-29282cb9c[*] Adjusted Todo's.
  233. 2018-01-299f8964a[+] Can now configure interpolation function.
  234. 2018-01-2974033e3[+] Can now configure interpolation function.
  235. 2018-01-292e6ce3d[+] Initial.