Releases: bolsinga/itunes_json
Releases · bolsinga/itunes_json
2.1.4
What's Changed
- Add and use SchemaOptions by @bolsinga in #569
- Batch/Backup commands use SchemaFlag by @bolsinga in #570
- prefix SchemaFlag enumerations with lax for clarity by @bolsinga in #571
- Embed Program into library to simplify main by @bolsinga in #572
- BackupCommand no longer repairs by @bolsinga in #573
- Program is the only public interface. by @bolsinga in #574
Full Changelog: 2.1.3...2.1.4
2.1.3
2.1.2
2.1.0
Overview
- It is now one tool, with multiple sub-commands.
- The tool's version is written into the commit message for tracking purposes.
- Improve album name repair logic.
- Retire, but do not delete, old repair code.
What's Changed
- Improve album patching by @bolsinga in #531
- enable strict artist schema by @bolsinga in #532
- each patch may have different corrections passed in by @bolsinga in #533
- not having a correction string is OK by @bolsinga in #534
- album patches now fix the compilation state. by @bolsinga in #535
- Read in albums corrections data as structured data by @bolsinga in #536
- if sortName is empty write nil instead by @bolsinga in #537
- Repair music now requires a tag prefix to replace the old one by @bolsinga in #538
- log more information when a step issue occurs by @bolsinga in #539
- remove artistNameFilter option by @bolsinga in #540
- itunes_json program no longer needs --logging-token by @bolsinga in #541
- remove --repair-file and --repair-source from tool by @bolsinga in #542
- remove backing up from json strings by @bolsinga in #543
- forgot to remove the first argument by @bolsinga in #544
- Separate Backup Subcommand by @bolsinga in #545
- Add PatchCommand sub command to the main program. by @bolsinga in #546
- rename the old repair code directory by @bolsinga in #547
- Add RepairCommand sub command to the main program by @bolsinga in #548
- old repair code no longer needs to be public by @bolsinga in #549
- Add BatchCommand sub command by @bolsinga in #550
- Rename to BackupCommand and use commandName option by @bolsinga in #551
- program is now called tunes by @bolsinga in #552
- add version to the tunes command by @bolsinga in #553
- move git into its own target by @bolsinga in #554
- Update to use GitLibrary package by @bolsinga in #555
- Use GitLibrary main branch for now. by @bolsinga in #556
- Use Swift Package Plugin to build version up from git information by @bolsinga in #558
- use a specific package version by @bolsinga in #559
- Add version to commit message by @bolsinga in #560
- Tie to GitLibrary 1.1.1 by @bolsinga in #561
Full Changelog: 2.0.2...2.1.0
2.0.2
2.0.1
Fix creating a tag for the very first commit after a merge on the same day as the last tag. 😄 The old code would find no tags, but they were there already.
What's Changed
- nextTag now handles multiple "." in the string by @bolsinga in #528
- Get all the tags and filter in code based upon the tagPrefix by @bolsinga in #529
Full Changelog: 2.0.0...2.0.1
2.0.0
Overview
- Add separate tools to help improve the data.
- create patch files (artists only for now)
- repair an entire git repository with a patch file
- batch extract sql source or sql dbs in parallel from a git repository
- Add configurable tag prefix to itunes_json tool.
- SQL source and databases can be created with "lax" schema so that the databases can be created with the current data set.
- Removed preconditionFailures from the library by making requirements explicit via enums with associated values.
- Improved launching the git process using structured swift concurrency.
What's Changed
- Remove daylight savings offset by one hour repair by @bolsinga in #414
- allow git to write to other branch names by @bolsinga in #415
- remove old scripts now that Destination.jsonGit exists by @bolsinga in #416
- have the scripts use the bundle binary by @bolsinga in #417
- fix shebang syntax and use zsh by @bolsinga in #418
- add a better regex to get real tags by @bolsinga in #419
- Allows database schema to be lax. by @bolsinga in #420
- Destination.emit() now externalizes by @bolsinga in #421
- make these public to be used by a tool to emit all artists. by @bolsinga in #422
- Rename to TracksSQLSourceEncoder by @bolsinga in #423
- remove unnecessary throws declaration by @bolsinga in #424
- Rename to TracksDBEncoder by @bolsinga in #425
- Revert "make these public to be used by a tool to emit all artists. (… by @bolsinga in #426
- plays table is more lax in lax mode by @bolsinga in #427
- TracksDBEncoder is not a struct by @bolsinga in #428
- Add tool to get all artists and ensure they are correct and consistent over time by @bolsinga in #429
- fix a typo by @bolsinga in #430
- Pass a descriptive name through by @bolsinga in #431
- tagPrefix and filename are now parameters by @bolsinga in #432
- Rename Git.checkout(commit: String) by @bolsinga in #433
- Rename to GitBackupWriter by @bolsinga in #434
- Separate into Track.createFromData() too by @bolsinga in #435
- allow [Track] to be created from a URL by @bolsinga in #436
- add Git.tags to get all the tags by @bolsinga in #438
- allow the standardErr from the git process to be suppressed by @bolsinga in #439
- Add unknowns target by @bolsinga in #440
- Make this work in parallel by @bolsinga in #441
- Remove Data as it is processed by @bolsinga in #442
- output actual JSON to stdout by @bolsinga in #444
- Do not gather empty artist names by @bolsinga in #445
- go back to main sooner by @bolsinga in #446
- remove unused code by @bolsinga in #447
- create json data for an Array of Codable by @bolsinga in #448
- Load current Artists concurrently with iterating over the git tags by @bolsinga in #449
- adjust visibility by @bolsinga in #450
- git is now launched via the function not an extension on Process by @bolsinga in #451
- annotate code for a world where the git process becomes async by @bolsinga in #452
- Use DTS suggested wrapper for launching a process and reading its stdout by @bolsinga in #453
- Re-add MainActor attributes by @bolsinga in #454
- Use git show to read tags from git by @bolsinga in #455
- async launch using groupTasks and continuations by @bolsinga in #456
- tvShows are not SQLEncodable by @bolsinga in #457
- Add RepairableName by @bolsinga in #458
- separate string similiar code into separate file by @bolsinga in #459
- remove all non-alphanumerics to form a signature to compare for similarity by @bolsinga in #460
- search for more matching names by @bolsinga in #461
- Add RepairableEnum by @bolsinga in #462
- Use closures to gather the RepariableNames and SortableNames by @bolsinga in #463
- First pass at emitting album names by @bolsinga in #464
- Add Similar protocol by @bolsinga in #465
- Allow mending to occur without knowing about RepairableName by @bolsinga in #466
- Rename to RepairableArtist by @bolsinga in #467
- make gatherAllKnown func generic by @bolsinga in #468
- make gatherRepairable func generic by @bolsinga in #469
- RepairableArtist is Comparable by @bolsinga in #470
- just create a RepairableArtist directly by @bolsinga in #471
- gatherRepairable now has a generic return type by @bolsinga in #472
- use Mendable to not repeat type names by @bolsinga in #473
- rename to ArtistPatch by @bolsinga in #474
- Add Patch result enum by @bolsinga in #475
- Add AlbumPatch by @bolsinga in #476
- Add GitTagDataSequence by @bolsinga in #477
- Add extension to GitTagDataSequence to transform all Tracks by @bolsinga in #478
- consistently use Set<> to reduce transformations by @bolsinga in #479
- Move 'similar' code into its own files by @bolsinga in #480
- improve generic parameter names by @bolsinga in #481
- Move code into separate files in the library by @bolsinga in #482
- Move code into PatchMusic tool by @bolsinga in #483
- add a configuration struct to collect input by @bolsinga in #484
- refactor for separation of concerns by @bolsinga in #485
- Add TagData by @bolsinga in #486
- Allow manual corrections to be passed on the command line by @bolsinga in #487
- Do not emit non-valid ArtistPatches by @bolsinga in #488
- Move Patch to library by @bolsinga in #489
- Make [Artist|Album]Patch.valid non Optional type by @bolsinga in #490
- Decodable to Array by @bolsinga in #491
- some clean up by @bolsinga in #492
- Add CustomStringConvertible conformance for logging by @bolsinga in #493
- Make these Sendable for a future diff by @bolsinga in #494
- Patch now has lookups as associated values. by @bolsinga in #495
- make this CustomStringConvertible by @bolsinga in #496
- use an extension for brevity by @bolsinga in #497
- Add tag prefix tests by @bolsinga in #498
- get more tag test edge cases by @bolsinga in #499
- fix edge case of matching an empty tag prefix by @bolsinga in #500
- Embed Capture in RegexBuilder by @bolsinga in #501
- extend String to match a prefix instead of Array by @bolsinga in #502
- prefix needs to be something, so OneOrMore by @bolsinga in #503
- access the captured tag separately from com...
1.7.5
This allows the library to encapsulate the entire program, so it may be called by a signed application bundle built by Xcode for Sequoia support.
What's Changed
- Revert "Compile out MusicKit (#409)" by @bolsinga in #411
- Move reading from stdin logic into Program by @bolsinga in #412
- Move Program into library by @bolsinga in #413
Full Changelog: 1.7.4...1.7.5
1.7.4
Fix issue where MusicKit permission was asked every launch by disabling this feature for now.
What's Changed
- bump github to sequoia by @bolsinga in #406
- run sw_vers as part of the workflow by @bolsinga in #407
- bump target OS versions by @bolsinga in #408
- Compile out MusicKit by @bolsinga in #409
Full Changelog: 1.7.3...1.7.4
1.7.3
- Prunes empty fields and duplicate sort fields in JSON output.
- Improve MusicKit support, file bugs on possible missing data to learn more. Not ready for release yet.
- Add --reduce command to tool to just show "relevant" JSON fields
What's Changed
- update to s.a.p. 1.5.0 by @bolsinga in #388
- update github actions to use Xcode 16.0 by @bolsinga in #387
- Update to Swift 6.0 by @bolsinga in #389
- Update to swift testing by @bolsinga in #391
- Use MusicLibrarySectionedRequest by @bolsinga in #392
- Do not emit duplicate albumArtist by @bolsinga in #393
- Repair errors throw instead of get ignored by @bolsinga in #394
- fix musickit persistentID encoding by @bolsinga in #395
- Add --reduce by @bolsinga in #396
- Do not store Track.sortName if it is the same as Track.name by @bolsinga in #397
- Fix things when not reducing! by @bolsinga in #398
- Use .isEmpty where appropriate by @bolsinga in #399
- Remove duplicate sort fields separately from reading from iTunesLibrary by @bolsinga in #400
- Add String.uniqueNonEmpty(String) by @bolsinga in #401
- no need to nil check when assigning to another Optional by @bolsinga in #402
- Remove empty Strings in Track with .duplicateAndEmptyFieldsRemoved by @bolsinga in #403
- Add Track.isrc by @bolsinga in #404
Full Changelog: 1.7.2...1.7.3