Releases: ical-org/ical.net
Releases · ical-org/ical.net
v5.0.0-pre.40
What's Changed
- Fix: Derive correct file and assembly version from package version in #726
- Fix inverted limiting behavior of
BYMONTHDAY
by @minichma in #730
Full Changelog: v5.0.0-pre.39...v5.0.0-pre.40
v5.0.0-pre.39
v5.0.0-pre.39
- This is the first public pre-release of the next major version of Ical.Net. It's an extensive rewrite of the library, with a focus on performance, correctness and usability. All issues reported in prior versions have been addressed, and the library has been thoroughly tested, also using the libical test suite.
- We strongly recommend using the pre-release packages, as they are more stable and feature-complete than the v4.x versions.
- Feedback is highly appreciated.
- Breaking changes from v4 are currently listed here.
What's Changed in Detail
- Update CI Publish Workflow in #600
- Set CI Publish PackageVersion to ${{env.VERSION}} in #601
- Update release-notes.md in #604
- Fix/update ICal.Net.Benchmarks in #605
- Update README.md in #612
- Migrated Ical.Net.Tests project from NUnit3 to NUnit 4 in #613
- Define behavior for time-based FREQ and date-only DTSTART in #616
- Implement deep copy methods for components in #620
- RRULE evaluation: Ignore BYtime if DTSTART is date-only in #619
- RRULE Evaluation: Apply
BYYEARDAY=366
only in leap years. in #621 - Test: Run recurrence test cases from the libical project and introduce generic file-based test cases. in #617
- Add GitHub workflow for code coverage calculation in #624
- Fix BOM causing error on line 1 in coverage.yml in #625
- Improve recurrence handling, remove restrictions in #627
- Nullable=disable for CI builds in #634
- Unify utf8 file encoding and code style settings in #632
- Fix copying of
Attendee
sUri
-typed properties in #643 - Keep apart
VEVENT.DTEND
and.DURATION
in #598 - Fix some recurrence evaluation issues in #645
- Enhance CalDateTime and DateTimeSerializer in #638
- Remove UTF7 encoding from EncodingProvider in #651
- Recurrence evaluation: Fix calculation of week numbering. in #652
- Recurrence evaluation: Implement support for negative
BYWEEKNO
values. in #654 - Recurrence: Reproduce and fix issues if
BYWEEKNO
andINTERVAL
are used together in #657 - Remove mutable state from Evaluators and some related, poorly tested functions in #655
- Reproduce and fix issues related to
RECURRENCE-ID
in #659 - Refactor to use DateOnly and TimeOnly for date/time handling in #658
- Refactor
MatchTimeZone method
inRecurrencePatternEvaluator
in #664 - Let
GetOccurrences()
et al return anIEnumerable
rather thanHashSet
. in #665 - Change RecurrencePattern.Until to Nullable in #666
- Make
RecurrencePattern.Count
,.Interval
andWeekDay.Offset
nullable to avoid usingMinValue
as magic number. in #667 - Remove remaining usages of MinValue and clean up related code in #668
- Fix when no "SENT-BY" defined, get SentBy will throw exception by @idiotsky in #669
- Disable NRT warnings for netstandard2.0 in #674
- Fix: Calculation for occurrences include DST transitions correctly in #673
- CalDateTime Arithmetic Operations in #672
- Update issue templates in #683
- Introduce
Duration
type to keep apart nominal vs exact durations. in #680 - Update GitHub Actions workflows in #685
- Make CalendarObjectBase an abstract class in #686
- Use
ubuntu-22.04
for GitHub Actions in #688 - Set Git line endings to autocrlf in #689
- Add abstraction layer to create
EXDATE
andRDATE
properties in #684 - Add values causing an
Exception
to exception message in #694 - Add permission section to daily_build workflow in #696
- Change token for publishing a GitHub pkg in #697
- GHITHUB_TOKEN write access in #698
- Remove obsolete recurrence restriction and evaluation types in #699
- Improve line folding and serialization performance in #695
- Minor folding improvements by @ssratkevich in #701
- Disallow initializing
CalDateTime
fromDateTimeKind.Local
and some cleanup in #704 - Update README in #708
- Correction in
RecurrenceDates.GetAllPeriods()
in #707 - Enable NRT for classes in namespace Ical.Net.Utility in #706
- Remove interface
IDateTime
and replace any use withCalDateTime
in #705 - Upload ICal.Net_pkg_5.0.0-daily.4 in #721
- Fix v5 daily build folder link in #722
- Make parameterless CTOR of CalDateTime private in #719
- Type of RecurrencePattern.Until is CalDateTime in #723
- Upload 5.0.0-daily.5 in #724
- Bump version to v5.0.0-pre.39 in #725
New Contributors
- @axunonb made their first contribution in #600
- @minichma made their first contribution in #616
- @idiotsky made their first contribution in #669
- @ssratkevich made their first contribution in #701
Full Changelog: v4.3.1...v5.0.0-pre.39
v4.3.1
What's Changed
- Update Ical.Net.csproj to use NodaTime 3.2.0 instead of 3.1.12. NodaTime v3.2.0 (released yesterday) brings some welcome changes
- Replace Ical.Net.nuspec with Directory.Build.props
- Remove unnecessary nuget dependencies, so
NodaTime
is again the only one
Resolves #596
Full Changelog: v4.3.0...v4.3.1
v4.3.0
- Update the repository from fork
laget.se/ical net
Apply the following change after the update:
- Remove net5.0 as target framework from all projects
- Update nuget-specific settings
- Update icon.png file used in Ical.Net.nuspec
- Update package metadata
- Remove net5.0 package target framework
- Update README.md to reflect the current project state with ical-org
- Fix: Update publish.yml to create deterministic builds for packages, update action versions
- Update GitHub actions to reflect the changed main branch name
- Update
readme.md
- Update CI workflows
publish.yml
andtests.yml
- Changed
runs-on
toubuntu-latest
. - Added
fetch-depth: 0
toactions/checkout@v4
in both workflows. - Added
Get version tag
step inpublish.yml
. - Included
-p:nowarn=1591
inBuild
steps to suppress warnings. - Changed
Test
verbosity toquiet
in both workflows. - Updated
Build and pack for publishing
inpublish.yml
to useVERSION
. - Updated
Store artifacts
step inpublish.yml
for new naming convention. - Updated
Push package to NuGet
step inpublish.yml
to useVERSION
.
- Changed
- Update ProdId constant and NodaTime package version
- Add back assembly signing to projects and include strong name key
- Update
Ical.Net.Tests.csproj
andIcal.Net.csproj
to include assembly signing by addingSignAssembly
andAssemblyOriginatorKeyFile
properties.- Replace
InternalsVisibleTo
withAssemblyAttribute
including a public key inIcal.Net.csproj
. - Add
IcalNetStrongnameKey.snk
for strong name key. - Move InternalsVisibleTo from AssemblyInfo.cs to project file
- Replace
- Add class
RegexDefaults
and update all Regex withRegexDefaults.Timeout
which is set to 200 milliseconds
This PR closes the following PRs which have previously been merged into laget.se/ical net
Closes #491
Closes #443
Closes #525
Closes #528
Closes #571
Closes #579
Closes #584
Closes #595
v4.2.0
What's Changed
- Fix grammar-error/typo in README by @josteink in #504
- Migrate to netstandard 2.0 and nodatime 3 + cleanup by @davidroth in #499
- Ordering of week numbers should not matter by @gabet1337 in #513
- A few updates by @rianjs in #515
- Fixed potential stack overflow when calculating changes to DtStart, DtEnd, etc. by @Carbonitex in #473
- Fix for timezone exception by @bigfighter in #468
- Closes #449, fixing an IsActive bug thanks to thoemy by @rianjs in #516
- Array parameter bug by @rianjs in #517
- BYWEEKNO & BYMONTH fix & ISO 8601 week number fix by @rianjs in #518
- deserialize STANDARD and DAYLIGHT timezone infos - closes #420 by @rianjs in #519
- Fix Infinite Loop with MaxDate for GetOccurrences - closes #364 by @rianjs in #520
New Contributors
- @davidroth made their first contribution in #499
- @gabet1337 made their first contribution in #513
- @Carbonitex made their first contribution in #473
- @bigfighter made their first contribution in #468
Full Changelog: v4.1.11...v4.2.0
v4.1.11
v4.1.10
What's Changed
- Associate attachments with their events when VALUE is BINARY. by @chescock in #411
- Serialize any calendar component, like a VEVENT, instead of needing to do a whole VCALENDAR by @rianjs in #423
- Add strong-name signing to ical.NET assemblies. by @josteink in #435
- Fix strong-name signing to .NET Core assemblies by @josteink in #436
Full Changelog: v4.1.9...v4.1.10
v4.1.9
v4.1.8
What's Changed
- AsUtc should return the right UTC time associated with the CalDateTim… by @rianjs in #388
- Release notes and nuspec #387 by @rianjs in #389
- Only override DateTimeKind when we know for sure what it should be #390 by @rianjs in #391
- Net46 by @rianjs in #394
- Update readme by @rianjs in #396
- Fix for #378 - handle timezones which do not observe DST by @mfields3 in #379
- Net46 by @rianjs in #398
- Target net46 again by @rianjs in #401
New Contributors
Full Changelog: v4.1.7...v4.1.8
v4.1.7
What's Changed
- Rename updates by @rianjs in #1
- Expression bodies for one-line methods by @rianjs in #2
- More cleanup by @rianjs in #3
- Silverlight isn't a thing anymore by @rianjs in #4
- Mass reformat by @rianjs in #5
- Read only tz info by @rianjs in #6
- Remove region directives by @rianjs in #7
- Deserialize UtcOffsets via constructor instead of mutable property by @rianjs in #8
- Deleted TimeZoneObservance and TimeZoneEvaluator, TimeZoneInfo, etc. by @rianjs in #9
- Convert all structs to objects to avoid stack-based memory allocation… by @rianjs in #10
- Cleanup by @rianjs in #14
- Nuget package by @rianjs in #16
- Performance enhancements by @rianjs in #17
- Antlr rebuild by @rianjs in #18
- Fix batch builds by @rianjs in #19
- .NET 4.6.1 as a target isn't a thing by @rianjs in #20
- Remove dday strings by @rianjs in #21
- Simple documentation by @rianjs in #25
- Net core by @rianjs in #28
- Minor cleanup/refactoring by @rianjs in #29
- Avoid making copies of things in some cases, minor simply type serialize/deserialize methods by @rianjs in #30
- Serialization assembly is no longer required by @rianjs in #31
- Collection evaluation by @rianjs in #34
- Fixed Concurrency issue around parallel deserialization #40 by @rianjs in #41
- ifdef for .NET 4.0 for enum reflection #42 by @rianjs in #43
- Publish another nuget version by @rianjs in #44
- Test Serialize & Deserialize by @mcshaz in #39
- Get rid of referential equality, because it's not guaranteed or desir… by @rianjs in #46
- Collections eval by @rianjs in #47
- Minor code redundancies, some notes on which unit tests are broken as TODOs by @rianjs in #48
- SerializationTests CalDateString bug fixed by @mcshaz in #49
- Fix regression bug introduced during a 'minor cleanup' ugh #45 by @rianjs in #50
- Missing test using statements by @rianjs in #51
- Updated readme with iCal.NET logo by @khalidabuhakmeh in #35
- minor optimisations to DataTypeMapper by @mcshaz in #53
- Symmetrical serialization by @rianjs in #61
- Fixed attendee removal bug #62 by @rianjs in #63
- Attachment documentation by @rianjs in #66
- Calendar collection equality hashing by @rianjs in #69
- Add nuget tags #70 by @rianjs in #71
- Reflow dday to ical by @rianjs in #73
- Nuget tweaks by @rianjs in #74
- Semver/versioning note in readme by @rianjs in #80
- Updated nuspec with icon logo by @khalidabuhakmeh in #81
- Minor cleanup by @rianjs in #82
- fixes #27: Using Calendar.AddProperty duplicates property name into value by @omd in #85
- Ignore Serialization test (for now) by @khalidabuhakmeh in #87
- TZID property parameter MUST NOT be applied to values in UTC. by @kdaveid in #93
- Ensure DTSTAMP is of kind UTC when set automatically by @kdaveid in #94
- Change nuget package tags, title, description #97 by @rianjs in #98
- Fix broken Thanksgiving example unit test, and complete the assertion… by @rianjs in #99
- Update readme.md #84 by @rianjs in #100
- Target 4.5 instead of 4.5.2 #101 by @rianjs in #105
- Small GetOrAdd optimization from PR41 by @rianjs in #108
- Period equality by @rianjs in #112
- CalendarSerializer.Serialize is broken, and shouldn't exist anyway #110 by @rianjs in #113
- Minor cleanup of TimeSpanSerializer, added proper serialization for... by @rianjs in #114
- Bump nuget rev #104 by @rianjs in #115
- Move Utilities to ical.net.Utility namespace #116 by @rianjs in #117
- Recurrence exceptions by @rianjs in #119
- Visual Studio and Resharper settings by @rianjs in #125
- Updated readme to point to wiki links about contributing by @rianjs in #126
- Fix #124 with InvariantCulture in double.TryParse() by @dahermansson in #129
- StringBuilder in IcalParser.cs by @dahermansson in #123
- Bump nuget version for double parsing #124 and #12 by @rianjs in #130
- Assert that an occurrence must be completely contained within a... by @rianjs in #131
- Better Intellisense documentation #121 by @rianjs in #132
- Add ignored unit test that demonstrates the fact that components wit… by @rianjs in #133
- Empty CalendarSerializer constructor should instantiate a new Seriali… by @rianjs in #135
- Unnecessary manual SerializationContext instatiations / no need for a… by @rianjs in #136
- Fix case sensitivity issue using mono/linux by @fvn-linagora in #151
- Moved v2 to v2 directory by @rianjs in #162
- Missing files by @rianjs in #163
- New v3 by @rianjs in #165
- SerializerBase.Serialize doesnt properly dispose of unmanaged stream … by @rianjs in #166
- Leave stream open #157 by @rianjs in #167
- Make it REALLY obvious which ical solution you're working in by @rianjs in #168
- Pointless interfaces by @rianjs in #169
- Calendar object doesn't need to implement IDisposable, so get rid of … by @rianjs in #138
- Fix GetOccurrences bug and the unit test that asserted the wrong beha… by @rianjs in #171
- Fix GetOccurrences bug and the unit test that asserted the wrong behavior #158 by @rianjs in #172
- Unit test for CATEOGORIES being included multiple times #156 by @rianjs in #173
- Fix for truncated streams in .NET 4.0 which does not have a leaveOpen option #157 by @rianjs in #174
- Event equality and hashing should consider ExDates and ExRules #178 by @rianjs in #180
- Event equality and hashing should take recurrence rules and dates into by @rianjs in #182
- Close windows and doors by @rianjs in #183
- Slightly better CollectionHelpers by @rianjs in #184
- Fixed some bugs when comparing collections of periods (PeriodList) and by @rianjs in #185
- Unit test to assert that DtStamp is not significant by @rianjs in #186
- Maybe fix case sensitive file pathing by @rianjs in #191
- Serialization side effects by @rianjs in #200
- DURATION and DTEND are mutually exclusive, so use DTEND during serialization because it's more powerful by @rianjs in #201
- Culture invariant geographic coordinates #202 by @rianjs in #203
- Performance enhancement for solidus-prefixed time zone strings. Added… by @rianjs in #205
- Add release notes url to the nuspec files by @rianjs in #206...