Qstick
cb8482921f
Fix BasicRepository Tests when not on UTC
...
(cherry picked from commit 4f7dc94b94bda49443c28baefc592e7388bcf540)
4 years ago
ta264
60d1a7fbc4
Fixed: Update statistics if album deleted
4 years ago
ta264
23f8ec1f20
Fixed: Remove albums with no acceptable releases from search results
4 years ago
ta264
92aae86664
Fixed: Restoring large database backups
...
Remove Kestrel's default 28.6MB upload limit
(cherry picked from commit 286b083da429a49638c9121b1dda058b5425c476)
4 years ago
ta264
1be3cdadb4
Fixed: Search by MusicBrainz ID
4 years ago
Qstick
c3f6b8660e
Bump netcore 3.1.10
4 years ago
bakerboy448
1268f90f26
New: Update all wiki links to point to the Servarr Wiki
...
Fixes:
https://github.com/lidarr/Lidarr/issues/1805
https://github.com/lidarr/Lidarr/issues/1803
4 years ago
Qstick
eb5a95cfa6
Quick fix for Queue sort by Artist SortName
...
Fixes #1817
4 years ago
ta264
80fe567e51
Add SortKey validation
4 years ago
Qstick
44819196bc
Fixed: False Positives for RemotePath check with Deluge
4 years ago
ta264
bb6cdfef43
Don't nag linux x86 users to switch to net core
4 years ago
Mark McDowall
e912ef6a3e
Fixed: Show TLS errors in UI when testing download clients
4 years ago
Qstick
1baf415924
Pass no parameter instead of null parameter on Kodi Update
4 years ago
Mark McDowall
84f5a34625
Kodi GetMovies fails due to Parameter Type
4 years ago
Qstick
74a0574c90
Resource missing from Gotify call
4 years ago
Qstick
13a228d281
Gotify token as query parameter
4 years ago
Qstick
12f5f8e437
Convert Notifications from RestSharp to HttpClient
4 years ago
Qstick
7566f68fea
Fixed: Manual Import Fails on failed Import Items
4 years ago
Taloth Saldono
72658dd2d5
Fixed binary execute permissions for osx and Radarr
4 years ago
Taloth Saldono
52240bb3ac
Fixed disk permission tests
4 years ago
Taloth Saldono
e2a0b63256
New: Displaying folder-based permissions in UI rather than file-based permissions and with selectable sane presets
...
Fixed: Preserve setgid when applying unix permissions
4 years ago
Taloth Saldono
40df88e37c
Readded 0 cat to the end of the Newznab list
4 years ago
Qstick
2e4b168985
Improve use of All() for Path related queries
4 years ago
Mark McDowall
3a1abfa9f1
New: Differentiate between short term and long term (more than 6 hours) indexer failures
4 years ago
Mark McDowall
d7183f999c
New: Bulk remove from Blacklist
4 years ago
Mark McDowall
9af68b653b
Fixed: Cleanse account and passwd from Download Station URLs
4 years ago
Mark McDowall
395da6c807
Fixed: Webhooks using lower case event types (in the future this could change)
4 years ago
Mark McDowall
acda741b2b
New: Health events for Webhooks
4 years ago
Qstick
5a15565d2b
Fixed: Failing file copy when running in docker on synology with btrfs
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Taloth Saldono
c92b254bb7
Fixed: Regression causing updater to fail (manual update required if on 3.0.3.971, see forums)
4 years ago
Taloth Saldono
2c22ed2912
Fixed: Dataloss when moving series folder to root folder with only different casing
4 years ago
Mark McDowall
b63dde0298
Fixed: Parsing of URLs with double slashes in the path
4 years ago
Taloth
9b1bbaef02
New: Newznab/Torznab categories dropdown with indexer provided category names
4 years ago
Taloth Saldono
2d8657a77f
Handle ratelimit api response for newznab caps endpoint on certain newznab indexers that have caps behind the apikey
4 years ago
Taloth Saldono
4d90daebf1
Fixed: Exception when parsing Quality in release title with colon
4 years ago
Mark McDowall
2f3888f5ed
Fixed: Show more information in UI when testing SAB fails in some cases
4 years ago
Taloth Saldono
16b9e88bb2
Remove stacktrace if hardlink resulted in EXDEV.
4 years ago
Taloth Saldono
330988c4f0
Fixed: Performance of symbolic link detection and infinite recursion
4 years ago
Taloth Saldono
9eb5b335f3
New: Fast copy using reflink on btrfs volumes
4 years ago
Taloth Saldono
4f220d9532
Fixed: Removed hardlink-based transactional file transfer logic (instead relying on explicit copy+delete for cifs)
4 years ago
Qstick
d61a6852b2
Fixed: Sorting of queue by artist title when unknown items are included
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Qstick
6657777153
Moved Windows-only Permission function to Lidarr.Windows
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Qstick
e8b1494b16
fix modifiers for various classes
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Mark McDowall
bc12f5cf9f
Fixed: Indexer being disabled due to download client rejecting it
4 years ago
Qstick
25ed9e5020
New: Add size to track files in Webhook payload
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Taloth Saldono
0ee481039b
Added PrivacyLevel option to FieldDefinition for later usage
4 years ago
Taloth Saldono
7ca438f6db
Added MultiSelect input control for provider settings
4 years ago
Taloth Saldono
3ccc30638f
New: Added FileList.io indexer support
4 years ago
Arthur Bols
e5f48959eb
New: Removed chown and simplified chmod options for linux/osx
4 years ago
Qstick
1113c4c32a
Fixed: Not removing seeded download if it was manual imported in some cases
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Qstick
9b934e9cf2
Improve root folder health check
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Skyler Mäntysaari
998a2df7f0
New: SendGrid Notifications
4 years ago
ta264
4eac1c5663
Pull DownloadClientItemClientInfo part of 824d315a
4 years ago
ta264
1058b03f46
Fixed: Use QBittorrent category savepath for healthcheck
...
[common]
4 years ago
ta264
efef2f3bb6
Fixed: Import single file torrents with a folder from QBittorrent
4 years ago
Taloth Saldono
fc104f9587
Protect against Qbittorrent edgecase if users add torrents manually with Keep top-level folder disabled
...
(cherry picked from commit 05820ac272ee976fcc0a7b17f3e9cc987cb0d230)
4 years ago
ta264
39b57cfe6e
Fixed: Get actual file names from QBittorrent API ( #5226 )
...
* Fixed: Get actual file names from QBittorrent API
Previously we were assuming that the output filename was the category
output dir + the torrent name. This isn't true if the torrent has
been renamed or sanitized.
4 years ago
Taloth Saldono
143a133cfd
Removed unnecessary importlists warning.
...
(cherry picked from commit a9384e26d86cfe8ae1d29569a708e3db9306abe6)
4 years ago
Taloth Saldono
2fbbeda562
Give systemd a bit more time to restart sonarr after update
...
(cherry picked from commit 5fced70948c1e8d3d5e3c4747516507f87506697)
4 years ago
nitsua
4107d6aa3f
Add a connect for Discord Notifier
4 years ago
Qstick
0148418732
Use Arch and Runtime when getting list of update changes
4 years ago
Qstick
bcfa856842
Win x86 Builds
4 years ago
Qstick
eb97568b3a
Add NeutralLanguage for build in VS 16.8
4 years ago
Taloth Saldono
724125a154
Bumped Sabnzbd default history request size from 30 to 60
...
(cherry picked from commit 8b2550cef0381a07c466044063c9d8c2be4d89c3)
4 years ago
Mark McDowall
f7f62799cd
Fixed: Show feed URL if incorrect mime type is found
...
(cherry picked from commit fa2e70d571cc7658611a0c51b8603247a22e6a2e)
4 years ago
nitsua
3011f5092a
Add album MBId to custom script
4 years ago
Qstick
8681f3b447
Fix lint issues on backend
4 years ago
Qstick
c00cbb8276
Take Screenshot on Automation tests for build status notifications
4 years ago
Qstick
b26b193e34
Fixed: Added .org to website url filtering in parser
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Qstick
77328559e9
Fixed recursion issue when emptying recycle bin
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Qstick
8af09595fb
Added UserAgent to api request trace log
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Qstick
807460771e
New: Add DownloadClient and DownloadId to Webhook notifications
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Qstick
dca8495f38
Fixed: Root folder custom filter in Mass Editor
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Qstick
1327caca6c
Clarify that Post-Import Category torrents are not monitored by Sonarr.
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Taloth Saldono
909dffcef2
Improved error message when nzb download contains an newznab error instead
4 years ago
Qstick
4857828d80
Rename FilterFiles to FilterPaths
4 years ago
Taloth Saldono
3bcb6ef2ef
Fixed flaky test.
...
(cherry picked from commit f846e0c031d74914d3a02626597df583422164e0)
4 years ago
Taloth Saldono
ef230d1636
Log contents on api errors during tests.
...
(cherry picked from commit f2e1b4e43549695afacee5c87cca368e8fa30905)
4 years ago
Taloth Saldono
ab8a9cac50
Updated kodi url
...
(cherry picked from commit 4d1a4d42418e282d5ba71b2b59c1863e7ca847f4)
4 years ago
ta264
085b07a9c6
Always scan after manual refresh
4 years ago
ta264
9714186243
Fixed: Create album metadata on import
4 years ago
Taloth Saldono
bf0617f999
Fixed: Generating Kodi episode metadata files when scanning series folder
...
(cherry picked from commit 23dc7794f14c99558b7d40729d6c63f8ae747a1e)
4 years ago
Mark McDowall
a085dd38a6
Fixed: Metadata files not being created after rescan
...
(cherry picked from commit e2ff089232765b876719b324e0543441e0bd1521)
4 years ago
ta264
2982478dba
Trigger fewer signalr broadcasts
...
(cherry picked from commit b05b7ec4ad9368c8c3ae5ff5316caf5d23e24191)
4 years ago
ta264
49b89f1f41
Fixed: Write the correct album/releasegroup ids for XBMC/Emby
4 years ago
Taloth Saldono
d10469d129
Fixed: Refreshing Plex Server series in high volume systems
...
(cherry picked from commit 903aba5dee0284e571fc025883abbf2a9ccf4386)
4 years ago
ta264
9945c986d9
Revert Cached changes from bb02d73c4
...
Bring it back in line with Sonarr. I was originally worried that we
were caching all Artists and this would be a resource hog. But the
caching will happen on every RSS scan so I think we're better off just
holding the cache and not worrying.
4 years ago
Dtaggart
2655430c98
New: Index priority
4 years ago
Qstick
88122be89b
Fixed: Ignore .@__thumb folders
4 years ago
Mark McDowall
c92de8d337
Fixed: Strip AlteZachen from release group name
4 years ago
Taloth Saldono
22be6820f8
Added update check early in startup if the package requested a post-install update check
4 years ago
unknown
d0b080f477
Update help text in Connections from Download to Import
4 years ago
Mark McDowall
b576d3d197
Fix checkingUP qbit status unit test
4 years ago
Mark McDowall
54c3b7049c
Fixed: Treated checkingUP status from Qbit as queued in case it fails to validate
...
Fixes #1363
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Qstick
37d294d168
Fixed: Preferred word can't have a term that is empty or only spaces
...
Fixes #1361
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
ta264
474023378e
Fixed: Don't corrupt OPUS files when tagging them
4 years ago
Mark McDowall
7f8243993c
Fixed: Removing torrents from Vuze
...
(cherry picked from commit d0c0720578abcc02d9abca24f60d73d32491cd2f)
4 years ago
Mark McDowall
be88010c20
New: Don't forcibly retest indexers/download clients/connections on save if previously enabled
...
(cherry picked from commit b2b1600ebe7f022a3248ea12b69553e2d51a3a7c)
4 years ago
Qstick
0581ff458c
New: Handle missingFiles status from qBit
...
(cherry picked from commit 9a2cee3104b1e8d32f2df68d3ca75967aba41868)
4 years ago
Mark McDowall
c6d49c6527
Fixed: Replace : with _ when getting output path from Transmission
...
(cherry picked from commit 0f792f9eb9517a4165a54d7c4551f4f68822d18e)
4 years ago
Qstick
aaebbbfda1
Fixed: Remove website post fix before parsing
4 years ago
Qstick
b47638fa65
Fix Release Push log statement
4 years ago
Jacob
a035a78a2b
New: Added option to filter Release Profile to a specific indexer
4 years ago
Qstick
04aebab774
Fixed: Moving artist folders in subfolders of the root folder when destination subfolder was missing
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Taloth Saldono
864a1d9a26
Added Norwegian Bokmal alias
4 years ago
Qstick
affd351fdf
Fixed: RestClient does not use global proxy settings
4 years ago
Mark McDowall
df7db89e8e
Remove website prefixes with dashes in URL
4 years ago
Fossil
f2b8a08b11
Remove PFMonkey.com from Presets
4 years ago
Qstick
70f80fd14e
Fixed: Test All not clearing health error
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Qstick
ac1c902013
Improved some log messages
4 years ago
Qstick
c0fede5697
Fixed: Delete files from Artist Mass Editor not actually deleting files
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Taloth Saldono
341c42d8e6
Tiny fix in test, left-over from my on-windows test.
4 years ago
Taloth Saldono
b1a56e7c2c
Fixed: File imports on cloud drives slow due to transaction logic
4 years ago
Qstick
3f96208c41
Fixed: Use Proxy for MediaCovers and Metadata
4 years ago
Mark McDowall
8c657ddb24
Fixed: Set permissions on extra and subtitle files
4 years ago
Mark McDowall
10b7d0d63e
Fixed: Include releases that failed to parse in search results
4 years ago
Qstick
d72014eb66
New: Event Driven HealthCheck Support
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Qstick
8d8cbd07aa
Fixed: Disregard Real when user disabled proper preference
...
Co-Authored-By: Taloth <Taloth@users.noreply.github.com>
4 years ago
Qstick
6713525757
Simplify ManualImportModule null check
4 years ago
Qstick
e8e4d76d73
Fixed: Edge case where import fails due to DB relationship mismatch
4 years ago
Qstick
5bca13b21f
Fixed: Delay profile being ignored for non-revision upgrades
4 years ago
Qstick
dbdc805e80
Remove unnecessary usings
4 years ago
Qstick
ae46d5ae02
Remove Dotnet Framework Version Checks
4 years ago
Qstick
09ebfe0af8
Catchup Linting
4 years ago
ta264
3e082df21d
Fixed: Error fetching paged records from API without a sort key
...
[common]
4 years ago
ta264
7aa3ad10ef
Fixed: Don't search twice for new albums on new artists
4 years ago
ta264
dce69212fc
Speed up all albums endpoint
4 years ago
ta264
5ddac7a679
Fixed: Trigger search when new album added via import list
4 years ago
ta264
12d6b5ee9a
Fixed: Don't refresh and rescan artist when new album added
...
Speeds up adding a single album to an existing artist. Should help
reduce the number of full rescans being triggered also - an added
album was triggering one.
4 years ago
Qstick
0e78135f91
Switch Automation to Chrome for Test Speed
4 years ago
Mark McDowall
e836b795de
Fixed: Imported downloads not being removed when seeding goals are met
...
Closes #1400
4 years ago
Mark McDowall
1d58b33ac6
Fixed: Remove seeded downloads if they've finished seeding after import
...
Closes #1389
(cherry picked from commit 9d766cfed588ee49525f68815b7e5eb980ddc11f)
4 years ago
Mark McDowall
50d1810d36
Fixed: Don't process downloads removed from the client
...
Closes #1377
4 years ago
Mark McDowall
c996643921
Don't re-trigger completed event
...
Closes #1376
4 years ago
ta264
014eb27a26
Fixed: Speed up UI during refresh
...
Don't update state if we know items are equal to avoid reselections.
Don't pass LastInfoUpdate to frontend to prevent useless updates (the
field isn't used)
4 years ago
ta264
e1a62af586
Fix test
4 years ago
ta264
5668cbfb53
Log out SQL trace on error
...
[common]
4 years ago
ta264
2e1e2137a6
Fixed: Sorting tables by artist/album
...
Fixes Sentry LIDARR-10A
Fixes Sentry LIDARR-105
Fixes Sentry LIDARR-109
4 years ago
ta264
0f5531af4d
Fixed: Error deserializing preferred words with dapper
...
Fixes Sentry LIDARR-106
Fixes Sentry LIDARR-10B
4 years ago
ta264
2a4b3d79b8
Fixed: Shared serializer in ProviderRepository
...
[common]
Some caching happens in the serializer settings so best not to
recreate each time
4 years ago
ta264
53c0ffd129
Swap to dapper with lazyload
4 years ago
ta264
20269aba9b
Delete Marr.Data
4 years ago
Mark McDowall
3e937bd8e5
Fixed: Error occurred while executing task ProcessMonitoredDownloads
4 years ago
Mark McDowall
b8bcd9a038
Fixed: Inaccessible path leading to import process being aborted before processing all items
4 years ago
ta264
48762a3013
Fixed: Re-processing imported download causing task to fail
4 years ago
Taloth Saldono
c402a831f8
Fixed missing interface for the CheckForFinishedDownloadCommand backward compat handling
4 years ago
gl3nni3
a229062e6f
Fixed: Replace duplicate slashes from file names when importing
...
Fixes #3470
4 years ago
Mark McDowall
48750780fe
New: Option to ignore items when removing from queue instead of removing from client
4 years ago
Mark McDowall
d83e20937d
New: Monitor and Process downloads separately
...
New: Queue remains up to date while importing file from remote file system
Fixed: Failed downloads still in queue won't result in failed search
4 years ago
ta264
a104a2911e
Fix rogue Readarr reference
4 years ago
ta264
a49955e692
Fixed: Don't rescan folders for each artist added via a list
4 years ago
ta264
d163b124a7
Fix fpcalc tests
4 years ago
ta264
ee31ff1e89
Move runtime copy into a separate target
4 years ago
ta264
629d784d0b
Move msbuild target files into folder
4 years ago
ta264
3a2db4bcf6
Disable single instance check for integration tests
...
Causes a SIGABRT on mono 6.10 and 6.12 - double free or corruption
4 years ago
ta264
e1a9ac7ff2
Print log file on fail
4 years ago
ta264
74f1d804aa
Run integration tests in parallel
...
Revert "Try to fix alpine integration tests"
This reverts commit a47854103c
4 years ago
Dtaggart
0e98e93170
New: Added silent notification option to telegram
...
(cherry picked from commit 9e392977b9f66be37c1fd6938c0b051c362ddb42)
4 years ago
ta264
f44359efe4
Try to fix alpine integration tests
4 years ago
Taloth Saldono
25ab30605b
Additional logging in case of integration test startup failures
...
Closes #1231
4 years ago
Taloth Saldono
6abe5f3df3
Log Real IP on Authentication failure in case of a reverse proxy
...
(cherry picked from commit 686a14cdff63fcffe4fceee1f9a06d0b2dc3e813)
4 years ago
Taloth Saldono
8e74a76538
Added Plex url to cleanser
4 years ago
Taloth Saldono
e59bf51b45
Fixed typo in Cleanse IP
4 years ago
Taloth Saldono
312c3b786e
Cleanse remote IP Address from trace log file
4 years ago
Taloth Saldono
cc974574b2
Cleanse getnzb url
4 years ago
Taloth Saldono
c84624668a
Don't enforce blank line before comment
4 years ago
ta264
36319578a0
Try to fix service test
4 years ago
ta264
7ebfa35c93
Bump net core to 3.1.7
4 years ago
ta264
1830f46d27
Fixed: Add missing info to Gazelle/Redacted results
...
Fixes #1501
4 years ago
ta264
6c2cd7fe16
New: Support for Redacted API keys
...
Fixes #1127
4 years ago
Qstick
17a4379cb2
Fix indexer add due to null categories in Newznab presets
4 years ago
Qstick
75db57c138
Fix build due to apiPath setting in Newznab presets
4 years ago
Mark McDowall
67eb2f2313
New: Add Tabula Rasa Newznab Preset
...
(cherry picked from commit 31be74e6d33e0066c1dca6115c7272a49dc8d277)
4 years ago
Qstick
d7edbb0cf0
Fix System Time Fixture
4 years ago
Taloth Saldono
e75ee6e842
Fixed: Executing powershell and python scripts directly in Connect->Custom Scripts
...
Fixes #1203
Co-Authored-By: taloth <taloth@users.noreply.github.com>
4 years ago
Qstick
24cd56aa35
Fixed: Selecting a release from Interactive Search with an unknown album
...
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Qstick
140f3f88c4
New: MB ID filter when getting artist from API
...
Fixes #1200
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Qstick
2a76ae4087
Fixed: Ignore album title when parsing release group
...
Fixes #1198
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
4 years ago
Mark McDowall
a81587dc57
New: Show health warning if system time is off expected time
...
Closes #1422
4 years ago
Taloth Saldono
b214d6e2cd
Fixed: Added glusterfs to known network drive filesystems so it shows up in System
4 years ago
ta264
d52f0d653a
Fix fingerprinting tests
4 years ago
ta264
0aaa2c836a
Add libMonoPosixHelper for musl-arm64
4 years ago
ta264
ff8d671c8b
New: Musl (alpine linux) compatibility
4 years ago
Qstick
f8afe65f7e
Fixed: Performance issue when scanning large root folder
4 years ago
Qstick
050827a86b
Fixed: Don't lock command queue if updating is disabled
4 years ago
Taloth Saldono
3964e98c13
Lock CommandQueueManager.PushMany too
4 years ago
Taloth Saldono
8a68042192
Skip unknown/removed commands still queued in the database
4 years ago
Taloth Saldono
880170637e
Fixed timing issue allowing multiple instances of the same command to be queued
4 years ago
Mark McDowall
9fdc603fc3
Fixed: Broken tasks getting stuck in queue
4 years ago
Qstick
c50bedebc1
Cleanup Swagger warnings ( #1177 ) [skip ci]
4 years ago
Qstick
4ee56ff374
fixup API Docs
...
[skip-ci]
4 years ago
Qstick
7d3bd6f28a
Add base Swagger.json to v1 API
...
[skipci]
4 years ago
Qstick
3af96f1863
Fix HttpClientTests, Use Servarr HttpBin Mirror
4 years ago
Qstick
f5e2a447e9
Sync Packages with Radarr
4 years ago
ta264
9c64ba6cbd
New: HealthCheck to warn if running legacy mono version
4 years ago
ta264
d6e47fde7e
Fixed: NET Core not deleting source when moving across drives
...
This reverts commit 10fc0b071fae9807fa456144b0708d95574d17ff. Use the
mono fix from 43a35c84477fd194eaa816f1b3e4ade6cb4af42a in NET Core also
4 years ago
ta264
8771e715ae
Fixed: Manual import from artist page forces correct artist
4 years ago
ta264
fb88017821
Fixed: Don't scan all folders on artist add
4 years ago
ta264
95cfa0d09a
New: Split out metadata refresh from disk rescan
4 years ago
ta264
a2ba8e76bb
New: Watch filesystem for changes to library
4 years ago