Changelog for Caliper SDK
Current Version: [2.284.0]
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Released Versions:
v2.284.0 - 2025-08-18
Added
Adds a new
HqSessionCache
DbObjectAdds the
q2 db get_hq_session_cache
CLI commandAdds the
q2 db update_system_property_data
CLI command
Fixed
Fixes a bug with non-nested vendor configs in the
AccountHistory
Adapter extension type
v2.283.1 - 2025-08-14
Fixed
Fixes stored proc sdk_UnlinkAccount to prevent foreign key errors
Updates sdk_UpdateWedgeAddress to have the same timeout value as the install
Changed
Adds DB_PLAN to ExternalAuth template when creating a new extension
v2.283.0 - 2025-08-13
Changed
Temporarily add Python3.9 back in base file
Updated the Sandbox DB Update task due to DB Host change
Fixed
Fixes issue with Adapter extensions setting VAULT_SCOPED_READ = True and MULTITENANT = False where the HQ_CREDENTIALS does not get set
Fixes an issue with the @cache decorator that caused the decorated function to be called every time instead of just when the cache had expired
Added
Add Gitlab mirroring to the shared pipeline for partner repos
Add a minimum version of Tecton to q2 check
Allow external callers (CDM) to pass in is_unauthenticated and is_mfa to online_installer.install method
Add Optional type hint to many places where it was missing (a work in progress)
Add new DB Object for dbo.Q2_DataType . Only get is supported ATM
v2.282.0 - 2025-08-01
Added
Adds
search_by_internal_number
toHostAccount
DbObjectPropertyLongName
is now configurable on Form installArdent extensions can now be installed with a new name if the extension is already installed
Fixed
Fix
q2 sandbox instant_payments enable
for optionalreply_parent_request_types
andexternal_transaction_type_id
fieldsFixes bad join in
ZoneSystemProperty
related tablesFixes bug where CIFs in
ExternalAuth
’s Check Password route should be Optional
Changed
Cleans up
sdk_AddAdapterInterface
SQL
v2.281.0 - 2025-07-29
Added
Add a
q2 sandbox treasury
command to enable/disable treasury functionality in the sandboxEnsure company name shows up in more cases in the advanced field on Form/SSO install
Changed
Rework
q2 tecton
inheritance structureChanges
SendAccountDetails
in DBPlan from a boolean to an enum with 3 options. Defaults toSEND_FROM_CACHE
, which was the intended value all alongImprove performance on
sdk_OAuth*
tables
Fixed
Fix an issue with LinkedAccount.delete that could fail with a foreign key error
Fix a stored proc variable name mismatch in
sdk_GetExternalTransfersByProcessDate
v2.280.0 - 2025-07-22
Added
Upgrades to Python 3.13 base
Shared dev box users can upgrade using the
upgrade_python_version 3.13
commandcaliper_admin
script updated to reflect python3.13 additions
v2.279.0 - 2025-07-22
Added
Adds
IsoCodeA2
toAddress.get()
responseGeneratedTransactions
DbObject adds aget_by_process_date_range()
method
Changed
Increases default node version to 22 (from 20)
v2.278.1 - 2025-07-17
Fixed
Convert booleans into strings in
UiConfigPropertyData
InstallStepProperly handles JSON data field in EDV requests
v2.278.0 - 2025-07-14
Added
q2 create_online_user
now prompts for copying accounts from another userOTEL span decorator now works with kw_only functions/methods and adding functools.wraps to preserve the decorated signatures
VendorId
is accessible onNavNodeRow
UserPropertyDataElement
,ApiStoredProc
andCentralNavNode
now have RepresentationRowsTableRow
now properly supportssetattr
andsetitem
Improves error handling in
Q2ConfigRequestHandler
based extensionsImproved Type hinting on all objects that take
Q2Logger
(now hinted asQ2LoggerType
)Allows passing a
primary_cif
onEnrolledEntity.create_user
Changed
Performance improvements on
Form.get
Fixed
Correct
AccountAddress
AddressType
type hint in RepresentationRowself.core
no longer blows up when called fromCaliperAPI
handlers
v2.277.1 - 2025-07-07
Changed
q2 insight
command now operates on new AWS based instance by default
Added
Adds
is_dev
,is_staging
, andenvironment
properties to Q2 Insight DbRowsWhitelists new SDK Corporate AWS environment for
q2_request
calls
v2.277.0 - 2025-07-03
Added
Adds
get_by_user_id
method toUserPropertyData
DbObjectAdds
get_by_customer_id
method toUserPropertyData
DbObjectAdds
delete
method toAddress
DbObjectAdds
get_by_address_id
method toAccountAddress
DbObjectAdds
q2 db get_account_address_by_address_id
CLI entrypointMoves
ExternalAuth
stored procs out of dev_onlyAdds fields to
AdminUserLogon.get
responseAdds audit details to Tecton MFA audit records
Fixed
Fixes an issue with newer tornado versions not passing along form fields from Tecton unauthenticated extensions
Improves flexibility in
@cache
key namingFixes a bug with
message_bus.encrypt
andmessage_bus.decrypt
if callingmessage_bus.CIPHER.calc_hmac
directly
Changed
Internal organization of
q2 tecton
entrypoint
v2.276.0 - 2025-06-26
Added
(Internal) Enables creation of q2config_override_local.py
Fixed
Fixed calling the @cache decorator with positional parameters
Fixes schema check on all sql files
Q2Config extensions now have a better solution for determining if the developer is internal / external.
v2.275.0 - 2025-06-23
Added
Adds
HostAccountClickType
DbObject.Adds
create
,update
anddelete
methods onHostAccountClickType
DbObject.Adds
add_or_update_third_party_data
cli entrypoint toThirdPartyData
DbObject.Adds
add_or_update
method toThirdPartyData
DbObject.(Internal)Checks for feature flag during installation of Q2config extensions
Fixed
Fix Audit Action Handler’s parsing of the Details field from the incoming HQ request.
v2.274.0 - 2025-06-20
Added
Adds the
--level
flag to q2 vault cliAdds accounts related extension outlets to tecton CLI.
mock_q2_request
decorator now providesenable_soap_wrapper
,enable_api_wrapper
, andversion_number
helper paramsUiConfigPropertyData InstallStep now has context of
is_central
to know backoffice capabilities
Changed
Moves native mobile docs to their own site (https://mobile.q2developer.com/docs/)
Fixed
DevOnly ThirdPartyData InstallStep will warn but no longer break the rest of the uninstall
Fixes bug with merging of outlets across deploys
AddressRow rename hinted ISsoCodeA3 -> IsoCodeA3
GroupRow rename hinted EDVProfileID -> EdvProfileID
v2.273.0 - 2025-06-11
Added
Adds
get
method toGtFlavor
DbObject.Adds
get_gtflavors
cli parser toGtFlavor
DbObject.
v2.272.0 - 2025-06-09
Added
Adds a
q2 sandbox transaction_date
for bringing postdates up to date
Fixed
Patches a potential race condition in multitenant message_bus encryption/decryption
Fixes newlines in the UUX Payload parsing during form uninstall
Fix unsupported unicode characters in sql scripts.
Fix bad import in entrypoints.db
Changed
Improve adapter uninstall CLI naming
v2.271.0 - 2025-06-04
Added
Message bus now adds
auto_compress
variable which when True now automatically zlib compresses the message if it’s size >MIN_ENCRYPT_SIZE
bytesAdds
SystemPropertyDataWithReferences
DbObject.Adds
HostAccountDataElementWithReferences
DbObject.Adds
ZoneSystemPropertyDataWithReferences
DbObject.Adds
extension_name
variable to dbplan InstallStep.
Fixed
Multitenant extensions now invalidate HQ at startup only when running locally.
Improvements to Local-dev to get more targeted calls.
Fixes bug with wrong IP address in Instant Payments after installation.
OAuth token sql scripts require Expiry alias.
v2.270.0 - 2025-05-28
Added
Adds
unset_primary_cif
parameter to update method of User DbObject.Officially moves EDV, Instant Payments, and External Auth out of beta
Adds a
HostTranCodeGroup
InstallStep into DbPlanAdd indexes to the
sdk_OAuthToken
tableSkipGetUnsignedToken will be enabled by default in new installs
Fixed
Message Bus local dev now ignores any HTTP_PROXY settings
Fixes a bug with
q2 setup
on blank repos asking you to runq2 setup
Better error message when q2 cache does not provide a subparser
v2.269.0 - 2025-05-20
Added
Adds new HQ API endpoint
GetEdvMfaType
.Adds new parameter
audit_action_name
tomfa_validation_required
decorator.External MFA extensions now include a
self.mfa_info
object, providing detailed context about the current MFA workflowAdds a unique call Id to q2_request logging data to facilitate easier tracking of request lifecycle in a chatty extension.
Adds a get_version_from_toml method to the settings file.
Future proofing some EDV Handler response shapes
Fixed
Caliper API Custom Endpoint extensions now implement
stack_cache
method.q2 create_extension
no longer allows spaces or punctuation in extension name.Reverting back to lxml<5.4 and xmlsec==1.3.14 for stability across all target systems
Fixes RequestMock for Tornado>=6.5
Fixes a bug with q2 add_dependency if the target package exists in a requirements.txt comment already.
Fixes a bug when timeout is passed to the @cache decorator as a position rather than keyword argument.
v2.268.0 - 2025-05-12
Added
The MFA database operations are no longer
dev_only
Fixed
get_load_balanced_ips
method no longer returns empty list when invalidating hq cache.q2 add_dependency —search
now handles error.q2 insight login
now stores token.
v2.267.0 - 2025-05-07
Added
Adds
link_vendor_to_product
onProduct
DbObject which allowAccount Details
extension work as sso.Adds support for setting service base URL from environment variables for
Q2config
type extensionsAdds
authenticate
method to Insight API login wrapper to get more details from the response
Fixed
Installing
AuditAction
extension type forExecuteWedgeRequest
is now not allowedFixes
q2 test -—coverage
when no python modules are foundImproves startup time on
q2 run
Fixes implementation of
get_tracer
method inQ2TracerProvider
q2 add_to_nav
entrypoint now allows adding nav nodes under menu items
v2.266.1 - 2025-04-29
Fixed
Fixed bugs related to adding a new ObjectGroup data.
Saml signing on MAC is now more robust.
Fixes cache scoping on CaliperApiCustom extension handler.
v2.266.0 - 2025-04-25
Added
Edv extension now has
CUSTOM_AUDIT_ACTIONS
field which allows adding list of custom audit actions.Adds overpanel display options to
q2 tecton
cli entrypoint.
Fixed
Installing the SDK with sso extras enabled (pip install q2-sdk[sso]) will ensure compatible version of xmlsec (1.3.15)
The name ‘Nan’ is now not interpreted as a float NaN for name fields on OnlineUser model
Installing Instant Payments extension now shows appropriate error message if duplicate vendor exists.
Changed
@cache decorator now uses function arguments as part of its cache key
v2.265.1 - 2025-04-11
Changed
Updates OpenTelemetry version from 1.24 -> 1.32
Fixed
Ensures cached vault data is a dictionary
Only refresh the Q2Config discovery service during local development
Fixes bug with testing Holocron errors at local dev time (multitenant adapter extensions in particular)
Fixes a few cache key issues with multitenant services when looking up DbConfigs
Added
EDV now supports
ChangeUserLoginName
andChangePassword
actionsEDVRequest
now also tracksis_prelogon_session
,is_csr_assist_session
, andaudit_id
if available from HQ
v2.265.0 - 2025-04-09
Added
Adds
with_recipient_id
boolean parameter toget_ach_details
method of Transactions DbObject. Defaulted to False controls retrieving additional recipient details.Allows adding PCC to salesforce when a new extension is installed.
Fixed
Q2 Config extensions now does not appear in menu options.
Removes unused
overpanelReady
property from tecton entrypoint
v2.264.0 - 2025-04-07
Added
Adds caching to
self.vault
settings.DEPLOY_ENV
is now an enum of the environments (DEV/STG/PROD)Errors on customer creation from
EnrolledEntity
will be logged at the exception level along with returned in the response to the callerAdds
GTFlavorID
field toGeneratedTransactionsRow
DbObjectAdds
get_by_id
,add
, andupdate
to ObjectGroup DbObject
Fixed
Fixes lingering issues with cache scoping
Fixes issue with
q2 update_installed
aroundq2_config
extensionsUpdates
Holocron
URLs to default to AWS versionsHandles bug where unescaped data might show up in
AuditDetails
handler inputFixes bug with
q2 check
and newerq2-tecton-sdk
version stringsCleanup and testing on the builtin jinja, html, and javascript templates generated by the SDK
v2.263.0 - 2025-03-28
Added
Adds
ttlYears
to ArdentFs endpoints for long term storageAdds
change_account_product
method toHostAccount
DbObject
Fixed
Fix syntax error with generated
package.json
introduced in 2.262.0
Security
Adds stack/service/session level scoping to self.cache (for parity with
@cache
decorator)
v2.262.1 - 2025-03-25
Fixed
Reverts cache scoping draft PR that was accidentally merged in in 2.262.0
v2.262.0 - 2025-03-24
Added
run_db_plan
entrypoint now works with both list and top level dictionary inputsAdds the AdminTextElement DbObject and corresponding CLI get command
GeneratedTransaction DbObject will now return more data fields
(Internal) Initial support for Q2Config extensions
Fixed
Audit Category install step will now run before Audit Action install steps
Fixes a bug getting lastLogin for AdminUserLogon’s where it would always default to now
Fixes a bug where ProductType.create could create duplicate product_types
v2.261.1 - 2025-03-13
Fixed
Fixes a bug introduced in 2.261.0 with the base tecton form inherited javascript
v2.261.0 - 2025-03-11
Added
Adds new Redirection based MFA flow for MFA handlers
Fixed
Handles a few edgecases in
q2_tecton_form
with undefined variables
v2.260.0 - 2025-03-06
Added
Adds
require_token_if_not_suspect
to add method ofEDVDetail
DbObject.Adds
**kwargs
forcall_hq
method signature in DbObject
Fixed
Fixes default value of
token_life_in_minutes
to 0 while installing edv adapter.Fixes errors with VENDOR_CONFIGS in adapter extensions when MULTITENANT=True
v2.259.0 - 2025-02-28
Added
Uninstalling an Online extension with MFA integration now removes all the attached MFA Group Profiles
Adds
run_async
method to base handler to easily run a non-async function in the background.
Deprecated
@cache decorator’s use_session_cache param
Security
@cache decorator now takes in a storage_level parameter, which defaults to locking down cache calls to the customer environment to better support multitenant deployments
Fixed
ruff version locked to <=0.9.7 temporarily for compatibility with existing codebase
v2.258.0 - 2025-02-25
Added
OnlineUser
now supportsZoneId
.
v2.257.0 - 2025-02-20
Added
Adds q2 check warnings for console.logs and minimum suggested Tecton version.
Adds new HQ endpoints:
UpdateVendorStatusOnOutgoingTransaction
SetProcessedTransactionToFailed
add
method onLinkedAccount
DbObject now adds support for user_role_id.
Fixed
Improves performance of getting funds transfer by host_account_id
Fixes a bug with calling setup_db through the websocket
CheckImage adapter now sets routing_number to ABA if routing_number is not present.
get_recipients
onRecipient
DbObject now handles if recipients are missing.
v2.256.0 - 2025-02-12
Added
Adds new metadata on Central install for use with generating accurate PCCs
Vault
get_hq_creds
will now include theenv_stack
if availableAdds a
get_system_notifications
method toMarketingPageName
DbObjectAdds an
update
method toDatafeed
DbObject
Changed
Instant Payments now handles
allow_expiry
,require_expiry
,allow_requested_execution
,allow_amount_modification
, andrequire_amount_modification
as properties of the handler, used at install time, rather than in theq2 sandbox
subcommand
Fixed
Improves invalidation logic to include HQs behind an AWS load balancer
Adds missing templates to create_extension for EDV
Adds missing SupportedAuditActions import to newly generated EDV extension types
Newly generated SSR frontend directories prefer
index.css
tomain.css
again (since 2.255.0)Changes to allow multiple addresses to be associated to an account using the
account_address
db object
v2.255.1 - 2025-02-04
Fixed
Bad import in startup
v2.255.0 - 2025-02-04
Added
Adds log replay functionality to Audit Action handlers
Documentation improvements on
create_coreflow
tutorialDocumentation string improvements on
self.get_tecton_form
Adds
delete_all_for_vendor
method toThirdPartyData
DbObjectAdds a new setting
INCLUDE_QUERY_PARAMS_IN_LOGS
to toggle this behaviorAdds a new environment variable
Q2SDK_INCLUDE_QUERY_PARAMS_IN_LOGS
Adds a
main.css
file to SSR frontend directoriesCentral handler Description field adds appropriate attributes on install
Fixed
Updates
q2 sandbox external_mfa
command and documentation to work better from a clean environmentLocal Dev Api Websocket can now handle larger jwt sizes (for certified partners with many databases)
Fixes a bug in Console extensions where a call to Tecton’s setTitle function would cause prevent the form render
Fix bug with SSO uninstall if third party data was written to the database
Fixes bug with
AdminUserLogon
DbObject that was preventing disable in some cases
Changed
Switches CSR extensions from CPX/Parcel to Vite
v2.254.0 - 2025-01-24
Added
Adds a new adapter type!
EDV
(Event Driven Validation): Adapter type that allows validation on certain events defined through AuditActions. Tutorial docs updated appropriatelyAdds new DbObjects:
EdvDetail
EdvProfile
Adds new cli entrypoints: under
EdvProfile
DbObject.get_edv_profile_by_profile_id
get_edv_profiles
Adds new cli entrypoints: under
EdvDetail
DbObjectadd_edv_detail
get_edv_detail
remove_edv_detail
Adds new method
update_group
toGroup
DbObject.Adds new adapter data model
EdvRequest
.Adds new sandbox cli subparser
edv
Handles pre-auth tokens when setting External MFA tokens with HQ
local-dev-api now has /sendInternationalWire and /sendDomesticWire endpoints to be used during International Wire and Domestic Wire Adapter tutorials.
Fixed
Adapters now respect Vendor Configurations on extension.py during update operation.
Updates tecton server side extension template to fix page padding.
Allows overriding the span kind at span instrument time.
Handles when no preferred hq_list is present during
q2 invalidate_hq_cache
v2.253.0 - 2025-01-17
Added
Adds initial support for Pinion (live online banking notification) accessible with the
self.pinion
property on the handlerAdds
self.cache
property to entrypointsAdds a few new helpers to
self.get_tecton_form
Fixed
Fixes bug with saml issue_instant and authn_instant timestamp generation since version 2.247.0
Fixes some instances of multiline strings not printing well in smaller window sizes in the CLI
Changed
Refactors React and Vue starter projects to use updated tecton framework wrappers
v2.252.0 - 2025-01-09
Added
Introduces a
self.db.user.get_admin_users_by_customer_id
Introduces CLI command
q2 db get_admin_users_by_customer_id
Upgrades to External MFA (Beta) to handle new database schema for MFAGroupProfile
Fixed
Metrics route will no longer fill up the summary logs
Fix province in
Address
andAccountAddress
to serialize as a StringElement instead of an IntElement
Changed
Improve efficiency of network call to get the latest tecton version
v2.251.0 - 2025-01-02
Added
Adds new cli endpoint
get_admin_group_property_data
onAdminUserPropertyData
DBObject.Adds new method
get_all_group_properties
onAdminUserPropertyData
DBObject.
Fixed
Fixes bug with blank text value on
NavNode
DbObject.External MFA adapter now checks for “product_type_id” and installs properly.
local-dev-api
now handles query params escaping.Fixed
package.json
templates to execute commands sequentially.
v2.250.0 - 2024-12-18
Added
All adapter handles now support self.db_configs
Fixed
Fixes issue with multitenant Adapter handlers without DbConfigs throwing errors on load (since 2.248.0)
v2.249.0 - 2024-12-11
Added
New HQ Endpoints:
Q2Api
PurgeAdminSessionsByUserId
PurgeAdminSessionsByUserIdOneTimeToken
PurgeUserSessionsByUserLogonIdOneTimeToken
SetAuthTokenSerial
WedgeOnlineBanking
SetAuthTokenSerial
Creates
Email
object inDemographicInfo
withis_sac_target
booleanDemographicInfo
now acceptsEmail
objects in addition to just stringsDevApp2.0 Android docs
Docs on third party dependencies for mobile SDK
Docs on Java version control for mobile SDK
Changed
Change casing in
AcceptIncomingRealTimePaymentTransaction
to match new HQ builds
Fixed
Better type hinting on FundsTransfer DbObject responses
Fixes bug where pre authenticated HqTokens were being ignored for ExternalMFA adapters
v2.248.0 - 2024-12-04
Added
Reworks GTFlavors to align with the new company direction (docs and stored procs updated as well)
address_id
is now returned with UserDemographicData DbObject’sget
methodAdds
get_by_login
toAddress
DbObject to search by login_name rather than idEnrolledEntity can now specify whether email should be used as an access_code target or not
Adds better multitenant support for AdapterHandler based extensions (including Instant Payment)
If the Repo is configured as
MULTITENANT=True
in the settings file, self.hq_credentials will be filled per request
Fixed
Fixes bug where default UserPropertyData row would be deleted on install, making the form disappear from online banking
Better handling of pulling groups from either the FormToGroup table or the UserPropertyData table depending on the HQ version
v2.247.2 - 2024-11-25
Fixed
Fixes a bug where self.user_property_feature was not respected in db_plans on install
v2.247.1 - 2024-11-22
Added
New choices during
q2 sandbox instant_payments
Fixed
Fixes errant space in outlet context for CreditCard accounts.
Caliper API Custom Endpoint extension handlers now logs inbound requests.
PAGE_PADDING variable is now available during Tecton Server Side Rendered extension creation and is defaulted to True.
q2 get_installed
now shows InstantPayment handlers even if not in the current repo.
v2.247.0 - 2024-11-14
Added
Adds
q2 sandbox external_mfa
command (referenced in tutorial)Adds
--patch
and--forward
flags toq2 insight get_db_list
command to show more environment keysAdds
SSOIdentifier
filters inPolicyData
DbObjectAdds flush layout support for Tecton Server Side Rendered extensions through the PAGE_PADDING boolean in the handler
UiConfigPropertyData.create
adds anis_central
parameter to pass the BackOffice UiSource type
Fixed
Fixes a bug
GeneratedTransactions.get_transactions_by_date_range_with_gt_data
when a customer_id is provided where the stored proc name was too longDo not use authtoken from HQ if it is listed as IsAuthenticated=False
Changed
Internal references switched from deprecated
datetime.utcnow()
to supporteddatetime.now(timezone.utc)
v2.246.0 - 2024-11-07
Added
Adds new insight entrypoints
GetDatabasePatches
PatchDatabase
New
q2 insight
cli entrypoints:get_db_patches
patch_db
Fixed
Fixes bug while retrieving cache keys.
Fixes memory leak for requests with large amounts of data.
v2.245.0 - 2024-11-01
Added
Adds the StringSecretsFilter for easily and flexibly masking passwords and other secrets in various text shapes
Adds documentation on Push Notifications
Fixed
Custom Caliper Api Endpoint installer will no longer error out if a list is provided as a dbconfig
Fixes a q2 run failure when a multitenant service is not configured as MULTITENANT=True in the settings file
Product.update accurately respects AllowOpen and AllowClose as booleans
v2.244.0 - 2024-10-29
Added
Adds new DbObjects:
Notification
NotificationStatus
Adds new cli entrypoint
get_notification
on Notification DbObject.Adds
get_notification_status
cli entrypoint on NotificationStatus DbObject.
Changed
well_known_url
is now deprecated onOauth2Config
external auth hq model.jwks_url
is used instead.
Fixed
audience
claim is now exposed on ExternalAuth adapter.Adds support for zoned wedge address configurations.
Tecton Handler now properly extracts MFA information.
Update operation on
Product
DbObject now checks when VendorID is None.DebtorAgent
andCreditorAgent
are now optional on Instant Payments.
v2.243.0 - 2024-10-18
Added
Adds optional customer_id filter to
GeneratedTransaction.get_transactions_by_date_range_with_gt_data
for further performance gainsAdds
get_category_by_shortname
toUserPropertyCategory
DbObjectOpenTelemetry will now receive a ServerStart from the SDK on boot
Fixed
Less summary log spam for /inspect and /status endpoints
Improves performance of
GeneratedTransaction
DbObject database calls
v2.242.0 - 2024-10-15
Added
Adds
update
method toProduct
DbObjectAdds
q2 db update_product
CLI commandNew HQ Endpoints:
Q2Api
AddRecurringFundsTransferByCountByUserIdWithGtFlavor
AddRecurringFundsTransferByCountWithGtFlavor
AddRecurringFundsTransferByEndDateByUserIdWithGtFlavor
AddRecurringFundsTransferByEndDateWithGtFlavor
AddRecurringFundsTransferNoEndByUserIdWithGtFlavor
AddRecurringFundsTransferNoEndWithGtFlavor
FlushBrowserRegistrations
FlushBrowserRegistrationsByLogonName
GetAccountHistoryByOnlineUserLogonNameWithRunningBalance
PurgeUserSessionsByUserId
PurgeUserSessionsByUserLogonId
WedgeOnlineBanking
AddRecurringFundsTransferByCountAndGtFlavor
AddRecurringFundsTransferByCountWithIsSameDayAndGtFlavor
AddRecurringFundsTransferByEndDateAndGtFlavor
AddRecurringFundsTransferByEndDateWithIsSameDayAndGtFlavor
AddRecurringFundsTransferNoEndAndGtFlavor
AddRecurringFundsTransferNoEndWithIsSameDayAndGtFlavor
HandleHQCommands
Fixed
Normalizes a missing
isLogon
node toFalse
increate_login
andcreate_user
external auth routesFxRates
mock endpoint onlocal-dev-api
now works if the amount passed in is 0Fixes a bug in the ardent tutorial with the newer version of
pyjwt
Security
Removes python3.8 references from
caliper_admin
as it is no longer in LTS
v2.241.1 - 2024-10-03
Changed
The Instant Payments database object operations are no longer marked
dev_only
v2.241.0 - 2024-10-01
Added
Adds new DbObject
LogonEvent
.Adds a new
@lazy_loaded
decorator inq2_sdk.hq.db.db_object_factory
which allows lazy loading dbobjects throughself.db
Adds new cli endpoint
update_customer_data
onCustomerData
DbObject.
Fixed
Fixes an issue with the online_installer where is_mfa can possibly be unbound
Fixes duplicate results when using
get_ach_details
method of Transactions DbObject.
v2.240.1 - 2024-09-27
Fixed
Fixes missing
External Authentication
from menu options
v2.240.0 - 2024-09-26
Added
Adds new adapter type!
Remote Deposit
: Adapter type used to deposit checks through online banking. Tutorial docs are added.Adds new sandbox cli subparser
rdc
.Adds new DBObjects:
AdminLogons
andCsrNote
Adds new cli entrypoints:
get_csr_note
create_csr_note
delete_csr_note
under CsrNote DBObject.Adds new cli entrypoint
get_admin_logons
under AdminLogons DBObject.
v2.239.0 - 2024-09-23
Added
New adapter Type! External Multifactor Auth (MFA) (beta): This adapter is an official hook for MFA apps, fired in two locations:
After logging in with username/password
As step up authentication in an existing session for sensitive operations where additional MFA is requested
Tutorials and Guides updated appropriately
Adds new fields to CreditTransfer and RequestForPayment incoming calls.
Adds OTEL traceId to summary line on all request handler types.
Fixed
Q2Span.instrument
now warns if the attribute length is longer than the one assigned toOTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT
env variable.
v2.238.0 - 2024-09-17
Added
Adds new entrypoint
q2 holocron
New CLI endpoints:
q2 holocron get_configs
q2 holocron get_facets
q2 holocron get_envstacks
q2 holocron add_envstack
q2 holocron add_config
q2 holocron add_facet
q2 add_dependency
now has a--search
flagAdds q2msg>=1.26 as a dependency of the SDK itself
Fixed
q2 check
now checks forpickle
library import.q2 lint
now rewrites pyproject.toml more efficientlyget_recipients
method no longer errors out when we retrieved using customer_id.Fixes bug when installing
deposit_item_image
extension type.
v2.237.0 - 2024-09-06
Added
Adds more fields and flexibility to CheckImage and StatementImage adapters
Added USD Equivalent routes for FXRates adapters
Adds status_code into summary log lines
New Adapters!
DepositItem: Displays deposited check images
Tutorial docs updated appropriately
(beta) External Auth:
A whole series of ways to extend Q2 Online Banking, including but not limited toInbound SSO, using Okta, Cognito, or another provider as a source of truth for credentials
Calling out to the third party from Online Banking’s existing locations of reset password, user unlock, change username, and more!
Tutorials and Guides updated appropriately
Adds new
ExternalAuth
DbObjectAdds new
q2 sandbox external_auth
subcommandAdds pyjwt to SDK dependencies
Fixed
Fix pipeline to handle
q2-sdk[sso]==x.x.x
syntax in requirements filesOnly check datafeed on q2 run for unauthenticated extension
Changed
Updates existing
q2 sandbox auth_token
to pass--use-symantec
for Symantec type auth tokens
v2.236.0 - 2024-09-03
Added
Adds
IsOpenBanking
column toUser
DbObject get requestsAdds ability to override audit_action_short_name in
AuditRecord.create
(defaults to “SDK”)Adds db_plan to Instant Payment adapter handler extension creation boilerplate
Fixed
Fix syntax error in
sdk_GetCustomersByCreateDatePaginated
stored procedureFix
q2 upgrade
command’s -p flag to properly suggest marketplace and sentinel as optionsMore correct requirements.txt parsing in
q2 check
. Handles more obscure edge cases such as comments and hashes.Fixes typing on CountryName and Status columns of AccountAddress DbObject get requests
Fixes a bug with ardent.file_upload.upload_from_file that wasn’t respecting the name override passed in on subsequent downloads
Changed
Non successful Instant Payment adapter responses will return status_code 400 rather than 200 to HQ
v2.235.0 - 2024-08-27
Added
Adding pagination to search customer method.
New HQ Endpoints:
Q2Api
GetGtIdsToBeProcessedAllOutstandingTransactions
GetGtIdsToBeProcessedAllOutstandingTransactionsByTransactionTypeString
GetGtIdsToBeProcessedAllOutstandingTransactionsByTransactionTypeStringWithMax
GetGtIdsToBeProcessedAllOutstandingTransactionsByTransactionTypeStringWithMaxWithCutoff
GetGtIdsToBeProcessedAllOutstandingTransactionsWithMax
GetGtIdsToBeProcessedZoneOutstandingTransactionsByTransactionTypeStringWithMax
GetGtIdsToBeProcessedZoneOutstandingTransactionsByTransactionTypeStringWithMaxWithCutoff
Changed
Upgrades pymssql 2.2.8 -> 2.3.1
Fixed
Fixes bug with duplicate transactions with different recipient IDs when retrieving ach details.
Fixes the rate limiter to count the last token properly.
Fixes
get_ui_selection_by_name
cli entrypoint argument name.
v2.234.0 - 2024-08-20
Added
Adds
get_by_request_type_name
method on AdapterInterface DBObject.Instant Payments adapter now has update functionality
Changed
NOTE Realtime Payments Adapter extension to Instant Payments Adapter extension
All cli entrypoints containing
realtime_payment
have been renamed toinstant_payments
cli entrypointRemoved yapf styling in preference for ruff
Fixed
Fixes boiler plate code of InstantPayments adapter extension after creating the extension.
q2 sandbox insatnt_payments disable
now removes AdapterAddress related to InstantPayments.
v2.233.1 - 2024-08-13
Fixed
HostAccountData overlay logic will now handle the case where data only exists in the _RT table
Console CSR extensions will now generate a working frontend when using React templating
HQ invalidation will now work properly on AWS hosted HQs
Added
Periodic Entrypoints now generate tests on
q2 create_entrypoint
Security
Adds a new review step to the automated build pipeline through code.q2developer.com
v2.233.0 - 2024-08-07
Added
Stabilizes
UiText.delete
for use in productionAdds
IsOpenBanking
attribute to theUserRole
get return
Changed
Docs: Updates SQL procedure template to CREATE or ALTER syntax
Docs: Clearer error message on OUTBOUND_WHITELIST failure
Fixed
Handled error case where Q2Insight’s
get_db_list
endpoint returns a database row without a customer key
v2.232.1 - 2024-08-05
Fixed
Improves exception messaging in RateLimiter classes
Improves execution time in RateLimiter classes
v2.232.0 - 2024-08-01
Added
Adds a new
q2 format
entrypoint to facilitate quick code formatting across the entire codebase(Internal Q2 Devs) Adds support for Holocron - an internal Q2 configuration database
Adds
IS_UNAUTHENTICATED
to the running server’s inspect endpoint
Fixed
Fixes a bug with Customer DbObject’s
move_many_to_group
where customerId was cast as the wrong typePassing in
User-Agent
to q2_requests headers will override the default (python-q2-requests/<sdk_version>)
v2.231.0 - 2024-07-26
Added
(Beta) Adds
RequestForPaymentResponse
request type which stores response forRequestForPayment
request.q2 setup
now has functionality to set multitenant flag to True.Adds new method
get_pending_transactions
toGeneratedTransactions
DBObject.Adds
AuditCategory
InstallStep.Adds
GtFlavor
InstallStep.Adds new subparser
gt_flavor
tosandbox
cli entrypoint.Adds
AuditCategory
DBObject.Adds
GtFlavor
DBObject.
Fixed
get_ach_details
method ofTransactions
DbObject now returnsRecipientID
in the result.NavNode
DBObject now allows adding and editingavailable_for_landing
value.`get_pending_by_customer
method of
CustomerDBObject now properly converts customer ids to
int``.
Changed
NOTE (Beta)
RealtimePaymentRequest
has been renamed toRequestForPaymentRequest
.
v2.230.0 - 2024-07-22
Added
HostAccountData
DbObject’s.get
method now has aoverlay_rt_table
parameter which defaults to True. If enabled, will overlay data from theQ2_HostAccountDataRT
table
v2.229.0 - 2024-07-19
Added
Adds new adapter type!
AccountDetails
: Adapter type to fetch account details. Tutorial docs updated appropriatelyAdds summary logs for AuditActionHandler.
Fixed
q2 update_installed
no longer causes error when adding groups to a Form if the value of UserPropertyData is False for that group.Adding
Q2Span.instrument
on route no longer causes error.Moving many customers will no longer error out if deleted date is null
User
DBObjectget
function now properly handles missing parameters
v2.228.0 - 2024-07-12
Added
Adds
.store_in_hq
and.from_external
methods to RealtimePayment Request Types for use with inbound RTP requests
Fixed
Fixes missing vue extension template in create_extension flow for console client side rendered apps
v2.227.0 - 2024-07-10
Added
q2 setup_db
now has a--no-websocket
flag for running directly against a DB even with the websocket configuredBetter human readable error message on Q2Cache connection failure
OpenTelemetry (OTEL) traceId will now show up in SUMMARY log line when appropriate
Adds
self.db
support to entrypoints for easy access to instantiated DbObjectsAdds
.get_accounts_by_product
method to HostAccount DbObject
Fixed
Eliminates charset normalizer warning message showing up in the logs on every HQ call
Fixes
q2 upgrade
compatibility withpip
versions >=24. NOTE: Q2 Upgrade will not function in older versions of the SDK unless you downgrade pip to version 23
v2.226.1 - 2024-06-28
Fixed
Fix ruff linting deprecation which was breaking
q2 check
v2.226.0 - 2024-06-26
Added
Adds
UpdateCustomerWithAccountEdit
endpoint to BackOffice endpoints.
Fixed
SSOSession
object now has asession_id
attribute so that nowself.session_cache
can be used onQ2SSORequestHandler
types.Opentelemetry tracing is now enabled on entrypoints when
Q2SDK_ENABLE_OPEN_TELEMETRY
environment variable is set to True.
v2.225.0 - 2024-06-14
Added
New HQ Endpoints:
Q2Api
AdapterPassThruByAdapterRequestTypeString
AdapterPassThruByAdapterRequestTypeStringZoned
GenerateDateDrivenAlertsByZone
GenerateHadeCurrencyAlertsByZone
GeneratePostedTransactionAlertsByZone
HealthCheck
PurgeCachedExternalRequestsForQ2ApiUser
SendNotification3WithHtmlAndZone
SendNotification3WithZone
SendNotificationsForNewMessageToAdminGroup
WedgeOnlineBanking
GetAccountHistoryByIdWindowed
Fixed
Subprocess failures in
q2 run_db_plan
with exit code -9 will log OOM exceptions appropriatelyTesting
clean_environment
helper now also clean Redis variables for edge cases when testing message_bus extensions
v2.224.1 - 2024-06-12
Fixed
Missed dependency with python3.12 base
v2.224.0 - 2024-06-11
Added
Upgrades to Python 3.12 base
Shared dev box users can upgrade using the
upgrade_python_version 3.12
commandcaliper_admin
script updated to reflect python3.12 additions
Changed
Removed dependency on
saml
package. It is now embedded in the SDK itself.
v2.223.0 - 2024-06-11
Added
Adds
filter_out_deleted
andgroup_id
filters toCustomer.search_by_create_date
method
Changed
Increase default Vault connect timeout from 1 to 3 seconds
Fixed
Adds
TECTON_BETA
into the Q2TectonBaseRequestHandler
v2.222.0 - 2024-06-06
Added
RealtimePayment Adapter now sends q2msg in response if
application/q2msg
is present in request headers.Adds new subparser
push_notification
tosandbox
cli entrypoint.Server type online extensions now has
TECTON_BETA
feature.
v2.221.0 - 2024-05-29
Added
Adds
use_session_cache
parameter to @cache decoratorq2_requests timeout errors will now be logged in Opentelemetry
Handlers now have a PROPERTY_LONG_NAME attribute to customize the property name in Central
q2 lint will now update older pyproject.toml files to keep them in line with the latest standard
Docs: Tracing in the SDK
Fixed
Missing MiddleName will no longer prevent adding a new customer in api_helpers
Better initial hq_credentials customer_key state for debug mode dev
Updates ruff subcommand called with q2 lint to suppress a warning message
Fixes a bug where RTPVendors could be installed multiple times, preventing uninstall later on
v2.220.0 - 2024-05-22
Added
Adds a new Branch DbObject
Adds
q2 db get_branch
caliper_admin now encourages cloning using ssh over https
Better file_name support when uploading a file through ArdentFS from the front end. File Uploads documentation page updated accordingly.
Fixed
local-dev-api now properly closes http2 connections
Tecton client extensions will now bootstrap commented
WEDGE_ADDRESS_CONFIGS
block
v2.219.0 - 2024-05-13
Added
Added changes to DbPlan serialization for easier consumption through /inspect endpoint
local-dev-api now has /currencyRates and /currencyCovert endpoints to be used during the online banking tutorial.
Fixed
Fixes bug when updating Online and SSO type extension using
q2 update_installed
.UUX Payload InstallStep is no longer marked as editable.
Handles demographic_info.user_info type if it is not a string.
v2.218.0 - 2024-05-06
Added
q2 check
will validate only a single lockfile exists per extensionHostAccountRow now has a
.ProductName
and.ProductNickName
SSOAcount now has a
.aba
HostAccountDataElement
DbObject adds acreate
methodAdds a
host_account_data_elements
InstallStep that can be used in DbPlans to create them on install
Fixed
Customer
get_pending_by_customer
method now property decodes the utf8 string in the responseFixes a bug with
DbPlan
CustomInstallSteps when callingfrom_json
Changed
Backwards Incompatible: Form.get and Vendor.get will no longer search all groups through all associated property_ids by default. This was a bad default that has been in place since 2.183.0 and led to large data payloads returned in cases where previously much smaller ones existed.
v2.217.0 - 2024-04-30
Added
NavNode
DbObject can now specifyNavigationType
(StandardMenu
,MobileThumbBar
, andNavLandingPage
)Adds Application Outlet support to
q2 tecton
InstallSteps in DbPlans can now be marked as required, meaning leaving it blank raise an error at install time.
UserPropertyData
DbObject adds a.get_by_group_with_id
method to get UserPropertyData Rows related by group
Fixed
Fixes a bug with
q2 setup_db
through local dev api websocket that wouldn’t install dev only stored procsUserPropertyDataElement
installstep will no longer stop an extension uninstall if there’s a foreign key constraint error in the DB due to a manual uninstall earlier
Changed
Clean up
q2 tecton
command prompts.
v2.216.1 - 2024-04-25
Fixed
Backoffice
type handlers (Central, Console) will now set base_hq_credentials url correctly when downgrading from a backoffice HQCredentials objectinstalling the SDK with sso extras enabled (
pip install q2-sdk[sso]
) will ensure compatible version of xmlsec (1.3.14)Failed custom entrypoints (and periodic jobs) will now print the full stack trace on failure
Added
Docs: iOS Rich Push Notification Testing
v2.216.0 - 2024-04-17
Added
Adds a new adapter type! Realtime Payments (beta). Tutorial docs updated appropriately
New CLI endpoints:
q2 db get_realtime_payment_vendors
q2 db get_realtime_payment_data_types
q2 db get_realtime_payment_request_types
q2 db add_realtime_payment_vendor
q2 db add_realtime_payment_data_type
q2 db remove_realtime_payment_vendor
q2 db remove_realtime_payment_data_type
q2 db remove_realtime_payment_request_type
Realtime payments options show up in
q2 install
,q2 uninstall
,q2 get_installed
q2 sandbox
command now has arealtime_payment
menuq2 sandbox
command now has aq2msg
menu for integration with Q2’s internal security signing packageAdds a dev_only
update
method toSystemPropertyData
DbObjectNew Backoffice HqApi endpoints:
GetAllGeneratedTransactionsForProcessing
GetDataSet
GetDataSetFiltered
GetGeneratedTransactionsForProcessingById
GetGeneratedTransactionsForProcessingByProcType
GetGeneratedTransactionsForProcessingByTranType
GetGeneratedTransactionsForProcessingByTranTypeWithMax
ProcessGeneratedTransactions
Fixed
Fixes for
add_policy_data_to_entity
method forData
node caseFixes for
PolicyData.set
method to better include the Data node
v2.215.1 - 2024-04-10
Changed
Native FluentD log shipping now compresses large messages
v2.215.0 - 2024-04-02
Added
q2 invalidate_hq_cache
adds SystemProperties and ProductDefaults to possible optionsAdds support for shipping logs directly to FluentD, bypassing the ltlbrd log sidecar layer (Disabled by default initially)
Adds an
omitted
section on the GroupMoverResponse returned from themove_many_to_group
methodAdds an
omit_pending
boolean to themove_many_to_group
parameters to facilitate moving as many customers as possible while still retaining a list for later debuggingAdds a
get_pending_by_customer
method toCustomer
DbObject to answer the question “Which customer have pending transactions?”Docs: Adds a new Authentication Token Adapter tutorial
Docs: Disparate SSO documentation has been relocated to live inside of one location
Fixed
In situations where
allow_local
is False but theVAULT_LOCAL_DIR
is defined,Q2Vault
will no longer try to use localDisclaimer
DbObject’s.create
will properly detect if a disclaimer already exists after being installed with newer Form PropertyID method
Changed
caliper_admin
script will no longer allow creation of repos directly in the home directory without a parent directoryq2 create_extension
now has an Enhanced SSO option as an official extension type. This isn’t new functionality, but is more clearly named now.
v2.214.0 - 2024-03-28
Added
DBPlan adds controls for setting the AllowUserEdit, AllowUserView, and AllowCustomerView booleans on install. Defaults to True as before.
Docs: Improved UUXPayload documentation. Tecton capability now available in UuxPayloads!
Docs: Q2’s IpRange is in the support section of the documentation
Fixed
DbPlan force runs will correctly set the UiLanguage on update
Fixes a bug where not all InstallParams were handled by all Installer types when called from an external API
v2.213.0 - 2024-03-22
Added
Creates the new
q2 sandbox
CLI entrypoint. Will be used for rapidly getting the sandbox stacks into a known state, enabling features, etc.Better type hinting on HqParams objects for logger inputs
SSOUser
object (self.online_user in SSOHandler types) now has aself.user_guid
propertyDocs: Improvements to the parameters and samples for the most common HQ endpoints section
Docs: Improvements to the
Customer.move_group
andCustomer.move_many_to_group
docstrings for clarity
Changed
q2 db enable_symantec_tokens_for_user
is nowq2 sandbox enable_auth_token
q2 db disable_symantec_tokens_for_user
is nowq2 sandbox disable_auth_token
Fixed
Fixes a bug in the local-dev-api where non-utf8 characters would be chopped off
Fixes a bug with linux saml signing since 2.210.0
v2.212.0 - 2024-03-14
Added
Adds a
get_by_id
method to theUserPropertyDataElement
DbObjectAdds a new adapter type! StatementImage. Tutorial docs updated appropriately
Docs: Updated requirements and caveats for custom SQL scripts
Fixed
q2 db get_session_http_headers
now correctly expects a session_id positional paramq2 login
now works from zerostate again (no username yet configured)
Changed
WedgeAddress.delete
method is no longer dev_only
v2.211.0 - 2024-03-11
Added
Adds a new
@cache
decorator inq2_sdk.core.cache
to handle caching a function levelAdds aws datacenter URLs to the
invalidate_hq_cache
methodAdds
AdminUserPropertyDataElement
InstallStep (for BackOffice based DbPlans)Adds
FeatureGroupUser
andFeatureGroup
toUserPropertyFeature
EnumDB update to
oauth
scripts to alias Expiry column to an appropriate nameDocs: Added
Secure Code Review
section toReview and Deployment
docs
Fixed
Fixed a bug with
q2 uninstall
andq2 removed_from_nav
that could find a missing UserProperyData row due to order of operationsEstatement
DbObject now correctly serializes ProcessedDate as aStringElement
(rather thanIntElement
)Fixes a bug in
calculate_url
method run when deciding what URL to install in the database to call back to the server. Better handles the case of multiple developers each having their own unique server name.Fixes bug with Tecton based form responses not handling
NotFound
errors appropriately
v2.210.0 - 2024-02-29
Added
Updates to lxml 5.1 on Mac and Windows, working around some new failures on the OSX M1 chip side with saml signing
HQ Docs page now has the most commononly used endpoints called out at the top
HostProductTypeCode is now returned in the call to
self.db.product.get
Recipient
DbObject adds aget_recipients
methodAdds
q2 db get_by_recipient_id
CLI entrypointAdds
q2 db get_recipients_by_customer
CLI entrypointClearer error messaging when an extension already exists in the database, clearing up the ambiguity of why
Fixed
Fixes a bug with
q2 setup_db
installing10-remove_user_property_data_element.sql
Enums are now able to be passed to
HqApi
calls when appropriateCurrencyExchangeRate
DbObject can now be serialized as a RepresentationRow Table objectq2 login
now works if you type in a capital letter in your email address
v2.209.1 - 2024-02-22
Fixed
\xa0
byte (non breaking space) is now replaced with a space in Tecton formsq2 developer services_status
is now callable from the CLI without a stack trace
v2.209.0 - 2024-02-15
Added
Adds
delete
method onHostAccountData
DbObject.Adds
delete_all_property_data
method onUserPropertyData
DbObject.
Fixed
Fixes bug with sqlalchemy when installing SDK.
Fixes bug with retrieving all the currency codes with
IsValidForIntWires
value True.self.flush is now supported through local-dev-api.
caliper_admin
now prompts (y/n) before installing frontend dependencies.
v2.208.1 - 2024-02-07
Fixed
Outgoing
q2_requests
calls now has accurate version ofq2-sdk
attached in theUser-Agent
header.Fixes timestamps on
saml_response
to UTC.Allows updating HADEs with empty string.
Fixes a bug with q2 check introduced with new linting dependency update.
v2.208.0 - 2024-01-31
Added
Adds multitenant support for adapter handlers.
Adds
DbConfig
support on Adapter handlers.q2 run_db_plan
now has an option to force update the uitext value.Adds
InitializeData
lifecycle hook which can be used to run any operation before an entrypoint starts.
Changed
Summary log lines are now displayed at new log level:
Summary
.
Fixed
Avoids loading Hq credentials for
q2 install_completion
command.Fixes invalidating AWS based HQ cache.
Updating an entrypoint now prompts appropriately.
v2.207.0 - 2024-01-23
Added
q2 changelog
will now generate a version.txt file compatible with the gitlab phoenix pipelineUserData
DbObject’sget_by_short_name_paginated
now accepts a list of short names to query many at onceUserData
DbObject now has aget_by_short_name_count
method
Fixed
q2 insight
CLI command now serializes columns with correct spacing like other DbObjectsself.db.host_account_data.get
no longer returns an empty dataset if data is indeed available
v2.206.0 - 2024-01-10
Added
Adds
get_customer_host_accounts
method onHostAccount
DbObject.
Fixed
Fixes bug on
EnrolledEntity
when checking for existing values.Fixes bug on
inspect
andstatus
endpoints to respectAccept
header.
v2.205.0 - 2024-01-02
Added
caliper_admin
now prompts for adding alias to activate virtual environment.
Fixed
Local dev now handles redirects.
v2.204.0 - 2023-12-20
Added
Adds zones to check duplicates on
EnrolledEntity
DbObject.
Fixed
Fixes timeout on message bus by adding longer local dev timeout.
DOB can now be retrieved from SSO handlers.
v2.203.0 - 2023-12-13
Added
GeneratedTransactionRights
policy_data objects now grabRuleData
from HQIntroduces
q2 developer
subcommand with initial support for logging in and getting servicesImproves logging on
Customer
DbObject’smove_many_to_group
method
Fixed
Fixes a stack trace on
HostAccountData
DbObject’sget
method if no data is returnedFixes an uninstall bug in OnlineInstaller when called from an outside service (such as Caliper Deployment Manager)
Form
now properly types UserPropertyData’s PropertyValue as a string duringget_form_groups
v2.202.1 - 2023-12-06
Fixed
Failures when calling sdk_AddThirdPartyData and sdk_UpdateThirdPartyData will now be logged with more detail
ShortName length in sdk_SetAuditActionAfterWedgeID stored procedure now matches the database
q2 db enable_symantec_tokens_for_user
now ensures EnableAuthToken column is set to 1 as wellHandles a recent bug on OSX that would segfault on saml signing in some cases
v2.202.0 - 2023-11-28
Added
Adds a new adapter type! CheckImage. Tutorial docs updated appropriately
self.online_user
now has a.user_guid
property for guaranteed uniqueness, useful in multitenant setupsq2 db get_audit_actions
now showsBeforeActionWedgeAddressID
andAfterActionWedgeAddressID
columnsNew HQ Endpoints:
Q2Api
AcceptIncomingRealTimePaymentTransaction
AddFundsTransferWithGtFlavor
CreatePostProcessingRecurringTransAndGtAlerts
CreateSubsidiary
CreateUserRole
DeleteSubsidiary
DeleteUserRole
EditSubsidiary
ExecuteCentralReport
FundsTransferFromUnassociatedAccountByUiWithPandIandAdditionalDataAndGtFlavor
FundsTransferFromUnassociatedAccountByUiWithPandIandAdditionalDataSkipTokenAndGtFlavor
FundsTransferFromUnassociatedExternalAccountByUiWithPandIandAdditionalDataAndGtFlavor
FundsTransferToUnassociatedAccountByUiWithPandIandAdditionalDataWithProcessDateAndGtFlavor
FundsTransferToUnassociatedExternalAccountByUiWithPandIandAdditionalDataAndGtFlavor
GetCentralReportParameters
GetCentralReportReportList
GetCentralReportStatus
GetProductDefaultsValue
GetProductDefaultsValues
GetSubsidiaries
SendNotificationsForNewSecureMessage
UpdateProcessingDates
WedgeOnlineBanking
AddFundsTransferWithGtFlavor
FundsTransferFromUnassociatedExternalAccountWithGtFlavor
FundsTransferToUnassociatedAccountWithGtFlavor
FundsTransferToUnassociatedExternalAccountWithGtFlavor
Fixed
Fixes an issue with
q2 check
command in version2.201.1.
in thecheck_no_dangerous_code
check
v2.201.1 - 2023-11-21
Fixed
caliper_admin
will now create a new git repo even when starting a branch new projectFixes bug with
AuditDetails
’spopulate_from_hq
method where customer_id, user_id, and user_logon_id may not be populatedQ2Vault will now properly replace sandbox stacks’ CHANGEME customer_key with a valid stack id
Cleaner error message when
q2 run
requiresq2 login
as a prerequisiteq2 run
will now properly monitor for changes to .nvmrc to trigger rebuildsq2 run
will now properly generate a.build_hash
file on frontend build againEstatement
DbObject now properly serializes OptIn property as a Boolean
v2.201.0 - 2023-11-13
Added
Adds a
USER_PROPERTY_DATA_ELEMENT
variable on form and sso extensions to set custom user_property_data_element name.
Fixed
Fixes circular import error when
Product
dbobject is imported.The groups associated to a Form are now correctly retrieved if
PropertyValue
is True on that related UserPropertyData table.Fixed a thread safety bug where
self.cache.get_async
would fail if multiple operations called it simultaneously.
v2.200.1 - 2023-11-08
Fixed
q2 install
: Base URL now is set to websocket url whenDEV_SOCKET_URL
is set.q2 run
:nvm install
command nows runs only if desired node version is not present
v2.200.0 - 2023-11-03
Added
Update documentation to reflect database connectivity locally!
local-dev-api
now uses database creds from q2developer.com when runningq2 setup_db
through the websocketAdds
pyproject.toml
file as another indicator of project root directory (for q2 run)caliper_admin now allows you to use system level pythons installed through other means (apt/brew)
PhoneNumber
DbObject now acceptsextension
parameter inadd_phone_number
Fixed
GetHostAccountByExternalNumber now handles empty strings as external number
q2 get_installed
no longer returns multiple lines for AuditActionHandlers if installed for more than one action type
v2.199.0 - 2023-10-27
Added
Local-Dev-API devsocket introduces extra security setting by passing
--hard-block
toq2 run
command. If enabled, only your originating IP address will be allowed to call back to your server.Introduces the
q2 create_lifecycle_scripts
entrypoint for convenient hooks on server startup/shutdownForm
andVendor
DbObjects add awith_groups
boolean to the.get
methodvault.get_certificate now works in a multitenant context
Adds support for
Q2_ZoneSystemPropertyData
table by adding aZoneContext
parameter toSystemPropertyData.get()
Adds the new
Zone
DbObject for querying theQ2_Zone
tableAdds the
q2 db get_zones
CLI commandAdds the
--zone
,--zone-by-group
, and--include-zones
flags to theq2 db get_system_property_data
CLI commandUserLogon.get_login_by_name()
now has aninclude_deleted
boolean flag which defaults toFalse
Fixed
Substantially speeds up
q2 install
,q2 uninstall
,q2 get_installed
, andq2 update_installed
commands by only querying for group associations when askedq2 remove_from_nav
now appropriately invalidates the HQ cache afterward, truly removing it from the frontendFixes a bug which wouldn’t allow updating WedgeAddressUrl in an installed extension if it wasn’t also present in the current codebase
UserLogon.get_login_by_name()
now finds Deleted users even if they don’t have /# at the end of the username
v2.198.0 - 2023-10-17
Security
innerHTML javascript is no longer generated on default Tecton boilerplate
Added
self.online_user
now prefers.as_demographic_info
to.demographic_info
for clarity of intentAuthToken
Handlers now have aself.incoming_request
with information about the logged in userPhoneNumber
DbObject now has an.update_customer_phones
methodEnrolledEntity
DbObject’s.grab_customer_data
now supports international addresses
Fixed
UserLogon
’sget_login_by_name
now properly handles deleted usersEmpty DbPlans no longer result in account lists not being sent from HQ
Fixes a bug with
Customer
DbObject’s.update_customer_address
that was not setting the City
Deprecated
self.online_user.demographic_info
is now deprecated and will warn if used
v2.197.1 - 2023-10-10
Fixed
Handles setting hq credentials during multitenant datacenter setup.
v2.197.0 - 2023-10-05
Added
Estatement DbObject adds
get_by_date_range
methodEstatement DbObject adds
add_or_update
methodThe
/inspect
endpoint now reports Docker Image TagForm DbObject is now more efficient at looking up UserPropertyData, improving speed
v2.196.0 - 2023-09-27
Added
Significant updates to the Mobile SDK docs pages
Customer
DbObject adds theupdate_customer_address
method
Fixed
UserDemographicData
DbObject’svalidate_addresses
takes in a country and province field if passed in (which previously just defaulted to “USA” for the country and an empty string for the province).q2 check
will catch another form of HQ_CREDENTIALS hardcoding in the settings file
v2.195.0 - 2023-09-22
Added
q2 invalidate_hq_cache
now also invalidatesUiTextBundles
q2 install
now also invalidates UiTextBundles from hq cacheUserLogon
DbObject’svalidate_password
method now accepts a ZoneData object, adding Zone support
Fixed
HQ_CREDENTIALS
will now always be present in the settings file when running tests (more pipeline failures)
v2.194.1 - 2023-09-20
Fixed
self.hq_credentials
no longer retuns None onq2 db
entrypoint.
v2.194.0 - 2023-09-19
Added
q2 add_dependency
now has--dev
flag to add dependency to requirements_dev.txt instead of requirements.txtq2 test
now has--no-frontend
and--no-backend
flags to limit testing.q2 create_extension
now generates conftest.py in tests directory.Adds plumbing to the SSO handler to handle query parameters for an upcoming UUX release
Fixed
SSO extensions now show stacktrace in logs when there is a failure.
Fixes bug with traceback not showing in logs.
q2 test
now correctly works with new HQ_CREDENTIALS location.
v2.193.2 - 2023-09-13
Fixed
Fixed circular import when looking up data through vault on startup
Changed
While the
HQ_CREDENTIALS
variable still exists in the settings file, it is now calculated inentrypoint_runner.py
v2.193.1 - 2023-09-11
Fixed
When running in debug level logging
q2_requests
would not upload files through ArdentFS (since 2.190.1)Better type hinting on ArdentFS file upload function
caliper_admin
script improvements for Q2 VPN networkQ2Cache
’sflush_all
function only attaches to memcache in DEBUG modeQ2Span
decorator now preserves decoration functions’ type hinting in editorsUpdate url logic to migrate to local dev now works with SSO extensions as well
Local dev can now accept POST requests without a body through the websocket (allow_nonstandard_methods)
v2.193.0 - 2023-09-07
Security
NOTE Q2Vault.read will now behave differently in multitenant mode. A bug previously made Stack level requests still search at the institution level in multitenant extensions. Now stack level requests will search at the stack. Moreover, if not enough context is passed in to know the stack, it will raise an exception. This will very clearly explain the issue in the logs if your vault data was stored in the wrong location, but may require updates to the vault data location in rare cases. Specifically multitenant extensions looking up vault data at the stack level.
Fixed
BackOfficeParamsObj
will now use the reported_hq_url from the incoming request unless specifically overriddenBackOfficeHqCredentials
now handleLoginPasswordStatusExpired
,AdminTokenRequired
, andAdminTwoTokensRequired
errors explicitly
Added
Adds sdk.error_type OpenTelemetry tag to capture exceptions raised by the SDK code at runtime
Changed
Calling
get_backoffice_credentials
on an already existingBackOfficeHqCredentials
object will now raise an exception to just use the object
v2.192.1 - 2023-08-31
Fixed
Fixes bug on
session_cache
when retrieving keys.Fixes timeout issue on local dev.
v2.192.0 - 2023-08-25
Added
HostAccount
DbObject now has a.update_account_rights
method
Fixed
FxRate Adapter Handlers no longer generate with a unimported datetime module
caliper_admin
switch_project option correctly finds the parent directoryConnecting to a local dev socket over ws instead of wss will no longer log https in the q2 run log
Address
DbObject now correctly type hints the CountryName as a StringElementSSO Install operation will correctly detect group membership regardless of PropertyID status
Changed
Vue template generated on Client Side Tecton Extensions now prefer the Composition API over the more limited Options API
Vue template no longer logs warnings on all Q2 tecton web components
v2.191.0 - 2023-08-17
Added
Periodic Entrypoints now respect log levels the same as extensions
Extremely long log lines will be split into multiple to avoid killing containers
Adds
LOG_LINE_LIMIT
property in settings to control the split thresholdPeriodic Jobs now respect log filters
q2 add_to_nav
now supports adding extensions with names overriden at install time (supporting multiple devs)
Fixed
Massive XML responses from the running server will no longer kill the request
q2 check
will no longer break on embedded strings that contain the substring ‘print’Calling
get_tecton_form
multiple times in the same request no longer generates multiple q2 tokens
v2.190.1 - 2023-08-14
Fixed
No longer get cpx dependency missing errors on newly generated CSR extensions
Fixes a bug where a single tenant service could have a circular import error on startup
Fixes form to group update on Central admin forms
q2_requests
calls will now log all kwargs, including filesForm updates through dbplan now correctly set AccountRightsBitFlag
Form.update
now passes along property_id
v2.190.0 - 2023-08-04
Added
New vault lookup tracking on builtin /admin route
Container version now will appear in Server side rendered tecton and SSO extension html in a comment
caliper_admin local dev helper script adds a mechanism to quickly pull example repos
caliper_admin local dev helper script adds a switch_project entry for quick flipping between environments
q2_sdk.core.vault.get_hq_creds
now has an option for opting out of deploy_env prefixing
Changed
Default insightAPI base url now uses a new load balanced friendly Insight service
q2 insight create_api_user
no longer requires a group_id parameterStored Procedure names will only be logged in
q2 run
rather than all entrypoints
v2.189.1 - 2023-07-31
Fixed
UuxUserProperty
now automatically invalidates cache on install.Ardent type extensions now support logging
fi_num
on multitenant extensions.Fixes bug while updating Ardent type extensions.
v2.189.0 - 2023-07-14
Added
q2 create_extension
client side rendered option will now prompt forIntegrate with Vue
CSR generation with
Integrate with Vue
will now generatevite.config.js
file.Groups can now be added during sso extension type installation.
Fixed
Adds default value for
FRIENDLY_NAME
on handler.Handles type casting of
expiry
argument onadd_oauth_token
cli endpoint.Handles historic repos with
q2_cores
in theCORE
variable in settings.py fileTecton version is now available for all extension types.
v2.188.0 - 2023-07-10
Added
Adds
get_by_user
andget_by_id
methods onOAuthLookup
DbObject.Adds
UserPropertyCategory
DbObject.Adds
create_user_property_category
andget_user_property_category
cli endpoints toUserPropertyCategory
DbObject.
Fixed
Form installation now checks if UserPropertyData related to that Form already exists, if it exists does an update instead.
v2.187.0 - 2023-07-06
Added
SSO VendorConfigs now match type correctly when inserting into the database
Fixed
Fixes bug when downloading multiple files.
FRIENDLY_NAME
now falls back to vendor name if it is not set on SSO extension.
v2.186.0 - 2023-06-27
Added
Adds
get_user_email
method onEnrolledEntity
DbObject.Adds
get_list_of_associated_logons
onUserLogon
DbObject.Adds
search_users
cli endpoint onUser
DbObject.Adds ability to create new extension type
Caliper API Custom Endpoint
.Adds
CaliperApiCustomEndpoints
DbObject.Adds
get_caliper_api_custom_endpoints
andget_caliper_api_custom_endpoint
cli endpoints onCaliperApiCustomEndpoints
DbObject.
Changed
Multiple extension types are now bundled together in create_extension entrypoint
Fixed
Fixes logging endpoint to reset log level after 5 minutes
q2 check
now fails on a missing core configuration file.Empty
GTValues
are now excluded when retrieving user data usingget_by_short_name_paginated
onUserData
Dbobject.caliper_admin
now prompts to provide a name for virtual environment.Fixes bug on setting
REPO_NAME
environment variable when repo_name is passed as a cli argument duringq2 run
.
v2.185.0 - 2023-06-20
Added
q2 inspect
now shows current HQ versionAdds new Ardent cookie values in preparation for AWS hosting support
Fixed
Fixes a bug where NoRootErrors would be thrown on
q2
command after initial repo creationFixes a bug where a missing .antilles directory could block certain CI/CD operations
Handles an edgecase where nav node shortname is empty in the database
Security
Updates python versions in caliper_admin tool
v2.184.0 - 2023-06-13
Added
Adds changes to include
fi_num
inside summary_line message.Adds
EStatement
DbObject.Adds
get_e_statement
cli endpoint toEStatement
DbObject.
Changed
Refactors
q2 cache
endpoint.
Fixed
Fixes return rows type on
GeneratedTransaction
DbObject.
v2.183.0 - 2023-06-05
Added
Adds
get_by_property_id
methodUserPropertyData
DbObject.Adds
get_host_account_data
cli endpoint toHostAccountData
DbObject.Adds
update
method toHostAccountData
DbObject.
Changed
q2 install
will now usePropertyID
column of Q2_Form table instead of Q2_FormToGroup when appropriate.
Fixed
Fixes bug to handle
LookupError
during fork mode.Fixes bug with experimental windows support while building frontend assets
v2.182.0 - 2023-05-23
Added
Adds new Backoffice extension type with both ServerSide and ClientSide variants (Q2 Console integration)
Adds new Q2 Mobile SDK docs pages at top level of the documentation
Adds
to_dict
method to PolicyData objectq2 check
can now be configured to run/skip individual checks. Docs on how to do so in the command itself
Fixed
TectonConfig DbObject handles the case where PropertyValue is null
Fixes bug with Logger not available on the /logging endpoint while Fork Mode is enabled
DbPlan 502 (OOM) errors will now log more details
v2.181.0 - 2023-05-18
Added
Adds
get_account_related_users
cli endpoint onUser
DbObject.Adds
get_account_related_users
andget_many
methods onUser
DbObject.Adds method
set
onPolicyData
DbObject.
v2.180.2 - 2023-05-12
Fixed
Fixes bug with wsl not returning results on
which ifconfig
.
Changed
REPLAY
logs no longer shows up whenQ2SDK_LOCAL_DEV
is set to True.
v2.180.1 - 2023-05-05
Fixed
Home directory alias
~
will now be expanded in local vault operationsq2 setup_db
now works again through the local dev websocket
Added
caliper_admin
will now offer to update the repo’s SDK version on clonecaliper_admin
will now detect and update your git configuration if missing
v2.180.0 - 2023-05-03
Added
Customer
DbObject adds asearch
methodCurrencyExchangeRate
DbObject adds acreate
methodUserData
DbObject adds aget_by_create_date_range
methodUserData
DbObject adds aget_by_short_name_paginated
methodNew CLI entrypoint
q2 db search_customers
Fixed
Very large files can now be transfered through the local dev api websocket connection
caliper_admin
script will no longer say memcached started successfully if it didn’t
v2.179.0 - 2023-04-27
Added
GeneratedTransactions
DbObject now has aget_transactions_by_date_range_with_gt_data
methodAdds
CurrencyExchangeRate
DbObject for systems with the data populated for use with WiresGroup Move functionality will now check policies on the source and destination groups to ensure compatibility before moving
Customer DbObject hints more data on get returns
Fixed
State is now replaced with Province in Wires if address is international
Fixes bug with EnrolledEntity that was not respecting the “skip_customer_check” flag
UUX payload can no longer set both async and defer in the InstallStep
Tecton CLI command will now properly show newly created configs in the context menus later in the same command session
v2.178.0 - 2023-04-21
Added
Adds
get_multi
method to UserData DbObjectAdds
q2 db get_user_data_all
CLI commandAdds
q2 db get_customer_data_all
CLI commandAdds
get_active_users_since
method to UserLogon DbObjectAdds
q2 db get_active_users_since
CLI command
Changed
UserPropertyDataElement.uninstall
will no longer blow up if not in dev, but will merely log the skip
Fixed
Fixes docker dev machine (Deprecation warning. Please prefer caliper_admin) for python3.11
v2.177.1 - 2023-04-19
Fixed
Tab completion no longer raises a stack trace on
Python3.11
Fixed bug on
UUXPayload
InstallSteps that could lead to javascript errors on the front endCacheMock class no longer breaks if
kwargs
isNone
.
v2.177.0 - 2023-04-17
Added
Upgrades to Python 3.11 base
Shared dev box users can upgrade using the
upgrade_python_version 3.11
commandcaliper_admin
script updated to reflect python3.11 additions
Changed
Upgrades opentelemetry dependency miminum 1.11.1 -> 1.17.0
Upgrades ruff minimum 0.0.224 -> 0.0.261
Removes pylint dependency
v2.176.0 - 2023-04-17
Added
Q2Api HQ calls will now use the active request’s HqCredentials if they are not passed in explicitly before falling back to settings.py values
/logging
endpoint now has an input to toggle response logging temporarily for debugging purposes
Fixed
Fixes a bug with
q2 cache
which could lead to local cache corruptionq2_sdk.core.cache.get_cache
will automatically detect if running in test mode
Changed
q2 test
calls to Q2Cache will fail if instantiated directly instead of through the get_cache wrapper
v2.175.1 - 2023-04-11
Fixed
Fixes circular import error in q2 test
v2.175.0 - 2023-04-07
Added
Log Replay now exists for 500 requests. Even at info level, detailed logging will be used for errors
Introduces
q2_sdk.core.contexts.get_current_request()
to get reference to the active request’s handler even in a function unrelated to it
Fixed
PolicyData models will no longer break if an unknown parameter comes from the database on instantiation
Q2Vault now uses the new ActiveRequest context to provide a logger even if one was not passed in
v2.174.0 - 2023-04-04
Added
Adds new Domestic Wire Handler to Adapter extension types
GeneratedTransactions DbObject adds
get_loan_transactions_by_date_range
method
v2.173.0 - 2023-03-26
Added
Adds
add_phone_number
method toPhoneNumber
DbObject.Adds
add_phone_number
cli endpoint.Adds
q2 cache
cli entrypoint which has options toget
,set
,delete
,--view
and--clear
cache.
Fixed
q2 uninstall
now handles whendb_plan
is not present.Fixes bug while retrieving
PasswordPolicy
data with group_id.Fixes bug ‘emails’ being referenced before assignment on
EnrolledEntity
DbObject.Fixes bug to allow serving assets when calling extension on mobile app.
v2.172.0 - 2023-03-22
Added
UserPropertyDataElement
DbObject adds the.update
method for changing descriptionsAdds
q2 db update_user_property_data_element
cli commandCustomer
DbObject addsget_many
method to retrieve multiple at onceCustomer
DbObject addsmove_many_to_group
method to efficiently call GroupMover for multiple customersAdds
PasswordPolicy
DbObject withget
functionalityUserLogon
DbObject adds a possiblegroup_id
to thegenerate_password
methodGeneratedTransactions
DbObject adds aget_by_create_date_range
methodLocal Dev Socket now uses Q2Developer.com for database associations, allowing even newly generated stacks to work with
q2 setup_db
Fixed
Fixes a bug with Local Dev Socket handling of non compressed values as compressed ones
Local Dev Socket now still connects even if no database credentials are returned for a Q2Developer.com user
v2.171.0 - 2023-03-09
Added
Adds the
q2 db enable_symantec_tokens_for_user
entrypointAdds the
q2 db disable_symantec_tokens_for_user
entrypoint
Fixed
Adapter type extensions now work through the local dev socket
Fixes a deprecation warning in the generated react code with new npm versions
Fixes deploy time error regarding tecton configuration by exposing tecton settings on /inspect
Running directly on windows (experimental) will no longer break when building frontend assets
v2.170.0 - 2023-03-01
Added
Customer DbObject can now supports setting Charge Accounts through the use of the charge_account parameter on
.update
Transactions DbObject now has
.get_ach_details
method for a list of transaction_idsEnrolledEntity DbObject now allows skipping existing customer check on enrollment as a flag
UserLogon DbObject’s
.get_logons_without_login_since
method now takes an optional status_filter to further limit the return
v2.169.0 - 2023-02-24
Added
Adds better support for UUXPayload installs in CDM.
Fixed
q2 check
now checks for print statements with additional spaces.SSO extensions now respect
FRIENDLY_NAME
variable during installation.
v2.168.1 - 2023-02-22
Fixed
Fixes datatypes in
SecAlertUserPref
DbObject while adding data.Limits size of data being added to that present in table while creating
UserData
.Fixes
install
step onUUXPayload
whenQ2_SECURITY_SECURITY_THIRD_PARTY_HTML_BLOCK
is null.Fixes handling of language if not present in database on
UiText
.Adds detection for Out of Memory (code 137) when running
db_plan
.
v2.168.0 - 2023-02-15
Fixed
Fixes bug on masking passwords that contain double quotes or apostrophes.
Adds support for non-USA countries when creating a user and customer.
Added
q2 check
now checks for print statements.Adds
from_json
method toDbPlan
class.
v2.167.3 - 2023-02-08
Fixed
q2_requests
now sends the500
status when there is no response.local_dev_api
proxy now allows multiple simultaneous requests.
v2.167.2 - 2023-01-30
Fixed
q2 bounce_stack
no longer enforces OUTBOUND_WHITELISTFixes a bug with empty dictionaries in wedge_address configs that would cause infinite nesting when updated through the cli
Bool, DateTime, and Decimal TableRow types now json serialize correctly in HqResponses
v2.167.1 - 2023-01-25
Deprecated
SDK versions below
1.66.2
are no longer available in shared devpi
Fixed
Overridden customer key is now preferred over HQ provided one while handling HQ requests.
q2 uninstall will now prioritize extensions present locally.
q2 update_installed now updates the DbConfigList to correct types.
v2.167.0 - 2023-01-24
Added
Greatly improves speed of
q2 lint
by switching to Ruff linter (https://pypi.org/project/ruff/)q2 check
will now verify there are no mutable default parameters in any functionsVSCode Q2SDK extension pack now contains Ruff extension
UserLogon DbObject now has a
.change_user_logonname
methodAdds
q2 db change_user_logon_name
CLI entrypointInsight DbList rows now have support for multiple customer keys in line with Insight API upgrades
Changed
pylint
has been replaced everywhere withruff
VSCode helper files have been updated to prefer Ruff
Deprecated
pylint
is no longer referenced internally within the SDK, though will still be available as a dependency for backwards compatibility
Fixed
Local dev socket will no longer block traffic if running behind a proxy
v2.166.0 - 2023-01-18
Added
Adds
get_logons_without_login_since
cli endpoint toUserLogon
DbObject.Adds
get_by_id
method onGroup
DbObject.Adds documentation on webhooks.
Fixed
Fixes bug with deleting phone numbers using
delete_phone_number
cli endpoint on PhoneNumber DbObject.validate_is_treasury
andvalidate_is_company
now work with deleted groups in the system.TableRow DbObject now treat booleans as booleans.
v2.165.0 - 2023-01-13
Added
Adds
MarketingPageName
DbObject.Adds
get_marketing_page_name
andadd_marketing_page_name
cli endpoints.caliper_admin
now hassync_system_certs
option for better certificate management using WSL.caliper_admin
now hasverify_connectivity
option to check for connectivity issues.UserPropertyDataElement
DbObject now hasget_user_property_data_elements_by_category
cli endpoint.Adds
get_by_category_name
method toUserPropertyDataElement
DbObject./inspect/<extension_name>
endpoint now showsmarketplace_features
.
Fixed
Fixes bug with setting HqCredentials properties from a passed in InsightCustomerKey.
hq_credentials.get_build_number
now uses WedgeOnlineBanking GetHqVersion if possibleFixes type hinting of
HostTranNumber
onGetAccountHistoryById
andGetAccountHistoryByIdWindowed
responsesFixes type hinting of
Cif
,CifExternal
andCifInternal
onGetAccounts
response.
v2.164.0 - 2023-01-10
Added
SSO Handlers will now lookup hq_credentials from vault automatically in multitenant setups if possible
Newly generated Tecton CSR extensions will generate a parcel static file copy plugin
Adds new
LOCAL_DEV
setting variable, which should resolve to True unless deployed in the datacenter
Fixed
Fixed a bug with self.hq_credentials populating from vault in multitenant HqHandler extensions
Better typehinting on EnrolledEntity.GetPhoneParams
Full log stacktraces will be logged on exception instead of cutting off the last line
v2.163.1 - 2023-01-09
Security
Increase min protobuf version to 3.20.2 for https://nvd.nist.gov/vuln/detail/CVE-2022-1941
Fixed
UiText cache will now invalidate after deploy
v2.163.0 - 2023-01-04
Added
HqCredentials
now havedb_schema_name
andenv_stack
propertiesself.hq_credentials
will automatically be populated withcustomer_key
,database_name
,db_schema_name
, andenv_stack
in HqHandler type extensionsIt is now possible to rate limit individual functions with the
q2_sdk.core.rate_limiter.rate_limit
decoratorRateLimiter
can now choose to use proxied or original IP address for blocking traffic (default to proxied)
Fixed
Better type hinting on date types in HqApi classes
v2.162.0 - 2022-12-27
Added
New
q2 delete_extension
CLI command to efficiently remove an extension from your codebbaseq2 run_db_plan
now takes a--custom_only
parameter to only run custom install steps
Fixed
dist directory will be property created for server side rendered extensions on
q2 create_extension
Changed
/dbplan
endpoint will run custom install steps only by default (overrideable by passing inrun_all_install_steps=true
as a query parameter
v2.161.0 - 2022-12-19
Added
Adds
EnrolledEntity
DbObject.Adds
create_customer
,create_user
,create_user_logon
,enroll_sso_identifier
,check_disclaimers
,build_user_demo_object
,get_customer_phones
,get_user_phones
,link_accounts_via_cif
,to_phone_type
,to_address_type
methods onEnrolledEntity
DbObjectAdds logging to
Q2AdapterRequestHandler
to debug request body and response.Adds documentation for mocking db_configs and mocking network calls in SDK.
Adds documentation guide and code snippets for testing extensions.
Fixed
Fixes bug on
OPTIONAL_WEDGE_ADDRESS_CONFIGS
not showing up in cli duringq2 install
andq2 update_installed
.Refactors code for setting span attributes for opentelemetry.
Fixes bug on
add
method ofLinkedAccount
Dbobject which now checks for datatype of parameters.
v2.160.0 - 2022-12-13
Added
AccessCode.create_targets
will now validate the type is Voice, Sms, or EmailAdds
PasswordHistory
DbObjectAdds
q2 db get_password_history
CLI entrypointNavNode
now returns CssClass column for Central Nav NodesAdds
WireDomestic
DbObjectAdds
q2 db get_wire_domestic
CLI entrypointAdds
WireInternational
DbObjectAdds
q2 db get_wire_international
CLI entrypoint
Removed
Removed cruft of
wedge_payload_stored_proc
in the dbPlan in favor of the newerpayload_stored_proc
Fixed
UUXPayload
will no longer only pop off the top script, but rather will loop through all available on DbPlan installHandles the edgecase of a configuration file having a
FEATURE
key set toNone
Older Tecton versions (<1.11.0) now correctly work with
q2-radio
elements
v2.159.0 - 2022-12-07
Added
DbPlan
attributes now have type hints.Adds support for checking unauthenticated CSR extensions.
SSO Tutorial now provides reference for using Third Party Data for storage
Adds documentation for Parameter Bit Flags under
sso_feature
guide.q2_requests
now has option forminimal_logging
to prevent large requests from filling up the logs.Q2BaseRequestHandler
now has attributesdk_session_identifier
which can be accesses usingself
.Adds documentation for
Hydra Product Type
.Adds
HydraProductCodes
hq model.
Fixed
SDK version now gets logged when there is
uncaught exception
.
v2.158.1 - 2022-12-05
Fixed
Fix q2 check complaining on validate_configurations call
v2.158.0 - 2022-12-02
Added
Changing
IS_UNAUTHENTICATED
value in a Tecton based handler will now make all the necessary corresponding changes on nextq2 run
New docs guide on Unauthenticated Extensions
Static Asset File handlers can now be overridden by setting
ASSET_HANDLER
equal to your own class in urls.pyq2 inspect
now has a--my-ip
toggle to print the machine’s address according to the SDKAdds
q2 db get_account_address_history
cli entrypointAdds
get_history
toAccountAddress
DbObject
Changed
q2 bounce_stack
now polls for the stack to become healthy again
Fixed
Fixes bug with
q2 update_installed
and Client Side Rendered extensions that would expectHQ_AUTH_TOKEN_TYPE
to be defined in the extensionFixes bug with
q2 db remove_date_feed
HostTransactionHistory
now works with BigInt as transaction_idFixes bug with
AccessCode
DbObject methods that wasn’t passing hq_credentials alongArdent File Upload capabilities now work for local dev (by increasing the default expiry time)
v2.157.0 - 2022-11-29
Added
Adds
FundsTransfer
DbObject.Adds
get_funds_transfer
,get_funds_transfer_by_customer_id
,get_funds_transfer_by_user_id
,get_funds_transfer_by_account_id
onFundsTransfer
dbobject.Adds documentation for
GetAccountHistoryByIdWindowed
andTransactions
.Adds
Q2SDK_ARDENTFS_URL
insidecaliper_admin
.Unauthenticated extensions(
IS_UNAUTHENTICATED = True
) are now inserted into DataFeed table andHqAuthToken
is ignored.
Changed
Q2 Caas is no longer supported and
q2_caas
module is removed.
Fixed
Fixes default values for
HQ_AUTH_TOKEN_TYPE
andAUTH_TOKEN_LIFE_IN_MINUTES
.Fixes type of
Q2REQUESTS_DEFAULT_CONNECT_TIMEOUT
andQ2REQUESTS_DEFAULT_TIMEOUT
to float.
v2.156.1 - 2022-11-23
Fixed
Adds appropriate error message that could cause websocket connection error.
Fixes ‘sdk_GetHqAuthTokenTypes’ StoredProcedure name on backend.
Fixes bug on command to get count of files on git repo that is checked during
q2 check
v2.156.0 - 2022-11-22
Added
Adds
HqAuthTokenType
DbObjectAdds
q2 db get_hq_auth_token_type
CLI commandHQ_AUTH_TOKEN_TYPE
andAUTH_TOKEN_LIFE_IN_MINUTES
are now configurable on the handlerAdds
audit_http_headers
property to self.db helperQ2SamlResponse
now has issuer and status_code propertiesq2 check
now ensures the repo has something checked into gitHqRequestHandlers and derivatives now gets online_user’s DateOfBirth, UserRole, IsCompany, IsTreasury, and IsCommercial from the database if not present in the incoming object
q2 tecton
now has support for Dynamic Content (docs page updated)
Fixed
Pip versions will no longer show up as possibilities in
q2 upgrade
Fixes a bug with caching country_list in the UserDemographicData DbObject when Memcached connection goes down
q2 uninstall
against SSO types no longer fails if UiText delete is unsuccessful
Changed
Unhandled tracebacks are now sent through the default extension logger
v2.155.0 - 2022-11-16
Added
Adds support to
Q2AuditActionRequestHandler
(accessible throughq2 create_extension
->Audit Action Extension
)Adds new hq model
AuditDetails
.Adds new cli entrypoint
update_audit_after_action
onAuditAction
DbObject.Adds method
update_after_action_wa
onAuditAction
DbObject.Adds new cli entrypoint
get_wedge_addresses_tied_to_audits
onWedgeAddress
DbObject.Adds method
get_wa_tied_to_audit_actions
onWedgeAddress
DbObject.Adds advanced DBConfig types for dynamic default values.
Fixed
Fixes reset password bug on
UserLogon
DbObject by adding missing HQ credentials toChangeEndUserPassword
params.Includes stack trace in error logs to track if HQ credentials are missing on
Q2ApiParamsObj
.Fixes on caliper_admin to include spaces or special characters in certificate path on WSL(
Add Cert
option)
v2.154.0 - 2022-11-07
Added
Adds
AuditHTTPHeaders
Dbobject.Adds
get_session_http_headers
cli endpoint onAuditHTTPHeaders
Dbobject.Adds dev requirements to gitlab pipeline install.
Fixed
Fixes bug while updating wedge address url and wedge address is empty.
Fixes mirror job in gitlab pipeline to use Git Clone with unlimited commit depth
Changed
Gitlab pipeline now dynamically builds python version
v2.153.1 - 2022-11-02
Fixed
AuditRecord
get_by_id
now send a BigInt to match the database schemaFixes a bug where hardcoding
FORK_REQUESTS
in the settings file but not setting the environment variable would cause the server to not start
Changed
AuditRecord’s
get_audit_session
now returns a list rather than a single record
Added
svg
files are now monitored by default and will cause the dev server to bounceNew video tutorial in local_dev_ide setup
New video tutorial in caliper_admin setup
q2 create_extension
with React frontend now provides better IDE hinting helpers
v2.153.0 - 2022-10-28
Added
Adds
AdminUser
DbObject.Adds
update_info
method toAdminUser
DbObject.Adds
set_password_status_as_accepted
method on UserLogon DbObject.Adds
get_users_created_on
cli endpoint onUser
DbObject.Adds
search_by_create_date
onUser
DbObject.
Fixed
Fixes bug on
AdminUserLogon
dbobject while retrieving invalid logins.
Changed
Refactored backend of
UserLogon
DbObject.Most dependencies are now locked to major versions only to facilitate easier compatibility with other libraries.
v2.152.1 - 2022-10-26
Fixed
q2_requests will no longer blow up if request headers are explicitly set to None
HqCredentials
will also clean off ‘PROD’ and ‘STAGE’ prefixes in customer_keys
v2.152.0 - 2022-10-24
Added
Messages pushed to the bus will now be compressed if larger than 4096 bytes
Adds UuxUserProperty DbObject with
create
anddelete
methodsAdds
q2 db create_uux_user_property
andq2 db delete_uux_user_property
CLI commands
Fixed
Periodic Entrypoints will now use the appropriate log formatter
Bugfix for
Customer.move_group
which wasn’t properly passing along the input parameter (since 2.147.0)
v2.151.1 - 2022-10-21
Fixed
Fixes a bug with new OpenTelemetry support where a newer protobuf library would cause a warning message on startup
OpenTelemetry traceparents are now passed along even when
q2_request
calls do not specify headersq2 check
no longer tries to validate non-python files for blocking codePasswordPolicy.populate_from_hq
method will no longer blow up if no password_policies are set
Added
User
DbObject now has a helper.delete
method to call the appropriate Hq endpointQ2Vault.get_certificate
method will now log if a certificate is in the cached period
v2.151.0 - 2022-10-19
Added
Adds initial support for opentelemetry tracing metrics. Enabled by default in the datacenter
Fixed
Fixes bug on premature exit of
q2_on_finish
function in fork mode.
v2.150.0 - 2022-10-18
Added
Adds
delete_accesscode_target
method onAccessCode
dbobject
Fixed
Fixes bug on
AdminUserLogon
dbobject by cleaning theLastLogon
andLastFailed
timestamps.contains_markup
parameter is now case-insensitive while creating UiText object.Updates
sdk_AddAdapterAddress
,sdk_AddAuthToken
,sdk_AddCentralForm
,sdk_AddDisclaimer
sql to confirm with new database structure
v2.149.0 - 2022-10-14
Added
Adds
ExternalTransaction
DbObjectAdds
get
,get_by_customer_id
,get_by_user_id
,get_by_host_account_id
methods to the ExternalTransaction DbObjectAdds cli support for the ExternalTransaction methods
q2 ceate_online_user
now automatically links accounts from default (retail0) user to the newly created userUserDemographicData
now has avalidate_addresses
methodPhone
model now has afull_phone_number
fieldUserDemographicData
now has avalidate_phones
method
Fixed
UserLogon.reset_password
no longer immediately forces a reset the first time you log inFixes a bug with add_form.sql to be compatible with new SQL versions deployed in the datacenter
PolicyData
DbObject’s.get
will no longer blow up if there was an error with the HQ call but rahter return empty and log itGetUiText has been changed to GetUIText to match the casing of the stored proc everywhere
UiText calls that define
contains_markup
will now pass it along appropriately to the stored proceduremessage_bus.push
in a live environment now returns the response rather than a coroutine to be awaitedq2_request
calls that pass anoauth_client
now appropriately retry if unauthenticated responses come back
v2.148.0 - 2022-10-06
Added
Adds
AdminUserLogon
andPasswordStatus
dbobjectAdds
disable_admin_user
,enable_admin_user
,get_admin_user_logon
cli entrypoints toAdminUserLogon
dbobject.Adds
get_password_status
cli entrypoint onPasswordStatus
dbobjectAdds check for powershell admin and an additional pip env var
PIP_TRUSTED_HOST
incaliper_admin
script to improve the internal Q2 vpn setup experience
Fixed
UserPropertyData
dbobject now acceptsproduct_id
andproduct_type_id
insideget
method.Fixes type hint for
Q2SamlResponse.sign
Fixes
caliper_admin
script to make powershell work on some wonky systems.Fixes the return shape of response for message_bus.push during dev.
HqCredentials.customer_key
now trims off unnecessary DEPLOY_ENV prefix
Changed
Updates
vault.get_certificate
to set different type hintsUpdates
apikey
for the APILayer currency data api in the documentation
v2.147.0 - 2022-09-29
Added
message_bus.push
now accepts akrayt_url
param for overriding the default krayt_url configured with the service
Fixed
HqResponse objects can now be built by extremely large compressed HQ responses
q2 tecton
command now correctly adds contextIdParams into embeddable tabsFixes a state where a tecton config is inserted into the DB empty and then was subsequently unupdateable
A few more fixes regarding devOnly marked stored procs in online and sso installers
Fixes a bug where if HQ credentials were repulled from Vault it would change the Cache prefix for the rest of the run
Changed
Refactored backend of
GeneratedTransactions
,Disclaimer
, andCustomer
dbObjects for code clarity
v2.146.0 - 2022-09-20
Added
CurrencyCode
dbobject now has cli implementation viaget_currency_codes
Adds
self.get_user_dob
toOnlineUser
Fixed
q2_requests
now handles non standard HTTP status codes in the response.message_bus.push
is no longer blocking in local dev.The
get
method ofUserDemographicData
dbobject can now retrieve response with non-emptydate_of_birth
The
get
method ofUserDemographicData
dbobject now return response with Phone that has non-emptyLocalNumber
.The
get
method ofUserDemographicData
dbobject now return response with Address that has non-emptyStreetAddress1
.
v2.145.2 - 2022-09-16
Fixed
q2 db update_vendor
now treats –purge-account-list as a toggle to enable the booleanClearer error mesage if trying to call a DevOnly stored proc from
q2 remove_from_nav
Recursive nav node editing now works again (space will be made for a new extension in the nav menu)
If a url is overridden manually during
q2 install
, it will no longer have an extra / in the databaseMULTITENANT=True in the settings file no longer prohibits deploying it in single tenant mode
Changed
Customer.delete
now returns a DeleteCustomerResponse instead of the less detailed HqResponse
v2.145.1 - 2022-09-13
Fixed
Fixed datatype of
created_after
parameter withinsearch_by_create_date
method of Customer dbobjectFixed
tax_id
argument length from 12 to 100 onget
method of Customer dbobjectFixed circular import bug which occurred while getting updated wedge address url.
v2.145.0 - 2022-09-07
Added
VendorConfig.get
will now overlay zoned VendorConfig information if appropriateq2 update_installed
will now prompt for quickly updating the base url of all related forms if it has changed
v2.144.0 - 2022-09-01
Added
Every extension now has a summary log line printed out at the end of the request with appropriate information for that extension type
Summary Logging will show the customer_key in multitenant extensions
Summary Logging is overrideable by redefining the
override_summary_log
property in each extensionCustomer DbObject now has a
search_by_create_date
methodAdds
q2 db get_customers_created_after
CLI entrypointNew HQ Endpoints:
Q2Api
ChangeAdminGroup
ChangeUserRoleId
CheckProcessGeneratedTransactionsAsyncStatus
DeleteAdminUser
GetAccountDetailsTransformByIdUnauth
GetAccountHistoryTransformByIdUnauth
GetAccountListByInternalCifAndCustomerId
GetAccountListTransformUnauth
GetCustomerAllEntitlementList
GetCustomerUserEntitlement
GetCustomerUserRoleEntitlement
GetHostTransactionImageByUserLogon
GetRawAccountDetailsTransformDataByIdUnauth
GetRawAccountHistoryTransformDataByIdUnauth
GetRawAccountListTransformDataUnauth
GetStatementCycleListWithStartAndEndDates
GetStatementImageWithReturnAsAttachmentParameter
ProcessAllOutstandingTransactionsAsynchronous
ProcessAllOutstandingTransactionsByTransactionIdAsynchronous
ProcessAllOutstandingTransactionsByTransactionTypeStringAsynchronous
ProcessAllOutstandingTransactionsByTransactionTypeStringWithMaxAsynchronous
ProcessAllOutstandingTransactionsByTransactionTypeStringWithMaxWithCutoffAsynchronous
ProcessAllOutstandingTransactionsWithMaxAsynchronous
ProcessZoneAllOutstandingTransactionsByTransactionIdAsynchronous
ProcessZoneOutstandingTransactionsByTransactionTypeStringWithMaxAsynchronous
ProcessZoneOutstandingTransactionsByTransactionTypeStringWithMaxWithCutoffAsynchronous
WedgeOnlineBanking
AddFundsTransferWithFlavor
ChangeUserRoleId
DecideUserRoleIdChange
GetAccounts
GetStatementCycleListWithStartAndEndDates
GetStatementImageWithReturnAsAttachmentParameter
Security
Updates lxml version from 4.7.1 to 4.9.1
Fixed
Fixes a bug with UUXPayload DbPlan install_step where the integrity string would not have a ; in the generated json
v2.143.0 - 2022-08-29
Added
HqCredentials
object now has a.database_name
propertyHqCredentials
will automatically populate thedatabase_name
property if set in Vaultmessage_bus.push
now allows extra headers to be passed through to KraytD
Fixed
Fixes a bug with
UiText.create
treating contains_markup as an integer instead of a boolean
v2.142.0 - 2022-08-24
Added
UiText
DbObject get operations now return ContainsMarkup booleanHqCredentials
object now has acustomer_key
propertyAdds
PolicyData
DbObject for interacting with policies surrounding an entity (User/Customer/Group/UserRole/Company)
Changed
Enabling of CanSubmitForms UserProperty now happens on
form_to_group
updates rather than install to catch more cases
Fixed
Generated DbPlan no longer has a typo in commented out
gt_data_elements
Fixes bug with
HostTransactionHistoryData.create
to handle missing Sequence columns in the database
v2.141.2 - 2022-08-19
Fixed
If your local name of an extension does not match what’s in the database,
q2 update_installed
will prompt you to chooseForm DbObject’s RepresentationRow now correctly sets
AccountRightsBitFlag
as an integer
v2.141.1 - 2022-08-04
Fixed
Directly calling a tecton handler (outside of uux) will no longer strip existing post body fields
self.vault.read_raw
no longer breaks if passingNone
for prefixFixes import bug with
q2_sdk.models.adapters
v2.141.0 - 2022-08-03
Added
Adds
q2_sdk.models.saml_response.Q2SamlResponse
class for use with SSO integrations
Changed
SSO Tutorial updated to use new Q2SamlResponse class
Fixed
Fixes functional bugs with FxRate adapter to correctly work in real Q2 environments
caliper_admin
setup_q2_vpn target now works even if Powershell does not have ExecutionPolicy set correctly
v2.140.0 - 2022-07-27
Added
q2 run
now has a-n name
flag to override the repo name when using the websocket local dev connectionPossible to override the websocket connection with
Q2SDK_REPO_NAME
as wellAdds the
TransactionStatus
DbObject to get data from the Q2_GeneratedTransactionStatus Db Tablecaliper_admin
script now supports internal Q2 dev stackscaliper_admin
script now sets up system keychain support for use with python on OSX
Fixed
ZSH autocompletion script will now enable autocompletion in your shell if it is not already
caliper_admin
will no longer print out gross errors after successfully updatingFixes bug with
10-get_user_property_data_by_group.sql
file to support multiple installations
v2.139.0 - 2022-07-21
Added
HostTransactionHistoryData
DbObject now has a.create
,.update
, and.delete
methodcaliper_admin
script will now offer to remember and autoenable created virtualenvironment on shell start
Fixed
Fixes bug with
q2 tecton
command that could raise an exception on multiple promptsImprovements to the
group mover
functionality to handle corporate moves
Changed
caliper_admin
script’s ‘Clone Git Repo’ changed to the more generic ‘Start New Project’
v2.138.0 - 2022-07-18
Added
CustomerData DbObject
Adds
.get_by_value
methodAdds
.get_by_short_name
methodAdds
q2 db get_customer_data_by_value
CLI entrypointAdds
q2 db get_customer_data_by_short_name
CLI entrypoint
UserPropertyData DbObject
Adds
get_by_group
methodAdds
q2 db get_user_property_data_by_group
CLI entrypoint
Fixed
User
DbObject’s TableRow was mistakenly matchingCreationDate
instead ofCreateDate
as the column name
v2.137.1 - 2022-07-14
Fixed
FORK_MODE
will no longer hold a PID open if an https endpoint is called over httpq2 create_extension
will no longer allow you to create an extension with the same name as a python standard library builtin moduleTrying to call a dev only stored proc in another environment will now be more explicit with the failure reason
v2.137.0 - 2022-07-06
Added
q2 tecton
will now update the database if necessary after changes occur to an extensionAdds
HostAccount
DbObjectAdds
q2 db get_host_account_by_id
CLI commandq2 check
will now enforce marketplace enabled repos setting MULTITENANT=True in settingsDocuments
caliper_admin
script in setup docscaliper_admin
script now supports memcached on Maccaliper_admin
script will now offer to auto navigate to and source your recently cloned virtualenvironment during Clone Repo step
Changed
Total rewrite of the setup docs. Removed internal/external in favor of local/remote dev
Q2SDK_DEV_SOCKET
for local dev has been moved to its own box. Downtime on the shared dev machine will no longer affect local dev! To update, simply run the latestcaliper_admin
script
v2.136.2 - 2022-06-29
Fixed
Fix a bug with
ProductType.get
that would try to call Q2API instead of WedgeOnlineBanking even with an auth token
v2.136.1 - 2022-06-27
Fixed
ProductType DbObject now correctly works with a multitenant deploy
Fixes a bug where
q2 -h
was printing out entrypoints in reverse alphabetical order
v2.136.0 - 2022-06-21
Added
caliper_admin script now detects zsh as active shell if appropriate
caliper_admin will now check for updates once/24 hours automatically
q2_requests
calls will now log the status code of the responseTecton based forms now have support for
q2-radio-group
ShadowDom elementsAdds a
HostTransactionHistory
,HostTransactionHistoryData
, andHostTransactionHistoryDataElement
DbObjectAdds
q2 db get_host_transaction_history_data_element
CLI commandAdds
q2 db get_host_transaction_history_data
CLI command
Changed
Group Mover will now simply move the group of a customer rather than recreate a clone of it with a different id
Fixed
Fixed NavNode update/create conflicting with multiple nav_menus
Fixes a bug with
q2 changelog
that would write a bad string into the settings file
v2.135.2 - 2022-06-14
Fixed
AuditRecord.get
no longer accepts and then throws away session_idcaliper_admin
script createsnomad_secrets_dir
andlocal_vault_directory
on initial setup nowupgrade_python_version
scripts in Shared Dev now accurately updategitlab.ci
python version
Added
caliper_admin
now has asetup_q2_vpn
function for internal Q2 dev in Windows WSL environments
Removed
Removes
GetDbConnectionString
HQ endpoint. It did not work using the SDK and was a landmine.
v2.135.1 - 2022-06-09
Fixed
Fix bug with AdapterHandler uninstall that wouldn’t work from multitenant context
Fix bug with
q2 check
that would not allow proper SSO ParameterBitFlag combinationscaliper_admin
will now default to installing the latest SDK version if not specified, not the earliest
v2.135.0 - 2022-06-06
Added
Adds
AdapterRequestType
DbObjectAdds
International Wire
Adapter type forq2 create_extension -> Adapter
Adds
ThirdPartyDataShared
DbObject for adding ThirdPartyData without a group_id
Fixed
Updates recommended q2msg version to 1.10.2
v2.134.1 - 2022-06-01
Fixed
sdk_AddAdapterAddress
stored procedure now allows addresses up to 1024 characters in length (up from 64)Fixes a bug where custom health checks would renew their cached timer after each call, never expiring
HostAccountData
HostAccountData
DbObject now correctly casts ids as integers in the CLI entrypointFixes a syntax error in the
caliper_admin
scriptcaliper_admin
and docker dev machine both install librdkafka to support new q2msg versionclone_from_gitlab
now correctly detects installed python binary
v2.134.0 - 2022-05-25
Added
Upgrades to Python 3.10 base
Shared dev box users can upgrade using the
upgrade_to_python3.10
scriptAdds
upgrade_python_version
command to shared dev machine to autodetect desired python version and rebuild virtual environmentDocker dev machine and
caliper_admin
script both updated to reflect python3.10 additions
Changed
Upgrades pytest 6.2.4 -> 7.1.1
Upgrades pytest-asyncio 0.12.0 -> 0.18.3
Upgrades yapf 0.30.0 -> 0.32.0
v2.133.1 - 2022-05-23
Fixed
Improves performance in
HqResponse.json()
method
Added
q2 changelog
can how concatenate multiple change files to create a single changelogq2 check
will now warn if any UiTextElements in the DbPlan have descriptions longer than the Db max length
v2.133.0 - 2022-05-16
Added
q2 lint
now has a--changed
flag to only check python files changed since last git commitcaliper_admin
script now has a Rebuild Virtual Environment targetMultitenant flag in settings file will now force passing hq_credentials in hq_api calls
Multitenant flag in settings is now visible through the
/inspect
endpointAdds initial support for
AuthTokenRequestHandler
(accessible viaq2 create_extension
)Adds initial support for
FxRateRequestHandler
(accessible viaq2 create_extension
)Adds
AdapterAddress
DbObjectAdds
AdapterInterface
DbObjectq2 install
now works with the new Adapter type handlers
Fixed
Better type hinting on
self.account_list
(Will hintSSOAccount
for SSOHandler andAccount
for Online based handlers)
Removed
Removes
SendSecureMessage2
HQ endpoint. It did not work using the SDK and was a landmine.
v2.132.0 - 2022-05-06
Added
Add ability for
changelog
entrypoint to create change files in a changelog directoryDBObjects can now be accessed through
self.db.*
. Example: self.db.group.get()Added new DBObject
HostTransactionHistory
with cli parserget_host_transaction_history
Fixed
The
get()
method ofObjectGroupData
DBObject is explicit about duplicate column namesFixed logs to not filter Audit Ids
Fixed bug in
switch_project
on shared-dev to work with customers having multiple projects.Fixed bug on
get_sso_user_logon
cli parser ofSsoUserLogon
DbObject to correctly show the argument namesso_indentifier
.
v2.131.0 - 2022-05-03
Added
Added a new variable
BALANCE_HADE_SYSTEM_PROPERTY
which has ability to setBalanceHADESystemPropertyID
in SSO extensions.Added options
Start Memcached
andInstall Frontend Dependencies
to caliper_admin(local dev) script.
Fixed
clone_from_gitlab
now doesn’t show error related toMarkupSafe
not installed.
Changed
Updated docs for VSCode setup for external developers.
v2.130.0 - 2022-04-26
Added
There is now a
MULTITENANT
variable in settings. Setting this to true will more closely emulate a multi-tenant deployment into the datacenter. More details on the guides/configuration page.LinkedAccount
DbObject now has anadd_by_primary_cif
method
Fixed
Fix a bug that would show required field even if q2-input was optional
caliper_admin will now set up yarn by default
v2.129.0 - 2022-04-22
Added
RequestHandlers all now have a
FRONTEND_OVERRIDE_EXTENSION
variable. Allows serving frontend assets for another extension rather than the default (same extension)
Fixed
q2 db add_access_code_targets
will now serialize the results appropriately_overrides
customer_key will now be propertly respected in SSO extensions when stored in the VendorConfigs
v2.128.0 - 2022-04-19
Added
Tecton extensions how have an authorize_transaction_with_mfa route for use with Tecton’s
authorizeTransactionWithMfa
action
Fixed
q2 db add_third_party_data now allows up to 4000 character long dataValues to match the db schema
q2 db update_third_party_data now allows up to 4000 character long dataValues to match the db schema
HqResponse better handles huge xml responses from HQ
q2_sdk.hq.api_helpers phone nodes now respect all country codes rather than just using USA regardless
Fix null check in hq.models.account.hade_dict to better work with lxml linting rules
v2.127.0 - 2022-04-14
Added
Added
Q2REQUESTS_DEFAULT_TIMEOUT
andQ2REQUESTS_DEFAULT_CONNECT_TIMEOUT
variables in Configuration guide.
Changed
The
create
andupdate
method of NavNode Dbobject now acceptroute_parameters
up to 2048 characters.
v2.126.2 - 2022-04-11
Fixed
Fixes a bug with
Disclaimer.accept_for_user_id
that would break if a disclaimer in the DB does not have any GroupIDs
v2.126.1 - 2022-04-08
Fixed
Fixed bug with missing
customerKey
as part of cache key(whencustomerKey
is available) in Ardent extensions
v2.126.0 - 2022-04-05
Added
Disclaimer
DbObject now has anaccept_for_user_id
method to facilitate accepting disclaimers more easily from the SDKDisclaimer
DbObject now has a RepresentationRow forret_table_obj=True
Disclaimer.get
now returns more fieldsq2_sdk.tools.test.models.CacheMock
now has araise_remove_error
parameter, useful for some testing scenariosAuthToken
DbObject’s.delete
method now works in the datacenterAdds
q2 vault add_hq_creds
for working with mocked hq creds locally
Changed
Disclaimer documentation pages updated with new method
ArdentFS File Upload docs pages updated with a From Python example
UUXPayload install step no longer busts cache if it will not do anything useful
Updated the Architecture picture in the documentation
Fixed
q2 remove_from_nav
(andq2 uninstall
) will no longer fail if UserPropertyData was not installed for the extensionself.vault.get_hq_creds
now works with local mock vault if an override_customer_key is passed in with the payload
v2.125.1 - 2022-03-30
Fixed
Cleans up nvm output in the event of a missing .nvmrc
q2 lint
command now works against frontend testing even with a missing .nvmrcq2 db update_wedge_address
now allows urls up to 256 characters in length (matching the database column)
v2.125.0 - 2022-03-23
Changed
Updated the OnlineBanking tutorial to use
user_data
property.Changed documentation in Ardent tutorial to reflect the changes on using
self.get_dc_cookie()
to generate cookie strings.
Fixed
Fixed bug on
q2 lint
andq2 test
cli endpoints that allows sourcing nvm.sh on shared-dev.Allows hardcoded
USE_INCOMING_HQ_URL
in settings during q2 check.Allows to dynamically use WedgeOnlineBanking or Q2API version of GetHqVersion in SsoUserLogon.
Added
Added
Rebuild Python Version
option in caliper_admin script which provides the download url to build python on mac.
v2.124.0 - 2022-03-17
Fixed
Fixed
AttributeError
bug while creating ClientSide extensions using react framework.Fixed widgets docs code sample on q2 frontend vs q2 tecton.
dashboard.account_group
is nowdashboard.account-group
dashboard.account_card
is nowdashboard.account-card
Fixed bug with VaultInfo InstallStep that prevented it from installing if
basename_transforms
was blankFixed bug with ArdentFS not able to download files.
Fixed bug on Account model when list of Q2_AccountDataElement nodes is empty.
Added
VaultInfo InstallStep can now write to local vault for local dev.
Changed
Changed the password length while generating user logon password to PasswordPolicy object’s min_length attribute.
v2.123.1 - 2022-03-14
Changed
Ardent extensions now use
customerKey
as part of a cache key if it’s available.
v2.123.0 - 2022-03-10
Added
The cli entrypoint
q2 frontend
is changed toq2 tecton
.q2 tecton
now has much more functionality and an improved user interface.
Deprecated
@ajax
decorator is no longer needed for Tecton Client Side extensions since it has @ajax behaviour by default.
Fixed
Added fix to greatly improve the speed of account_list operations when working with large account list.
v2.122.0 - 2022-03-04
Added
UserPropertyData.delete
is now available in the datacenter, not just dev only
Changed
q2 db remove_user_property_data_element
will now remove all child UserPropertData rows (dev only)strict
parameter onUserPropertyData.delete
is now deprecated. Strict mode is always true. To remove multiple, create a loop (or useq2 db remove_user_property_data_element
in dev)
Fixed
Switching RENDER_IN_NEW_WINDOW’s value in an SSOHandler, then running
q2 update_installed
on that extension will accurately flip it in the databaseSlightly improves performance on Account model when a property is accessed many times per request
Removed non-backwards compatible column
auditDay
from the sdk_GetAuditSessionRecords stored procedure
v2.121.0 - 2022-03-02
Added
Updated widget documentation for new url testing structure.
Added method
get_audit_session
to AuditRecord DbObjectAdds
q2 db get_audit_session
CLI entrypointAdded note that OLB is hosted on cloud for the external setup documentation.
Fixed
Cleaned up redundant sql error messages
Fixes bug on CentralHandler to handle non-hq request.
Bug fix on defining
renderApp
function inside react templates.
v2.120.2 - 2022-02-25
Fixed
q2 install
now sets vendor_address correctly when using the local dev websocket
Added
User
DbObject now returns UserRoleID at the CLI (if--extended
set)
v2.120.1 - 2022-02-24
Fixed
AccountRightsBitFlag will now stay in sync between Q2_Form and Q2_WedgeAddress tables on
q2 update_installed
Added
VsCode extensions will now be persisted between restarts of the docker dev machine
v2.120.0 - 2022-02-18
Fixed
Fixes bug with session_cache. Now self.session_cache.get() pulls the values correctly and updated the docs
Changed
Adds schema to all SDK stored procedures.
Bumped jinja2 version to 3.0.3
v2.119.3 - 2022-02-09
Fixed
Frontend files will now build with changes to common image file types
Changed
Docker Dev machine’s generate_vs_code files will now skip overwriting user settings by default
v2.119.2 - 2022-02-07
Added
Adds
ALLOW_TRAFFIC_TO_DEFAULT_EXTENSIONS
configuration to allow non Q2 traffic to a default extension
Fixed
Fixed SSO tutorial to link to right guide for using vault for secret storage
Matches more certificate header styles in vault.get_certificate
v2.119.1 - 2022-02-02
Fixed
q2 test
now works with frontend extensions that rely on a non-system level node using nvmHides extraneous logs on /healthcheck endpoint related to vault health
v2.119.0 - 2022-02-01
Added
LinkedAccount DbObject now has a
.get_customer_accounts
methodAdds
q2 db get_customer_linked_accounts
CLI entrypointAdds prerelease version type in
q2 changelog
CLI entrypointAdds
AddressType
DbObject withget
methodAdds
q2 db get_address_type
CLI entrypoint
Fixed
q2 lint
now works with frontend testing repos that rely on a non-system level node using nvmself.vault.read
will now work in multitenant deploys by defaulting to the Institution level StorageLevel unless a Stack is providedFixes a bug with
UserLogon
DbObject’sdelete
method that would not match on the given login_name
v2.118.1 - 2022-01-25
Fixed
Fixes scenario where traffic blocked from non-q2 IPs would continue executing after returning 403
Fixes issue with DockerDevMachine where nvm path in the container was wrong
Audit Records can now be created with AuditRecord DbObject even in multitenant deployments
Security
Any non-q2 IP address in the network hop stack will now count toward is_q2_traffic==True when
self.allow_non_q2_traffic
is set to False
Changed
Serverside extensions will better detect when their frontend resources have changed, resulting in less yarn build operations
v2.118.0 - 2022-01-21
Changed
Yarn package manager is now expected to be installed at the system level for building frontend packages
Added
Docker dev machine now has yarn installed at the system level
Fixed
Updates pythonPath variable to defaultInterpreterPath in vsCode file generation scripts (in line with vsCode updates)
v2.117.0 - 2022-01-14
Added
Added
add_transaction_note
method toGeneratedTransactions
dbobject.Added
session_cache
to Q2HqRequestHandler which allows to prepend session_id to the key passed. Added notes to Performance and Security guide.Add native support for start_dev_machine to vscode
Fixed
Fixed bug with
q2 add_to_nav
which now no longer shows the uninstalled extensions.Fix CLI autocompletion in VSCode
Changed
Auto update start_dev_machine scripts.
v2.116.0 - 2022-01-07
Added
Added docker-compose support to dev machine.
v2.115.0 - 2022-01-06
Added
First class React support!
q2 create_extension
client side rendered option will now prompt for React/VanillaJSq2 run
andq2 create_extension
will now subprocess NVM for managing node versionCSR generation will also generate an .nvmrc defaulted to v16
New package.json template for CSR will use parcel 2
q2 run
will now install yarn and all dependencies even if you are not the dev to create the extensionImproved HMR support for CSR extensions
Docker dev machine and caliper_admin local script both updated to reflect NVM addition
self.logger
will now highlight warnings YELLOW and errors RED in streaming logsPre 4.4 extensions now have the ability to hide modals’ close buttons
Fixed
Fix an issue with SSO handlers that would break if
AccountInformations
was not present on the inbound requestCentral forms now correctly use the short_name instead of the more transient form_name for installation
v2.114.1 - 2021-12-30
Fixed
Log lines with a builtin endpoint embedded inside will no longer be filtered unnecessarily
q2 generate_hq_api
will no longer error on newer HQ endpoints
v2.114.0 - 2021-12-22
Added
Added
DisplayNameUiTextElementShortName
on Form DbObjectAdded
PropertyName
to vendor DbObjectAdds DC Cookie documentation to Ardent Tutorial
Security
Upgraded lxml version from 4.6.3 to 4.7.1 for security purposes
v2.113.0 - 2021-12-15
Added
Adds
AuthToken.create
method to DbObjectAdds
q2 db get_auth_token
,q2 db create_auth_token
, andq2 db remove_auth_token
to the CLI
Fixed
CLI will no longer respond with ‘success’ to
q2 db *
calls that return 0 results/admin
endpoint will now accurately terminate the process even in a load balanced scenarioFixes a bug that would reset self.logger’s logging level to INFO after calling
self.cache
if originally configured with an environment variable (since 2.100.0)
Changed
Behind the scenes added changes to improve Vendor DbObject’s
.update
api
v2.112.1 - 2021-12-08
Fixed
SSOExtension phone numbers without extensions will no longer show xNone at the end of the phone string
Changed
Running
q2 run
with the websocket connection will now log the Service URL destination on startup
v2.112.0 - 2021-12-03
Added
Introduces the caliper_admin script for setting up a development environment on your local machine
Extenal setup docs page now has updated information on developing locally using the caliper_admin script
Fixed
HostAccount
DbObject’ssearch_by_external_number
now matches HQ’s logic for using eitherAccountNumberExternal
orAccountNumberInternal
depending on how the DB is configured
Changed
Improved
invalidate_hq_cache
’s logic for finding load balanced services
v2.111.1 - 2021-11-29
Fixed
Q2_VendorAddress
Address column now accepts 256 characters instead of 100 to more closely match the DB schemaUserDemographicData
DbObject will now use Province over State for the Address if configured in the DB
v2.111.0 - 2021-11-23
Changed
Changed
build_add_customer_xml
andbuild_add_user_xml
in api_helpers to allow more than Home address types
Fixed
Fixes broken link bug with .ssh in docker dev
Added
Added docs for cloning git repository inside docker dev
Added docs for Multi-Factor/2-Factor Authentication and Enhanced SSO implementation in Online Banking.
v2.110.0 - 2021-11-17
Changed
Added additional columns to ‘GeneratedTransactions’ db object.
Changed env variable CSR_USER to q2api in non-docker local dev setup documentation.
Behind the scenes added changes to improve NavNode.update’s api.
Changes to update description column in Q2_VendorConfigDataElements using
q2 db update_vendor_configs
Added
Adds
update
method toCustomer
andUser
DbObjectAdds
q2 db update_customer
CLI commandAdds
q2 db update_user
CLI commandAdds
q2 db update_vendor_configs
,q2 db delete_vendor_configs
,q2 db add_vendor_configs
CLI commandsAdded file redirection to Linux Quick Reference docs.
Fixed
Fixes a bug in Configuration docs in Online Banking Tutorial.
v2.109.1 - 2021-11-10
Fixed
Fixes a bug which would not submit
<q2-textarea>
elements in Tecton SSR formsFixes bug with
VendorConfig.update
that never awaited the coroutineFixes secure_message guide page example code
v2.109.0 - 2021-11-02
Added
q2 update_installed
now works with Central extensionsUiText
DbObject can now specify UiSelection information on all methods
Fixed
Fix more misspellings on
DateAlert
DbObject calls
v2.108.0 - 2021-10-28
Added
Adds a Database Object step to the Online Banking tutorial
Adds Caliper SDK side support for upcoming Tecton
SetUserConfig
,GetUserConfig
, andRemoveUserConfig
methodsAdds
update
method toWedgeAddress
DbObjectAdds
q2 db update_wedge_address
CLI commandq2 update_installed
now works with Ardent extensions
Fixed
Docker Dev machine now works with host paths that contain spaces
Docker Dev machine now correctly lowercases stack name entries
q2 setup_db
will no longer prompt for sql package installation if dev socket is being usedFixes an issue with Alert model that did not work with overridden notification_type
Fixes bug in SSO tutorial documentation page
Fix a bug with the SSOHandler multitenant implementation that would overwrite the HQCredentials with blank from the inherited in some conditions
Fixes misspelling in
WedgeAddressRow
response object from TimeInMilliSeconds to TimeoutInMilliSeconds
v2.107.1 - 2021-10-22
Changed
q2 add_to_nav
will present the current repo’s extensions at the top of the listq2 update_installed
for SSO extensions now returns clearer output regarding changed VendorConfigs
Fixed
Fix
q2 upgrade -p tecton
bug that stripped out leading / in file pathsNow possible to update an SSO from a codebase that’s not the original one
q2 update_installed
for SSO extensions no longer errors if TableRows are returned instead of lxml objects
v2.107.0 - 2021-10-18
Added
Adds
q2 db update_vendor
CLI commandsetup_db now works on docker_dev
Fixed
q2 update_installed now updates parameter bit flags on an SSO extension
Tecton now correctly defaults to Main module under navigateTo calls.
v2.106.2 - 2021-10-14
Fixed
Fix bug with q2_request calls that pass session instances
v2.106.1 - 2021-10-14
Fixed
Fixes an implementation bug in the latest HQAuthToken with SSO update
Tecton’s navigateTo function will now work with SSO extension types
Fixes a bug with
@mfa_validation_required
decorator when used from CSR extensions
Security
Upgrades to lxml 4.6.3 (should increase build speed, too)
v2.106.0 - 2021-10-12
Added
Creates
q2_sdk.models.oauth_client.OAuthClient
class. When passed to a q2_requests call, can allow easy/customized oauth token interactionq2 install
will now set addHqAuthTokenType
andHqAuthTokenLifeInMinutes
for SSO extensionsSSO handlers will now respect the current online session in self.hq_credentials (assuming it was configured on
q2 install
)
Fixed
Comments in the settings file can no longer trip the
q2 check
hardcoded HQ credentials testImprovements for CLI completion combined with custom entrypoints
Generated gitignore file now specifies
__MACOSX
instead of the overly generic__*
Fixes a bug with
q2 run_sql
that could run custom SQL multiple times in rare conditions with multiple extensions contained in the same fileFORK_REQUESTS
mode will no longer kill the server when entering backoff pressure modeImproves performance of
FORK_REQUESTS
mode by switching to child signal handling instead of subprocessedps
calls
v2.105.0 - 2021-10-05
Added
Adds
RecurringTransaction
DbObject withget
methodAdds
q2 db get_recurring_transaction
CLI commandFORK_REQUESTS
mode will now report child pids that exit prematurely in the logs (likely due to Out of Memory issues). Useful for more appropriately sizing containers.
Fixed
Fixes edgecases with build frontend subprocess in some linux variants
v2.104.0 - 2021-10-01
Added
GeneratedTransactions
DbObject now has aget_by_recurring_id
methodAdds
q2 db get_generated_transactions_by_recurring_id
cli entrypointFORK_REQUESTS
mode will now log when memory is getting low in the container (controlled by theQ2SDK_FORK_WARNING_MB
env var)FORK_REQUESTS
mode will now stop accepting requests when memory is low enough to kill the container (controlled by theQ2SDK_FORK_BACKOFF_MB
env var)It is now possible to pass
print
kwargs throughq2_sdk.core.cli.textui.puts
Changed
UDP Callback port is now randomized in
FORK_REQUESTS
mode (rather than defaulting to 1983)
Fixed
Improvements to
q2 install_completion
to allow for thread safety in some rare cases (ex. parallel build pipelines)Custom entrypoints will now always be preferred to builtins with the same name
Passed in insight tokens are now respected even if already cached
Fix a bug with dev only stored proc sdk_DeleteHostAccountMetaData that would raise an exception when running with
q2 setup_db
v2.103.1 - 2021-09-28
Fixed
Navigation Tree choice in add_to_nav is now passed properly al the way through the workflow
UUXPayload InstallStep now properly interprets
wedge_address_js_variables
if presentFixes backwards compatible
close
parameter inTectonModal
to no longer treatFalse
asNone
Added
GeneratedTransactions
DbObject now has aget_by_id
method
v2.103.0 - 2021-09-23
Added
SecAlertUserPref
DbObject now returns CountryCodePhoneNumber, CountryCodeSmsNumber, AreaCodePhoneNumber, and AreaCodeSmsNumberIntroduces Q2SDK_SERVICE_URL_PREFIX environment variable to give more fine grained control over deployment time url callbacks for UUXPayload DbPlan steps
Fixed
requirements.txt entries are now correctly parsed by various entrypoints even if they have comments in them
Improves GroupAccessMapping sql script to better match under more conditions
Docker dev machine now starts memcached correctly in pycharm debugger calls
CLI commands now no longer throw BrokenPipeErrors when piped to head/tail and a few other edgecase binaries
v2.102.0 - 2021-09-15
Added
Ardent handlers will now have access to Q2Api calls even in multitenant deployments
self.db_config (or self.wedge_address_configs) are now accessible from Ardent handlers even without calling
self.get_wedge_address_configs()
firstNew documentation on Deep Linking to UUX pages from Mobile applications
q2 setup_db
andq2 run_sql
will now work on Debian 11 (including the docker dev machine for internal Q2 stacks) by equally supporting pymssql and pyodbcAdds
AuthToken
DbObject with.get
methodAdds
q2 db get_auth_token
CLI entrypoint
Changed
CLI commands will now automatically print output into clean columns
Fixed
Fixed a bug with CLI completion generation when built in commands were overridden
Docker dev machine will no longer stall after asking for IDE helper generation
Fixes an issue with SDK_OauthLookup sql script that wouldn’t run against certain databases
v2.101.0 - 2021-09-13
Added
Adds
move_group
method toCustomer
DbObjectAdds
Delete
method toCustomer
DbObjectAdds
q2 db move_customer_group
CLI commandAdds
q2 db remove_customer
CLI commandq2 install
will now invalidate the DataFeed list when appropriate after installing Ardent extensions
Fixed
textui.puts
now casts non-string inputs as strings when loggingHardcoding
FORK_REQUESTS
in the settings file will no longer break the CLI for nonq2 run
commandsFixes an issue with
q2 test
andq2 lint
when passing extra parameters and running from outside a virtual environment
v2.100.0 - 2021-09-08
Added
SecAlertUserPref
DbObject now also returnsFirstName
,LastName
,EmailAddress
,PhoneNumber
,SmsNumber
, andNickname
Fixed
Q2CacheClient
now actually respects the logger you pass in rather than creating its ownFixes a bug with
q2 create_extension
and a few other entrypoints that did not accurately detectconfiguration/settings.py
in the root of the repo
v2.99.0 - 2021-09-02
Added
Adds
SecAlertUserPref
DbObject to interact with theQ2_SecAlertUserPref
tableAdds the
get_sec_alert_user_pref
,add_sec_alert_user_pref
,update_sec_alert_user_pref
, andremove_sec_alert_user_pref
CLI entrypointsAdds the
GeneratedTransactions
DbObject to interact with theQ2_GeneratedTransactions
tableAdds the
get_generated_transactions
CLI entrypointDocker Dev Machine now supports Vault secrets and certificate storage while testing
Fixed
If
NOMAD_SECRETS_DIR
is undefined (only relevant in local development) will no longer prevent interacting with Vault stored certificates
v2.98.0 - 2021-08-27
Added
HQ’s
AddRecipient
xml_payload can now be generated with theapi_helpers.build_add_recipient_xml
functionHQ’s
AddRecipientAccount
xml_payload can now be generated with theapi_helpers.build_add_recipient_account_xml
functionAdds
q2 db remove_user_data
to the CLISSOUser
class (self.online_user
in the context of an SSO extension) now has thehome_country
andwork_country
attributesIt is now possible to dev ON the sdk repo inside a docker container! Check out the README at the root of the repo for details
Fixed
Fixes a bug with
q2 update_installed
when combined with SSO extensions that provided VendorConfigs
v2.97.0 - 2021-08-20
Added
Insight Features from DbPlan now show up as their own key on
/inspect
endpointq2 test
now accepts extra shell commands with spaces in themAdds method (GET/POST/PUT/etc) to endpoint request metrics endpoint
Adds a ‘caliper_current_requests’ metric per endpoint to track in flight requests
It is now possible to pass ‘dec’ operator through prometheus metrics, even in fork requests mode.
Changed
q2 create_extension
for Tecton Client Side Rendered extensions will no longer automatically put--hrm-port 1982
into the package.json dev target. You can still manually apply this.NOTE The docker docs that referenced start_dev_machine_test now reference start_dev_machine.
Removed
Old internal Q2 only docker machine was removed in favor of the new Docker Dev Machine referenced in the docs
Fixed
Updated React Client Side Render docs to reflect the current state of the product
v2.96.0 - 2021-08-13
Added
Docker dev machine now has a
start_memcached
command for local devDocker dev machine now has an
add_cert
command for cases where a company proxy captures outbound trafficOnlineUser
object now has anis_company
flag that can be manually set to work around core mapper limitationsNew HQ Endpoints:
Q2Api
AddOpenBankingUser
AddOpenBankingUserLogon
DeleteCustomer
GetOpenBankingProviders
WedgeOnlineBanking
AddRecurringDomesticWireByCount
AddRecurringDomesticWireByEndDate
AddRecurringDomesticWireNoEnd
AddRecurringInternationalWireByCount
AddRecurringInternationalWireByEndDate
AddRecurringInternationalWireNoEnd
GetRecurringWireDomestic
GetRecurringWireInternational
GetWireDomestic
GetWireInternational
Fixed
Core calls will now work with SSO extensions against Zoned databases
Fixes a bug in the docker dev machine for Q2 devs on Windows that would calculate the host IP incorrectly
Changed
Shared dev box will now prefer Pylance over Jedi for intellisense when running
generate_vscode_files
v2.95.0 - 2021-08-06
Added
TableRow objects (enabled with
RETURN_TABLE_OBJECTS_FROM_DB
setting) now implement.pyval
and.text
for more backwards compatibility with raw xml elementsmessage_bus.push()
method now supports overriding the topic with thetopic
parameterIs it now possible to pass a content_type to Ardent File’s
upload
andupload_from_file
methods (as well as at the CLI)It is now possible to pass
render_in_browser
to Ardent File’sget_public_download_url
method (as well as at the CLI). If True, browser will attempt to render the file inline rather than auto downloadMany more DbObjects now support returning TableRows instead of xml (via
RETURN_TABLE_OBJECTS_FROM_DB
):Hours
Language
Message
OFXTransactionType
ObjectGroup
PhoneNumber
ProductType
Product
PushNotificationTargets
Recipient
Regex
ReverseLookup
SsoUserLogon
Subsidiary
SystemPropertyData
Template
UiConfigPropertyData
UiSelectionRow
UserData
UserLogon
UserPropertyData
UserRole
User
VendorAddress
WedgeAddress
Fixed
Fixes a bug with
self.get_ui_text
that would raise an exception ifRETURN_TABLE_OBJECTS_FROM_DB
was TrueAll CLI commands will respect
--logging-level
(-l
) value as case insensitive (debug == DEBUG)User provided SQL in
install/sql_server
can now contain multiple commands withGO
in between them, rather than splitting it into multiple scripts
v2.94.2 - 2021-08-04
Fixed
Fixes a bug with
q2 add_to_nav
introduced in 2.94.0Fixes a bug with
q2 --version
introduced in 2.94.0Fixes a bug with
q2 run_db_plan
that didn’t handle empty input files
Added
Docker dev machine will now run
container-prebuild-hook-dev.sh
on build if presentGroup
DbObject now works withRETURN_TABLE_OBJECTS_FROM_DB
config setting
Changed
/dbplan
endpoint now relies on the already passed VAULT_KEY to determine the HQ Creds
v2.94.1 - 2021-08-03
Fixed
Non-Tecton Q2Forms now work with the new UUX key ‘msgHasMarkup’. No change is necessary, this is just for backwards compatibility
Fixed a bug where
q2 setup_db --print
would not work with a 4.5 databaseHandles a condition with the docker dev image where pre existing ports in the config file would cause a subsequent build to fail
Docker Dev image will now be more verbose about where it’s spending its time on initial build
Added
Docker Dev image now supports filling out a CustDockerArgs in the .antilles/docker/config file, which will be passed to the container on startup
v2.94.0 - 2021-08-02
Added
q2 update_installed
now works with SSO extensionsInsight.ValidateToken.validate()
method now contains a .raw_response
Changed
q2 update_installed_form
is nowq2 update_installed
(with improved functionality)
Fixed
Fixes a bug where SSOs with duplicate names could be installed but not added to nav
New docker dev machine will now properly establish websocket with the browser and simulate hot module reloading in online banking
Fixes a bug with the
sdk_RemoveEmail
stored procedure that was specifying a bad column name in newer databases
v2.93.0 - 2021-07-26
Added
OAuthLookup
DbObject now has anenable
anddisable
functionAdds the
DateAlert
DbObject with.get
,.create
, and.update
methods
Fixed
SSOHandler
based extensions will now work correctly withself.core
calls
Changed
q2 upgrade
will now stream the output from the subprocessedpip
command rather than just pause and eventually finish
v2.92.0 - 2021-07-22
Added
Adds
HostAccountMetaData
DbObjectAdds
create
method toAddress
DbObject
Changed
The Setup Guide in the docs has been completely rewritten to include our new Docker based solution. The old guide is still available as a fallback.
v2.91.1 - 2021-07-14
Fixed
Truly massive HQResponses will now work
q2 test
against settings file items will now set test_mode correctly
v2.91.0 - 2021-07-08
Added
q2 add_to_nav
now gracefully handles multiple nav trees, prompting for input if appropriateAddress, AdminUserPropertyData, AdminUserPropertyDataElement, AuditAction, AuditRecord, Country, CustomerData, DataFeed, Email, Form, HostAccount, HostAccountData, HostAccountDataElement, HostTranCode, HostTranCodeGrou, MessageRecientGroup, MessageTemplate, NavNode, Navigation, and OAuthLookup DbObjects now have RepresentationRows for compatibility with
RETURN_TABLE_OBJECTS_FROM_DB
config settingIntroduces a
q2 login
command to generate a jwt using q2developer.com credsAdds marketplace_features to db_plan to allow stored_procedures to be installed as part of form installation
Fixed
Better handles edgecase of
q2 create_extension
running after settings.py file has been manually deletedVery large HQ API responses are now automatically decompressed on the fly
VendorConfig, VendorAddress, and ThirdPartyDataElement
InstallSteps
will now run after their corresponding deendencies onq2 run_db_plan
Changed
q2 lint
will now show warnings in yellow rather than red
v2.90.0 - 2021-07-01
Added
Adds new DbObject
AccountAddress
with corresponding CLI commandsEmail
DbObject now has Update and Delete functionalityMessageBus now supports Protobuf declarations from
q2msg
library
Fixed
q2 remove_from_nav
now works with SSO extensions
Changed
q2 db add_user_property_data_element
’s optional parametersallow_user_edit
,allow_user_view
, andallow_cust_view
are now toggles rather than keyword params
v2.89.1 - 2021-06-29
Fixed
Fixes a bug where
q2 check
would not work for non-tuples in INSTALLED_EXTENSIONSNavNode.update
will no longer wipe unset parameters back to NULL, but rather leave them as they are in the databaseFixes
q2 db update_vendor_address
, which now takes a vendor_name as the first positional parameter (instead of vendor_address_id)
v2.89.0 - 2021-06-28
Added
__*
now generated into .gitignore files/inspect
endpoint will now display the extension’sFRIENDLY_NAME
Fixed
Assets urls will now correctly interpret nested extensions (. in the path)
Fixes a bug where InstallSteps with default value of ‘0’ would be interpretted as True
Failed calls to
/dbplan
will now return 502 status instead of 200
v2.88.0 - 2021-06-17
Added
CentralHandler will now use backoffice session passed in for Backoffice API calls
SSO extensions will now log the HQ session ID at the beginning of the incoming HQ call
Fixed
q2 check
now works correctly with aliased extensions defined as tuples inINSTALLED_EXTENSIONS
v2.87.0 - 2021-06-04
Added
Ardent File Upload now supports ttl for uploaded files (default 1 day)
Fixed
UUXPayload install steps will no longer double quote strings
v2.86.1 - 2021-06-01
Fixed
Use SERVICE_NAME as cache key if present
Added
Add capability to update vendorID on nav nodes
v2.86.0 - 2021-05-25
Added
Upgrades to Python 3.9 base
Shared dev box users can upgrade using the
upgrade_to_python3.9
scriptUnsupported python versions can now be used anyway by setting the
Q2SDK_NO_VERSION_CHECK
environment variable to 1
Changed
Upgrades from pylint 2.4.4 -> 2.8.2
v2.85.0 - 2021-05-24
Added
Adds
GtCaseDecisionReason
DbObject for working with theQ2_GTCaseDecisionReason
tableAdds the
get_suspect
method to theTransactions
DbObjectAdds the
q2 db remove_customer_data
CLI targetAdds
DecideSuspectGt
backoffice HqApi module. For usage instructions, check out the newBackOffice Calls
documentation page.Adds
search_by_external_number
toHostAccount
DbObject
Fixed
Fixes clone_from_gitlab script on the shared dev box, which would sometimes not find the newly cloned repo automatically
Fixes a bug with message_bus module that prevented it from discovering the appropriate topic name in Production
Changed
q2 lint
will no longer ignore theconfiguration
directory
v2.84.2 - 2021-05-21
Fixed
Fixes a bug with calling the
OnlineInstaller.install
method if the extension is not in the current repo
v2.84.1 - 2021-05-19
Fixed
Fixes a bug where leaving property_id blank in
NavNode.update
would null out an existing PropertyID in the database. Now user must explicitly pass None if desired.
v2.84.0 - 2021-05-18
Added
Adds
q2 insight get_feature_version
Adds
q2 insight get_version
Guides and Tutorials will now appear above API references in web documentation
Fixed
HQ will now only be invalidated on
q2 run
in DEBUG modeNewly generated tecton extensions will now pin parcel to 1.12.3 to avoid bug with latest parcel
Online documentation will now omit prompt text from copy button (leading $)
Changed
q2 setup_db
will now autoinstall missing packages instead of just warning you to do so
v2.83.0 - 2021-05-10
Added
q2_sdk.core.prometheus.get_metric()
now takes akwargs
argument which will pass through to underlying metric types (such as Histogram)Online Banking Form Tutorial now contains Tecton element/capability training sections
Introduces a new Q2 Cores Tutorial
Fixed
q2 frontend
will now work correctly with extensions that live elsewhere than the root of the repoq2 update_installed_extension
will now work correctly with extensions that live elsewhere than the root of the repoCustom Health Checks will now work correctly with extensions that live elsewhere than the root of the repo
v2.82.1 - 2021-05-06
Fixed
q2 setup_db
will now properly install sql scripts into 4.5+ Databasesq2 create_coreflow
now works appropriately when building off of a custom_core stored somewhere other than the root of the repoFixes a bug with
q2 run_db_plan
if the extension was not stored at the root of the repo
v2.82.0 - 2021-05-04
Added
It is now possible to view and manipulate
PropertyID
on theNavNode
DbObject
Fixed
Fixes a bug with
Form
DbObject’sget_by_name
method that would sometimes return multiple rows. Manifested onq2 add_to_nav
under certain conditions as a stacktraceUserPropertyDataElement
’sget_one
method will now properly raise a DatabaseDataError when there is not a match
Changed
Trying to wrap an SSOHandler route in
@ajax
will now raise a more targettedNotExecutableError
rather than inevitably failing later in the call
v2.81.0 - 2021-04-28
Added
It is now possible to use the CLI to install unauthenticated Tecton extensions
SSO:
Adds the
Exception
SSOResponse ResponseTypeQ2SSOResponse
objects now have anend_user_error_message
property which will update the user facing error message in the even of a failed responseQ2SSOResponse
objects now have auser_level_config_list
parameter, which allows setting data in the database as part of the return response to HQ
MessageBus
extensions can now subscribe to more than onemessage_type
AuditRecord
DbObject now has aget_by_id
methodAdds the
LOG_RESPONSE_IN_DEBUG
settings variable for great log verbosity at dev time
v2.80.0 - 2021-04-23
Added
UserData.get_by_short_name
now returns all datafields instead of justUserID
UUXPayload
DbPlan InstallStep now handles passing variables through JS with thewedge_address_js_variables
property
Fixed
Handles the condition on
q2 install
that theUserPropertyData
row for the group selection is true instead of TrueFixes a bug with
FORK_REQUESTS
mode where calls to non_handled endpoints (/notreal
) would cause pids to be created and never terminated
v2.79.0 - 2021-04-15
Added
Q2Vault.get_certificate()
will now work withVAULT_SCOPED_READ
functionality. If set to True, will read from new location, falling back to old oneq2 vault add
now writes to more appropriate location ifVAULT_SCOPED_READ
is set to Trueq2 vault add_cert
now writes to more appropriate location ifVAULT_SCOPED_READ
is set to TrueAdds
COMPRESS_RESPONSE
settings variable (and correspondingQ2SDK_COMPRESS_RESPONSE
environment variable). If True, will respond to requests that set the Accept-Encoding:gzip header with a gzip compressed response
v2.78.0 - 2021-04-09
Added
Adds
OAuthLookup
DbObject withget
,get_by_value
,add_update
, anddelete
methodsEmail
DbObject now has acreate
methodIt is now possible to set a Phone as a SAC target without simultaneously being a SAC_SMS target
q2 ardent file_upload
cli command now takes a –timeout parameterq2 ardent file_download
cli command now takes a –timeout parameter
Fixed
VAULT_SCOPED_READ
was not being respected when set in the settings file. This is now correctedFixed an issue with IsCustomerCreated storage in the database that would break if database data shape was corrupted
v2.77.2 - 2021-04-06
Fixed
HQ Api endpoints with list inputs now correctly serialize
Improves performance of
q2 invalidate_hq_cache
commandMessageBus handlers now correctly generate a url endpoint for all Q2 datacenter message topics on
q2 create_extension
SSO type was missing from the
q2 create_extension
CLI flagsq2_sdk.core.vault
’s.read()
method now treats keyword parameters as keyword ONLY parameters to enforce good practiceFixes a bug with
ArdentHandler
’sself.form_fields
which would raise an exception if the body was empty
Added
Ardent’s
upload
,upload_from_file
, anddownload
methods now take an optional timeout parameter, which defaults to 30 seconds
v2.77.1 - 2021-03-31
Fixed
Entrypoints now work when located in subdirectories
MessageBus’s send_message now sends to the correct topic name based on host environment
MessageBusHandler’s now handle error messages from the consumer
Added
Docker dev machine now installs dev only system level dependencies if container-prebuild-hook-dev.sh exists in the repo
v2.77.0 - 2021-03-30
Added
Adds
CurrencyCode
DbObjectArdentHandler
s now capture both query parameters and post body parameters inself.form_fields
Fixed
Improves
q2 invalidate_hq_cache
to better discover Central HQs
v2.76.0 - 2021-03-24
Added
Adds
TransactionType
DbObject for use with the FundsTransfer related HqApi endpointsAdds
q2 db get_transaction_types
cli commandNavNode
DbObject will now returnNavigationID
from.get()
Fixed
HqApi endpoints that require currency_code will now correctly default to USD
ardent.file_upload.upload_from_file
will now include the encryption key along with the file_id in the return
Changed
In
DEBUG
mode, log filtering will now be disabled
v2.75.1 - 2021-03-22
Fixed
Fixes circular import with new vault scoped read if there is a VAULT_KEY exported
Fixes a bug with
nav_node.update
which prevented it from working with SSO extensions
v2.75.0 - 2021-03-17
Added
The
/dbplan
endpoint now takes in aform_id
headerDbPlan objects now take in an optional FormId parameter on the
install
method, allowing operations on the related form in custom install stepsArdent
File
object now has aget_public_download_url
method, which will generate a link that is hittable from a browser for a limited timeDocker dev machines will now pip install
requirements_dev.txt
before requirements.txt if it existsAdds
.get_deleted
method toCustomer
DbObjectAdds
q2 db get_deleted_customers
CLI entrypointAdds
.get_deleted
method toUser
DbObjectAdds
q2 db get_deleted_users
CLI entrypointAdds ability for Vault to scope it read to the stack or institution level, rather than just global. To use, opt in by setting the
VAULT_SCOPED_READ
variable to True in your settings fileExtensions now have a
self.vault
property for ease of useAdds a logger to Vault operations (secrets will not be logged, even in DEBUG mode)
Q2Vault.get_certificate()
now has anas_obj
property. If set to True, will return a Certificate object, which has.key
,.cert
, and.path
properties for ease of use.
Fixed
Fixed a bug where requests could close sockets prematurely in
FORK_REQUESTS=True
mode
Changed
WARNING The old Vault behavior (global reads and raw returns) is now available under
Q2Vault.read_raw
. The SDK will still use this by default until VAULT_SCOPED_READ is set to True, but will log a deprecation warning. This will be removed in SDK 3.0 and only support scoped read.
v2.74.0 - 2021-03-10
Added
All extension types will respect the ‘dev’ target in package.json files if present, allowing even non-tecton based extensions to have local frontend helpers
Adds a check to
q2 check
to ensure frontend packages have a package-lock.json or a yarn.lock fileAdds
GtData
DbObject with.create
method
Changed
Tecton SSR extensions generated prior to this version will not autorebuild javascript assets on change. To get the old functionality, remove the ‘dev’ target from the package.json file in these cases
Fixed
Fixes a bug with Ardent file uploading that would not allow files uploaded from the backend through the Q2 Firewall in some cases
Fixes a bug where removing all environment variables could cause
q2 check
to failnon-ASCII characters can now be properly submitted as form field entries to HQHandler based extensions
Fixes a bug with Tecton forms that would pass the wrong language asset url through the system
Fixes a bug where extension URLs could reference the wrong extension if one extension_name was wholly contained within another (ie Foo vs FooBar)
v2.73.0 - 2021-03-03
Added
Adds
get_message_thread
toMessage
DbObject. This is a powerful function that could potentially be dangerous if used incorrectly, so therefore must be opted into via theDANGEROUS_WHITELIST
in settingsTableRow
object now has.headers
,.keys
,.values
, and.items
properties for ease of useTableRow
object now better handles parsing of DateTime objectsIf
COMPANY
is set in the settings file, it will now be added to the db on install for reporting purposesQ2Vault
object will now also attempt to read from~/.vault-token
if other locations are exhausted, bringing it in line withvault
binary programq2 add_to_nav
now has the ability to install with the nav node disabledIt is now possible to change whether SSOs show in an iframe or a new window after installation with
q2 update_nav_node
/inspect
endpoint andq2 inspect
entrypoint now showsCOMPANY
value from settings
Changed
q2 install
will now install a form for all languages, not just USEnglishq2 add_to_nav
will now install a form for all languages, not just USEnglishCOMPANY
will now be required in the settings file ifIS_CUSTOMER_CREATED
is True
v2.72.0 - 2021-02-26
Added
Adds built-in
/admin
endpoint for terminating server at runtime
Fixed
Better descriptions on
q2 insight install_feature
returnsq2 run
will now properly refresh the ardent cache on server start againFix a bug where
q2 changelog
was not compatible with extensions registered in the tuple (name, path) format
v2.71.1 - 2021-02-18
Fixed
Fixes a bug with
FORK_REQUESTS
mode which could potentially close the socket before all bytes were written in the child
Changed
q2 run
in DEBUG mode will now explicitly disable caching in the browser for served assets
Added
q2 check
will now error if .gitignore is missing or if it contains package-lock.json
v2.71.0 - 2021-02-16
Added
Adds RETURN_TABLE_OBJECTS_FROM_DB setting, which will ensure all DbObjects return TableRow objects with more flexibility than ObjectifiedElement ones
Adds Message DbObject for programmatic access to the User’s Messages logged in the database
Adds Navigation DbObject for programmatic access to the Q2_Navigation table for use with Themes
NavNode DbObject now has the ability to pass navigation id to register a nav node with only a single theme
Moves message_bus extension out of beta and integrates it with the Q2 KraytD and Kuiil services
Adds a MessageBus Extension tutorial
Fixed
AccountList now correctly applies access level rights at a bitwise level rather than an integer one to more closely match HQ logic
Fixes a bug with
q2 remove_from_nav
that would not properly remove entries if they were subsets of another existing nav item
v2.70.0 - 2021-02-05
Added
It is now possible to set an extension level INBOUND_IP_WHITELIST by setting it as a class variable
HqResponse.parse_sproc_return
now takes aspecific_table
parameter in the event that the stored proc returns something different than the standardTable
DbObjects
Adds
Recipient
DbObject withget_by_customer
andget_by_recipient
methodsAdds
Template
DbObject withget
andget_template_recipients
methodsUser
DbObject now has anupdate_dob
method
HqApi:
Adds
AddChangeOfAddress
EndpointAdds
AsyncRequestUpdate
EndpointAdds
ExecuteOutstandingReportsByZone
EndpointAdds
ExecuteWedgeRequestByNameWithTimeoutAsStringZoned
EndpointAdds
ExecuteWedgeRequestByNameWithTimedZoned
EndpointAdds
GetCustomerLocateWhere
EndpointAdds
GetGroupLocateWhere
EndpointAdds
GetUserAccountListWhere
EndpointAdds
GetUserLocateWhere
EndpointAdds
GetUserLogonLocateWhere
EndpointAdds
MigrateCustomerFromTreasury
EndpointAdds
MigrateCustomerToTreasury
EndpointAdds
GetGeneratedTransactionDataElements
EndpointAdds
GetGeneratedTransactionsWindowedWithGtData
EndpointAdds
GetRecurringTransactionsWindowedWithGtData
Endpoint
Deprecated
Added deprecation warning to all HqApi
.get_soap
and.get_json
functions, preferring.execute
Fixed
HqApi
.get_soap
and.get_json
functions now pass along**kwargs
, allowing its use with timeout parameterFixes a bug where if an HQ url was wholly contained inside another HQ url in the same HQ_LIST, the server would not correctly rotate between them on failures
Fixes a bug where the
q2 upgrade
command would not work with pip version 21 or greater
Changed
Hq Healthcheck on /status endpoint now counts a 3 second delay in response as a failure
v2.69.1 - 2021-02-01
Fixed
Fixes issue when certain UserDemographicData fields are null in the database
Fixes issue with
q2 check
that would raise an exception if a version string was not locked in requirements.txt
Added
Prometheus metrics now list fork_mode True/False
Prometheus metrics now list self.cache timings
v2.69.0 - 2021-01-27
Added
Adds awaitable
get_async
,get_many_async
,set_async
,set_many_async
methods to Q2CacheClient.Adds
GroupToZone
DbObjectAdds
q2 db get_group_to_zone
CLI commandDbPlans now support a
self.disallow_add_to_nav
property, defaulted to False, which will not allowq2 add_to_nav
to run for the given extensionAdds Custom Health Checks that will display on the /status endpoint
Adds Custom Health Check MenuOption on
q2 create_extension
Adds UDP_HANDLERS dict in settings, allowing for custom callbacks when server is running in Fork mode
If the posted UDP message is larger than 64K (largest the protocol allows), it will be automatically compressed
Documentation page on all available configuration options in configuration/settings.py
Fixed
Q2SDK_MAX_THREADS
environment variable is now correctly cast as an integer
v2.68.3 - 2021-01-21
Fixed
Backwards compatibility fix for
UUXPayload
install stepFixes signature of newly generated Ardent extension
get
methodFixes a bug with BROWSER_LINK websocket that would try to start even if DEBUG was hardcoded to False in the settings file, resulting in a tornado.autoreload stack trace
v2.68.2 - 2021-01-14
Fixed
Running a unit test suite through VsCode will now correctly set the IS_TEST_MODE parameter (which is respected by several SDK internal functions)
Handles several edgecases with
api_helpers.build_update_demographics_by_logon_name_xml
regarding missing or incomplete informationFixes a bug with logging filters that would filter the body, but not the args. i.e.
self.logger.info('%s', '1234567812345678')
would not be caught by the credit card filter whileself.logger.info('1234567812345678')
would
Changed
q2 setup_db
will now attempt to invalidate HQ’s AuditAction list, which helps streamline working with brand new stacks
Added
Docs now have a copy button on code snippets
v2.68.1 - 2021-01-11
Fixed
Server side modals will now properly escape HTML tags in the message field
Handles a condition where add_to_nav without the
friendly_name
kwarg would result in a failed insertion to the database
Changed
If
api_helpers.build_update_demographics_by_logon_name_xml
is called without first_name, last_name, or middle_name fields, it will no longer try to update theUser
row in the database
v2.68.0 - 2021-01-06
Added
Adds local asset server mapping capability. Check the Guides -> Frontend Development -> Serving Assets page of the docs for more details
Aliases
window.tecton
to Tecton’scapabilities
object in default ClientSideRender index.js template
Changed
q2_requests
calls will now log actual bytes sent in the requests instead of just their python representations
Fixed
Fixes a bug with nav_node install and uninstall that didn’t always work when short name in database didn’t match display name
Fixes backwards compatibility bug with
entrypoints.add_to_nav.add_to_nav()
Fixes install bug on database stored procedure
sdk_GetAdminUserPropertyData
v2.67.1 - 2020-12-31
Fixed
Fixes a bug with FORK_REQUESTS which caused static asset requests to leak PIDs
Fixes a bug where newly generated extensions would fail on calls to /get due to a missing routing_key param
v2.67.0 - 2020-12-29
Added
Installing an OnlineHandler into a database will now ensure Customer/CanSubmitForms is turned on for all appropriate groups
Custom DbPlan InstallSteps can now makes an educated guess on type if the class signature contains inputs but no InstallStepAttributes are explicitly defined
Fixed
Improves type hinting on
User
DbObject to includeDOB
fieldHQ Calls will now only rotate between configured HQs in the event of a connection failure, not on all failure types
v2.66.0 - 2020-12-16
Added
NavNode.get
now returns DeviceBitflag fieldBetter type hinting on
NavNode.get
Adds the
AdminUserPropertyData
DbObjectAdds the
AdminUserPropertyDataElement
DbObjectPeriodic Entrypoints now have an
on_pre_run
hook that will be invoked beforerun
Adds an Ardent Tutorial in the documentation
NavNode
update functions now allow setting form_id and enabled properties
Fixed
Periodic Entrypoints now log with a GUID per run matching the logging for request handlers
Fixes a bug with
add_to_nav
function that changedcentral_display_name
param tofriendly_name
without backwards compatibility considerationFixes a bug with various api_helper functions that would not generate soap body correctly if social security number was undefined
Fixes a bug with
q2 check
that would report FAILED in a repo with only periodic entrypoints and no handlersThe SDK runtime will no longer try to loop through HQs in a list on all errors, only on connection errors
Fixes a casing bug with customer_key override in the wedge_address_table
Changed
Periodic Entrypoints will now log the SDK version and Image Tag (if present)
v2.65.0 - 2020-12-10
Added
HqApi
methods now pass along kwargs in.execute
, eventually interpretted by request call, eg. timeout=3When enabling group_access_mapping, if there is no Q2 GamTeam, default to Admin for more compatibility
build_add_user_xml
andbuild_add_customer_xml
api_helper functions now accepthost_user
andhost_pwd
params
Fixed
Fixes a bug where
WedgeOnlineBanking
endpoints which took ‘aba’ as a parameter were not generating correctlyFixed a bug when running in Fork Mode which caused the child process to exit before the end of the request if
self.finish()
was called explicitely in the extensionFixes a bug with Tecton modals which was escaping HTML characters when passed as message body
Fixes a bug that caused duplicates to show up in
add_to_nav
if a Tecton form had been installed multiple times for different routes
Changed
HqApi parameters which are passed
None
in python will omit the xml element when sending to HQ, rather than sending it as blank
v2.64.0 - 2020-12-07
Added
Tecton CSR handlers now generate with DbPlan objects referenced
SSO handlers now have a
self.online_session.is_csr_assist
propertyBetter capabilities around icon support on
q2 add_to_nav
Changed
.vscode directory will now be added to gitignore on
q2 setup
Fixed
Improves performance of
q2 invalidate_hq_cache
operationFix a bug where Tecton extensions could not be installed multiple times with different names
Fixed a bug with sdk_UpdateNavNode that prevented it from installing on HQ versions < 4.4.0.5418
v2.63.4 - 2020-11-25
Fixed
Fixes an issue with
self.get_ui_text
which would sometimes choose an inappropriate item if a Theme (UiSelectionID) is not provided but exists in the database
Changed
Tweak to HqCommands object internals to more closely match desired HQ access
v2.63.3 - 2020-11-23
Fixed
Fixes a bug with
self.get_template
that raised an exception if the magic keythis
was passed as a replacement key andthis
was an object
v2.63.2 - 2020-11-19
Fixed
No longer error in the rare cases where Accounts do not have access attributes
Better handle the situation where SSO VendorConfigs are installed with different casing than expected in the python code
Changed
q2 run
will now displayRegistered extensions
instead ofInstalled extensions
for clarityAdds a warning message in the event that developer accesses
self.core
beforepost
function has been invoked
v2.63.1 - 2020-11-17
Fixed
q2_sdk.core.prometheus.get_metric
no longer breaks when passing None forchain
parameteradd_to_nav
now properly referencesshort_name
in UserPropertyData entries rather than substitutingextension_name
, which may or may not matchFixed a bug where if another extension existed with a name that was the subset of a new one, navigation nodes might not insert properly
Fixes a bug with TectonModals that would improperly forward certain externalRoute modal actions to Tecton framework
Changed
TectonModal
’sclose
parameter is nowshow_close
to match the inheritedModal
, thoughclose
will still work for backwards compatiblity
v2.63.0 - 2020-11-09
Added
q2 check
now ensures ALL installed packages match versions in requirements.txt, not just Q2 libraries
v2.62.2 - 2020-11-06
Fixed
Fork Server now works with ‘https’ protocol
v2.62.1 - 2020-11-05
Fixed
Fixed bug with add_to_nav entrypoint that broke Tecton extensions in 2.62.0
Clearer central installer prompts at the CLI
HQ Creds will now dynamically refresh in Fork Server mode
v2.62.0 - 2020-11-04
Added
q2 add_to_nav
now sets both route_params and device_bitflag in the database as part of installHqResponse
objects now have a.audit_id
propertyCounty
,DataFeed
,Disclaimer
,GtDataElement
,HostAccountDataElement
,MessageRecipientGroup
,MessageTemplate
,NavNode
,NavigationStyle
,NotificationType
,Regex
,ReportInfo
,State
,ThirdPartyDataElement
, andUserAccountAttribute
DbObjects now all have.get_by_name
support
Fixed
Pre4.4 and Tecton SSR Modals now correctly accept ‘ and “ characters in the title
Newly generated urls.py files will now properly list the URL_PATTERN as a Regex string (r””)
Changed
Fork mode will now default UDP port to 1983 instead of 1982, which inadvertently clashed with the 1982 HMR port elsewhere in the project
v2.61.0 - 2020-10-27
Added
q2 run
can now run in ‘Fork Mode’, making a new process per request, by settingsettings.FORK_REQUESTS
to Truesettings.FORK_REQUESTS
respects the environment variableQ2SDK_FORK_REQUESTS
If
settings.FORK_REQUESTS
is True, a UDP server will be booted up to handle certain traffic, running on the port defined insettings.ANTILLES_UDP_CALLBACK_PORT
(1982 by default)Phone
object now has anis_sac_target
property
Changed
Manually invoking
q2 db update_nav_node
orq2 db add_nav_node
will no longer attempt to bounce a stack, relying instead on the cleanerinvalidate_hq_cache
functionalityq2 create_extension
now defaults to Server Side Rendered Tecton extension type
v2.60.0 - 2020-10-20
Added
Customer.get()
now accepts a zone_id to filter by zone in appropriate databasesq2 insight get_db_list
now takes a--show-permanent-test
parameter to merge prod results with permtest ones
Fixed
TectonServerHandler now uses
form_short_name
to call back to the backend if presentFixes bug present since 2.57.1 in /dbplan endpoint that was not accepting overrides passed in, always preferring defaults
Fixes bug with unauthenticated Tecton routes that was treating self.form_fields differently than its authenticated counterpart
v2.59.2 - 2020-10-16
Fixed
Updates
Regex
dbObject to be more compatible with older Q2 platform versionsUserDemographicData
object now works appropriate with empty MiddleName fields from the databaseUserDemographicData
object now uses 3 character Country Codes to correspond to the rest of the product’s expectations
v2.59.1 - 2020-10-09
Fixed
Fix a situation where malformed HqResponses could cause HqResponse.raw_response to not be populated
Custom build dbPlan InstallSteps will now properly work with
q2 db run_db_plan
file input overrides
v2.59.0 - 2020-10-07
Added
Adds
UserRole
DbObject
Fixed
Fixed a bug with retry logic on
q2 insight upgrade_database
that would time out after 30 secondsPowershell start_dev_machine.ps1 script will now correctly swallow nondesired logging output
Central extensions will now correctly write the name of the extension into the description field in the database on install
Nested extensions (/nested/Foo) will now correctly serve up assets (such as images)
Ensure boolean HADEs are serialized as booleans in python
v2.58.0 - 2020-10-01
Added
Tecton extensions (manually) installed in the DataFeed table can now be accessed unauthenticated
Fixed
Docker dev machine now works better with WSL2
Docker dev machine startup will no longer throw warnings if there are no previous runs to clean up
SSOsession.primary_cif is now a string, matching OnlineUser.primary_cif’s type
Changed
q2_requests
methods now have a 5 second connection and 30 second response timeout (as opposed to infinite). To override set thetimeout
arg as per Requests documentation
v2.57.1 - 2020-09-25
Fixed
Fixes tab completion bug with older –no-prompts parameter to facilitate a clean upgrade
Added
/dbplan endpoint now handles overrides passed in either a request body OR in the headers
v2.57.0 - 2020-09-22
Added
Adds
Regex
DbObject to gather data from the Q2_Regex tableAdds kwarg support to
Account
class, allowing instantiation of the object without passing in an lxml ElementAuditRecord.get()
how has an audit_id parameter to limit outputq2 db get_audit_records
now takes a-i
parameter for passing AuditIDardent.file_upload.File
now sports both a.upload
and a.upload_from_file
option as well as a.get_download_url
method to round out it’s usefulness from the python side
v2.56.0 - 2020-09-15
Added
Ardent File Upload capabilities now work with 4.4+ Tecton SSR extensions
Fixed
Dramatically improves Nav Menu insertion operations in environments with large nav sets
DEBUG level logging will now properly log q2_requests request body
Improves memory consumption in default request logging
v2.55.1 - 2020-08-26
Fixed
Fixes an issue where newly generated repos would fail to run the
q2
command unless the environment variable Q2SDK_ARDENTFS_URL was setCoreResponse
object will now better handle the condition where the core itself returned an error codeq2 insight upgrade_db
will now wait until the DB is fully upgraded rather than timing out after 2 minutes
v2.55.0 - 2020-08-25
Added
Adds
user_role_id
,auth_token_serial
, andis_admin
optional parameters toDemographicInfo
class for commercial/treasury usersAdds
GetGeneratedTransactionsWindowed
HqApi endpointAdds
GetRecurringTransactionsWindowed
HqApi endpointAdds
GetNextValidPaymentDateZoned
HqApi endpointAdds
SendSecureMessageToAllUsersInACustomer
HqApi endpointAdds
SendSecureMessageToAllUsersInAZone
HqApi endpointAdds new File Upload capabilities to pre 4.4 forms. More details in the
Guides -> Online Integration
section of the docs
Fixed
Fixes
q2 db get_user_property_data
CLI header output
v2.54.0 - 2020-08-21
Added
UserPropertyData.create
now takes a user_role_id param for corporate properties.UserPropertyData.update
now takes a user_role_id param for corporate properties.UserPropertyData.delete
now takes a user_role_id param for corporate properties.
v2.53.0 - 2020-08-21
Added
q2 insight get_db_list
now has a--show-preprod
(-p
) flag which will add not yet LPT environments to prod listAdds
q2 insight validate_token
entrypoint
Fixed
Fixes bug with
api_helpers.build_add_customer_xml
when appending a subsidiary that would error if the subsidiary did not have a WireCountryIdSignificant improvements to the
q2
command’s startup time.
v2.52.1 - 2020-08-13
Fixed
Fixes parameter name in
customer_data.get_multi
Fixes type error in TectonModal
Better handle bad imports listed in INSTALLED_EXTENSIONS
v2.52.0 - 2020-08-12
Added
PhoneNumber
DbObject now has aget_customer_phone_numbers
method to search by customer_idCustomerData
DbObject now has aget_multi
method to return multiple CustomerDataRowsAdds
Subsidiary
model toq2_sdk.models
q2_sdk.hq.api_helpers.build_add_customer_xml
now takes a list of Subsidiary objects for use with commercial users
Fixed
Fixed a bug where .antilles cache directory would not be generated on entrypoint runs
v2.51.4 - 2020-08-10
Fixed
Fixed a bug with initial repo setup tab completion
v2.51.3 - 2020-08-06
Fixed
Fix a bug where
q2_requests
calls could not accept logger and url as keyword parametersFixed a bug in
ProductType.get()
where hq_credentials were not passed along
v2.51.2 - 2020-08-04
Fixed
Fixes tab completion bug introduced in 2.51.0
v2.51.1 - 2020-07-29
Fixed
Fixes @mfa_validate decorator when used in conjunction with Tecton Server Side extensions
v2.51.0 - 2020-07-22
Added
api_helpers.get_frequency_bit_flags
now supports days_of_month parameter, allowing AddRecurring* Hq methods to specify frequencies such as “1st and 15th of each month”
Changed
q2 install_completion --no-prompts
parameter has been split into--assume-yes
and--assume-no
Fixed
Minor fix on docker dev container to autocorrect sql server names to known conventions
SSO extensions will now properly set UserPropertyDataElements on install even if short_name has been changed
v2.50.2 - 2020-07-14
Fixed
Fixed a bug where initial log level would not be reported correctly on /logging endpoint
The -l parameter on
q2 get_users
will no longer be interpretted as the desired logging_levelBad import stack traces from client modules will no longer be swallowed by
q2 run
Docker dev machine is no longer required to be housed in an all lowercase directory path
Added
q2 upgrade -p marketplace
will now automatically add it to the INSTALLED_EXTENSIONS
v2.50.1 - 2020-07-08
Fixed
Fixes a bug where commented INSTALLED_EXTENSIONS lines in settings.py file can stop the server from starting
Changed
Default style.yapf file will now force multiline dicts
v2.50.0 - 2020-07-07
Added
settings.INSTALLED_EXTENSIONS now supports tuples of (”name”, “parentDirectory.name”) to support non root level extensions
q2 get_installed
will now show ‘IsCustomerCreated’ column for all installation types
Fixed
q2 insight login -u USERNAME
will now respect the USERNAME passed inFixes a bug with db_plan.required_forms that would not work correctly with objects, only strings.
sdk_GetPushNotificationTargets will no longer raise an error on
q2 setup_db
v2.49.5 - 2020-06-29
Fixed
Fixes a condition with some HQ API endpoints where True/False in python would be turned into strings of True/False in xml rather than booleans 0/1
Routing functions that provide keyword arguments now handle only defining some of them
Improves speed of several SQL queries, including UserPropertyData.get
Changed
Tweaks the sensitivity of the asyncio slow threshold. Blocking calls of 1 second will be notated (previously 0.1 seconds)
v2.49.4 - 2020-06-26
Fixed
Nested extensions (directories below top level in repo) will now install in the DB correctly with
q2 install
Improvements to docker dev startup scripts
Added
Literal {BASE_URL} is now supported in
q2 run -c URL
. Will be replaced at runtime.
v2.49.3 - 2020-06-23
Fixed
Ardent (API) handlers will no longer block non_q2 traffic
Overriding AssetURL (q2 run -c asset_url) will no longer also change the reported server base_url
Fixed a bug where updating the ABA in vault would not update the q2_sdk.cache.Q2Cache object’s key_prefix
Fixed a condition where nested extensions (parent.extension_name) would not return their front end assets correctly
Changed
Blocked external traffic will now return a 403 instead of a 404 status code
v2.49.2 - 2020-06-16
Changed
q2 check
will now show full stack trace for non importable extensionsImprovements to docker dev startup scripts
Fixed
q2 setup_db
will attempt to install all scripts, even if some fail in the middleFixes an edgecase (when combined with q2-cores >=1.15.3) that did not allow direct import of Cores from q2_cores in some cases
v2.49.1 - 2020-06-11
Fixed
Fixes a bug with
UiText.create_bulk
that would cut off text at 1024 charactersUserPropertyData InstallStep will no longer be serialized as boolean choices
Added
BaseHandler’s
self.get_ui_text
method now takes an optional cache_time parameter to override the default (60 seconds)
v2.49.0 - 2020-06-05
Added
Upgrades to Python 3.8 base
Changed
Changes from pymssql to SQLAlchemy for raw sql operations
Upgrades from hvac 0.2.17 -> 0.10.3
Upgrades from jinja2 2.10.3 -> 2.11.2
Upgrades from lxml 4.4.2 -> 4.5.1
Upgrades from pylint 2.1.1 -> 2.4.4
Upgrades from pymemcache 1.4.3 -> 3.2.0
Upgrades from pytest-asyncio 0.10.0 -> 0.12.0
Upgrades from pytest 5.4.1 -> 5.4.2
Upgrades from python-dateutil 2.7.5 -> 2.8.1
Upgrades from yapf 0.28.0 -> 0.30.0
v2.48.0 - 2020-06-04
Added
Adds
AdminUserSetZone
HqApi endpointAdds
AdminUserSetZoneConfiguration
HqApi endpointAdds
GetAdminUserZoneList
HqApi endpointAdds
ProcessZoneAllOutstandingTransactionsByTransactionId
HqApi endpointAdds
ValidateToken
HqApi endpoint
Fixed
Fixes an SSO runtime error if one of the extension’s DbConfigs is empty
Changed
Updated the messaging in the log on
q2 run
regarding frontend asset mappingCleaned up the asyncio info logs on
q2 run
startup
v2.47.0 - 2020-06-02
Added
Adds PushNotificationTargets DbObject for interacting with the Q2_PushTarget table
v2.46.0 - 2020-05-29
Added
q2 run
now takes a-c
or--asset-server
flag to specify a frontend asset path override for local dev/cache endpoint now allows for deletion of individual keys
Fixed
Server will no longer spew asyncio warnings if run from Windows Subsystem for Linux (WSL)
Fixes a bug with
q2_ajax
calls in server side rendered extensions that prevented it from working with HADE specific URLs in OnlineBankingq2 check
will no longer fail if HQ_URL/ABA environment variables are unsetSsoUserLogon
object’s.get
method now property takes in an sso_identifier rather than a user_logon_id
v2.45.1 - 2020-05-26
Fixed
Poorly formatted date_of_birth will no longer break instantiation of a DemographicInfo object, defaulting to None
v2.45.0 - 2020-05-21
Added
All handlers now have
self.base_assets_url
available for serving up Frontend assets through the CDNAt dev time, python’s asyncio DEBUG mode will be turned on, catching common errors such as unawaited coroutines and blocking code
q2 add_nav_node
will now create space between two existing nav nodes if it doesn’t already exist
Fixed
Fixed a bug where /status /inspect /metrics and /browser_link were no longer being filtered out of logs
Fixed a bug where
q2 install
’s -e flag would sometimes interfere with other unrelated entrypoints’ CLI flagsFixed a bug where the ‘Another server is running’ prompt at dev time would cause a stack trace
Changed
q2_requests.*
methods will now only log additional log lines atq2 run
time, not in other CLI commands
v2.44.0 - 2020-05-13
Added
Adds a
ReverseLookup
DbObject for interacting with thesdk_ReverseLookupKey
table
Changed
/browser_link will now be filtered out of the logs
q2_request
calls will now include timing of the response in all log levelsq2_request
calls will now log the response headers if the call is unsuccessful
v2.43.0 - 2020-05-06
Added
Account
class now has a provider_data attribute for arbitrary data that doesn’t fit into the modelAccount
class has from_json and to_json methods to serialize to and from JSONAdds an
autodetect_xml_encoding
method to xml_helper moduleAdds
q2_sdk.models.cores.models.statement.Preference
classAdds
q2_sdk.models.cores.models.statement.EstatementPreference
classq2_sdk.models.cores.queries.base_query.BaseQuery
now has anobjectify_xml_response
helper method for cores that deal in XMLAdds a
JinjaQuery
class for building Core Query objects using a string substitution methodologyq2_sdk.model.demographic
’s Phone, Address, DriverLicense, and DemographicInfo classes are now all JSON serializable
Fixed
Calling
query
orquery_yn
during aq2 run
execution will now raise an exception instead of blocking and killing the serverFixes a bug in online and sso uninstallers that would fail when invoked from another service (CDM)
Improves speed in live frontend asset rebuilding during local run
Fixes a bug with UUXPayload InstallStep that would not allow it be displayed in Deployment manager (CDM)
Fixes a bug with SSOUser model that now casts user_id and ssn as strings
v2.42.0 - 2020-05-01
Added
Server Side Rendered extensions now have Modal support. More details on frontend_development/modals docs page
Fixed
Fixed a bug in
SSOUserLogon
DbObject where it could get the HQ Version for the wrong HQ in a multitenant service
v2.41.0 - 2020-04-29
Added
Adds Zoned endpoints to HQ API
Adds Zone support into
self.core
calls. More details in Zones docs pageHqCredentials
class now has a.is_zoned()
methodDocker start_dev_machine scripts now allow passing through docker args with
--run-args
flagq2 check
now ensures wedge_address_configs property is not accidentally overwrittenVendorConfig
DbObject now has a.get_all()
method
Changed
q2 generate_hq_api
no longer uses the cached wsdl, but downloads from the configured HQ_URL
Fixed
Improves built in logging on
q2_requests
methods, ensuring kwargs and positional args are logged equallyFixes a bug with
Hours
DbObject which was asserting hour_type was an instance ofTransactionType
v2.40.0 - 2020-04-23
Added
Requests now include request GUID along with final request time
q2 check
will now verify HQ is not hardcoded in the settings fileArdent installs will now put the author into the database (Q2 or Customer)
Adds a
q2 db update_central_nav_node
entrypointServer side rendered Tecton extensions now have live reload capability. Changes to python or template files will trigger browser page to reload.
Adds
Q2SDK_DISABLE_BROWSER_LINK
environment variable to disable live reload capability
Changed
/status
endpoint no longer shows the timestamp of the request
Fixed
Server Side Rendered extensions correctly monitor for frontend file changes and rebuild
v2.39.0 - 2020-04-21
Added
Adds
Hours
DbObject for interaction with the Q2_Hours tableAdds
Schema
DbObject to determine if a DbSchema exists (useful for determining Db Version)Adds a
delete_central
method toUiText
DbObject to remove UiText from the Admin database schema
Fixed
CentralInstaller will now work on DbVersions that have backported Admin capabilities even if the HQ doesn’t support it
Fixed a dev time caching bug where INSTALLED_ENTRYPOINTS would continue to run after being removed from the list
Fixed a bug where Custom Entrypoints could not define a
-e
flag due to a collision with theq2 insight
builtin commandMac docker dev start script now uses builtin
curl
instead of not necessarily installedwget
for updating itself
v2.38.1 - 2020-04-15
Fixed
https endpoint in run_server will now also respect X-Forwarded-For header
Added
Commits sdk_RemoveAdminTextAndElement into sql_scripts”
v2.38.0 - 2020-04-14
Added
FeatureGroupCustUser default UserProperty feature name is now configurable via DbPlan
Frontend tests are now run on
q2 test
via the package.json test target if presentFrontend linting is now run on
q2 lint
via the package.json lint target if presentAdds the
sdk_SchemaExists
stored proc for testing foradmin
and other schemas that differ between database versions
Fixed
Fix a bug where Central forms not installed into the nav were not uninstallable
Fixed a bug where
self.form_info
would not be instantiated if an override HQ was configured
v2.37.1 - 2020-04-09
Fixed
OnlineSession’s aba and hq_auth_token properties will now be properly set
q2 invalidate_hq_cache
will now work the same on shared dev as the Q2 datacenterFixed a bug with
q2 update_installed_form
where extensions without a db_plan would fail to update
Added
Adds a
Q2SDK_SERVE_ASSETS_HTTPS
environment variable which will force HTTPS for use in shared dev Tecton extensions
v2.37.0 - 2020-04-07
Added
q2 invalidate_hq_cache
now has a boatload more targets. Checkout the -h menu for more detailsq2 upgrade
now shows q2-marketplace package. Read new marketplace docs for more detailsVideos are now present on online tutorial docs pages
DbPlan now has an account_rights_bit_flag property respected on install
Beta (Undocumented) release of Periodic Job support
Changed
q2 invalidate_hq_cache
will now attempt to invalidate related HQs behind Fabio loadbalancerImproved docs on Online widget rails
Newly generated Tecton SSR extensions will organize code into an index.js file
q2 create_entrypoint no longer has to designate an extension to which the entrypoint belongs
Fixed
UiText elements will now properly respect install order in DbPlan install
v2.36.0 - 2020-04-01
Added
Creates a
q2 db update_central_form
for CLI access to changing Central extensions in the db
Fixed
CLI entrypoints which produce colored output (i.e. q2 inspect) are now pipeable
DbPlan endpoint no longer fails with empty db_plans
Fixed a race condition in start_dev_machine scripts that could cause containers to hang around
Fix an edgecase with /inspect endpoint and Client Side Tecton forms in regards to formPostAuth
Fixes default path for language asset files in Client Side Tecton extensions
Builtin endpoints are now back in /inspect and
q2 inspect
v2.35.1 - 2020-03-26
Added
RateLimiter
object now haswhitelist_networks
andblacklist_networks
properties for more flexible definitions
Deprecated
RateLimiter
’swhitelist_regex
has been deprecated in favor ofwhitelist_networks
RateLimiter
’sblacklist_regex
has been deprecated in favor ofblacklist_networks
Security
All non-private incoming IP addresses will be blocked by default now unless self.allow_non_q2_traffic is set to True
Fixed
Version object will now match all types of version strings, including ‘2019.2’ style
Fixes an issue with SSO uninstall which could fail in some cases based on the state of the db
Fixes /dbplan uninstall behavior
v2.35.0 - 2020-03-20
Added
Adds a /dbplan endpoint for running DbPlan of an extension from a network call
Docker dev containers now open HMR port for front end asset hot reloading
It is now possible to override a customer_key at runtime by placing a key in the wedge_address table
Fixed
Fixed a bug where unescaped XML characters in SSO VENDOR_CONFIGS would break the extension at runtime
Tecton SSR extensions will now respect passed in routing_keys
Fixed a bug where new frontend asset monitoring with parcel would spawn multiple node processes
v2.34.4 - 2020-03-17
Fixed
Pass the tecton connected object through to the connected resolving functions
Exclude filtering out sso accounts
Added
Adding theme support for ui text
v2.34.3 - 2020-03-15
Fixed
New extensions of all types now generate a dev target in package.json
q2 run
will prefer dev target in package.json, but fall back to build if dev is not present
v2.34.2 - 2020-03-13
Fixed
Improves local build time of frontend assets
Fixes an issue with
this.base_assets_url
not being available in tecton handler Jinja templates-l LOGGING_LEVEL
will now work withq2 install
andq2 insight
commands as well as allq2 db *
commands
Removed
q2 remove_form
has been removed (in favor ofq2 uninstall
)q2 get_installed_forms
has been removed (in favor ofq2 get_installed
)q2 install_form
has been removed (in favor ofq2 install
))
v2.34.1 - 2020-03-11
Fixed
Hq endpoints will no longer treat 0 and ‘’ as None
Added
Docker start_dev_machines scripts now update themselves on start
v2.34.0 - 2020-03-10
Added
CustomerData
DbObject now has a.delete
method
Changed
q2 update
is nowq2 changelog
Fixed
Fixed a bug with VPN detection for Q2 employees
Fixes a bug with Tecton form titles not accepting ‘ character
files requested from /assets will now correctly set a Cache-Control header in the datacenter
Fixes a bug with
UserPropertyData.update
that would also update the base row in addition to the one requestedSSO extensions will now work with CsrAssist (assuming the rights are enabled)
v2.33.0 - 2020-03-04
Added
Adds an /install endpoint to support running the db_plan of a running server’s extension
Creates an
CustomerData
DbObject with Create, Update, and Get operationsAdds
q2 db get_customer_data
Adds
q2 db add_customer_data
(Also handles updates)
Fixed
Fixed a bug where a missing sdk_HealthCheck stored procedure in the database could kill the job running in the datacenter
Fixes a bug in the docker start_dev_machines scripts that wouldn’t mount directories with spaces in them
self.online_user
now treats login_name, customer_name, first_name, middle_name, and last_name as strings to handle numbers (typically test data)Fixes a bug where duplicate entries in INSTALLED_EXTENSIONS would try to load the same extension more than once
Changed
q2 inspect
now displays the CSR credsAccountList object’s
product_code_filter
now is a more descriptiveproduct_type_code_filter
Deprecated
AccountList object’s
product_code_filter
will be deprecated in version 3.0
v2.32.0 - 2020-03-02
Added
Brings HqApi up to date with latest HQ capabilities:
q2_api
AddAchBatchByParamsWithSecCode
AddDomesticWire
AddInternationalWire
AddSingleAchpaymentWithSecCode
AdminUserSetUiAccess
GetAccountHistoryByAccountNumber
GetSubsidiariesForPayment
GetValidInternationalWireCurencies
RequestForeignExchangeQuote
wedge_online_banking
AcceptDisclaimer
AddAchBatchByParamsWithSecCode
AddDomesticWire
AddInternationalWire
CheckForDisclaimers
GetSubsidiariesForPayment
GetValidInternationalWireCurrencies
RequestForeignExchangeQuote
SkipDisclaimer
Docs on
q2_cores
CorePro
EPL
JXchange
Metavante
MiserCohesion
OSI
PCS
SOA
Summit
Symitar
UltraData
Users
XP2
Adds DbConfigList/DbConfig to define database configuration objects.
/inspect/<extension_name> endpoint now accepts a ?detailed=1 param for serializing DbConfigLists. Without the new param, it’s backwards compatible.
AccountList
Adds an optional account_filter to AccountList objects to apply complex filtering logic on the items
Adds filtered_cifs property
Adds filtered_account_numbers property
Adds get_host_acct_id_list method
Adds filter_by_cif method
Adds .additional_details to DemographicInfo model for arbitrary extra data
Changed
New extensions will be generated with DbConfigList rather than WEDGE_ADDRESS_CONFIG/VENDOR_CONFIG dictionaries
ArdentHandler install message no longer lies about (wait 5 minutes). Encourages bounce_stack instead.
Fixed
Fixes a bug with Online Form install since 2.31.0 (Update Db Scripts)
v2.31.0 - 2020-02-25
Added
Adds
q2 insight get_db_upgrade_versions
cli entrypointAdds
q2 insight upgrade_database
cli entrypointDocs on frontend configuration (
q2 frontend
)
Fixed
Product
DbObject’sadd
method will now work in 4.3 environmentsSSO Uninstall will now also clean out VendorAddress table
Fix a bug with
core.cli.textui.query_yn
that would flip the response if the default was N
Changed
Add Nav Perms will now log
UserPropertyData row added
on successBetter NPM setup in docker dev image
Fuller requirements.txt support in docker dev image (-e, -r, relative pathing, etc.)
start_dev_machine.sh/ps1 files will now name the container after the project directory
v2.30.0 - 2020-02-21
Added
Creates an SSOUserLogon DbObject with CRUD operations
HqResponse objects now have a .server_date_time property
Changed
DbObject calls that throw database exceptions will now raise an HqResponseError rather than just a gross stack trace
v2.29.1 - 2020-02-14
Fixed
q2 generate_config
will no longer break if the CORE in settings.py starts withq2_cores.
q2 db get_user_data_by_value
no longer tries to cast value as an integerDocker dev containers respect requirements.txt for better use with IDEs
Docker dev containers respect DNS for commands like
q2 insight
Added
Adding a custom entrypoint to
INSTALLED_ENTRYPOINTS
in settings.py does not require it to have a corresponding urls.py
v2.29.0 - 2020-02-12
Added
Adds
.get_users_under_customer
to User DbObjectAdds
.get_logons_from_user_id_list
to UserLogon DbObjectBetter type hinting on Form DbObject’s
.get_by_name
Fixed
Better Windows support in our docker dev container regarding volume mounting and IP passthrough
Fixes another bug with UiTextElement installation in DbPlan
q2 run_db_plan
will now correctly update send_account_list, send_account_details, and payload_stored_procFixes an issue with SSO Installer’s DbPlan run
v2.28.1 - 2020-02-10
Fixed
q2 bounce_stack
is now functional again in shared dev. Prefer Nomad UI for internal dev.Fixed a bug that prevented UUXPayload and UiTextElement InstallSteps from running on
q2 run_db_plan
Fixed a bug in
q2 db update_form
that prevented it from running in newer database buildsSSO installer will no longer throw a stack trace when running DbPlan
Changed
UserPropertyData DbObject’s .get now defaults to strict==True
v2.28.0 - 2020-02-03
Added
Adds Address DbObject
Adds
q2 db get_address
Adds Subsidiary DbObject
Adds
q2 db get_subsidiaries
Adds UUXPayload InstallStep to DbPlan as a way to inject top level JavaScript into the UUX environment. Use with caution!
Adds
q2 db get_vendor_configs
Changed
q2 upgrade
now prefers npm Tecton package in package.json over .tgz fileq2 db get_vendors
now returns all vendors by default (rather than just SSO vendors)q2 db get_vendors
now returns new data (including NavNodeName)self.online_user.customer_primary_cif
is now a string (preserving leading 0s)self.online_user.user_primary_cif
is now a string (preserving leading 0s)
Fixed
self.hq_credentials.aba
will now fall back to settings file version if not passed in HQ payload (such as with SSOs)Vendor install_step is now idempotent
CentralHandlers wil now install correctly in HQs with alpha characters in the version (i.e. 1.1.1.1234A)
HQs identified as ‘localhost’ will no longer try to invalidate during
q2 invalidate_hq_cache
callsq2 upgrade
now handles Tecton upgrades in Q2TectonServerRequestHandler extensionsFixes a bug where invalid HQ responses would show a stack trace when printed in a log message
v2.27.3 - 2020-01-21
Changed
lxml dependency updated to 4.4.2 (from 4.2.5)
VAULT_DIR and NOMAD_SECRETS_DIR set by default in shared dev (set to ~/vaultdir and ~/nomadsecrets)
IDE Setup docs updated to prefer /usr/local/bin/q2 instead of .env/bin/q2
Added
SSO Tutorial (SAML Style) added to documentation
Utility function
q2_sdk.tools.utils.to_bool
added for fuzzy boolean conversion
v2.27.2 - 2020-01-13
Added
Adds a
q2 db remove_vendor_address
Account model now has
.cif_external
and.cif_external_unmasked
properties
Fixed
More effectively handles port passthrough on docker dev machine
SSOHandler now correctly populates self.vendor_configs, self.online_session, self.online_user, and self.account_list in JSON requests from HQ
Serverside Tecton forms will now generate with more appropriate validation events on the q2-input elements
q2 add_to_nav
will no longer raise an exception trying to invalidate the HQ cache
Changed
Further refines Refresh Related HQ in invalidate_hq_cache calls. Now defaults to False, preserving long standing usage in the SDK until this point
q2 invalidate_hq_cache
now takes arefresh-related
rather than ano-refresh-related
flagAll SQL scripts have been updated to prefer THROW instead of RAISERROR for better SQL Server compatibility
v2.27.1 - 2020-01-09
Fixed
Fixes a bug with
q2 create_extension
which prevented Tecton type extensions from being selected
v2.27.0 - 2020-01-08
Added
Adds a new MessageBus RequestHandler (Beta - Interface is subject to change)
MessageBusHandlers currently support two types of busses, Kafka and Amazon SQS
MessageBus Handlers will be run at the start of
q2 run
along with the rest of the RequestHandlers, but poll for data, rather than listen on a port. More details in the Api Reference of the docsSettings file now has a LOGGING_LEVEL filled with whatever was passed in on the command line (-l/–logging-level) for easy access from anywhere
UserPropertyData DbObject’s create and update methods now take product_name and product_type_name as a shortcut to looking up the corresponding ids
Changed
q2 create_extension
is now more clear as to the types of extensions available
Fixed
Fixed a bug in the shared dev environment where
q2 invalidate_hq
(andq2 add_to_nav
) would error out on a bad HQ URL in the databaseFixed a bug with
q2 invalidate_hq
in staging/prod environments with similar names not all being invalidated
v2.26.0 - 2020-01-06
Added
Adds a
q2 vault
entrypoint with a few helpers for testing secrets locally. Vault docs updated accordingly
Changed
self.online_user.login_name
will now be populated with the underlying user’s login name in the event of a CSRAssist session
Fixed
Fixes a bug in the InstallStep of HostTranCode and ProductType when deployed by internal tooling
v2.25.1 - 2019-12-30
Fixed
Docker dev machine will now properly make frontend assets available
Language files are now properly used in Server Side Rendered Tecton forms
Local sources will no longer be expanded in place for SSR Tecton forms, saving network overhead
Invalidate Hq Cache calls will now rotate through all load balanced HQs in a ring
A hanging Vault Client will no longer cause the SDK service to restart in the datacenter
SDK built Tecton extensions are now available by default using the tecton.actions.navigateTo function
add_wedge_address stored proc will now apply appropriate HQAuthTokenID even if the primary key is not the standard (1)
q2 test
will no longer discover tests in node_modules in nested subdirectories
Changed
HydraIdName has been added to the
q2 db get_audit_records
cli output
v2.25.0 - 2019-12-13
Added
Adds HostTranCode DbObject
Adds HostTranCode DbPlan Install Step
Adds HostTranCodeGroup DbObject
Adds HostTranCodeGroup DbPlan Install Step
Adds OfxTransactionType DbObject
Adds OfxTransactionType DbPlan Install Step
Add SystemPropertyData DbObject
Adds Product DbPlan Install Step
Adds ProductType DbPlan Install Step
Improves type hinting on Language DbObject .get return
Fixed
Fixes a bug where default InstallStep values could not be None
Changed
Greatly improved the performance of the UiText DbPlan install step
v2.24.2 - 2019-12-10
Fixed
Fixes bug with frontend configuration handling in some cases
v2.24.1 - 2019-12-09
Fixed
Fixes a bug with Q2SSO Handler where JSON input from HQ would throw an error
Fixed a bug where a DB Stored Proc update after a
q2 upgrade
would fail silently instead of reporting the issue to the userFixed a bug where EnvVar RequiredConfiguration types would not serialize properly on /inspect endpoint
v2.24.0 - 2019-12-02
Added
SDK Docker Dev machine (Q2 internal folks) will now run container-prebuild-hook.sh if it exists
q2 check
will now identify requests.* calls as blocking, preferring q2_requests.* variantsAdds a
UserLogon.delete
method which will mark a user as deleted in the database
Fixed
WedgeOnlineBanking calls will now always use the reported_hq_url associated with the token rather than the possibly conflicting one in settings.py
Fixes bug which required the extension handler to be in a file called extension.py
v2.23.2 - 2019-11-21
Fixed
Updates the character limit of UiConfigPropertyData DbObject fields to more closely match the database limits
Added
Adds a Central Tutorial with example code
Improves Visual Studio Code setup docs
v2.23.1 - 2019-11-12
Fixed
SSO uninstall now has its own specific implementation rather than relying on the Online handler version
/inspect endpoint now correctly shows sso and ardent metainformation
v2.23.0 - 2019-11-05
Added
Install/Uninstall support for Central extensions using the CLI
Adds a
q2 get_central_groups
entrypointDocumentation on Widgets
q2_sdk.core.configuration.EnvVar
can now be used in REQUIRED_CONFIGURATIONS to specify an environment variable as configAdds
q2 frontend
entrypoint to make working with the Tecton Configuration file less complicatedAdds MOCK_BRIDGE_CALLS variable into default settings (respects Q2SDK_MOCK_BRIDGE environment variable) to separate bridge mocking from just DEBUG mode
Better IDE documentation support for @ajax decorated methods
Better type hinting on DataFeed DbObject
q2 create_extension --type central
will now generate working sample code
Changed
Getting logins with the UserLogon db object will filter out deleted logins
Better CLI parsing for uninstall function
Generate password now omits similar characters
self.form_fields is now available earlier in the handler’s lifecycle. It is now usable inside the init method
Upgrades jinja2 version from 2.10 to 2.10.3
Fixed
Tecton CSR form field parsing bug
Rate limiting issue with tecton client
Tecton double sumbit issue with index template
v2.22.2 - 2019-10-24
Fixed
String HADE types will now always be strings, even if lxml would consider them otherwise (01234)
Added
Ardent Handler’s
.get_wedge_address_configs
will now cache the return for 60 seconds
v2.22.1 - 2019-10-21
Changed
q2 create_coreflow
has been reworked to split generated code into multiple filesq2 create_extension
will no longer prompt for ‘Would you like to register?’. It just assumes the answer is yes
Added
q2 create_coreflow
now supports adding new flows to an already generated Custom Coreq2 create_coreflow
will now add a newly generated Custom Core to settings file
Fixed
Q2TectonForm will now validate that form_id is indeed able to be cast as an integer
Prometheus metrics tracking will now send only the baseurl for q2_request calls
v2.22.0 - 2019-10-17
Security
Decorates
secure_message.broadcast_with_attachment
with@dangerous
If you are using
secure_message.broadcast_with_attachment
, you will need to take action. More detail in theHow to Get Help
page of the docs.
Added
Adds
@dangerous
decorator for particularly powerful functionsSSOHandlers will now have their SSO BitFlag integrity checked during
q2 check
Adds a
build_get_group_id_xml
function inapi_helpers
for use with GetGroupID HQ EndpointBetter type hinting on GetGroupID HQ Response
Fixed
Fixed a bug where HQ Response bodies were not being logged since 2.20.0
Fixed a bug with Version model comparison where 1.89.0 was reporting greater than 2.0.0
Properly xml escapes wedge_address_configs stored in the database
v2.21.1 - 2019-10-10
Fixed
Fixes a bug with
q2 update_installed_form
which would not accept the account_right_bit_flag query answerFixes a bug where neglecting to create an init.py file in an extension directory would break
q2 run
api_helpers secure_message_as_xml generation will now let HQ decide on the creation_time rather than doing it at the SDK level
Added
q2_sdk.models.version.Version
model can now be compared using >,<,>=,<=,== comparatorsAdded docs on our CI/CD pipeline. Visible under Development Processes menu
Changed
Naming updates in user_logon for consistency. login_name/logon_name have been standardized to just logon_name
v2.21.0 - 2019-10-07
Added
Prometheus metrics support (https://prometheus.io/). This is enabled by default for several basic metrics around response times and request count
/metrics
endpoint will expose all gathered Prometheus metrics (used by prometheus server running inside Q2 datacenter)
Fixed
Sandbox HQs identifying themselves incorrectly will now be usable again by SDK Q2Api calls
api_helpers.build_secure_message_xml
now lets HQ choose the created time if it’s omitted
v2.20.1 - 2019-10-04
Fixed
Missed a CSS selector in the Q2SingleSignOn fix from version 2.20.0
v2.20.0 - 2019-10-03
Changed
clint has been removed as a dependency. The command line functionality is now baked into the SDK itself in
q2_sdk.core.cli
pytest has been updated to version 5.1.3 (from 3.10.0)
pytest-asyncio has been updated to 0.10.0 (from 0.9.0)
Any command line handling has been rewritten to use the built-in CLI parsing over the deprecated Clint module. As cognizent as the team was about testing, please report any CLI weirdness for patching
Tecton type extensions will now reference npm version in the package.json rather than the tar path
api_helpers.build_secure_message_xml
will now use HQ Server Time for creation is create_time is left blank
Added
colorama has been added as a third party dependency
It is now possible to disable default extensions. Use this with EXTREME CAUTION! More details in default_settings.py
Adds ability for the SDK to handle Tecton log pushes. This is rate limited to prevent DDoS attacks
Adds AccessCode DbObject
It is now possible to inject your own javascript into a Tecton SSR form via new parameters in the Q2TectonForm constructor as well as the get_tecton_form method
Fixed
self.form_fields
will now properly work with Q2Tecton q2-select input valuesFixes a bug where large response sizes coming back from q2_request without a defined content-type could kill the server
Fixes a bug in
get_installed
which would stack trace if no data_feeds were installed in the databaseFixes a bug in Q2SingleSignOn Form that was not resizing the iframe on 4.4 versions of the Q2 UUX stack
v2.19.0 - 2019-09-24
Added
First class SSO support! There is now a Q2SSORequestHandler with its own installer and uninstaller
SSO Extention type added to
q2 create_extension
Lots of documentation updates, ranging from better tutorial code samples to a top level Request Handler Types menu
Adds
VendorAddress
install step for DbPlanAjax functionality detailed in AJAX section of Advanced Features now available with Tecton Server Side Rendered extensions
All extension types now generate a frontend directory for serving frontend assets. Usage detailed in the generated READMEs
api_helpers.build_add_user_xml
now has a DOB element if demo_info.dob existsapi_helpers.build_account_association_xml
now adds a CifInternal node if link_by_cif is enabledBetter type hinting on AuditAction DbObject
Adds ActionID to AuditAction CLI response
Better type hinting on Vendor DbObject
Vendor DbObject CLI has been revamped for much more granular and helpful features
Adds the VendorAddress DbObject
WARNING Lots of SQL updates and additions. Be sure to run
q2 setup_db
when taking the version upgrade
Fixed
Fixes some bugs with our internal Docker image running on Windows hosts
q2 insight -h
now accurately shows help for all subparser
Changed
api_helpers.build_add_user_xml
now builds UserInfo from demo_info.user_info if it exists, rather than just demo_info.social_security_numberVendorConfig DbObject no longer passes in a config_name, relying entirely on the vendor_name to pull back information
v2.18.0 - 2019-09-17
Added
Adds better support for repository versioning
Inspect endpoint how shows repository version (including Unreleased if it’s not present)
Inspect CLI entrypoint now shows repository version
All extension types will now generate with a frontend directory. For usage instructions, check out the generated README files in frontend/README.txt
Fixed
Fixes a case in the password log filter where CSR_PWD json key would not be masked
Fixes a backwards incompatibility with ParamsObj classes in 2.17.0 that did not allow dot notation access to the attributes
Changed
q2 db get_users --social-security
now strips out - non digits and matches against multiple forms in the database (333-22-1111 as well as 333221111 for instance)
v2.17.0 - 2019-09-10
Changed
All entrypoints will now act from the root of the repo regardless of where you invoke them from
Extra configurations warning now uses a logger instance rather than a print statement
All HQApi calls were rewritten to use a base model object. The usage remains the same from a user perspective
Updates yapf dependency version from 0.16.2 to 0.28.0
Added
All request handlers now have a
self.base_assets_url
property which will resolve to an appropriate frontend service urlq2 generate_hq_api
now takes a--endpoint
parameter to limit the generation typeAdds /assets endpoints to
q2 inspect
outputAdds /assets endpoints to
/inspect
endpointBetter type hinting for Country DbObject return
Adds a
**kwargs
parameter on HqApi.execute
methods. Used for future proofing, such asbt_handle=self.bt_handle
for use with AppDynamics if appropriate
Fixed
Fixes syntax with Tecton’s Server Side Rendering keepalive
Fixes type hinting on HqApi return shapes. Now accurately hinted as lxml elements
v2.16.0 - 2019-09-04
Added
Adds a hidden inspect endpoint on each Tecton extension for better support with various UUX versions
Adds a proper Ardent uninstaller accessible with
q2 uninstall
Adds early support for BackOffice endpoints, starting with LogonAdmin. These are accessible in the same way as the rest of the hq_api endpoints
All HqResponses will now have a .json() method, which will serialize the response as a dictionary
Tecton SSR forms will now fire a keepalive event periodically to keep the Q2Online session alive
Changed
q2 get_installed_forms
is nowq2 get_installed
q2 db get_data_feeds
is now sorted by data_feed_id rather than nameHqResponses have changed their
__repr__
method to display as a more readable dictionary when debuggingself.online_user.ssn
will now automatically cleanse non-digit characters out of the value
Deprecated
q2 get_installed_forms
has been deprecated in favor ofq2 get_installed
Fixed
q2 uninstall
will now detect the extension type rather than just assume everything is an Online formFixes a bug where importing the simplejson library would cause HQ calls to fail
v2.15.0 - 2019-08-28
Added
Q2BaseHandler now has an extension_name property which will resolve to the module name
self.get_template
now automatically passes along the current instance state (self) into the “this” variable. i.e. It is now possible to reference{{this.form_fields}}
in a jinja templateq2 run
will now refresh Ardent cache at startup if there is a Tecton extension in your repo. This is to make the SDK play nice with more UUX environments out in the field./inspect
endpoint will now show base_assets_url for Tecton extensions
Changed
q2 remove_form
is nowq2 uninstall
Deprecated
q2 remove_form
has been deprecated in favor ofq2 uninstall
Fixed
Fixed a bug where a newly created repo without a requirements.txt would not play nice with
q2
CLI commands
v2.14.0 - 2019-08-21
Added
Added ArdentInstaller class
Helper method for creating a symconnect for mocking
Fixed
Serialize multiselect and checkboxes for SSR submit
v2.13.0 - 2019-08-14
Changed
q2 install_form
is nowq2 install
q2 create_extension
will now put the new extension name at the end of INSTALLED_EXTENSIONS instead of the beginningself.get_template
replacements_dict is now optional, rather than requiring you to pass {}
Added
q2 install
will automatically detect your extension type and run the installer for that particular typeIt is now possible to pass parametes to routes. If args or kwargs are defined in the signature, the will automatically be pulled from self.form_fields
q2 invalidate_hq_cache
now has an option for FormView
Deprecated
q2 install_form
has been deprecated in favor ofq2 install
v2.12.1 - 2019-08-09
Fixed
Significantly improves CPU usage while monitoring Frontend files for changes (default in
q2 run
when run without-a
)Fixes a bug where
add_dependency
would misbehave if a requirement had complex dependencies in its signature (i.e.add dependency requests[security]
)
Changed
Built in /inspect endpoint now displays extension_type in addition to existing information
v2.12.0 - 2019-08-06
Added
Q2HqRequestHandler now has a self.set_hq_commands method, which is a nicer interface for dealing with HqCommands objects for things like Refreshing Account balances during a user session
q2 upgrade
will now show q2-smart as an optionq2_sdk.hq.api_helpers.build_add_user_logon_xml
now takes a skiptac parameter. Defaults to FalseAdds a
q2_sdk.hq.models.backoffice_response.BackOfficeResponse
class in preparation for building out more HQ BackOffice endpoint support
Fixed
Fixes a bug where LegacyRequestHandler.parse_form_fields was mistakenly using Central’s form field parsing rather than HQ’s version
Fixed a bug in
q2 upgrade
where an IP address was the last entry in the upgrade list
Changed
q2_sdk.hq.http.post_to_hq
now takes in a response class, allowing overriding of the response shape handling. Defaults to HqResponse as beforeq2_sdk.hq.models.hq_response.HqResponse
now takes a requests.Response object as the first parameter rather than a raw_response string to allow passing metadata. Raw response strings will still work for backwards compatibilityUpdates the SDK Proc Execution Audit Action to disable PolicyJudge requirements by default
v2.11.1 - 2019-07-30
Added
Provide tecton connected hook for setting initial values and triggering tecton functions
v2.11.0 - 2019-07-26
Added
Tecton inspect endpoints now respect following the CONFIG_FILE_NAME attribute in the handler
q2_sdk.hq.api_helpers
now has aget_frequency_bit_flags
endpoint for use with AddRecurring* modules in HqApi
Fixed
parse_form_fields
in hq_handler now http escapes %5B%5D ( [] ) automaticallyInvalidateHQ both from CLI and programmatically now defaults to NavNodes and UserPropertyDataElements instead of just NavNodes. This could cause Central to be unresponsive until an overnight bounce
Removed
TectonConfig table writes have been removed. Running services will now provide their frontend assets directly through a public facing CDN
v2.10.0 - 2019-07-24
Added
It is now possible to pass a form field from the frontend with [] in the name to treat it as a list in self.form_fields
Adds
get_by_short_name
method to UserData DbObjectAdds
q2 db get_user_data_by_short_name
CLI entrypoint
Fixed
Fixes a bug preventing VendorConfig installation using DbPlans
Fixes an IE11 ES6 related issue with buil in Q2Tecton template
Changed
Email DbObject will now raise an Exception if bad input is passed rather than killing the python process
Better type hinting on MessageTemplate DbObject return
Better type hinting on Product DbObject return
Removed
The incomplete back button support implementation in the q2_form template has been removed. If you were relying on this, please reach out and we can give you the source code to implement it yourself
v2.9.1 - 2019-07-17
Fixed
Fixes a bug with Q2BaseRequestHandler.get_ui_text where an empty string in the database would be returned as a None in python
Fixes a bug that would appear in new SDK repos where .antilles/entrypoints would never be created
Changed
If an installed extension does not inherit from Q2BaseRequestHandler,
q2 check
will error (as before), but will now give a helpful error message as opposed to a stack trace
v2.9.0 - 2019-07-15
Added
Add server-side rendering with Tecton
Fixed
Fix issue with back button
Fixes a bug with tab completion for inputs with no valid completions.
Changed
q2 bounce_hq
is nowq2 bounce_stack
. This should not be needed for platform versions 4.4 and above.Tutorial is now separated into legacy (pre-4.4) server side-rendering, post 4.4 server-side rendering, and client side.
Examples added for integrating Angular and React with client-side rendering.
v2.8.0 - 2019-07-11
Added
ArdentHandler based extensions will now generate a db_plan with data_feeds in it (to register it with Ardent on deploy). If you have an existing ArdentHandler extension, you will need to update your db_plan manually.
TectonHandler based extensions will now generate a package.json file with parcel to build the dist directory
TectonHandler based extensions will now generate a .babelrc file
q2 invalidate_hq_cache
now has a host of new options (listed in the help)
Removed
q2 create_extension
will no longer show LegacyRequestHandler as an option. Any code built referencing the LegecyRequesthandler will continue to work
Changed
OUTBOUND_WHITELIST error messages were rewritten to be more clear
q2 update_installed_form
was refactored for greater testability
Fixed
Bugfix in Q2Vault class’s get_hq_creds function for cases where HQ_URL was not present in the stored vault value
Bugfix for
q2 insight get_preferred_hq_list
for cases where no HQs are returned
v2.7.1 - 2019-07-03
Changed
q2 run
will now monitor for changes to typescript (.ts) files as wellAdds .lock and package-lock.json files to non-monitored Frontend files list
q2 create_extension
with Tecton frontends will now put the q2-tecton-sdk reference in package.json rather than the index.html file
Added
q2 upgrade
will now allow for updating of Tecton versions in frontend directories. Works with both package.json references and hardcoded html references
Fixed
Fixes a bug where a newly created repo would throw a NoRootError on any
q2
commandFixes a bug in api_helpers where primary_cif was referring to social_security_number. It will now prefer the primary_cif field if available, falling through to using SSN if it’s not
Removed
git_hooks will no longer be installed by default. This is now handled by our autodeploy CI process
v2.7.0 - 2019-06-27
Added
Adds a MessageTemplate DbObject for getting data from the
q2_MessageTemplate*
tables in the Q2 DatabaseAdds the USE_SLASH_FOR_INSTALL_PORT setting boolean for Tecton rerouting in the shared dev box. Should be set automatically
Adds an @mfa_validation_required decorator for TectonHandlers
Fixed
Fixed a bug where node_modules directories would be monitored for file changes when
q2 run
started
Changed
Generating a Tecton powered extension will now use the latest tecton version every time
v2.6.0 - 2019-06-18
Added
Adds
q2 insight
entrypoint with several subparsers for use inside the Q2 networkAll InsightAPI calls are callable from Python and can be embedded inside extensions
Adds the
self.central_user
property to the Q2CentralRequestHandler class. Central extensions now have easy access to user attributes.
Changed
OUTBOUND_WHITELIST will now strip off protocol from whitelisted patterns (http/https). This was leading to confusion in several cases.
v2.5.0 - 2019-06-12
Added
Adds capability to Broadcast a secure message to a list of users with an optional attachment
Adds a SecureMessage DbObject
UserLogon DbObject’s
get_login_by_name
now takes an optional Admin boolean to change the type of user returnedUserLogon DbObject’s
get_login_by_id
now takes an optional Admin boolean to change the type of user returned
Changed
q2 db unlock_user
now uses HQ’s ChangeEndUserPasswordStatus endpoint instead of relying on SDK bespoke logic
Fixed
Cleans up default generated
Q2Tecton
form htmlFixes a bug where a NOMAD_SECRETS directory might be present without a VAULT_TOKEN, leading to a breaking startup condition
v2.4.0 - 2019-06-05
Fixed
Fixes a bug introduced in 2.3.1 where VAULT_KEY was not defined in default_settings.py
Fixes a bug where non valid Form shortnames could make it into the database (with spaces)
Fixes a bug where Account.MaskedCifInternal could be interpretted as non-text
Fixed a bug where
q2 create_coreflow
would generate a non valid extension.py
Added
Adds Vault mocking (Docs under Advanced Features)
v2.3.1 - 2019-05-30
Fixed
Fixes a bug where a certain dev flow could cause the SDK package to be built without the HQ api included
v2.3.0 - 2019-05-30
Added
Adds initial support for SmartAPI integration
Adds a
self.smart
property to OnlineHandlerAdds a
get_smart_token
method to Vault objectAdds AccessCode DbObject for gathering EndUserAccessCodeTargets from our database
Adds command line helper for AccessCode
q2 db get_access_code_targets
Better type hinting on GetEndUserAccessCodeTargets HQApi call
Changed
q2_request calls will now detect if they are being invoked from a testing suite and return mock responses rather than make real network calls if appropriate
Fixed
Fixes a bug with the
/inspect
endpoint which would not match extensions with - in the name
v2.2.0 - 2019-05-24
Added
CLI Tab completion is now more flexible in where the q2 binary is installed. No longer has to be in a virtualenvironment
Adds a new Email DbObject
Changed
DOCS Better documentation on setting up VSCode as your IDE
Fixed
Fixes bug with
q2 add_to_nav
which would fail to remove under some conditions
v2.1.4 - 2019-05-13
Changed
Updates help text on
q2 get_installed_forms
to be more clear
Fixed
Fixes a condition by which multiple frontend building processes could be started simultaneously
Added
Better type hinting on ObjectGroup DbObject
v2.1.3 - 2019-05-09
Fixed
Fix Caliper Deployment Manager internal function call
Fix bad reference error in
q2 db add_nav_node
that was missed with the 2.0 upgradeFixes template bug with BaseMapper in
q2 create_coreflow
Better detect root of repo for cli tab completion
Changed
q2 test
will no longer show deprecation warnings
v2.1.2 - 2019-05-02
Fixed
Fixes backwards incompatibilities with Windows since 2.0.0 release
Updates
short_name
property in sdk_UpdateUiText Stored Procedure to be consistent with DB length
v2.1.1 - 2019-05-01
Fixed
Fixes a bug where if q2 binary was installed at a system level it could cause zombie processes to accumulate, overwhelming the system process table
Fixes a bug where a custom form shortname could cause a bad URL endpoint when deployed into the Q2 datacenter
Fixes a bug where ‘Installed Extensions’ line would be shown twice during
q2 run
v2.1.0 - 2019-04-26
Added
q2_sdk.hq.db.user_logon.UserLogon
now hasget_login_by_name
,get_login_by_id
, andget
methods’Adds
q2 db get_user_logon
cli entrypoint for quickly looking up user logons
Fixed
Fixes InstallSteps in the DbPlan for GtDataElement, ReportInfo, and UIConfigPropertyData
Fixes bug with
q2 create_extension --minimum-only
which would generate a non viable import path for the inherited Handler,Fixes a bug with
q2 db <entrypoint>
calls which would serialize ‘’ database columns as a null character, confusing the terminal column output”
Changed
q2_sdk.hq.db.logon.LogonData
now inherits fromq2_sdk.hq.db.user_logon.UserLogon
rather than having two classes with similar functionalityen-US.json
file in Tecton frontend folders now starts out blank, inheriting from the default
Deprecated
q2_sdk.hq.db.logon.LogonData
has been deprecated and will be removed in the future. Please move to usingq2_sdk.hq.db.logon.user_logon.UserLogon
directly
v2.0.0 - 2019-04-23
Added
Introduces Tecton: A robust offering for integrating frontend assets with your SDK extensions (Q2 Online >=4.4 currently)
New
q2_sdk.core.http_handlers.Q2TectonOnlineRequestHandler
handlerIntroduces the OUTBOUND_WHITELIST variable in settings file. In debug mode, any q2_requests calls will fail if the domain is not whitelisted. This is to encourage frontloading the “please allow this through the Q2 firewall” networking step.
Adds TectonError exception type
Adds BlacklistedUrlError exception type
Adds RunServerError exception type
q2 install_form
reworked to include Tecton questionsq2 remove_form
reworked to include Tecton piecesq2 run
hosts frontend assets behind a static file serverq2 run
introduces the—-no-build-assets
flag, which disables building frontend assets automaticallyq2 run
will now prompt for killing an existing server on port if detectedAdds TectonConfig dbObject for working with Tecton information in the database
Adds UserPropertyDataRow type hinting completion class for UserPropertyData DbObject
Adds .cache and node_modules to generated .gitignore file
Extension name is prompted for in
q2 create_extension
if omittedNew
q2_sdk.ui.forms.Q2TectonForm
class for server side rendered forms with Tecton powered frontendsAdds
get_list_by_name
method to Product DbObjectAdds PhoneNumber DbObject
Adds
q2 db get_phone_number
entrypointAdds AJAX support into Q2Form powered OnlineHandlers. More docs In the AJAX Support page under Advanced Features
Changed
Tornado dependency changed from
5.1.1
to6.02
VPN detection is now automatic and will no longer prompt
Moves
q2_sdk.core.install_form.get_my_ip
toq2_sdk.tools.utils.get_my_ip
Signature changes:
hq_credentials is now a required parameter for all HqApi WedgeOnlineBanking modules’ ParamObj objects
i.e.
ActivateAuthToken.ParamsObj(logger, hq_credentials...
Renames:
q2_sdk.core.dynamic_imports.ExecuteStoredProcedure
is nowq2_sdk.core.dynamic_imports.api_ExecuteStoredProcedure
q2_sdk.hq.db.user_account_attribute.UserAccountAttributes
is nowUserAccountAttribute
to more closely match the singular name pattern of other DbObjects
Import Path changes:
All HqApi modules are now fully qualified imports
i.e.
from q2_sdk.hq.hq_api import q2_api; q2_api.ActivateAuthToken
will no longer work. It must befrom q2_sdk.hq.hq_api.q2_api import ActivateAuthToken
All DbObjects are now fully qualified imports
i.e.
q2_sdk.hq.db.Customer
is nowq2_sdk.hq.db.customer.Customer
q2_sdk.core.http_handlers.*
paths have changed:Q2BaseRequestHandler
is nowbase_handler.Q2BaseRequestHandler
Q2HqRequestHandler
is nowhq_handler.Q2HqRequestHandler
Q2ArdentRequestHandler
is nowardent_handler.Q2ArdentRequestHandler
Q2CentralRequestHandler
is nowcentral_handler.Q2CentralRequestHandler
Q2OnlineRequestHandler
is nowonline_handler.Q2OnlineRequestHandler
Q2LegacyRequestHandler
is nowlegacy_handler.Q2LegacyRequestHandler
q2_sdk.hq.models.*
paths have changed:Account
is nowaccount.Account
AccountList
is nowaccount_list.AccountList
AccountRights
is nowaccount_rights.AccountRights
FormInfo
is nowform_info.FormInfo
HADE
is nowhade.HADE
HqCommands
is nowhq_commands.HqCommands
HqCredentials
is nowhq_credentials.HqCredentials
HqResponse
is nowhq_response.HqResponse
OnlineSession
is nowonline_session.OnlineSession
OnlineUser
is nowonline_user.OnlineUser
PasswordPolicy
is nowpassword_policy.PasswordPolicy
SecureMessageAttachment
is nowsecure_message_attachment.SecureMessageAttachment
SecureMessengerType
is nowsecure_message
find_with_default
is nowxml_helper.find_with_default
q2_sdk.models.*
paths have changed:account
is nowcard
q2_sdk.models.cores.mappers.*
paths have changed:BaseMapper
is nowbase_mapper.BaseMapper
BaseDemographicInfoMapper
is nowdemographic_info.BaseDemographicInfoMapper
BaseCardListMapper
is nowcard_list.BaseCardListMapper
BaseUpdateDemographicMapper
is nowupdate_demographic_info.BaseUpdateDemographicMapper
q2_sdk.models.cores.models.*
paths have changed:CoreUser
is nowcore_user.CoreUser
CoreResponse
is nowresponses.CoreResponse
q2_sdk.models.cores.queries.*
paths have changed:BaseQuery
is nowbase_query.BaseQuery
BaseRestrictedQuery
is nowbase_restricted_query.BaseRestrictedQuery
Install steps are now fully qualified imports
i.e.
from q2_sdk.core.install_steps.DbPlan
is nowfrom q2_sdk.core.install_steps.db_plan import DbPlan
If UserPropertyData InstallStep in DbPlan matches more than one Product, it will not install for all matching products
Adds
q2 ardent refresh_cache
entrypoint for use with 4.4 stacksArdent RefreshCache will automatically be called on
q2 add_to_nav
if appropriate
Removed
Removes
DISABLE_BROWSER_LINK
flag in settings fileRemoves
USE_SCSS
flag in settings fileq2 run
removes the--disable-browser-link
flag and capabilities to auto refresh frontend assets in a pre-Tecton mannerRemoves BrowserLink built-in extension
Removes
redirect_route
anddestination
parameters fromq2_sdk.ui.modals.ModalAction
class in favor ofexternal_route
andinternal_route
Removes
q2_sdk.ui.script_appenders.BrowserLinkAppender
class
Fixed
Faster entrypoint loading
Fixes a bug with hq_api changes not being tracked
q2 upgrade
now matches alpha version stringq2 upgrade
coloration in shared dev machineq2_sdk.tools.utils.get_repo_root
will no longer have the side effect of changing the working directoryFixes a backwards incompatibility bug with sdk_AddApiStoredProc SQL Stored Procedure
Fixes a bug with HQ Api calls that took child parameters called ‘int’ and mistakenly serialized them as ‘integer’
v1.89.1 - 2019-04-17
Fixed
Fixes a startup bug with the recent get_certificate code under certain datacenter conditions
Fixes a bug with
q2 add_ui_text
command line entrypoint
v1.89.0 - 2019-04-16
Added
Adds GTDataElement DbObject and associated InstallStep
Adds
q2_sdk.core.vault.get_certificate
method for working with client certificatesAdds a
q2 add_new_account
entrypoint for working with account data from the CLI in devAdds
q2 db get_gt_data_elements
,q2 db add_gt_data_element
, andq2 db remove_gt_data_element
entrypointsAdds
q2 db get_host_account_elements
entrypointBetter type hinting on Prodct and User DbObjects
Fixed
Fixes a bug that prevented removal of navigation nodes in staging/prod environments
v1.88.1 - 2019-04-12
Added
q2 check
will now ensure DEBUG=True has not been hardcoded in the settings file
v1.88.0 - 2019-04-09
Added
ApiStoredProc
DbObject now takes an audit_action shortname
Fixed
Fixes styling issue with index.html template provided with
q2 create_extension
Fixes a bug where certain production deployments of HQ were not compatible with WedgeOnlineBanking calls
v1.87.0 - 2019-04-02
Added
Adds
MessageRecipientGroup
DbObject
Fixed
Fixes import path in generated
create_extension
outputs
v1.86.0 - 2019-03-29
Changed
q2 create_extension
will now generate jinja templates for index and submit pages rather than usingq2_sdk.ui.fields
variants
Added
q2 upgrade
will now prompt for installing sql scripts after the upgrade completes. INFO This will only work if the version you are upgrading FROM is this one or later
v1.85.0 - 2019-03-27
Fixed
Fixes a bug where add_nav_perms would fuzzy match prefixes allowing for the wrong property to be updated
Fixes a bug where older db_versions could not be updated with
q2 setup_db
Added
Adds an
update
method to the UiText dbObjectAdds a
q2 db update_ui_text
entrypointAdds a
get
method to the WedgeAddress DbObjectAdds a
q2 db get_wedge_addresses
entrypointBetter type hinting on
q2_sdk.hq.models.OnlineUser.demographic_info
Changed
WARNING SQL scripts have been updated. Please run
q2 setup_db
to ensure you are up to date
v1.84.0 - 2019-03-19
Added
Adds a
q2 db reset_password
which will reset a password for a given login nameq2 create_coreflow
now takes a –core-name and a –operation parameter
Fixed
Fixes a bug with
q2 check
that would fail to test importability of CUSTOM_CORESFixes a bug with
q2 check
that would cause a failure if certain older versions of q2-cores were installedFixes a bug with
q2 check
which would cause a failure if ONLY CUSTOM_CORES were installed with no q2-coresFixes a bug with
q2 test
where node_modules wasn’t properly ignoredFixes a bug with
q2 generate_config
which was not properly discovering Q2OnlineRequestHandler as the parent classFixes a bug with
q2 generate_config
which was not working proeprtly with CUSTOM_CORESFixes a bug with the DemographicInfo class which was not properly filtering out
None
items
Changed
q2 db create_online_user
no longer preselects group 1
v1.83.0 - 2019-03-13
Fixed
Fixes a bug with ZSH tab completion if an entrypoint has a / in the description
Added
Adds a
q2 create_online_user
entrypoint for use in dev environmentsq2 setup_db
now differentiates between HQ versions and installs appropriate sqlq2 setup_db
now has a--db-version
flag to lock down instead of autodiscover db versionq2_sdk.hq.api_helpers
now has a ``generate_user_logon_password` function which will create a random passwordNavNode
dbObject now takes in a route_parameters for 4.4 environmentsAdds ConfigPropertyID and UiSource to
UiConfigPropertyData
dbObject cli outputUiConfigPropertyData
now has a.update
methodCreated a
hq.models.PasswordPolicy
object for use with thegenerate_user_logon_password
function
v1.82.2 - 2019-03-06
Added
Enables apispAddAccountAssociation stored procedure by default which is used for certain account linking workflows
Fixed
Fixed a bug in the clone_from_gitlab script on the shared dev box that caused newly cloned repos to fail running the q2 binary
v1.82.1 - 2019-03-04
Fixed
Fixes a bug where default port was not detected in
q2 install_form
Fixes a bug where the Form’s form_name was used instead of short_name in the q2_wedge_address table
Fixes a bug where group_ids passed on the command line were not cast to integers appropriately for
q2 install_form
v1.82.0 - 2019-03-01
Fixed
Fixes a bug where passwords were not always masked if embedded in a JSON blob
Fixed a bug where trying to install a form with 0 groups selected would raise an exception
Added
Adds a
q2 invalidate_hq_cache
entrypoint for >=4.4 stacks, facilitating live NavNode reloads without a full HQ bounceCreates a
WedgeAddress
dbobjectAdds Type hinting on UiText dbobject return shapes
Changed
AddToNav will now use InvalidateCache if appropriate
q2 test
will now ignore ‘node_modules’ directory if it exists in preparation for upcoming front end development focused releaseRemoves the sdk_InstallForm.sql file and splits it into more targetted sdk_AddWedgeAddress and sdk_AddForm
Warning Please run
q2 setup_db
to get the latest DB changesq2 get_ui_text
’s language parameter is now optional (--language
)q2 generate_hq_api
will now generate an init file with relevant deprecation warnings inside
v1.81.0 - 2019-02-25
Changed
Splits
Q2RequestHandler
into several smaller handlersCode is backwards compatible, though we will deprecate the use of Q2RequestHandler in the future and prefer the newer ones
Updates
q2 check
with knowledge of new RequestHandler typesq2 create_extension
will now prompt for RequestHandler type, defaulting to the backwards compatible version
Added
Adds
Q2HqRequestHandler
Adds
Q2ArdentRequestHandler
Adds
Q2CentralRequestHandler
Adds
Q2OnlineRequestHandler
Adds a
--minimum-only
flag toq2 create_extension
to remove unnecessary boilerplateAdds a
get_data_by_value
method toUserData
dbObject
v1.80.0 - 2019-02-13
Added
Adds File DbObject for interacting with the Q2_File table
q2 install_form
now takes a-y
or--accept-defaults
flag to not prompt for db_configurations changesUser DbObject now has a
set_profile_update_flag
method and CLI commandCustomer DbObject now has a
get_logins_by_customer
method and CLI commandDataFeed DbObject
get
method can now gather more details if a specific short name is provided
Changed
q2 install_form
prompts for DbConfig Lists now default toFalse
, meaning “Do not edit” easier user interaction flow
Fixed
Fixes a bug which broke Core imports in older versions of q2_cores
v1.79.1 - 2019-02-11
Changed
Updates for faster start times running
q2
command and subcommands
Deprecated
from q2_sdk.hq.hq_api import q2_api; q2_api.ModuleName
is now deprecated in favor offrom q2_sdk.hq.hq_api.q2_api import ModuleName
v1.79.0 - 2019-02-07
Added
Adds UserData DbObject
AuditRecord DbObject now has a .create method for ease of use
Better type hinting on DbObject.hq_response property
Adds get_users_under_customer method to User DbObject
Adds update_by_id method to UserPropertyData DbObject
WARNING Please run
q2 setup_db
to install the latest stored procedures for new functionality
Changed
Q2SingleSignOn object now hides Q2’s built in submit button using CSS rather than javascript
v1.78.0 - 2019-02-05
Added
Adds Product DbObject
Adds ProductType DbObject
Adds support for Product and ProductType columns in UserPropertyData DbObject/install steps
v1.77.0 - 2019-01-29
Added
Updates HQ Api bindings to 4.4.0
Fixed
Fixes a bug with bash completion where user aliases could affect completion results
Fixes the name parameter mismatch in
q2 db add_third_party_data_element
Fixes the name parameter mismatch in
q2 db remove_third_party_data_element
Changed
ThirdPartyDataElement.delete will now remove all related ThirdPartyData rows first to avoid foreign key constraints
NOTE To take advantage of this, please run
q2 setup_db
to update your db scripts
v1.76.0 - 2019-01-24
Added
q2 create_extension
now has a –register flag to auto register in the settings fileAdds a Customer DbObject
Adds the ability to search the User DbObject by SSN, PrimaryCif, or both
Adds the ability to search UserPropertyData DbObject by UserRoleID
Failures in Stored Procedure calls that didn’t technically fail at the HQ layer will now print the Sproc error message to the logs
Fixed
Fixes a bug with UserDemographicData not serializing correctly if there are emails
v1.75.1 - 2019-01-18
Added
q2 add_to_nav
now takes a -f/–form-id parameter
Changed
q2 remove_form
–form_id has become –form-idq2 remove_form
–short_name has become –short-name
Fixed
Fixed a bug preventing
q2 update_installed_form -c
from truly accepting a dictionary inputFixes a bug where calling .text on a non-existent xml element in self.account_list would throw an error. Now returns ‘’ instead
Fixes a bug in q2_form that prevented forward UUX versions from accurately hiding the double submit button
Fixes a backwards incompatibility bug with putting
q2_cores.CoreName
in the settings file as CORE
v1.75.0 - 2019-01-15
Added
Adds User DbObject
Adds
q2 db get_user
entrypointWARNING Please run
q2 setup_db
to install the latest stored procedures for new User functionality
v1.74.0 - 2019-01-11
Added
Adds the State DbObject (
q2_sdk.hq.db.state
)Adds the
q2 add_dependency
entrypoint for installation of of third party dependenciesq2 run_db_plan
now takes a –file (or -f shortform) parameter to run using a seed fileAdds a
.element
attribute toq2_sdk.hq.models.HADE
which will have the raw xml object pre parsed
Fixed
Fixed a bug where entrypoints ending with the letters p or y would not load correctly
Fixed a backwards incompatibility with CUSTOM_CORES. Upgrades from prior versions using the custom core idea will now have a clean upgrade path
v1.73.1 - 2019-01-07
Fixed
Fixes logging filter bug where a tuple message would cause a stack trace in the logs
Further cleans up incoming xml auto type discovery in regards to floats, strings, integers, and booleans
v1.73.0 - 2019-01-03
Added
Lists and dictionaries are now supported in the wedge address configs with command line install
Fixed
zero value floats and integers will no longer be evaluated to blank strings in account details and account data elements
v1.72.5 - 2018-12-19
Changed
HealthCheck is now more performant
Fixed
Don’t print extraneous nav perms warning when using from CDM
v1.72.4 - 2018-12-18
Changed
Moved Paden Rose to the Caliper Team section of the Authors
add_nav_node improvements in staging and prod deployer tool
performance improvements populating the hade_dict for accounts
v1.72.3 - 2018-12-17
Fixed
Fixes a BIG performance bug with logging filters
Fixes a bug with VaultInfo InstallStep when being called by /inspect
Performance improvements in Log Filtering RegEx expressions
Performance improvements in self.account_list object instantiation
Changed
WARNING self.logging_filters is now the LOGGING_FILTERS static attribute in the class handler
Added
DemographicInfo object emails will now filter out invalid emails (based on test@test.com) pattern
v1.72.2 - 2018-12-13
Fixed
Tweak vault info install step to work with the CDM
Fix backwards compatibility of deprecated kwargs in modal actions
Changed
Allow configurable vault prefix
v1.72.1 - 2018-12-12
Fixed
Fixes bug with /logging endpoint to more effectively run behind a load balancer
v1.72.0 - 2018-12-06
Added
Adds insight_features to db_plan to allow stored_procedures registered outside of the sdk to be installed as part of form installation
Adds VaultInfo InstallStep to seed Vault with key value pairs on form installation
Adds insight_features related checks in
q2 check
commandAdds better type hinting on GetAccountDetailsById Q2Api method
Fixed
Cleans up InstallStep discovery in install_form code
Fixes bug with Core registration in settings.py file
Changed
It is no longer necessary to reference q2_cores supplied Core objects as ‘q2_cores.Corename’ in settings.py. It is sufficient to say just ‘Corename’. Old versions will remain backwards compatible.
v1.71.0 - 2018-12-03
Added
Adds ApiStoredProc install step for use with DbPlan
Fixed
Fixes bug where null HQCredentials passed to a CoreMapper would raise an exception rather than using the Q2Api version of the call
v1.70.3 - 2018-11-30
Fixed
Fixes a bug with UserPropertyDataElement InstallSteps for automated deployment
v1.70.2 - 2018-11-28
Fixed
Fixes a bug with HQResponse object where Error responses without a description were coming back as success
v1.70.1 - 2018-11-28
Fixed
Fixes bug with
q2 check
where certain failures would not result in a non-zero exit code (for git hook integration)
Added
Splits
BaseMapper.execute
into_run_queries
and ``_parse_responses` to allow for more specific overrides
v1.70.0 - 2018-11-27
Added
SendAccountList, SendAccountDetails, and WedgePayloadStoredProc are now supported in
q2 get_installed_forms -f <id>
andq2 get_installed_forms -e <name>
commandsSendAccountList, SendAccountDetails, and WedgePayloadStoredProc are now supported in DbPlan, which will flow through to
q2 update_installed_form
andq2 install_form
commandsAdds Uninstall ability for ThirdPartyDataElement DbObject
Adds Uninstall ability for UiConfigPropertyData DbObject
Adds Uninstall ability for UserAccountAttribute DbObject
Removed
Removed PfmClassification DbObject
Removed PfmProduct DbObject
Changed
WARNING UpdateInstalledForm, GetInstalledForms, and InstallForm sql has changed. Please run
q2 setup_db
to seed the database with the latest stored procs
v1.69.6 - 2018-11-20
Fixed
Ensures optional_db_configs are in /inspect endpoint
v1.69.5 - 2018-11-19
Fixed
Fixed a bug with wedgeOnlineBanking API calls that referenced a non-existent variable
v1.69.4 - 2018-11-16
Added
Adds type hinting on GetAccountListByExternalCif HqApi call
Auto cleanses
q2_sdk.models.demographic.DriverLicense
input
Fixed
Custom Created Dynamic Cores will now display in
q2 install_form
andq2 update_installed_form
entrypointsCustom Created Dynamic Cores will now display at /inspect/extension_name endpoint
v1.69.3 - 2018-11-14
Fixed
Fixes DbObject calls after last release
v1.69.2 - 2018-11-14
Fixed
Fixes bug with VerifyMicroDeposit HQAPI call
Changed
Introduces a
.execute
method on all HqAPI methods that will call either .get_soap or .get_json for you. This is just for convenience to keep the interface consistent.
v1.69.1 - 2018-11-09
Fixed
Autodiscovers new VPN octet in Q2’s network
Auto cleanses SSN input in
q2_sdk.models.demographic.DemographicInfo
class
Added
Adds OPTIONAL_WEDGE_ADDRESS_CONFIGS to address a situation where stale database configurations could break extension upgrades
v1.69.0 - 2018-11-08
Added
q2 test
now has a--coverage
option that will show testing code coverageA failed core response mapping will now show the raw core response in an ERROR level log
Changed
q2 setup
will no longer prompt for ABA. This is now handled on the Q2 side at deployment configuration time
Security
Updates mistune, pytest, pytest-asyncio, and python-dateutil packages to the latest versions
v1.68.0 - 2018-11-02
Added
Adds NotificationType DbObject
Fixed
Fixes bug with CLI tab completion if called from a non root directory of the repo
Fixes bug where NULL HqAuthTokenTypeID in the database installation would cause the online_form response to fail
Changed
Changes signature of q2_sdk.ui.modals.ModalAction. redirect_route is now called external_route. destination is now called internal_route. If you previously used keyword parameters, this is backwards compatible. If you w Previous keywords are deprecated but still available
v1.67.1 - 2018-10-31
Security
Updates minimum requests version to 2.20.0 for CVE-2018-18074
Changed
Updates minimum tornado version to 5.1.0
v1.67.0 - 2018-10-29
Added
Upgrades to Python 3.7 base
Adds a /logging endpoint via which you can temporarily change the LogLevel of your running service
Changed
WARNING Clients in the Shared Dev cloud machine must update to this version by running the command
upgrade_to_python3.7
in their shell
v1.66.2 - 2018-10-26
Added
Introduces a
self._account_model_proxy
property on Q2RequestHandler class to allow overriding of the Account Model for specific FIs
v1.66.1 - 2018-10-25
Security
Built in Password filter better handles JSON objects with password string in them
Fixed
Ensures several fields on Account model are strings (aba, acct_desc, acct_label, acct_number_internal, acct_number_internal_unmasked, acct_number_external_unmasked, cif, cif_internal, cif_internal_unmasked)
v1.66.0 - 2018-10-23
Added
Added support for use and compilation of SCSS files
v1.65.0 - 2018-10-16
Added
Adds disclaimer_id_to_skip parameter to HqCommands to support Disclaimer postpone
v1.64.2 - 2018-10-15
Changed
Updates default event loop such that up to 128 max connections can be made to external services (rather than 5 * CPU cores as default)
Fixed
Handles a situation where OnlineUser SSNs starting with 0 were not appropriately masked
Fixes a regression in sdk_InstallForm that set URL to 100 characters instead of 256
v1.64.1 - 2018-10-12
Fixed
Fixed a condition where a missing .style.yapf file could cause errors on
q2 create_extension
callFixed a communication bug with HQ calls that use Enum type variables
Above fixes ClientStartup, CreateAlertByHadeCurrencyNotification, CreateAlertByOnlineActivity, CreateAlertByPostedTransaction, SendNotification3, SendNotification3WithHtml, SendNotification4, SendNotification4WithHtml, SetLoggingLevel, and UpdateReportRun endpoints
v1.64.0 - 2018-10-09
Added
Adds –output (-o) flag to
q2 generate_hq_api
to override the default output directoryAdds -e flag to
q2 run_sql
command for consistency across other CLI entrypointsAdds self.ssn attribute to
q2_sdk.models.account.Card
classAdds uninstall capability to the AuditAction InstallStep (for use in dev only)
Fixed
Correctly handles boolean HqAPI Parameter Object types
v1.63.1 - 2018-10-09
Fixed
Log an error if settings.CORE is unimportable rather than failing silently on
q2 run
Fixed a bug that prevented WedgeOnlineBanking calls from reusing the existing HQ and Token passed in on the request
Will now only rotate HQ creds if the last failure one tried is in the list of options stored in settings.HQ_CREDENTIALS (Does not affect requerying Vault for updated creds in the event of failure)
Fixes a bug where exceptions from the Core were not being reported as error_messages in HqResponse objects
v1.63.0 - 2018-10-04
Fixed
Adds a Global PasswordFilter to mask CsrPwd and UserPassword nodes in the logs
Fixes a bug where missing initial HQ credentials under some conditions not refresh from subsequent vault calls
Changed
Disclaimer DbObject, InstallStep, and SQL has been completely rewritten. This now takes less parameters, handles more cases, and type hints more effectively
self.aba, self.hq_url, and self.hq_auth_token are now removed, refer instead to self.hq_credentials.aba, hq_url, and auth_token variants
Added
Adds
Disclaimer.get_disclaimer_form_data
method for associating DisclaimerFormDataIDs with Disclaimer runtime calls
v1.62.0 - 2018-10-03
Added
Added gitattributes file to handle line ending mismatches between linux and windows
Fixed
Ignore /inspect calls in logs
Allow https form urls
Handle empty hq urls with rotating hq feature
v1.61.1 - 2018-10-02
Fixed
Fixes a bug where html tags were being cleaned off of central reports in error
Fixes a bug where upgrading q2-cores would also upgrade q2-sdk
v1.61.0 - 2018-10-01
Deprecated
settings.ABA/CSR_USER/CSR_PWD/HQ_URL have been deprecated in favor of settings.HQ_CREDENTIALS object with the same properties
Fixed
Fixed a bug that would prefer ABA as VAULT_KEY over a provided VAULT_KEY environment variable if both were present
Fixes a bug where rotating vault token from NOMAD was not being respected
Fixed a bug where forms installed without a custom_name could cause
q2 get_installed_forms
to raise an exception
Changed
settings.VAULT_CLIENT no longer the source of truth for if vault is used for a given service. Now self.USE_VAULT_FOR_CREDS is used
q2_sdk.core.vault:get_client()
will now give a fresh vault client each time (Used to reuse existing connection)Updates all built in HqApi classes to use settings.HQ_CREDENTIALS instead of individual HQ_URL/CSR_USER/etc properties
Added
Adds ability for HQ_URL to be defined as a comma delimited list, either as an ENV variable, or in VAULT
Updates
q2_sdk.hq.models.HqCredentials
to support multiple HQs (hq_url_list property), and rotation logic between themAdds logic for rotating through provided HQ connections when an HQ begins throwing an error
Adds hq_list information to both inspect endpoint (/inspect) and entrypoint
q2 inspect
Adds a default logger for DbObjects
v1.60.1 - 2018-09-25
Fixed
Fixes bug with
q2 db update_nav_node
which made unrunnableFixes a bug with toggleable command line list selection after the first page (such as group selection on install_form)
v1.60.0 - 2018-09-24
Added
Q2RequestHandler will now automatically detect and parse Central Form PostData and RoutingKeys
Changed
Cleans up logic for valid version detection in
q2 check
entrypointNon responsive cache endpoints will now log errors to the server log
Fixed
Fixes a bug where a non responsive cache endpoint could kill an entire request
v1.59.1 - 2018-09-12
Fixed
Fixed a bug where
self.cache.incr
andself.cache.decr
would throw errors
Added
/inspect
endpoint will now display settings.DEBUG value
v1.59.0 - 2018-09-06
Security
Greatly refactored all the sql stored procedures behind the scenes
Added audit actions on all stored procedures
Added Error logging for all stored procedures
Changed
UserPropertyData rows now default to NULL UiSource rather than OnlineBanking
v1.58.0 - 2018-08-30
Fixed
Fixes a bug where certain q2_request errors would cause AppDynamics business_transactions to be closed twice
Fixes a bug with any HqAPI calls that took an xml_payload input.
WARNING If you are using any existing versions of this call (SendSecureMessageAsXml, AddCustomer, AddUser, AddUserLogon) you should update to using
q2_sdk.hq.hq_api.q2_api
version
Added
q2 add_nav_perms
now has a –form-id (-f) and a –short-name (-e) flag for ease of useHeader generated as part of
form.Q2Form
now has an html id (q2-form-header)
Changed
Add UserPropertyData now defaults to NULL instead of OnlineBanking
Install Form URL field now handles URLs up to 256 characters (up from 100)
sdk_UnlinkAccount
stored procedure is now only available in dev
v1.57.0 - 2018-08-27
Added
DataFeed InstallStep now has an uninstall feature which will be run on
q2 run_db_plan --reverse
Vendor InstallStep now has an uninstall feature which will be run on
q2 run_db_plan --reverse
Changed
TaxIDFilter is now on by default, which will log Social Security Numbers and TaxIDs as xxx-xx-1234
Fixed
Fixed a bug where Modals with newlines in their messages would cause an exception
v1.56.3 - 2018-08-22
Fixed
Fixes a missed reference to AdapterPassThru in core base_query.execute
v1.56.2 - 2018-08-22
Fixed
Fixes a bug where dev only stored procedures were not installed with
q2 setup_db
v1.56.1 - 2018-08-14
Fixed
Fixed a bug where the builtin hq_api bindings would not be pulled down with the source distribution
v1.56.0 - 2018-08-13
Fixed
Better handling of Nested objects in generated HqAPI methods
Fixed a circular import regarding the RecursiveEncoder object
Fixed a circular import with the UniqueStack object
Changed
A generic form of the HqAPI bindings now live with the SDK module. Accessible via
q2_sdk.hq.hq_api
As per the above, it is no longer necessary to run
q2 generate_hq_api
to get access to the HqAPI python bindingsq2 generate_hq_api
will no longer write to an hq_api directory in the current directory, but rather hq_api_overrides. This was done for backwards compatibilityAll builtin entrypoints (
q2 install_form
,q2 db get_groups
, etc) now use the generic HqAPI python bindings
Added
HqAPI bindings now have better type hinting. In the instance of
ExecuteStoredProcedure
for instance, a SqlParam’s DataType is now an enum accessible viaExecuteStoredProcedure.DataType.{VarChar,Int,Bit}
etc
v1.55.4 - 2018-08-13
Fixed
Fixes a bug with
q2 update_installed_form
to handle dynamic core configurations
Security
Moves potentially destructive SQL Stored procs into a dev_only subfolder so they will not accidentally be seeded into a production database
v1.55.3 - 2018-08-07
Fixed
Fixes a bug where an OnlineUser’s zipcode would lose leading zeros
v1.55.2 - 2018-08-06
Fixed
Fixes a problem with backwards incompatibility in the UserPropertyDataElement DbObject
v1.55.1 - 2018-08-02
Fixed
Fixes AppD remote service call details
v1.55.0 - 2018-08-01
Added
Adds CreditCardFilter to built in logging filters
Adds bt_handle parameter in call_hq to allow AppDynamics tracking in HQ calls
v1.54.1 - 2018-07-31
Fixed
self.get_ui_text
will now correctly discover the current HQ token if applicable
v1.54.0 - 2018-07-25
Added
Adds the concept of OPTIONAL_CONFIGURATIONS alongside REQUIRED_CONFIGURATIONS. These will behave in the same manner, but will not stop the webserver from starting if omitted
Changed
Updates
q2 install_form
to prompt for OPTIONAL_CONFIGURATIONS if appropriateUpdates
q2 update_installed_form
to prompt for OPTIONAL_CONFIGURATIONS if appropriateUpdates ```q2 generate_config`` to prompt for OPTIONAL_CONFIGURATIONS if appropriate
v1.53.1 - 2018-07-23
Fixed
Fixed a bug where an empty WedgePathName in the database would cause subsequent Install Form calls to fail
v1.53.0 - 2018-07-19
Added
UserDemographicData DbObject now has a .get method
v1.52.7 - 2018-07-18
Fixed
Fixed a bug where an empty form_field could result in broken xml
Fixed
q2 upgrade
entrypoint on Windows
v1.52.6 - 2018-07-16
Fixed
Fixes a bug where Windows would not detect ip with
q2 update_installed_form --my-ip
in some cases
Added
q2 db get_nav_nodes
now returns FormID if applicable
v1.52.5 - 2018-07-13
Fixed
Add to nav perms now sets source id correctly
v1.52.4 - 2018-07-11
Fixed
Fixes a bug where a navigation node installed without a UiSource was unable to be removed
v1.52.3 - 2018-07-09
Fixed
Fixed a bug where calling
q2
without parameters would result in an error
v1.52.2 - 2018-07-06
Fixed
Fixed a bug with the command line interface not taking parameters for anything except
q2 test
v1.52.1 - 2018-07-06
Fixed
Fixes a circular import (under some conditions) in
q2_sdk.core.__init__.py
Added
q2 test
now takes arbitrary parameters. Any params not handled by the SDK will be passed through to pytest
v1.52.0 - 2018-07-06
Added
Togglable Menu items (such as selecting groups) now support ‘a’ and ‘b’ for all and none respectively
Adds ReportInfo DbObject with Add, Create, Update, and Delete functionality
Fixed
Fixes a bug with the builtin TaxIDFilter where dict types in logs would raise an exception
Fixed a bug with
q2 setup_db --print
where SQL scripts without newlines at the end would generate syntacticaly incorrect SQL
v1.51.1 - 2018-07-05
Fixed
Fixes a bug where an outside service could not call the add_to_nav function
Added
Adds a
--strict
flag toq2 db get_user_property_data
for backwards compatibility. Leaving this off will show properties for all usersAdds clearModal as a builtin function to the Q2Form template
Adds IDE completion information for the GetAlertTypeDetailIDs Hq call
Changed
Correctly sets
--category
as an optional parameter forq2 db add_user_property_data_element
v1.51.0 - 2018-07-02
Added
Modals can now have up to three custom action buttons, up from a max of 1. The keyword argument “modal_actions” now accepts a list of ModalAction objects.
Added audit record as a DB object
Add CLI management for new audit record DB object
Fixed
Correct issue causing custom extension filters to not function as intended
v1.50.0 - 2018-06-28
Added
q2 run_db_plan
now has a -y option to accept all defaultsCreated UserPropertyDataElements InstallStep
Built UserPropertyData and UserPropertyDataElements InstallStep uninstall functionality for local dev
Changed
UserPropertyData and UserPropertyDataElements DB Objects were given an overhaul for more flexibility
UserPropertyData and UserPropertyDataElements sql scripts were rewritten
v1.49.3 - 2018-06-27
Fixed
Fixes non-link-by-cif functionality of
q2 db add_linked_account
Fixes bug with
q2 db update_nav_node
implementation which could lead to “duplicate node” errors in the dbFixed javascript error that would be logged to the console regarding inputmask on a nonexistent phone field
Changed
Defaults
self.use_style_fixes
to False until more conditions are tested. This was causing double submit buttons to appear in some environments
Removed
q2 get_nav_nodes
is removed in favor ofq2 db get_nav_nodes
Added
Adds command line flags to
q2 db get_nav_nodes
,q2 db remove_nav_node
, andq2 db update_nav_node
v1.49.2 - 2018-06-21
Fixed
Fixed a bug with
q2 check
introduced in 1.49.0
v1.49.1 - 2018-06-21
Fixed
Fixes an edgecase where classes with overridden call methods could not be used as routes
v1.49.0 - 2018-06-20
Added
ModalAction: Added support for redirection to an internal extension route via the keyword argument “destination”.
Improvements to nav node DB tools
Removed
Removed an assertion preventing a routing_key from being set on Q2Form when hide_submit_button is True
v1.48.1 - 2018-06-12
Fixed
Fixes a condition where a malconfigured dynamic core configuration breaks the error logging
v1.48.0 - 2018-06-12
Added
If Certificate and Key paths are provided in settings, will also run server over https
If VERIFY_HQ_CERT is set to False in settings, will ignore certificate errors for HQ communication
Can now skip the allow_default_settings check in
q2 run
using either the -d or –allow-default-settings flags
v1.47.0 - 2018-06-08
Added
Routing framework now handles non async methods
q2 db update_nav_node
now also handles Route type nodes (This can be used to create parent menu items)
Fixed
Fixed a bug with
q2 db update_nav_node
updating non DirectLink type nodes
v1.46.2 - 2018-06-07
Changed
Clearer issue resolution message when creating_coreflow
Added
Warning message now appears if running
q2 run
from a location other than the root of the repo
v1.46.1 - 2018-06-06
Fixed
Fixes reordering of nav nodes query with
q2 db update_nav_node
Fixes bug with leaving a SelectMenu prompt blank while using a default value
Fixes a bug with using
q2 upgrade
to change q2-cores versions on the shared dev environment
v1.46.0 - 2018-06-04
Added
Creates the CoreUser model for instantiating Core models. This is a combination of self.online_user and self.account_list
Fixed
Core configurations can now accept complex data types (list, int, float) rather than just str
Deprecated
If q2-sdk is updated without updating q2-cores, will throw a deprecation warning when self.core is called prompting update
v1.45.2 - 2018-06-01
Fixed
Adds self.return_as_html on
q2_sdk.core.web.Q2RequestHandler
in the event a handler wants to turn off that functionality
v1.45.1 - 2018-05-30
Fixed
Fixes a bug where an empty NavigationNode.Order would cause get_nav_nodes to throw a stack trace
Fixes a bug where the /cache endpoint would fail to load if running behind a load balancer
Changed
q2_request calls will now log the URL on error in addition to the response
self.get_template will now only log what directories it is searching if it fails to find the template
v1.45.0 - 2018-05-25
Added
q2_sdk.core.cli.cli_tools.MenuOption
now has functionality for toggling style menusCreates
FormToGroup
dbObjectAdds
q2 db get_form_to_group
,q2 db add_form_to_group
,q2 db remove_form_from_group
commands
Changed
q2 update_installed_form
now prompts for group membership
Fixed
Fixed a bug where the /cache endpoint’s materialize.css file would sometimes not make it into the built package
Fixed a bug with production server cookie generation
v1.44.8 - 2018-05-22
Fixed
Fixed another Byte Order Mark use case for html local asset loading
v1.44.7 - 2018-05-21
Fixed
Fixed a bug where looking up a vault key by a deprecated name would cause the service to not start
Added
q2 check
will now search for usages of self.WEDGE_ADDRESS_CONFIGS where self.wedge_address_configs should be used instead``q2_sdk.models.demographic.Phone.build_from_str will now autodetect extensions”
v1.44.6 - 2018-05-17
Fixed
Apply SSO form styles to non theme-q2 themes
Added
Persist cookie through server reloads for faster development
v1.44.5 - 2018-05-15
Added
Added a ‘use_viewport-height’ keyword argument to Q2SingleSignOn form that will stretch the SSO content area to the height of the browser window (desktop only).
Add “db unlock_user” command to the CLI
Fixed
Phone style fixes for SSO form
v1.44.4 - 2018-05-14
Fixed
Removes Byte Order Mark from locally expanded template files
v1.44.3 - 2018-05-09
Fixed
Reverted get_template always returning bytestrings. Caused too many backwards incompatibilities
v1.44.2 - 2018-05-09
Fixed
Fixes encoding issue which caused Q2Forms to stack trace on return
Fixes encoding issue which caused Central Forms to stack trace on return
Changed
q2 remove_form
no longer bounces HQ
v1.44.1 - 2018-05-09
Fixed
Fixed bug where certain builtin jinja templates didn’t make it into the package
Added
Now correctly handles post requests from Central for Reports
v1.44.0 - 2018-05-08
Added
Adds support for locally referenced JS and CSS files. Write your html as you usually would, referencing a filename in the templates folder, and it will be replaced inline
Adds
?format=json
to /inspect endpoint
Changed
self.get_template
will now always return bytes instead of a raw str
Fixed
Fixes Q2SSO whitespace issue with floating headers at top of phones
v1.43.0 - 2018-05-03
Added
Makes a new /cache endpoint which allows for deletion of recently queried cache keys from memcache
Fixed
Fixed a bug with editable prompt count incrementing during db_plan installation
v1.42.0 - 2018-05-02
Added
Adds ability to navigate from one OnlineForm to another using
q2_sdk.ui.fields.FormLink
Adds
q2_sdk.hq.db.Group
object with get/create/delete available both through python code and the cli (q2 db get_groups
)
Deprecated
Deprecates
q2 get_groups
entrypoint in favor ofq2 db get_groups
v1.41.0 - 2018-05-01
Added
Adds initial hooks for AppDynamics integration
v1.40.1 - 2018-05-01
Fixed
Inspect endpoint now shows ui_text_prefix info
Fixed a bug with deploying db_plans with an internal web interface
Cleans endpoint.asmx off of HQ_URL if it exists
Cleans up VAULT interaction to allow for specifying a key other than ABA
v1.40.0 - 2018-04-26
Changed
q2_sdk.core.vault
will now handle both HQ_URL and URL keys in Vault equally
Added
UiText is now installed with a prefix listed in DbPlan
UiText now has multi language support
Relevant UiText for an extension is available from a RequestHandler with
await self.get_ui_text()
v1.39.0 - 2018-04-24
Changed
Refactored the entire db changes during install portion
DbPlan objects consist of one or more InstallSteps, which are populated with InstallStepAttributes. More information in the Advanced Features section of the documentation
q2 check
ensures INSTALL_VARS references are changed to DB_PLAN
Deprecated
q2_sdk.core.web.Q2RequestHandler.INSTALL_VARS
is deprecated in favor ofq2_sdk.core.web.Q2RequestHandler.DB_PLAN
v1.38.2 - 2018-04-24
Security
Changes from PyCrypto to the more modern and maintained cryptography package
v1.38.1 - 2018-04-20
Fixed
core_configuration_options in /inspect/extension_name endpoint now shows None as a possibility
v1.38.0 - 2018-04-19
Added
Cache will now compress data by default. Toggleable in settings file as
CACHE['COMPRESS_DATA'] = False
Cache can now encrypt information if pycrypto is installed. Off by default. Toggleable in settings file as
CACHE['ENCRYPTION_KEY'] = 'YOURKEYHERE'
v1.37.0 - 2018-04-17
Added
Adds BaseRestrictedQuery for non executable core queries
Adds Transaction model to
q2_sdk.models.online_transaction
Fixed
Fixes bug with
q2 get_installed_forms
where a missing CustomName would raise an exceptionFixes a bug where certain network interfaces could interfere with VPN detection on
q2 update_installed_form --my_ip
Fixes unhandled error condition where missing database creds when running
q2 run_sql
would raise an ugly exceptionFixes edgecase where an import error in an extention would throw the wrong warning when invoked with
q2 update_installed_form
Handles routing key in non-soap form requests (from curl, postman, etc)
Fixes incompatibility with pip 10.0.0 when invoking
q2 upgrade
v1.36.3 - 2018-04-16
Fixed
Fixes CLI readline error on Windows
Fixes bug with default tests generated as part of
q2 create_extension
Added
Adds None as option when using DYNAMIC_CORE_SELECTION=True for some scenarios
v1.36.2 - 2018-04-12
Fixed
Fixes a bug with readline support for Windows development
Fixes bad argument names for
q2 db get_third_party_data
v1.36.1 - 2018-04-11
Fixed
Remove ES6 from SSO form for IE11 compatibility
Fix typing issue with numerical logon names
Fix add to nav duplicate names issue
v1.36.0 - 2018-04-09
Added
Adds additional ToType and FromType options for
q2_sdk.hq.api_helpers.build_secure_message_xml
Fixed
Fixes attachment bug with
q2_sdk.hq.api_helpers.build_secure_message_xml
Fixes bug where Core queries would not be logged while in debug mode
v1.35.0 - 2018-04-05
Added
All command line inputs now have readline support (arrow keys, home, end, etc)
q2_sdk.hq.models.Account
now has can_deposit, can_view, and can_withdraw properties which return booleans
Fixed
Made install_form stored proc a bit more robust
v1.34.0 - 2018-04-03
Added
self.account_list is now an object with search_by_id capability
Added a routing system to better support multi-step workflows. See tutorial step “Routing” for full details.
Added an InternalLink UI Field for creating anchor tags that will link to a route inside your extension
Added an ExternalLink UI Field for creating anchor tags to call an external URL
Fixed
Fixed a bug where running
q2 install_form
without settings INSTALLED_EXTENSIONS would lead to a nasty stack traceFixed a bug where running
q2 lint
before creating an extension would fail
Changed
q2 create_extension
now creates a basic extension using the new routing schema. The old default methods ofhandle_initial_call()
andhandle_form_fields()
are replaced by routes nameddefault()
andsubmit()
.q2_post()
now handles routing requests and should not be implemented on Q2RequestHandlers if routing is to be used.self.form_fields now supports multiple fields with the same names as a list. i.e.
self.form_fields = {'key_name': ['1', '2']}
v1.33.1 - 2018-04-02
Fixed
Fixed a bug where entrypoints could report ExecuteStoredProcedure not installed under some conditions
Added
Added a CacheMock class in
q2_sdk.tools.testing.models
v1.33.0 - 2018-03-29
Fixed
Reverted change that preferred .execute over get_json/get_soap.
Added
DbObject now takes in an HqCredentials object to use HQToken if possible allowing for multitenant DBobject access
v1.32.4 - 2018-03-28
Deprecated
Newly generated hq_api bindings will prefer .execute over .get_soap or .get_json. Deprecation warnings at runtime will prompt changing to the newer version
Fixed
DemographicInfo object now scrubs emails, phones, and addresses for uniqueness
Added
Adds a testing helper for Q2RequestHandler in
q2_sdk.tools.testing.mock_handler_mixin
v1.32.3 - 2018-03-26
Fixed
self.db_config is now more efficient
q2 lint
will no longer throw exceptions on code you didn’t writeFixed a bug where updated pip versions would show up when running
q2 upgrade
Added
/status endpoint now takes an optional format==json query parameter
Changed
Upgrades to jinja2 version 2.10
v1.32.2 - 2018-03-22
Changed
q2 test
andq2 lint
now run on all code, not just INSTALLED_EXTENSIONS
v1.32.1 - 2018-03-21
Fixed
Tab completion is now cross platform compatible
v1.32.0 - 2018-03-19
Added
Three new command line input validators (FloatValidator, ListValidator, BooleanValidator)
Changed
WEDGE_ADDRESS_CONFIGS now handles Boolean, Integer, Float, and List types in addition to strings
It is now possible to install a form multiple times with different names using
q2 install_form
v1.31.2 - 2018-03-16
Fixed
Accidentally added hq_api into the package, which would ignore locally generated ones
v1.31.1 - 2018-03-15
Fixed
Fixed a typing bug with REQUIRED_CONFIGURATIONS
Changed
self.core now has entire hq_credentials set rather than just the token
v1.31.0 - 2018-03-13
Changed
Updates minimum required python version to 3.6 (Clients are unaffected by this change. You are already using 3.6)
Switches to Python3.6 style type hinting on generated hq_api modules
Added
Adds VendorConfig DbObject
Adds .pytest_cache to the generated .gitignore file on q2_setup
Fixed
Fixes a bug where configurations in an extensions configuration/
.py file would not be available at runtime unless they were in the REQUIRED_CONFIGURATIONS block. Now throws a warning instead Better error handling on
q2 update_installed_form
Fixes a bug where the SDK would log a line to the effect of “Checking to see if HQ creds have updated” once/minute
v1.30.1 - 2018-03-09
Fixed
Fixed a bug where create_coreflow would not show Base as an option after q2-cores package installed
Improves speed and cpuload of bash/zsh completion (NOTE Run
q2 install_completion
to ensure update)Fixed a bug where empty Config column in Q2_WedgeAddress table would cause stacktrace in
q2 update_installed_form
Fixed a bug where
q2_on_finish
would be called afterq2_post
even when response was 500Fixed a bug preventing install_vars to process correctly on
q2 install_form
v1.30.0 - 2018-03-07
Added
Adds
q2_sdk.core.web.Q2RequestHandler.q2_on_finish
method for background processing after an http request is returnedpre-commit git hook now has help text for how to temporarily ignore hooks on failure
v1.29.1 - 2018-03-06
Fixed
Fixed a template file name for linting
v1.29.0 - 2018-03-06
Added
q2 lint
entrypoint will lint code according to Q2 standardsGit hooks installed on
q2 setup
to faciliate automated linting and testingBetter detection of vpn vs ethernet in local Q2 development
--my-ip
flag added toq2 update_installed_form
to detect automatically
v1.28.0 - 2018-03-02
Added
Creates
q2 db update_nav_node
entrypoint
Fixed
Fixed a bug where nested wedge_address_configurations (such as with DYNAMIC_CORE_SELECTION) would not update appropriately with
q2 update_installed_form
v1.27.0 - 2018-03-01
Added
Adds NavNode db Object (
q2_sdk.hq.db.NavNode
)Adds NavigationStyle db Object (
q2_sdk.hq.db.NavigationStyle
)
Fixed
Fixed a bug where
q2 upgrade
was not working correctly in the shared-dev environment
v1.26.0 - 2018-02-21
Changed
Added CSS to handle the UUX mobile header in Q2SSO template
v1.25.0 - 2018-02-20
Fixed
Configuration errors now write to STDERR instead of STDOUT
Missing wedge_address_config data in the database will now throw an appropriate error with logged help text on form submission
Added
Added self.online_session object to Q2RequestHandler. Contains information relating to the current user’s session, including a boolean representing if it a CSR Assist session
Added self.form_info object to Q2RequestHandler. Contains information relating to the currently submitted form
Enhances
q2 check
entrypoint to support non standard settings configuration paths
Changed
q2 update_installed_form
will now prompt for a required DB configuration in a key/value prompt manner similar to install_form
v1.24.2 - 2018-02-15
Fixed
Corrected Vault Error messaging for vault key problems
Fixed a bug with install_form and install_vars missing to_json method
v1.24.1 - 2018-02-14
Fixed
Fixed a bug where calling to_json() on Card would not return anything
v1.24.0 - 2018-02-14
Changed
q2 update_changelog is now q2 update
Added
Adds account_holder_name and address to models.account.Card
Adds .to_json method to models.account.Card
Adds sso_url parameter to ui.forms.Q2SingleSignOn
v1.23.1 - 2018-02-14
Fixed
Adds static versions of AdapterPassThru HQ call to fall back upon if the user has not generated overrides in the repo
Fixed a bug where calling api_helpers.build_update_demographics_by_logon_name_xml while the onlineUser does not have any phones would throw a stack trace
Added
Adds q2 db get_countries to CLI
Adds q2_sdk.hq.db.Country model for interacting with the table via python script
Adds code completion for GetAccountListByCif call
Allows OnlineUser to be instantiated without providing an XMLNode, then filled in with data later
v1.23.0 - 2018-02-13
Changed
Changed property
core.online_user
tocore.configured_user
Added
Added the ability to create repository-level changelogs
Added
language
property toself.online_user
Added
update_configured_user
method on BaseCore, which can be used to make Hcore calls against a user other than the online user
v1.22.0 - 2018-02-09
Added
q2 generate_hq_api
Respects Optional flag coming back from HQ
Warning Will Potentially generate files with arguments in a different order than before, with optional arguments at the end. Be sure to check your extensions if generating a new HQ API
Removes unnecessary imports from generated files
q2 test
New entrypoint
Runs tests on installed extensions if present
q2 create_extension
Generates tests as part of creation
Adds no-register parameter to bypass the settings registration prompt
v1.21.2 - 2018-02-07
Fixed
Fix python 3.5 compatibility for sdk
v1.21.1 - 2018-02-07
Fixed
Bugfixes for upgrade entrypoint
v1.21.0 - 2018-02-06
Added
Add ‘q2 upgrade’, an automated way to update a repo’s installed q2-sdk or q2-cores version
Changed
Calendar field can now be set as not required for form submission
v1.20.1 - 2018-02-05
Changed
Updates CalendarField to respect required boolean
Changed Account.hade_list to Account.hade_dict, keyed by the HADE.name
Fixed
Fixes a bug with
q2 check
where if q2-cores was not installed the error was inappropriate
v1.20.0 - 2018-02-02
Added
Adds a
DYNAMIC_CORE_SELECTION
to RequestHandlerDefaults to
False
Setting this to
True
will prompt for core configuration information oninstall_form
If
True
, will not read configuration from the settings fileThis allows for multi tenant implementations of extensions that require core connectivity
Account objects now have a self.hade_list attribute filled with HADE objects
These are accessible as
self.account_list[0].hade_list
Added a better
__repr__
to Account:(<Object Account: host_acct_id>)
q2 check
Adds cores version match check
Adds
DYNAMIC_CORE_SELECTION
integrity check
q2 create_extension
Added docs for Core hinting in PyCharm
Changed
self.request_as_obj
toself.request_name_elem
in the docs
v1.19.1 - 2018-02-01
Added
Adds support for jinja filters
v1.19.0 - 2018-01-30
Added
Add the first iteration of a universal SSO template, invoked by returning a forms.Q2SingleSignOn as a q2 POST response.
v1.18.19 - 2018-01-30
Added
Add Nickname to Account model
Accessible as account.nickname for account in self.account_list
Fixed
Suppress all logs from /status endpoint
v1.18.18 - 2018-01-25
Added
Deployer install support for customer created flag in database
v1.18.17 - 2018-01-25
Added
Adds Is Customer Created information to Inspect entrypoint
Adds is_customer_created key to /inspect and /inspect/<extension_name> endpoints
Removed
Removes 2 second connection timeout
This was causing unforseen side effects in local development with slow to response HQs
v1.18.16 - 2018-01-24
Added
Improves Bash and ZSH completion
Adds definitions into top level ZSH entrypoints
Adds handling for commands with subparsers (
q2 db
)To get these updates, run
q2 install_completion
then restart your shell
v1.18.15 - 2018-01-24
Added
Improves support for form modals
Adds a warning modal
Exposes Close button as a togglable item
Adds ObjectGroupData class to access data in the Q2_ObjectGroup table
v1.18.14 - 2018-01-23
Added
Healthcheck endpoint (/status) now shows detailed information on dependent services
Adds HQ, Vault, and Memcached health information
After a successful healthcheck, will cache the results (per service) for 60 seconds
Can bypass the result cache by passing no_cache=true (/status?no_cache=true)
Can access a prettier markdown version of the page by passing format=md (/status?format=md)
If HQ creds fail to login and vault is active, adds a refresh_hq_creds function that will pull them from vault
This means if HQ creds change while the service is running, the very next call the service should be updated with the new info
Updates to tornado >=4.5 (from >=4.4)
v1.18.13 - 2018-01-22
Added
Adds
q2 db get_logon_by_user_id
entrypointAdds
q2 db get_user_property_data_by_value
entrypoint
v1.18.12 - 2018-01-17
Added
Adds a
install_completion
entrypoint to facilitate easy install of the bash and zsh completion scriptsFixes a bug where a malformed settings file could cause
q2 run
to fail silentlyAdds a “built_by_q2” check on
q2 setup
for internal tracking
v1.18.11 - 2018-01-16
Added
Adds global and extension level filtering capabilities
Usage instructions exist in the documentation under
Logging
menu
v1.18.10 - 2018-01-10
Added
Defaults Demographic AddressType to HOME from RESIDENTIAL in the q2 system
Adds a UserDemographicData object in
q2_sdk.hq.db
for ease of use demographic info updatesAdds a helper for building update demographics xml shape
OnlineUser
class’spostal_code
,home_phone
,work_phone
,customer_primary_cif
, anduser_primary_cif
attributes are now stringsOnlineUser
class now has ademographic_info
attribute for easily passing all relevant object data to another objectPhoneType
class now has acountry
attributeAddressType
class now hasHOME
,OTHER
,BUSINESS
, andBILLPAYEE
attributesAddress
class now hascountry
andprovince
attributesAdds apispUpdateDemographicsByLogonName_RT install to setup_db to facilitate demographic info update
v1.18.9 - 2018-01-05
Fixed
Fixes a bug where metacharacters in the text of a SpanField could cause it not to render appropriately
v1.18.8 - 2018-01-04
Added
q2 run_sql
now has an optionalprint
argument to print the SQL directly to stdout
v1.18.7 - 2018-01-03
Changed
q2 run
will now default to the port stored in the ANTILLES_SERVER_PORT environment var, falling back to 1980 if unset
v1.18.6 - 2018-01-02
Added
q2 create_extension
now prompts for registering the newly created extension in the configuration/settings.py fileAdds
q2 update_changelog
entrypoint to facilitate tracking human readable changes in extensionsAdds git repo existence check to
q2 check
Adds
/changelog
endpoint to viewCHANGELOG.md
files inside individual extension folders
v1.18.5 - 2017-12-28
Added
Generating HQ API helpers from static file is now supported on Windows
v1.18.4 - 2017-12-27
Added
Integration with Vault secret store updated to fit with the rest of Q2’s usage.
Adds an additional fallback layer of xml parsing logic in the initial POST request handling if
Content-Type
header is unset
v1.18.3 - 2017-12-21
Added
Adds request guid to
q2_post calls
in the event of an unhandled stacktrace Changedq2 install_form
entrypoint now defaultsaccount_rights_bit_flag
to 0 (all accounts visible) instead of 7
v1.18.2 - 2017-12-21
Added
Adds query_params to DEBUG level q2_requests logging
Adds HQ Session to INFO level extension logging
v1.18.1 - 2017-12-18
Added
Adds several helpers to communicate with the database through StoredProcedures including:
UserPropertyData
UserPropertyDataElements
v1.18.0 - 2017-12-13
Added
Adds the ability to add a form to the top level navigation menu
If a form is added to top level nav, a prompt will appear asking for which icon should be displayed
Adds the
q2 bounce_hq
entrypoint to bounce hq on demand without needing to install/remove a form firstACTION REQUIRED: Run
q2 setup_db
to add new sql scripts to the database
v1.17.10 - 2017-12-12
Added
Slight edits to default settings file to ensure ABA can be overridden locally with an environment variable while still allowing for a hardcoded FI default
q2 setup
now prompts for an ABA in the event the repo is only being developed for a single FIThis is bypassable with either the
aba
flag and specifying an ABA or theno-aba
flag to ignore the checkAdds the ability to mock failures on core query responses. BaseQuery object now takes an optional
mock_failure
parameter. Defaults to False. This will ONLY be respected in DEBUG mode. Otherwise will be ignored.To code against this, instantiate your Query with mock_failure=True. Alternatively, take an already instantiated query and set it’s mock_failure attribute to True before executing it. The response that comes back after calling
.execute()
on the corresponding Mapper will have a failure set in it’s response. Here an example:: mapper = await self.core.build_demographic_info() mapper.list_of_queries[0].mock_failure = True await mapper.execute() hq_response = mapper.list_of_queries[0].core_response_obj.hq_response is_success = hq_response.success if not is_success: error_message = hq_response.error_message
v1.17.9 - 2017-12-11
Changed
Improves Wedge converter script
Brings Vault integration in line with current best practices in Q2 environment
v1.17.8 - 2017-12-07
Added
Better error handling on LinkedAccount.add and LinkedAccount.delete
Cache connection to memcached has been given more sane defaults
An initial connection time longer than 1 second will be treated as a cache miss
A get/set call longer than 1 second will be treated as a cache miss
Q2RequestHandler introduced a self.wedge_address_configs property, which is a more readable reference to self.db_config
Q2Form can now accept the keyword argument “custom_template”. HTML strings passed as “custom_template” will render as form content
Q2Form can now accept the keyword argument “hide_submit_button”. This will, unsurprisingly, hide the submit button
q2 inspect
now displays information about the cache settings/inspect endpoint now displays information about the cache settings
v1.17.7 - 2017-12-04
Added
Adds a add() method to
q2_sdk.hq.db.LinkedAccount
Fixed
Fixes a bug with delete() method of
q2_sdk.hq.db.LinkedAccount
v1.17.6 - 2017-12-04
Fixed
Fix a bug with hq.db.LinkedAccount.delete()
v1.17.5 - 2017-12-01
Changed
q2 install_form
now cleanses extra leading http:// and leaves off form_install_port if it’s 80
v1.17.4 - 2017-12-01
Added
Adds print flag to
q2 setup_db
entrypoint. Will print sql to stdout instead of running it against the active DB
v1.17.3 - 2017-11-30
Added
Adds support for unicode payloads
Adds type hinting for GetAccountDetailsByIdWithUserLogon
Adds type hinting for GetAccountHistoryById
Changed
Reorganizes logging of q2_request.* functions such that meta information on the request is printed before the call happens
Turned off auto generate_hq_api call during
q2 setup
Fixed
Fixed a bug where hq_dir was not auto created in generate_hq_api call
v1.17.2 - 2017-11-29
Added
q2_sdk.core.q2_requests
functions now take an optional session parameter to facilitate reusing session vars (cookies, headers, etc) in a standard wayCommand line interface to
q2 db *
entrypoints turned most optional named parameters into required positional ones.
v1.17.1 - 2017-11-28
Added
Adds lots of doc strings to hq_api modules
Adds type hinting for
hq_api.q2_api.GetPasswordPolicy
module
v1.17.0 - 2017-11-28
Added
generate_hq_api
will now format output files according to our style guideType hinting!
If an example output exists in the repo for a type of call, appropriate type hinting classes will be added in the generated output file. Currently only GetUserAccountList has this built in. More will be added in subsequent releases.
A local version of an example HQ WSDL was added into the repo
generate_hq_api
will be run as part ofq2 setup
nowgenerate_hq_api
now takes additional parameters-a
will limit generation to a single endpoint (i.e.-a GetUserAccountList
)-d
will download wsdl from configuration.settings.HQ_URL. This used to be the defaultno-format
will bypass the pep8 formatting that happens by default on generated files now
Added default logging
ACTION REQUIRED: Any references to q2_requests.* functions now take a logger:
q2_requests.get(’http://www.url.com’) is now q2_requests.get(self.logger, ‘http://www.url.com’)
Logger parameter can be set to
None
, which will disable logging
Fixed a bug with type hinting incompatibilities with python 3.5.1
v1.16.5 - 2017-11-21
Changed
Upgrades to
q2 check
commandBetter handles malformed configuration.settings file
v1.16.4 - 2017-11-20
Added
Adds a
q2 check
command to ensure your extensions are ready for deployment. Checks the following:Does configuration/settings.py file contain all required variables?
Does INSTALLED_EXTENSIONS in configuration/settings.py contain at least one extension name?
Are all INSTALLED_EXTENSIONS importable?
Are there any syntax errors in any INSTALLED_EXTENSIONS?
Does requirements.txt exist?
Does version of q2-sdk in requirements.txt match the currently installed version?
Is WEDGE_ADDRESS_CONFIGS a dictionary?
Is INSTALL_VARS an instance of q2_sdk.core.install_vars.BaseInstallVars?
Do all REQUIRED_CONFIGURATIONS exist in appropriate extension level settings file?
Defaults Q2RequestHandler.INSTALL_VARS to an instance of q2_sdk.core.install_vars.BaseInstallVars instead of []
Removed
Removes postgres folder from
q2 create_extension
autogenerated filesPostgres is still supported as a database backend, but as it is very rarely used, it is no longer assumed in the creation
v1.16.3 - 2017-11-17
Added
Add capability to get linked accounts
v1.16.2 - 2017-11-15
Added
Add author information to install_form
ACTION REQUIRED: Adds a parameter to a stored procedure. Rerun
q2 setup_db
Fixed
Inspect endpoint no longer accept credentials (CORS fix)
v1.16.1 - 2017-11-13
Added
Adds a condition for SOAP requests posted via non-HQ means
v1.16.0 - 2017-11-13
Added
Adds self.custom_javascript to Q2Form constructor
Adds IS_CUSTOMER_CREATED variable to default_settings.py. This will be passed through to the resulting logger and preface log lines with ‘CUST’ if set to True and ‘Q2’ if set to False. Defaults to True
Changed
Change
q2_sdk.ui.forms.BaseForm
toq2_sdk.ui.forms.Q2Form
ACTION REQUIRED: References to the above must be changed
v1.15.2 - 2017-11-09
Changed
Moves SHORT_NAMES out of Q2RequestHandler and into
q2_sdk.core.BaseInstallVars.required_forms
Upgrades get_installed_forms to show group ids for which each form is installed. This is backwards compatible, but will require rerunning
q2 setup_db
to get the new featuresUpgrades the /inspect endpoint to allow CORS from localhost
v1.15.1 - 2017-11-08
Changed
Built in Inspect Endpoint now takes an additional /extension_name component to the URL to get install vars information dumped as a json blob. We will use this on our end for ease of deployment
v1.15.0 - 2017-11-08
Fixed
Fixed several bugs with install_vars on form install
ACTION REQUIRED: References to
q2_sdk.core.install_vars.BaseInstallVars.vendors_to_create
are nowq2_sdk.core.install_vars.BaseInstallVars.vendors
v1.14.5 - 2017-11-06
Added
Added UserAccountAttributeData endpoints (Add, Update, Delete, Get)
v1.14.4 - 2017-11-06
Added
Added rate limiting capabilities
Q2RequestHandler
now has aself.rate_limiters
which defaults to an empty listBy overriding this in your init function with a list of
q2_sdk.core.RateLimiter
instances, you can control who is allowed to see your extension and how often
v1.14.3 - 2017-11-02
Added
Added Update to ThirdPartyData
Added Delete to ThirdPartyData
v1.14.2 - 2017-11-02
Fixed
Fixes bug where install_form would fail due to malformed directory structure
Fixes encoding bug with hq responses
Updates bootstrap grid sizing tools to work better with smaller devices
v1.14.1 - 2017-11-01
Fixed
Fixes a bug where production coreflows were not encoded correctly
v1.14.0 - 2017-10-31
Changed
Install form is refactored for backwards compatibility
ACTION REQUIRED:
DB_CONFIGS
is now referred to asWEDGE_ADDRESS_CONFIGS
for greater clarity
v1.13.1 - 2017-10-30
Added
Adds
LinkedAccount
object with unlink abilityRequires run of
q2 setup_db
to installExample:: from q2_sdk.hq.db import LinkedAccount LinkedAccountObj = LinkedAccount(self.logger) host_account_id = self.account_list[0].host_acct_id await LinkedAccountObj.delete(self.online_user.user_id, host_account_id)
v1.13.0 - 2017-10-30
Added
Creates a more consistent interface for interacting with the database through stored procedures
Changed
Renamed q2_sdk/db folder to q2_sdk/sql_scripts
ACTION REQUIRED: Any references to
q2_sdk.entrypoints.db
should be updated to the appropriateq2_sdk.hq.db
module
v1.12.11 - 2017-10-29
Changed
Updates update script
v1.12.10 - 2017-10-27
Added
Added a filter on tornado logs to suppress the /status call from the logs
Moved default_logging.conf into a logging subdirectory
v1.12.9 - 2017-10-26
Added
Adds helpers for easy asyncronous web requests with the Requests library
Adds documentation on three types of Web Requests supported by Caliper
v1.12.8 - 2017-10-24
Added
Added new db entrypoints “get_third_party_data” and “add_third_party_data”
v1.12.7 - 2017-10-19
Changed
Logging Level value at command line is now case insensitive
Logging Level can also be set by an environment variable (Q2SDK_LOGGING_LEVEL)
v1.12.6 - 2017-10-18
Added
Adds required keyword to Input and Select fields for accessibility purposes
v1.12.5 - 2017-10-17
Fixed
remove_from_nav now handles an edgecase where multiple UserProperties named the same thing were installed
v1.12.4 - 2017-10-17
Fixed
Fix a bug with install_form where old style forms couldn’t be installed with the new installer
v1.12.3 - 2017-10-17
Changed
Inspect entrypoint now shows ABA if configured
Install Form entrypoint adds the longform form_url option to the -u flag
Built in Inspect endpoint now shows ABA
Built in Inspect endpoint now shows SDK version
Built in Inspect endpoint now also displays at the root of the server (”http://localhost:1980/”)
v1.12.2 - 2017-10-13
Changed
Better error messaging if user forgets to set HQ_URL during setup
v1.12.1 - 2017-10-13
Changed
q2 install_form
now has support for many optional install variables. Future releases will see the buildout of tooling around these variables
v1.12.0 - 2017-09-27
Changed
Conform generate config to dynamic core import, add data_attrs to q2cores/Symitar, add last step to core flow tutorial.
v1.11.4 - 2017-09-12
Changed
q2 update_installed_form
will provide a default config in the event that it doesn’t exist
v1.11.3 - 2017-09-11
Changed
Adds SHORT_NAMES list to Q2RequestHandler. If populated, will install one form for each ShortName. This allows for some extensions (like PFM) to have multiple entry points through the Q2 Online UI.
Updates
q2 install_form
for new SHORT_NAMES logicUpdates
q2 remove_form
for new SHORT_NAMES logicUpdates
q2 get_installed_forms
for new SHORT_NAMES logic
v1.11.2 - 2017-09-10
Changed
run_sql entrypoint was given a prefix parameter (-p, prefix) to only run specific files
run_sql entrypoint was given a dry_run parameter (-n, dry_run) to print out what will be run without actually doing it.
v1.11.1 - 2017-09-06
Added
Adds Vault integration for encrypted secret sharing
Simply export ABA, VAULT_ADDR, and VAULT_TOKEN to query vault at runtime
Changed
Generated configuration/settings file will now inherit from default_settings by default
v1.11.0 - 2017-09-05
Changed
Updates both ZSH and Bash tab completion scripts.
Moves them to
/bin folder. Adds generated hidden .antilles folder at root level of project to hold cached information, including completion indexes
ACTION NEEDED: Change your bashrc or zshrc to point to appropriate new completion script in
/bin (Either antilles_completion.zsh or antilles_completion.bash) ACTION NEEDED: Add .antilles folder to your .gitignore to avoid checking it in
v1.10.7 - 2017-08-31
Added
Adds update_installed_form entrypoint to alter the Url, AccountRightsBitFlag, and Config fields of already installed forms
v1.10.6 - 2017-08-29
Added
Adds a -f parameter to get_installed_forms for detailed information about a specific form
v1.10.5 - 2017-08-25
Changed
Linting style changes only
v1.10.4 - 2017-08-24
Added
Added Demographic details to core/demographic
v1.10.3 - 2017-08-22
Changed
Q2RequestHandler.hq_commands now accepts a force_success_response parameter that defaults to False
v1.10.2 - 2017-08-21
Changed
get_json
calls will now appropriately set application/json Content-Type header
v1.10.1 - 2017-08-21
Added
Creates add_nav_perms entrypoint to specifically set Q2_UserPropertyData on demand
Changed
Add to Nav will no longer update the Q2_UserPropertyData table unless Debug mode is also set to True in Settings
Adds helpful guidance text to add_to_nav for production use
v1.10.0 - 2017-08-17
Added
Added the capability to create custom entrypoints inside extensions
Documentation for this added to the tutorial
v1.9.6 - 2017-08-15
Added
RequestHandler.wrap_soap_response method was created to allow for extension level override of the soap response
Removed
RequestHandler.use_ardent_response and corresponding code have been removed. These were in place for a specific internal extension and do not belong in the core code
v1.9.5 - 2017-08-08
Fixed
HqResponse model will now behave appropriately whether it is given str or bytes
v1.9.4 - 2017-08-08
Fixed
Fixes bug for edgecase of online_user not being parsed causing other fields to not be parsed
v1.9.3 - 2017-08-07
Added
logging.conf is no longer the implied default configuration file
New default lives in q2_sdk.core.default_logging.conf
Logging.conf is overrideable given LOGGING_CONF key in configuration/settings.py
Logging object is now shared among entrypoints and will respect supplied logging-level from command line
Configured logging file is logged out at startup of
q2 run
v1.9.2 - 2017-08-03
Fixed
Fixed a bug where nested LXML Elements would throw an error in json deserialization for get_json calls
v1.9.1 - 2017-08-03
Added
Added missing timer stop to the generated get_json() methods.
v1.9.0 - 2017-08-02
Changed
RequestHandler.cache is a bit easier to use. Returns a string instead of bytes if possible. Stores JSON dicts natively if possible.
v1.8.7 - 2017-07-25
Added
Added self.aba and self.hq_url as attributes of the RequestHandler. These are taken from the online POST attributes.
Changed
HQ methods now set a header to ensure the same response shape regardless of HQ version.
v1.8.6 - 2017-07-18
Fixed
Fixes an async bug with internal convert_wedge entrypoint
v1.8.5 - 2017-07-13
Added
Adds -e, -o, and -p flags to the add_to_nav entrypoint
-e: form_name
-o: Order
-p: Parent ID
If any of the flags are left off, the user will still be prompted for them
v1.8.4 - 2017-07-12
Added
Adds the get_groups entrypoint to print all groups from the Q2_Group table
v1.8.3 - 2017-07-12
Changed
Behind the scenes work to make entrypoints easier to program
v1.8.2 - 2017-07-10
Changed
Removes q2-cores as a hard dependency package
Adds base core and model information directly into this package
Interfaces remain the same. If you are importing q2_cores in your package, no change should be required.
v1.8.1 - 2017-07-10
Changed
Settings path is now overrideable. It will use the first match of the following:
Module specified in the Q2SDK_SETTINGS_MODULE environment variable
configuration.settings in the present working directory
q2sdk.core.configuration.default_settings
q2 run
will log the settings file determined by the above logic.
v1.8.0 - 2017-06-27
Added
Adds deployment server capabilities internally. To be deployed with the tool, extensions must be based off at least this version.
Adds extension flag to inspect entrypoint for extension specific information
Makes install_form a bit smarter to avoid duplicate installations
Adds installed_extensions to run_server logging
v1.7.1 - 2017-06-27
Added
get_execute_request_as_xml_response now has the ability to expire and reload Account information during a loaded session
Creates HqCommands class to facilitate the account reload mentioned above
v1.7.0 - 2017-06-23
Changed
Q2_RequestHandler now has a DB_CONFIGURATIONS attribute which can be used to install config information with
q2 install_form
Q2_RequestHandler now has a self.db_config property which can be used at runtime to reference the configuration dict defined using DB_CONFIGURATIONS
Install form respects DB_CONFIGURATIONS of extensions and prompts for overrides on install
ACTION REQUIRED: To use the new DB_CONFIGURATIONS piece on install_form, sql stored procedures must be reinstalled in the database. Luckily this is simple. run
q2 setup_db
.
v1.6.2 - 2017-06-21
Changed
Updates to lxml 3.8.0 to increase python3.6 MacOS compatibility
v1.6.1 - 2017-06-20
Changed
Allow for javascript payloads returned from ExecuteRequestAsXML requests
v1.6.0 - 2017-06-19
Added
Adds Group choosing into install_form entrypoint
-g flag takes a comma delimited list of group_ids for which to install the form
Leaving the -g flag off results in an interactive menu prompt which queries the DB for possible group IDs and names
Will require reinstalling sql scripts (
q2 setup_db
)
v1.5.4 - 2017-06-15
Removed
Removes -c option from install_form, run_server, and run_sql entrypoints
v1.5.3 - 2017-06-15
Added
Improve extension of base core using create-coreflow entrypoint.
v1.5.2 - 2017-06-15
Changed
q2 add_to_nav
now queries installed forms from the database rather than assuming that matches what’s in the settings file.Updates help text on the remove_form, remove_from_nav, and add_to_nav entrypoints
v1.5.1 - 2017-06-14
Added
Add internal tool for handling version bumping of q2-sdk library.
v1.5.0 - 2017-06-13
Changed
Breaking change:
CORE in configuration/settings.py is now a string that will be dynamically imported the first time self.core is called in a RequestHandler. This fixes a circular import bug in this and downstream repos
References like
CORE = q2_cores.UltraData.core.Core
should be changed toCORE = 'q2_cores.UltraData'
Adds Core to the Inspect entrypoints
Adds Core to the builtin /inspect endpoint
v1.4.10 - 2017-06-13
Added
Introduces lazy importing of entrypoints to better handle runtime dependencies
v1.4.9 - 2017-06-13
Added
Updates bash_completion script in tools/bash_completion with file path completion for convert_wedge_extension
Adds zsh completion at tools/zsh_completion
v1.4.8 - 2017-06-12
Added
Added self.request_name_elem to Q2RequestHandler. This is a convenience attribute to avoid having to call self.request_as_obj with an xpath to find the inner request
v1.4.7 - 2017-06-08
Added
Adds ardent response handling
Adds self.use_ardent_response to Q2RequestHandler. Defaulted to False, but if set to true will respond back with an Ardent shape, regardless of whether the initial call was ExecuteRequestAsString or ExecuteRequestAsXML
Adds self.hq_response_attrs dict. Defaulted to empty, if filled will append key value pairs as attributes to the response’s interior node.
v1.4.6 - 2017-06-08
Changed
Allow install_form to be run with optional command line parameters for programmatic usage.
v1.4.5 - 2017-06-08
Changed
Updates convert_wedge_extension command to handle hq imports, xml building. deserialization, and a few smaller pieces.
v1.4.4 - 2017-06-07
Changed
Change create_coreflow to use CamelCase classnames.
v1.4.3 - 2017-06-06
Added
Added a convert_wedge entrypoint for Q2 Internal team to transform existing wedge code into sdk compliant variant.
v1.4.2 - 2017-06-01
Added
Added a create_coreflow entrypoint intended for making extensions that serve to make custom core requests. Added tutorial.
v1.4.1 - 2017-05-30
Added
Added a new formatter to logging.conf. To take advantage of this, remove your current logging.conf and run :code:
q2 setup
to generate a new one.Will log in UTC time if in Debug mode=False (In production). Otherwise will continue to log in local server time
Log out Debug mode True/False when the server starts
v1.4.0 - 2017-05-26
Changed
q2.core.cache now uses the pymemcache library instead of the q2-cacheflow library to interact with memcached
Extensions that previously implemented caching which used self.cache.get_shared or self.cache.set_shared_with_expiry will have to switch to using self.cache.get and self.set(key, value, expire=int) format.
q2 setup now adds caching configuration information to the settings.py file
v1.3.18 - 2017-05-25
Added
By default, an /inspect endpoint is included that displays the URL of the HQ instance a server is configured to use.
v1.3.17 - 2017-05-25
Changed
The config file generated by the generate_config entrypoint now features alphanumerically sorted keys and pretty printing of nested lists and dictionaries.
v1.3.16 - 2017-05-23
Changed
The run_sql entrypoint now honors inheritance, allowing for overridden extensions to take advantage of ancestors’ sql install directories
Fixed
Fixes a bug where the scripts in run_sql endpoint were not guaranteed to run in sorted order
v1.3.15 - 2017-05-23
Changed
The cache module (q2_sdk.core.cache) no longer spams the logger when a memcached server is unavailable Web
The request handler in web.py got an update to the get_template function.
It will prefer the calling extension’s templates folder, but then honor inheritance as well, allowing for overridden extensions to take advantage of ancestors’ templates directories.
v1.3.14 - 2017-05-19
Changed
The cache module (q2_sdk.core.cache) now reuses the same memcached connection regardless of how many times get_cache() is called.
v1.3.13 - 2017-05-11
Added
Adds .gitignore file on q2 setup
v1.3.12 - 2017-05-08
Added
Adds api_helper for building a secure message
v1.3.11 - 2017-05-04
Removed
Removed dockerize entrypoint. We will be handling this through an internal process