Commit Graph

57 Commits

Author SHA1 Message Date
Ned Thompson
bce6358577 add favorite for card, identity, secure note, and sshkey scenes (#7710) 2026-05-28 12:08:55 -04:00
Ned Thompson
7f0aaa8a7c add folder id to cipher scenes, add full identity cipher scene (#7694) 2026-05-22 14:03:20 -04:00
John Harrington
bef6306ae1 Add passkey and password history to a subset of seeded credentials (#7635)
* initial addition of passwordHistory and fido2Credentials

* distinct RpId and RpName, fix pwd strength fall-through, add tests
2026-05-20 13:57:59 -07:00
Jared Snider
eb9c8c9aa9 Auth/PM-37621 - Fix Device.LastActivityDate surfacing legacy NULL rows as DateTime.UtcNow (#7649)
* PM-37621 - Fix Device.LastActivityDate surfacing legacy NULL rows as DateTime.UtcNow

Dapper's deserializer skips the property setter when a nullable column is
DBNull, leaving the property at its CLR default. The field initializer
`public DateTime? LastActivityDate { get; internal set; } = DateTime.UtcNow`
poisoned that default, so rows whose LastActivityDate column was NULL (e.g.
devices created before the column existed) read back as the current time.

Drop the initializer, relax `internal set` to `set`, and stamp
LastActivityDate explicitly at the two creation call sites
(DeviceValidator.GetDeviceFromRequest and DeviceRequestModel.ToDevice). Adds
an integration regression test that creates a device with an explicit null
LastActivityDate and asserts the read path surfaces null. Augments
DeviceValidatorTests.GetDeviceFromRequest_RawDeviceInfoValid_ReturnsDevice
to lock in the creation-time stamp.

* PM-37621 - DeviceSeeder - creation should set LastActivityDate
2026-05-15 16:34:08 -04:00
Matt Bishop
91b833cb9d Seeder progress indicators (#7510) 2026-05-14 05:59:54 +02:00
Mick Letofsky
4a15d37a40 PM-36416 - Implement master password reprompt seeding (#7598) 2026-05-12 07:44:49 +02:00
renovate[bot]
3227cf4f14 [deps] Tools: Pin dependencies (#6204)
* [deps] Tools: Pin dependencies

* [PM-24840] updated dependencies that are required with Net 10 switch

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex Dragovich <adragovich@bitwarden.com>
Co-authored-by: Alex Dragovich <46065570+itsadrago@users.noreply.github.com>
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2026-05-07 10:06:10 -07:00
Thomas Rittson
55e06e3c2d [PM-36419] [BEEEP] Add collection management settings to seeder (#7576) 2026-05-07 07:36:54 +02:00
Derek Nance
74e0441a5e [PM-28727] Upgrade to .NET 10 (#7171)
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2026-05-01 11:53:00 -05:00
Rui Tomé
52d9a9cc88 [PM-35253] Add organization ability UseInviteLinks (#7489)
* Add UseInviteLinks to Organization SQL schema and views

* Add Migrator scripts for UseInviteLinks column and data migration

* Add EF migrations for UseInviteLinks on Organization

* Wire UseInviteLinks through organization domain and repositories

* Add HasInviteLinks plan support and UseInviteLinks license handling

* Expose UseInviteLinks and HasInviteLinks on organization and plan API models

* Update tests for UseInviteLinks and invite-links plan feature

* Update migration script with missing update to Organization_ReadManyByIds

* Move UseInviteLinks column after ExemptFromBillingAutomation

* Bump date on migration scripts
2026-04-30 10:13:50 +01:00
Nick Krantz
39a132d192 [PM-34116][PM-34117] Drivers License and Passport (#7512)
* update minimum version to handle all new item types rather than individual types

* add cipher types for driverslicense and passport

* add request and response models for DriversLicense and Passport

* add events for DriversLicense and Passport

* add seeder

* add additional properties from CXP

* add additional fields
2026-04-28 17:35:01 +00:00
Thomas Rittson
1e09ab4008 [PM-35489] Move collections to AC ownership (#7523) 2026-04-23 07:03:25 +10:00
Oscar Hinton
076804f04e Add seed script for local development (#7490)
Introduces a repeatable, declarative way to seed a local dev environment via the existing SeederUtility.
2026-04-21 12:27:14 +02:00
SmithThe4th
bc1818041b [PM-34060] Add bank account item type (#7112)
* Added new bank account type, added minimum version logic and sync filters

* Formatted changes

* changed condition for filtering bank account types

* Fixed tests

* Updated feature flag

* Added comment

* updated feature flag and updated dto

* update ticket for minimum bank account version

* add event types for bank account

* fix client version being null bug

---------

Co-authored-by: Nick Krantz <nick@livefront.com>
2026-04-16 12:32:51 -05:00
Mick Letofsky
e4bf05c2fc Add scenario docs for Seeder adoption and trim CLI reference (#7456) 2026-04-13 14:49:44 -04:00
MtnBurrit0
08bca7b2fc Fix CollectionUsers/CollectionGroups table names for Seeder across all DB providers (#7441) 2026-04-13 10:36:09 +02:00
Mick Letofsky
0624981ab6 Rename CLI endpoint to Preset instead of Seed (#7340) 2026-03-30 15:17:54 +02:00
Mick Letofsky
17cf23f8f4 Clarify potential misleading comment (#7339) 2026-03-30 09:07:29 -04:00
Mick Letofsky
6547361e31 PM-33964 - Unify CipherSeeder factories behind CipherSeed domain model. (#7330)
* Unify CipherSeeder factories behind CipherSeed domain model.
2026-03-28 08:08:59 +01:00
Mick Letofsky
612cdb9fa7 PM-34033 - Add user & org API key seeding and improve CLI output (#7324) 2026-03-27 13:38:49 +00:00
Mick Letofsky
5833e34cf6 PM-34033 - Add individual user seeding to preset pipeline (#7304) 2026-03-27 08:14:46 +01:00
Mick Letofsky
f8454bc13a Added RSA keypair pool + Caching to Seeder's RustSdk (#7288) 2026-03-25 13:49:27 +01:00
Matt Gibson
869ba57a2a [PM-34082] Seed passkeys (#7265)
* Seed passkeys

Generates passkey data from minimal inputs or relying party and username

* Allow totp specifying to user login cipher scene

* Fixup test

* Use default values in seed DTOs where possible

* Limit classes to one per file
2026-03-25 07:48:09 +01:00
Matt Gibson
4f37c93349 Arch/cipher scene (#7241)
* User Cipher scene

For now only supports one login cipher

* Fixup batch delete, which fails due to db collisions

* Create cipher scenes for each cipher type

* Remove unnecessary mutex locking

* Include notes in ssh key ciphers

* Add reprompt to ssh keys

* Add deleted and archived options to login cipher seeder

* Remove ArchivedDate for now

* Update util/Seeder/Factories/SshKeyCipherSeeder.cs

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* Allow setting favorite in seeder

* Propagate favorites to created cipher

* Propagate delete date to cipher creation

fix favorites, which have to be all caps for detection on the client side

* conditionally set cipher as favorite

* More review comments

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-03-24 12:00:26 -07:00
Mick Letofsky
8310ea1546 Fix 12 silent switch defaults in Seeder with fail-fast throws (#7277) 2026-03-23 18:44:36 +01:00
Mick Letofsky
df3aadb09e Add collection, folder, and favorite assignments for fixture presets (#7267) 2026-03-20 21:04:21 +01:00
Mick Letofsky
cfdd6dfe50 PM-32077 - Add override to KDF iterations from RustSdk for Seeder (#7225) 2026-03-17 09:45:07 +01:00
Mick Letofsky
ba242d6d11 PM-33591 - Parallelize CreateUsersStep and GeneratePersonalCiphersStep (#7226) 2026-03-16 15:20:11 +01:00
Mick Letofsky
662828a16a Decouple seeder cipher encryption from internal vault crates (#7211) 2026-03-13 14:35:42 +01:00
Mick Letofsky
20d94c37dd Add density profiles to Seeder CLI (#7205) 2026-03-12 15:04:07 +01:00
Mick Letofsky
3b9db315fd Add 9 scale presets and consolidated seeder docs (#7193)
* Add 9 scale presets and consolidated seeder docs
2026-03-11 17:16:41 +01:00
Mick Letofsky
bf40668fc8 Seeder - Adding density distributions (#7191) 2026-03-10 16:22:23 +01:00
Matt Gibson
bf9bc84da4 Existing device scene (#7155)
* Existing device scene

* Prefer usings

* Require namespaces

* Return the device id that is created
2026-03-10 09:33:46 +01:00
Mick Letofsky
465cbf3fb3 Reorganize seeder presets into purpose-based folders and remove obsolete presets (#7176) 2026-03-10 06:16:10 +01:00
Mick Letofsky
1961bb5cc9 Craft density modeling for Seeded vaults (#7102) 2026-02-27 18:07:49 +01:00
Matt Gibson
9ca1874723 Scene to create a folder for a user (#7099) 2026-02-27 09:35:42 +01:00
Mick Letofsky
3abb672903 Refactoring legacy Seeder Recipes (#7069) 2026-02-25 06:46:19 +01:00
Mick Letofsky
0d8b920550 Seeder simplifying and extending seeds (#7065) 2026-02-24 17:28:49 +00:00
Mick Letofsky
60bbf00160 Seeder/resolve owner roster quirk (#7059) 2026-02-24 07:47:29 +01:00
Mick Letofsky
a0af85a1f0 Resolving bug with Mangler and Organizations (#7057) 2026-02-23 14:47:25 +01:00
Mick Letofsky
73756d0d08 Bring our QA Setup data files into the Seeder as presets (#7046)
* Importing test fixtures from test repo into the Seeder
* Needed to ensure that we assigned permission to collections; not just made them.
2026-02-23 12:01:05 +01:00
Mick Letofsky
507c3a105c Refactoring structure of the CLI to be more maintainable long-term (#7042)
* Refactoring structure of the CLI to be more maintainable long-term
* Remove obvious comments & put back XML comments
2026-02-19 18:40:48 +01:00
Mick Letofsky
10044397c1 Implement plan types, personal ciphers and fix folder assignment (#7030)
* Implement plan types, personal ciphers and fix folder assignment
2026-02-19 15:47:37 +01:00
Alex Morask
cfd5bedae0 [PM-31040] Replace ISetupIntentCache with customer-based approach (#6954)
* docs(billing): add design document for replacing SetupIntent cache

* docs(billing): add implementation plan for replacing SetupIntent cache

* feat(db): add gateway lookup stored procedures for Organization, Provider, and User

* feat(db): add gateway lookup indexes to Organization, Provider, and User table definitions

* chore(db): add SQL Server migration for gateway lookup indexes and stored procedures

* feat(repos): add gateway lookup methods to IOrganizationRepository and Dapper implementation

* feat(repos): add gateway lookup methods to IProviderRepository and Dapper implementation

* feat(repos): add gateway lookup methods to IUserRepository and Dapper implementation

* feat(repos): add EF OrganizationRepository gateway lookup methods and index configuration

* feat(repos): add EF ProviderRepository gateway lookup methods and index configuration

* feat(repos): add EF UserRepository gateway lookup methods and index configuration

* chore(db): add EF migrations for gateway lookup indexes

* refactor(billing): update SetupIntentSucceededHandler to use repository instead of cache

* refactor(billing): simplify StripeEventService by expanding customer on SetupIntent

* refactor(billing): query Stripe for SetupIntents by customer ID in GetPaymentMethodQuery

* refactor(billing): query Stripe for SetupIntents by customer ID in HasPaymentMethodQuery

* refactor(billing): update OrganizationBillingService to set customer on SetupIntent

* refactor(billing): update ProviderBillingService to set customer on SetupIntent and query by customer

* refactor(billing): update UpdatePaymentMethodCommand to set customer on SetupIntent

* refactor(billing): remove bank account support from CreatePremiumCloudHostedSubscriptionCommand

* refactor(billing): remove OrganizationBillingService.UpdatePaymentMethod dead code

* refactor(billing): remove ProviderBillingService.UpdatePaymentMethod

* refactor(billing): remove PremiumUserBillingService.UpdatePaymentMethod and UserService.ReplacePaymentMethodAsync

* refactor(billing): remove SubscriberService.UpdatePaymentSource and related dead code

* refactor(billing): update SubscriberService.GetPaymentSourceAsync to query Stripe by customer ID

Add Task 15a to plan - this was a missed requirement for updating
GetPaymentSourceAsync which still used the cache.

* refactor(billing): complete removal of PremiumUserBillingService.Finalize and UserService.SignUpPremiumAsync

* refactor(billing): remove ISetupIntentCache and SetupIntentDistributedCache

* chore: remove temporary planning documents

* chore: run dotnet format

* fix(billing): add MaxLength(50) to Provider gateway ID properties

* chore(db): add EF migrations for Provider gateway column lengths

* chore: run dotnet format

* chore: rename SQL migration for chronological order
2026-02-18 13:20:25 -06:00
Mick Letofsky
81120bd24e Enhance seeder allowing for a user-defined password (#7021) 2026-02-18 06:48:05 +01:00
Mick Letofsky
07049b367a Seeder Enhancements - Phase 3 (#6973) 2026-02-17 07:42:53 +01:00
Matt Gibson
cde8ceca31 Add query for email verification link (#6984)
* Add query for email verification link

* PR comments
2026-02-12 15:16:50 +00:00
Matt Gibson
902be7dfb8 Require password when seeding a new user (#6978) 2026-02-10 19:01:50 +00:00
Mick Letofsky
4eb9c4cf3c Enhance seeder with additional cipher types and architectural refactorings (#6935) 2026-02-04 19:27:09 +01:00
Mick Letofsky
5941e830d2 Refactor to correctly implement statics and remove hardcoded organization keys (#6924) 2026-01-30 16:03:56 +01:00