# Changelog

All notable changes to this project will be documented in this file.

This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

# 1.29.0
- IP-1903 - DAL RatingDescriptors.getAllPaged
- IP-1840 - DAL Campaign GetAllPaged date ranges filter
- IP-1945 - Create GetTimelinesLiteByChannelId and GetTimelineDraftsLiteByChannelId methods
- IP-1963 - [DAL] Performance Improvements for GetPopulated Draft and  GetPopulated Published Timeline Methods
- IP-1967 - [DAL] Ensure required fields gets populated when saving timelines and timelines drafts 
- IP-1966 - [DAL] GetAllPaged Campaigns Method `createdAt` Filter Incorrect
- IP-1923 - [DAL] - Support settings configurations to be persisted for vod collection-setting tab
- IP-1964 - [DAL] TotalItems being returned for pagination
- IP-1947 - [DAL] GetPopulatedSeriesById and GetPopulatedEpisodeById fixed entries not being populated
- IP-1849 - Same Devices Can Be At Include/Exclude List (Channels/VOD) on Bulk Updates
- IP-1920 - [DAL] create GetVodAutoPublishingSettings method
- IP-1986 - [DAL] fix cannot read undefined property reading map on getPopulatedSeriesById

# 1.28.0
- IP-1916 - GetPopulatedEpisodeById method crashes when nextTimeline == {}
- IP-1863 - DAL add BulkAddVodCategoryEntries
- IP-1862 - DAL add BulkDeleteVodCategoryEntries
- IP-1803 - DAL add update order of VodCategoryEntries in bulk
- IP-1820 - DAL Partner Mapping Solution 
- IP-1918 - DAL Create and UpdateFields for AppName Collection
- IP-1919 - DAL Create and UpdateFields for Devices Collection
- IP-1904 - [DAL] Add `series.type` field to the GetChannelQueue Method Response
- IP-1913 - Refactor GetChannelLibrary and create GetLibrarySumDuration and GetQueueSumDuration APIs
- IP-1939 - DAL increase stabilization window
- IP-1928 - DAL add GetTimelineIdsByClipId
- IP-1840 - [DAL] Add GetAllPaged Campaigns Method
- IP-1853 - DAL: VOD collection "intileChannel" property update to "null value" error
- IP-1917 - DAL avoid error when dealing with undefined content property on old contents
- IP-1932 - DAL timeline-drafts fixed match intervals to get edge cases
- IP-1921 - [DAL] - support projection query params to project given fields from database [/partner api]
- IP-1848 - [DAL] Update inf-lib-schemas Version, and Include `logoOverlayEnable` Field on ChannelManager
- IP-1865 - DAL add vod flag to Episode.getAllIds
- IP-1906 - DAL getPopulatedEntriesByVodCategoryId
- IP-1902 - DAL add vod flag to Episode.cFeedsSyncDocuments
- IP-1985 - [DAL] rpc error: code = internal desc = Cannot read properties of null (reading 'map')
- IP-1956 - [DAL] rpc error: code = Internal desc = .sequencerpackage.Fragment.sub_clips: object expected 65bcbbb9ecf2e500135e83ad

# 1.27.0 
- IP-1815 - [DAL] Add GetEpisodesByIds Method
- IP-1810 - DAL fix sort order for vod collection
- IP-1680 - DAL update Channel.updateFields to allow episodesQueue updates
- IP-1856 - DAL investigate crash in publishing
- IP-1797 - Mismatch in the duration value returned
- IP-1818 - [DAL] GetTimelinesForRepeatSchedule inverted order
- IP-1838 - [DAL] Add GetSeriesPartner method
- IP-1885 - [DAL] GetTimelinesForRepeatSchedule additional fields

# 1.26.0
- IP-1687 - DAL add ratings getAllPaged
- IP-1684 - DAL timelines add deleteTimelinesInChannelUsingDates
- IP-1685 - DAL timelinedrafts deleteTimelinesInChannelUsingDates
- IP-1686 - DAL timelinedrafts getManuallyCreatedTimelines
- IP-1679 - DAL Channel.getCFaasIntegratedChannel
- IP-1759 - DAL add TimelineManager Create
- IP-1721 - DAL Add Channel.GetOneCFaasIntegratedChannel
- IP-1772 - DAL Support Filtering by updatedAt Field for GetChannelQueue, and GetChannelLibrary Methods
- IP-1787 - DAL add timelinedraft GetTimelineDraftsByChannelId
- IP-1788 - DAL add timeline GetTimelinesByChannelId
- IP-1790 - DAL add cfaasIntegrated to Channel to allow updateFields the cfaasIntegrated
- IP-1760 - DAL add TimelineDraftManager Create
- IP-1791  - DAL add EpisodeManager GetAllIds
- IP-1795 - DAL GetChannelQueue filter not working with rating +
- IP-1792 - DAL Sort GetChannelQueue method by Order param
- IP-1358 - DAL add additional values to VodCategory.GetById
- IP-1517 - DAL: Add ability to delete main categories
- IP-1682 - DAL Add fields to Episode
- IP-1810 - DAL fix sort order for vod collection
- IP-1799 - DAL: Add ability to GET list of channels/vod from main categories

# 1.25.0
- IP-1576 - channels GetAllPaged - samsungChannelProperties.serviceId crash when used with AND/OR operators
- IP-1292 - DAL Request for service-dal to include method additional fields to clips
- IP-1644 - DAL Add Channel Api similar to GetAllPaged that is light GetAllPagedChannelLite
- IP-1356 - DAL Add Unary VodCategory Create
- IP-1496 - DAL Add GetPopulatedTimelineDraftsByChannelId
- IP-1618 - DAL Update Endpoint to Return "Partial" VOD Collection Names
- IP-1609 - DAL Update Endpoint to Return "Partial" Channel Names
- IP-1498 - Add UpdateTimelineDraftsBulk method
- IP-1607 - Update DAL to handle the return Channel Numbers with not set value
- IP-1497 - Add UpdateTimelinesBulk methods
- IP-1500 - Unary method for VOD collection include/exclude/remove bulk update
- IP-1646 - DAL VOD filtering for GetAllPaged to enable 'OR'
- IP-1706 - Update DAL to handle request to remove Channel Number When User inputs "0"
- IP-1649 - Update DAL endpoint to better support Channel sorting by Main Categories

# 1.24.0
- IP-1402 - DAL Device bulk update, support for "removing" multiple devices for multiple channels
- IP-1446 - DAL fix sort order for channels
- IP-1441 - DAL channel filtering for GetAllPaged enable the use of 'or'
- IP-1465 - DAL update the 'Young Adult' genre in genre translations
- IP-1480 - DAL Include missing Channel attributes
- IP-1522 - DAL does not include new "customReferences" for a channel

# 1.23.0
- IP-1138 - DAL revplatform object in DeviceManager device response
- IP-1038 - DAL Appname object in AppNameManager needs to return device reference
- IP-1305 - DAL create/update main categories
- IP-1309 - DAL channel getAllPaged Add filtering by samsungProperties.serviceId
- IP-1310 - DAL channel UpdateFields Add support to update samsungProperties.serviceId

# 1.22.0
- IP-965 - DAL Add SeriesManager.Create
- IP-967 - DAL Add SeriesManager.Delete
- IP-1029 - DAL SeriesManager.UpdateFields extra validations
- IP-1082 - DAL Add distribution to Sequencer.GetHydratedTimeline
- IP-1002 - DAL update test cases and validate that new series prefix works
- IP-1223 - DAL add GetById to vodcategoryEntryManager
- IP-1222 - DAL add GetAllPaged to vodcategoryEntryManager
- IP-1227 - Series GetPopulatedSeriesById response needs additional fields
- IP-1137 - DAL : Support for "Create" channel
- IP-1207 - DAL Add new Channels.BulkDeviceUpdate
- IP-1243 - Episode create method fails when creating an episode with deliveryPartner custom reference
- IP-1257 - DAL add ratingsDescriptors to series so updateFields can update
- IP-1284 - Return mapped validation error responses on series delete
- IP-1297 - DAL Update ChannelManager to include customReference

# 1.21.1
- IP-1195 - DAL populatedepisodebyid null data causing episode to be read

# 1.21.0
- IP-962 - DAL return `googleDai` enabled in channel response
- IP-963 - DAL samsungtv plus return value in channel
- IP-964 - DAL channel updates need to support hooks/schema
- IP-968 - (GET /series/:id) - Add an API that Returns a Fully Populated Series Object
- IP-1089 - DAL EpisodesManager.GetByIdPopulated

# 1.20.0
- IP-817 - Add DeviceManager.getDevicesByDeviceTypes
- IP-882 - Add partner to the device response
- IP-991 - DAL saving episodes is not working because of _ character

# 1.19.0
- IP-858 - Add URI to clips.timedText for dcp transcode
- IP-859 - DAL add totalcount metadata to pagination apis
- IP-848 - Sealights Integrations
- IP-767 - Support for clip schema method
- IP-735 - Fix all GitHub Actions warnings
- IP-766 - Support for timeline schema methods
- IP-831 - Add customReferences in series UpdateFields
- IP-775 - add missing v property for episode
- IP-877 - Add Java grpc client
- IP-923 - Add delete to vodCategoryEntries
- IP-928 - Integrate Java GRPC Client into packages/releases for mvn consumption
- IP-951 - Add getAllPaged to DeviceManager
- IP-952 - Add getAllPaged to AppNameManager

# 1.18.0
- IP-516 - Expose DAL service to read and retrieve the data from Users DB
- IP-555 - Add 16x9 poster artwork to service-dal series and episodes
- IP-556 - Increase Code coverage for service-dal
- IP-559 - When creating service-dal release we should not create ECR for node client workflow
- IP-566 - ACS deadline exceeded investigate
- IP-573 - Error spikes in the performance tests
- IP-618 - Extend DAL API to update channel metadata
- IP-619 - Extend DAL API to update vod category metadata
- IP-620 - Extend DAL API to update series metadata
- IP-622 - Update inf-lib-schema version to get new genre list
- IP-635 - service-dal use update so hooks trigger on all updates}
- IP-639 - service-dal add discreteaudio to clips
- IP-658 - Remove cyprien from code owners
- IP-684 - Add genres translations API
- IP-712 - Add an api that returns a fully populated episode object
- IP-724 - Extend DAL API to update vodCategoryEntries metadata
- IP-725 - Extend DAL API to create vodCategoryEntries
- IP-727 - Add VodCategoryEntryManager.GetVodCategoryEntriesByVodCategoryId
- IP-729 - Add VodCategoryManager.GetByEpisodeId
- IP-730 - Add TimelineManager GetByEpisodeId
- IP-731 - Add episode and channel fields for IS
- IP-748 - Add AppNameManager.getByDeviceId
- IP-762 - Add TimelineManager getOne
- IP-763 - Add new manager TimelinesPast
- IP-765 - Add Episodes setAdPodDurations and calculateTotalAdPodsDuration
- IP-773 - Add DeviceManager getById
- IP-781 - Add TimelineManager deleteById
- IP-782 - Add TimelineManager count
- IP-783 - Add TimelineManager find
- IP-787 - Add TimelineManager.getDocumentsUpdatedBetweenDates
- IP-803 - No Error messaging being returned for Clip Validation Error
- IP-815 - Performance Optimization for this getPopulatedEpisodeApi
- IP-819 - Add AppNameManager.getAll
- IP-833 - Add devices array to appname responses
- IP-855 - Add customReference to episode
- IP-854 - DAL investigate server crash on episode.updateFields

# 1.17.0

- IP-413 - create deploy/helm/service-dal/environments/values-sandbox-use1-6-dal-test.yaml and scripts/sandbox-deploy.sh for deploying to sandbox
- IP-282 - Upgrade logging style in every DAL method for DataDog logs populate with traces
- IP-57 - DAL | Improvement | Dynamic configuration from Vault
- IP-484 - Add gRPC Server Reflection to the DAL
- IP-519 - Create sandbox values files for service-freewheel-ivi
- IP-319 - Combine DAL and STE repos
- IP-529 - service-dal ecr repo should be changed to plutotv/service-dal
- IP-481 - Investigate ACS Issue: ACS DEADLINE_EXCEEDED over 5000 [DAL]
- IP-513 - Create sandbox for preprd-tan that is similiar in config to K1 preprd tan

# 1.16.0
- ARCH-1881:
  - **Library**:
    - Add cFeedsSyncDocuments method for each of the following collections - AgeRange, Channel, Clip, Episode, SamsungChannelProperty, Series, Timeline, VodCategory
    - Added support for Gracenote-Logs, Gracenote-Metadata, Gracenote-Runs
  - **Service**
    - Add support for `gracenote-logs`, `gracenote-metadata`, `Gracenote-runs` CFEEDS MongoDB collections
    - Added/Removed APIs for Services. Removed APIs are removed because they were developed by Jonny Jesperson his CFEEDS integration. CFEEDS with the DAL has never made it to preprod or prod. This integration has been redone and these are no longer needed.
      - ActiveRegions:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - AgeRange:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - AppNames:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
      - ChannelCategory:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - Channel:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - Clips:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - Devices:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
      - Episodes:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - **[NEW]** Gracenote-Logs:
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - **[NEW]** Gracenote-Metadata:
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - **[NEW]** Gracenote-Runs:
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - MainCategories:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - Partners:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - RatingDescriptors:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
      - Ratings:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - SamsungChannelProperties:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - Series:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - Timelines:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - Vod:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
      - VodCategoryEntries:
        * `getForContentFeeds` (-)
        * `getChangeStreamDeletesForContentFeeds` (-)
        * `GetDocumentsColumnsNotEmptyByIds` (-)
        * `cFeedsSyncDocuments` (+)
        * `cFeedsSyncAllIds` (+)
  - **NodeJS Client**
    - Add support for Gracenote-Logs, Gracenote-Metadata, Gracenote-Runs
    - Add generic method (`promisifyGrpcClientFunction`) to wrap unary and server streaming gRPC client functions. Simplifies using the client.
      - Updated the README explaining usage for the above.
    - Added JSDocs for current gRPC Client Services
  - **Administrative**
    - Updated inf-lib-schemas from 4.8.0 to 4.10.0 to support the gracenote-* collections.
    - Update grpc-tools from 1.11.3 to 1.12.0
- IP-385 Add kidsOnly boolean in VOD DAL Response
- IP-241 - GET `/clip/:Id` Method Not Returning `adSparkAdpolicy` Key in the Clip Sources Array
- IP-261 - Name inf-service-dal to service-dal
- IP-144 - Support `searchText` Ability on episodes End Point in DAL
- IP-2 - DAL | Handoff | Upgrade DAL nodejs version
- IP-305 - Create a Method for GetAllPaged /vod-categories
- IP-243 - Create swaggerhub for DAL endpoints and integrate with github CI/CD
- IP-284 - DAL: Method to Update a Clip Is Not Triggering Hooks in Schemas
- IP-277 - GetAllPaged Method for Retrieving /channels is Returning Inconsistent Results
- IP-283 - DataDog Custom Metrics
- PRO-3421 - Add missing DataDog resources for service-dal
- IP-285 - Tests intermittently fail during build / release process
- IP-330 - Create API for age-ranges that can filter by activeRegion
- IP-298 - DAL: Add channel_ids filter to Timelines GetAll stream method
- IP-315 - Create a script to version DAL
- IP-305 - Create a Method for GetAllPaged /vod-categories
- IP-375 - Align environments for DataDog tags
- IP-391 - adSparxPolicy is returning blank field causing issues post transcode
- IP-410 - Investigate memory issues with service-dal

# 1.15.0

- IP-193 - Add Jamil and Salvador as code owners
- IP-222 - Standarize protobuf versions
- IP-1 - DAL lib and service repo merge
- IP-148 - Include Additional Offset and Count Metadata
- IP-202 - GetAll Stream Methods (Channels, Episodes and Clips)
- IP-145 - Update GET/channels End Pt. to Support Query Parameters for Filtering
- ARCH-2150 - Additional and missing methods in terms of implementing service-dcp-revenue VodCategoryManager(GetById, GetByIds), VodCategoryEntryManager. GetVodCategoryEntriesBySeriesOrEpisodeIds, EpisodeManager.GetEpisodeIdsBySeriesIds
- IP-211 - Add GetAll stream method (Timelines)
- IP-155 - Use externalSecret to get Vault secrets
- IP-252 - Merge develop and K2.0 branch so we have a KVETCH 2.0 compliant branch for DAL
- IP-249 - Add Robert as code owner, remove Jonny and Pavlo as code owners
- IP-238 - Receiving the error after a few minutes in the open stream for timelines.proto - GetAll
- IP-236 - DAL | PreProd/Prod | Update fallback placeholders with additional DASH source type
- IP-260 - placeholder.proto GetBumperSets - "error": "14 UNAVAILABLE: upstream request timeout"
- IP-278 - Update the log-level for DataDog logs
- IP-247 - "RESOURCE_EXHAUSTED " in episodes.proto GetPopulatedEpisodesByClipId with a limit of 4 and more
- IP-296 - dashEnabled field is not set for episode, when updating clip from sources
- IP-291 - fix intermittent upstream timeout

# 1.14.1

- ARCH-2448 - DAL should not have Redis as a dependency through inf-lib-schemas. Set `USE_MOCK_KUE_RUNNER` on all containers.
- ARCH-2157 - Created episodes protobuf have populated sources. `inf-lib-schemas` populates the clips on sources automatically.
- ARCH-2412 - Fixed bug in `inf-lib-schemas` where `Episode.parent` was referencing `'Clip'` instead of `'Episode'`. Bring in updated package (through `inf-lib-dal`) and update tests accordingly.
- ARCH-2408 - Client to allow sorting for the following: `getByIds` for each collection. Episode entity `getPopulatedEpisodesByClipId`, `getPopulatedEpisodesByIds`, `getAgeRangePopulatedEpisodesByIds`, `getEpisodesByClipId`
- ARCH-2360 - Fix to the NodeJS client `convertKeysProtobufToMongo` method used to convert objects from `protobuf` to MongoDB `JSON`. Now `id` is preserved. This has the effect of allowing the `id` to be set for `Clip.Author`. All other objects use `_id`.
- ARCH-2335 - Allow sorting for getAllPaged API
- ARCH-2310 - Show PublishingUser id.
- ARCH-2056 - Require auth tokens for create, update, delete APIs.
- ARCH-2166 - getEpisodesByClipId now has the ability to receive an offset.
- ARCH-2300 - Add to clip markups, timedText. Add to Vod Category: archived, heroCarousel
- ARCH-2392 - **BUGFIX** for ARCH-2300: Clip markup should be plural (`markups`) and the `start` and `end` attributes should be `int32` instead of `string`.
- ARCH-2236 - Add CMS TNG API for getting a fully populated list of episodes containing a clipId in its sources.
- ARCH-2157 - Episode create, delete, get paged APIs. Get Publishing users paged.
- ARCH-2142 - Add property symbol to ratings APIs.
- ARCH-2134 - Support for getting channels by supplying limit and/or offset.
- ARCH-2050 - Support for deleting clips
- ARCH-2049 - Support for Create/update user
- ARCH-2057 - Support for Create/update clip
- ARCH-2076 - Updated readme for the way to set timeout for all calls for the grpc client and configuration of retry strategy
- ARCH-2047 - Support for getting genres. Retrieve Genres from inf-lib-schemas config.
- ARCH-2048 - Support for getting all, by id, by ids methods for publishing users.
- ARCH-2078 - Support for getting for categories. Retrieve categories from inf-lib-schemas config.
- ARCH-2077 - Support for getting languages. Retrieve languages from 'iso-language-codes'.

# 1.13.0

- ARCH-1850 - Make content feed names more generic with new API names. Preserved old APIs for backward compatibility.

# 1.12.1

- RM-1803 - **BUGFIX**: Revert series, episode and clip meta.views data type from double to int32. Caused issue with previously generated clients.

# 1.12.0

- ARCH 1799 - **BUGFIX**: update meta.views datatype from int32 to double on lab partners, episodes, and clips.
- ARCH-1742 - Support for new generic APIs to find documents in a given set (by ids) that have specific columns that are not empty. For use initially by content feeds.

# 1.11.0

- ARCH-1732 Populate the rating descriptors on the series, episodes and clips for the lap partners API.
- ARCH-1731 Populate the age ranges in the episodes for the lap partners API.

# 1.10.0

- ARCH-1665 Generated client now uses the npm package grpc_js instead of the deprecated grpc package. Update to many gRPC packages.
- OPS-33 Update of DAL lib granting prometheus client support.

# 1.9.0

- ARCH-1427 Add kids default to complex bumpers

# 1.9.0-alpha.2

- ARCH-1430 - remove `inf-lib-dal` dependency by copying functions used for mock data creation.

# 1.8.0

- ARCH-1365 - New BLL for constructing the Lab Partner Object requested by an array of episodeIds.
- ARCH-1357 Support for streaming changes and deletes for the main categories collection.
- ARCH-1290 Update`convertValuesProtobufToDBStructure` to structure Maps correctly recursively. Support new more complex placeholders for kids mode.
- ARCH-1302 Update contentUUID APIs

# 1.7.0

- ARCH-1283 Add sources to subClips in sequence protobufs to help support DASH.
- ARCH-1336 Surface sources on placeholders and backfill showing DASH manifest(s).
- ARCH-1315 update inf-lib-dal where inf-lib-schemas to 3.6.2 with the latest fix for episode.dashEnabled hook for clips
- ARCH-1350 Adding to clip.transcodes object following properties encryptionParams, libVersion, transcoderVersion

# 1.6.2

- ARCH-1283 Added support sources to subClips in sequence.

# 1.6.1

- ARCH-1234 GetDataForAvailableVodContentRecommendations to Streaming Response

# 1.6.0

- ARCH-977 Method for getting Available VOD for content recommendations.
- ARCH-1211 Add activeRegion to episode for Sequences.

# 1.5.1

- ARCH-1164 Fix a bug where a min ageRange of 0 would cause the min attribute to be removed. An ageRange min of 0 is valid and should be preserved.

# 1.5.0

- ARCH-1211 Add activeRegion to episode for Sequences.
- ARCH-1021 Expose `dashEnabled` property on episodes in episode service and sequencer service.
- ARCH-1053 Expose and populate `ageRange` objects on `episodes.ageRange` property in episode service and sequencer service.

# 1.4.0

ARCH-1049: Add fragments property for transcode-job.
ARCH-1024: Update to support changes for DASH/DRM, sub-clips has a hook to return source HLS if it doesn't exit.

# 1.3.0

- ARCH-643 Support CFaaS change stream deletes.
- ARCH-519 Pass playback type/context to the comscore function. This allows the population of the 'c6' value. Remove support for Advanced Channel Categories because its support has been removed from inf-lib-schemas.
- ARCH-838 DAL support of getting kids and non-kids backfill clip ids.
- ARCH-922 New dal lib (0.0.31) for the new comscore implementation replacing values populated using sub genre with genre.
- ARCH-738 Fix parsing of mongodb connection string. Now it handles query parameters and mongodb+srv.
- ARCH-809 fix undefined on port-less string

# 1.2.1

- publish package with protobufs

# 1.2.0

- ARCH-701 - Handle missing placeholders by introducing default (hard-coded) placeholders in DAL. Handle duplicate duration placeholders, by picking the first.
- ARCH-680 - Added config api listing connected DB, dependencies, version, etc.
- ARCH-694 - Restore legacy getById(s) methods for selected services for Lambdas using the legacy methods.
- ARCH-410 - Support for content feeds as a service syncing of Mongo collections. New inf-lib-dal, consolidated naming of getById, getByIds, getForContentFeeds. Add Metadata in server stream responses for the document count.
- ARCH-437 - Integration of transcode lambda to DAL
- ARCH-20 - Account updatedAt field to update episodes which were modified
- ARCH-655 - update vod category protobuf to include disabled_at and active_region.

# 0.0.17

- Fix to response mock method for hydrating the timeline.

# 0.0.16

- Updates to package dependencies.
- ARCH-266 - Updates to support for `stitcher-sequence` methods. Service mock generators. Npm publish helper script.

# 0.0.12 - 0.0.15

- Iterated to fix package dependencies and packaging of protobufs.

# 0.0.10

- ARCH-521 - Updating google-protobuf to a higher version which has the fix for packed by default int arrays. Updated tests to account for this case. Setting the limit to client receiving messages up to 1 Gb instead of the default one 4Mb.

# 0.0.9

- ARCH-468 - Added method on the nodejs-client to force close the grpc client.

# 0.0.8

- ARCH-21 - Add support for ACS Non-stitched channel notification.

# 0.0.7

- ARCH-279 - Support for freewheel lambda.

# 0.0.6

- ARCH-310 - Add support for PlaceholderSets added to `stitcher-sequence` in `playout-services`.

# 0.0.5

- ARCH-266 - Add support for `stitcher-sequence` sequences.

# 0.0.4

- ARCH-40 & ARCH-211 - Add support for placeholder clips.

# 0.0.3

- Support for ACS
