Releases: drewnoakes/metadata-extractor-dotnet
2.9.0 (RC2)
What's Changed
- Improve Code Quality / Tiding by @iamcarbon in #390
- Address minor regressions by @drewnoakes in #391
- Use ArrayPool for poolable byte buffers by @drewnoakes in #392
- Add AVIF support by @drewnoakes in #396
- Introduce BufferReader and eliminate a bunch of allocations by @iamcarbon in #393
- Minor tidying and perf by @drewnoakes in #398
- Port UnknownTagHandler by @drewnoakes in #399
- Extend Apple makernote support by @drewnoakes in #401
- Remove obsolete members on Tag class by @drewnoakes in #400
- Support NativeAOT by @drewnoakes in #397
- Introduce and use Indexed BufferReader methods by @iamcarbon in #402
- Reduce overhead reading byte/sbyte arrays from IndexedReader by @drewnoakes in #405
- Pool buffers in IndexedCapturingReader by @drewnoakes in #404
- Remove custom number formatting in ICC by @drewnoakes in #403
- Spanify top-level parsing for makernotes by @drewnoakes in #407
- TIFF extraction makes fewer, larger reads by @drewnoakes in #408
- Use spans in readers in .NET 8 by @drewnoakes in #410
- Allow filename to influence file type detection by @drewnoakes in #411
- Collapse .AsSpan().Slice(...) calls into .AsSpan(...) by @drewnoakes in #412
- Small perf fixes and some code reuse by @drewnoakes in #413
- Introduce ScopedBuffer by @iamcarbon in #415
- Spanify BplistReader by @iamcarbon in #416
Full Changelog: 2.9.0-rc1...2.9.0-rc2
v2.9.0 (RC1)
What's Changed
Note
Version 2.9.0 increases the minimum supported targets.
net3.5
is no longer supported.netstandard1.3
is still supported.netstandard2.0
was bumped tonetstandard2.1
.net45
was bumped tonet462
.
These changes allow the library to utilise APIs with better performance.
- Support Apple run time data in makernotes by @drewnoakes in #343
- Fix NikonPictureControl1Directory parsing by @drewnoakes in #349
- Reader tweaks and fix reading of trailing whitespace by @drewnoakes in #350
- Fix incorrect descriptor in Sony Type1 makernote by @drewnoakes in #351
- Added code to parse OM System II makernote (uses Olympus II makernote) by @AndyDragon in #354
- Remove net3.5 target by @drewnoakes in #358
- Work around invalid XMP XML by @drewnoakes in #359
- Bump netstandard2.0 to netstandard2.1 by @drewnoakes in #360
- Spanify various things and use UTF-8 literals by @iamcarbon in #361
- Spanify (part 2) by @iamcarbon in #363
- Run tests against net8.0 & update xunit by @iamcarbon in #364
- Tidy up tests by @iamcarbon in #365
- Use BinaryPrimitives by @iamcarbon in #366
- Spanify (3/n) by @iamcarbon in #367
- Spanify SequentialReader by @drewnoakes in #368
- Spanify Iso2022Converter by @drewnoakes in #369
- IPTC fixes by @drewnoakes in #370
- Trim null bytes from NikonPictureControl2Directory values by @drewnoakes in #371
- Permit var and explicit types by @drewnoakes in #372
- Spanify StringValue conversions by @drewnoakes in #373
- Extend GeoTIFF support by @drewnoakes in #374
- Spanify ByteTrie.Find by @iamcarbon in #375
- Update JpegSegmentPreamble to UTF-8 spans by @iamcarbon in #376
- Tidy up code and eliminate some allocations by @iamcarbon in #378
- Make missing APIs an error by @drewnoakes in #377
- Use IReadOnlyCollection, collection expressions by @drewnoakes in #379
- Bump target framework from net45 to net462 by @drewnoakes in #382
- Use primary constructors by @iamcarbon in #384
- Add GitHub CI workflow by @drewnoakes in #383
- Treat warnings as errors by @drewnoakes in #385
- Spanify indexed reader classes by @drewnoakes in #380
- Polyfill non-allocating encoding span->string without byte[] by @drewnoakes in #386
- Remove JetBrains.Annotations by @drewnoakes in #387
- Make ByteConvert util class internal by @drewnoakes in #388
- Remove explicit Version MSBuild property by @drewnoakes in #389
New Contributors
- @AndyDragon made their first contribution in #354
Full Changelog: 2.8.1...2.9.0-rc1
v2.8.1
What's Changed
- Fix IPTC encoding by @drewnoakes in #335
- Fujifilm makernote improvements by @drewnoakes in #338
- Nikon makernote improvements by @drewnoakes in #341
Full Changelog: 2.8.0...2.8.1
v2.8.0
What's Changed
- Make analyzer private by @drewnoakes in #332
- Fix Exif thumbnail offset by @drewnoakes in #333
- Remove excessive bounds checking in IndexedReader by @drewnoakes in #327
There are some slight API changes in this release, though most users will not hit them.
Performance has been improved considerably.
This release also adds the README to the NuGet package.
Full Changelog: 2.7.3...2.8.0
v2.7.3
What's Changed
- Check for exif preamble by @reinfallt in #317
- Basic Pentax Type 2 makernote support by @drewnoakes in #321
- Fix test assembly discovery by @drewnoakes in #330
- Bump package versions by @drewnoakes in #331
- Fix PNG iTXt decoding bug by @RupertAvery in #329
- Add
IsoSpeed*
Exif tags f9f36f1 - Add
RatingPercent
Exit tag d3ece94 - Improve error handling 839d1c1 3412307
- Improve
Rational
presentation and simplification 64c507f - Fix bug in ICO height/width computation 87c48c9
- Various code clean ups and administrative tasks that don't impact runtime artifacts
New Contributors
- @reinfallt made their first contribution in #317
- @RupertAvery made their first contribution in #329
Full Changelog: 2.7.2...2.7.3
v2.7.2
What's Changed
- Skip leading ID3v2 data in MP3 files to allow processing by @jbraendle in #314
- Fix bug in
GpsDescriptor.GetGpsDestLongitudeDescription
by @drewnoakes in #315
New Contributors
- @jbraendle made their first contribution in #314
Full Changelog: 2.7.1...2.7.2
v2.7.1
v2.7.0
- Add support for GeoTIFF data (#307)
- Add support for BigTIFF encoded data (#302)
- Add
Directory.GetUInt64
andDirectory.TryGetUInt64
extension methods (3b57bed) - Work around invalid files where TIFF IFD reuse could cause data to be missed (#305)
- Fix reading of Float64 arrays from TIFF files (#300)
There are some internal API changes in this release. Unless you are extending the library with your own ITiffHandler
implementation, you are unlikely to have any difficulty upgrading to this version from 2.6.0.
v2.6.0
v2.5.0
This release makes the MetadataExtractor
package use strong-named assemblies, and discontinues the separate MetadataExtractor.StrongName
package. File an issue on the project site if this change doesn't go smoothly for you.
- Support Nokia 6.1 MP4 file type (#267)
- Rename ICC Profile Copyright tag (#268)
- Fix some culture sensitivity issues (#266)
- Prevent divide by zero in QuickTime reader code (#270)
- Fix Samsung makernote detection (#273)
- Support 3gp5 files (c8c1ef1)
- Interpret QuickTime metadata dates (#275)
- Added missing Sony model IDs (#276)
- Interpret UserComment character code (#277)
- Allow negative MP4 rotations (bd41996)
- Fix order of atan args in QuickTime rotation handling (7f52477)
- Reduce allocation when reading PNG chunks (#286)
- Consistent exception messages between Java and .NET (ab4a15b)
- Use invariant culture when parsing IPTC dates/times (00f5a9e)