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