Changelog for Caliper SDK
Current Version: [2.292.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.292.0 - 2025-10-23
Added
Adds
ZoneWedgeAddressConfigDbObject.Adds
get_zone_wedge_address_configs_by_zone_id,get_zone_wedge_address_configs_by_wedge_address_idandget_zone_wedge_address_configentrypoints onZoneWedgeAddressConfigDbObjectAdds tutorial documentation for Q2Console extension type.
Adds documentation for changes to caliper_admin script and its usage.
Fixed
Fixes backwards incompatibility with
AuditRecordRowBaseclass
v2.291.0 - 2025-10-10
Added
Tecton handlers now have a
self.incoming_contextvariable to more easily access the id and value passed from the frontend when appropriateVendorConfig.config_valueis now editable in the InstallStepQ2Vaultobject now respects theVAULT_NAMESPACEenv var for interacting with Enterprise Vault
Fixed
AuditRecord’s.SessionId,.ErrorReturnText, and.ErrorReturnCodeare now serialized as the correct typesFixes
q2 testandq2 linton windows nativeFixes bug with
q2 setup_dbthrough the websocketFix misspelling on
NavNodeRow’sDynNavWindowFeaturesIDFixes empty strings getting installed into wedge config if the config dict is empty on EDV Handlers
v2.290.0 - 2025-10-02
Added
Adds decorator
@routefor setting up routes on HQ request handler.Fetching Navigation nodes now also returns
NavigationTypeIDcolumn.
Fixed
detailsvariable inAuditDetailsmodel is now defaulted to None instead of an empty string.Links the correct python version requirements of the q2_sdk with the packaging of q2_sdk.
v2.289.1 - 2025-09-29
Fixed
Fixes a bug with Central/Console installer which put “” instead of NULL in the database for
wedge_payload_stored_procFixes bug with
AuditDetailswherestart_date_timeandend_date_timewere not nullable
Added
Adds Pinion guide to docs
v2.289.0 - 2025-09-25
Added
Adds the
set_errorfunction toQ2SpanAllows
q2 setup_dbto run through dev socket even when a Q2 employee. (use--no-websocketflag to disable)RepresentationRowsno long matter on DbObjects.TableRowsare actual objects with appropriate inheritance.
Changed
Defaults to sandbox Holocron url in local dev
Fixed
Improves logic to hide UUX submit button in newer versions of the product
Fixes a bug where Tornado server would not auto restart on Windows
v2.288.0 - 2025-09-18
Added
Handle keyword only parameters in Opentelemetry (OTEL) spans
Adds new
LogonDisclaimerAcceptanceDbObject for getting disclaimer acceptance dates by userImproves Tecton error handling for CSR Assist related errors
Fixed
Fixes a bug on
EstatementRowwhereHasBeenReportedwas being serialized as a Int instead of a BoolAuditDetailsnow works with bothaudit_idandaudit_uuid
Changed
VendorConfigInstallStep’sconfig_valuefield is now editableUpdate Pinion and Firebase urls in settings/docs to point to new AWS based urls
v2.287.0 - 2025-09-15
Added
Adds ability to manage public flag in Tecton CLI
Create default language files for alternate languages and update localization docs
Adds
self.smart_tsproperty to access Smart Trait StoreAdds
NavigationTypeDbObject with.getmethod
Changed
Improves Vue template boilerplate to use hash routing
Adds NavigationEvent and ActionEvent to AuditAction blacklist
Fixed
Fixes a bug (since 2.285.0) where HQ could return a 404 and the SDK would swallow the response
Security
Upgrade base dependencies:
cryptography 44.0 → 45.0
hvac 0.10 → 2.3
jinja2 3.1.3 → 3.1.6
mistune 2.0 → 3.1
opentelemetry 1.32 → 1.36
prometheus-client 0.7 → 0.22
pyjwt 2.8 → 2.10
pymemcache 3.2 → 4.0
pytest-asyncio 0.18 → 1.1
pytest 7.1 → 8.4
python-dateutil 2.8 → 2.9
q2msg 1.30 → 1.33
requests 2.20 → 2.32
ruff 0.9.7 → 0.12.8
setuptools 70.0.0 → 80.9.0
tornado 6.0 → 6.5
Removes references to deprecated
pkg_resourcesand replaces with modern equivalents
v2.286.2 - 2025-09-09
Fixed
Fix for Console CSR forms to ensure Console recognizes them as tecton based
Makes WedgePayloadStoredProc nullable in Form Installer
A few CLI naming fixes in the q2 tecton entrypoint
Cleaner InstantPayments model type hinting
Clean up some logic in Q2Config template generation
v2.286.1 - 2025-09-03
Fixed
Adding extensions to dropdowns with tecton CLI no longer generates an invalid action property
Fix issue with q2 install with relative pathing of tecton config
Fix issue with q2 update_installed with relative pathing of tecton config
Update Tecton CLI docs
v2.286.0 - 2025-09-02
Added
Add
minimal_loggingboolean parameter to ArdentFSuploadandupload_from_filemethodsIntroduces a method of registering custom checks to
q2 check. Docs added under Code Quality -> Custom ChecksAdds
GetCustomerDetailsByIdHq EndpointAdds
RestrictedEntitlementModeDisableHq EndpointAdds
RestrictedEntitlementModeEnableHq EndpointAdds
RestrictedEntitlementModeEnableByUserIdHq EndpointIntroduces
@create_auditdecorator so as not to overload@mfa_validation_required. Docs added under Performance and Security -> Audit
v2.285.1 - 2025-08-28
Fixed
Fixes a bug where AuditDetails Handlers would break if an errorReturnCode was not passed
v2.285.0 - 2025-08-27
Added
Adds
hydra_error_return_code,hydra_error_return_code_description, andhydra_exception_messageproperties toHqResponseAdds
http_responseproperty toHqResponseto preserve original raw http response object from HQ
v2.284.0 - 2025-08-18
Added
Adds a new
HqSessionCacheDbObjectAdds the
q2 db get_hq_session_cacheCLI commandAdds the
q2 db update_system_property_dataCLI command
Fixed
Fixes a bug with non-nested vendor configs in the
AccountHistoryAdapter 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_numbertoHostAccountDbObjectPropertyLongNameis 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 enablefor optionalreply_parent_request_typesandexternal_transaction_type_idfieldsFixes bad join in
ZoneSystemPropertyrelated tablesFixes bug where CIFs in
ExternalAuth’s Check Password route should be Optional
Changed
Cleans up
sdk_AddAdapterInterfaceSQL
v2.281.0 - 2025-07-29
Added
Add a
q2 sandbox treasurycommand 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 tectoninheritance structureChanges
SendAccountDetailsin 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.13commandcaliper_adminscript updated to reflect python3.13 additions
v2.279.0 - 2025-07-22
Added
Adds
IsoCodeA2toAddress.get()responseGeneratedTransactionsDbObject 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
UiConfigPropertyDataInstallStepProperly handles JSON data field in EDV requests
v2.278.0 - 2025-07-14
Added
q2 create_online_usernow 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
VendorIdis accessible onNavNodeRowUserPropertyDataElement,ApiStoredProcandCentralNavNodenow have RepresentationRowsTableRownow properly supportssetattrandsetitemImproves error handling in
Q2ConfigRequestHandlerbased extensionsImproved Type hinting on all objects that take
Q2Logger(now hinted asQ2LoggerType)Allows passing a
primary_cifonEnrolledEntity.create_user
Changed
Performance improvements on
Form.get
Fixed
Correct
AccountAddressAddressTypetype hint in RepresentationRowself.coreno longer blows up when called fromCaliperAPIhandlers
v2.277.1 - 2025-07-07
Changed
q2 insightcommand now operates on new AWS based instance by default
Added
Adds
is_dev,is_staging, andenvironmentproperties to Q2 Insight DbRowsWhitelists new SDK Corporate AWS environment for
q2_requestcalls
v2.277.0 - 2025-07-03
Added
Adds
get_by_user_idmethod toUserPropertyDataDbObjectAdds
get_by_customer_idmethod toUserPropertyDataDbObjectAdds
deletemethod toAddressDbObjectAdds
get_by_address_idmethod toAccountAddressDbObjectAdds
q2 db get_account_address_by_address_idCLI entrypointMoves
ExternalAuthstored procs out of dev_onlyAdds fields to
AdminUserLogon.getresponseAdds 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
@cachekey namingFixes a bug with
message_bus.encryptandmessage_bus.decryptif callingmessage_bus.CIPHER.calc_hmacdirectly
Changed
Internal organization of
q2 tectonentrypoint
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
HostAccountClickTypeDbObject.Adds
create,updateanddeletemethods onHostAccountClickTypeDbObject.Adds
add_or_update_third_party_datacli entrypoint toThirdPartyDataDbObject.Adds
add_or_updatemethod toThirdPartyDataDbObject.(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
--levelflag to q2 vault cliAdds accounts related extension outlets to tecton CLI.
mock_q2_requestdecorator now providesenable_soap_wrapper,enable_api_wrapper, andversion_numberhelper paramsUiConfigPropertyData InstallStep now has context of
is_centralto 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
getmethod toGtFlavorDbObject.Adds
get_gtflavorscli parser toGtFlavorDbObject.
v2.272.0 - 2025-06-09
Added
Adds a
q2 sandbox transaction_datefor 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_compressvariable which when True now automatically zlib compresses the message if it’s size >MIN_ENCRYPT_SIZEbytesAdds
SystemPropertyDataWithReferencesDbObject.Adds
HostAccountDataElementWithReferencesDbObject.Adds
ZoneSystemPropertyDataWithReferencesDbObject.Adds
extension_namevariable 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_cifparameter to update method of User DbObject.Officially moves EDV, Instant Payments, and External Auth out of beta
Adds a
HostTranCodeGroupInstallStep into DbPlanAdd indexes to the
sdk_OAuthTokentableSkipGetUnsignedToken will be enabled by default in new installs
Fixed
Message Bus local dev now ignores any HTTP_PROXY settings
Fixes a bug with
q2 setupon blank repos asking you to runq2 setupBetter 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_nametomfa_validation_requireddecorator.External MFA extensions now include a
self.mfa_infoobject, 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_cachemethod.q2 create_extensionno 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_ipsmethod no longer returns empty list when invalidating hq cache.q2 add_dependency —searchnow handles error.q2 insight loginnow stores token.
v2.267.0 - 2025-05-07
Added
Adds
link_vendor_to_productonProductDbObject which allowAccount Detailsextension work as sso.Adds support for setting service base URL from environment variables for
Q2configtype extensionsAdds
authenticatemethod to Insight API login wrapper to get more details from the response
Fixed
Installing
AuditActionextension type forExecuteWedgeRequestis now not allowedFixes
q2 test -—coveragewhen no python modules are foundImproves startup time on
q2 runFixes implementation of
get_tracermethod inQ2TracerProviderq2 add_to_naventrypoint 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_ACTIONSfield which allows adding list of custom audit actions.Adds overpanel display options to
q2 tectoncli 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
ChangeUserLoginNameandChangePasswordactionsEDVRequestnow also tracksis_prelogon_session,is_csr_assist_session, andaudit_idif available from HQ
v2.265.0 - 2025-04-09
Added
Adds
with_recipient_idboolean parameter toget_ach_detailsmethod 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
overpanelReadyproperty from tecton entrypoint
v2.264.0 - 2025-04-07
Added
Adds caching to
self.vaultsettings.DEPLOY_ENVis now an enum of the environments (DEV/STG/PROD)Errors on customer creation from
EnrolledEntitywill be logged at the exception level along with returned in the response to the callerAdds
GTFlavorIDfield toGeneratedTransactionsRowDbObjectAdds
get_by_id,add, andupdateto ObjectGroup DbObject
Fixed
Fixes lingering issues with cache scoping
Fixes issue with
q2 update_installedaroundq2_configextensionsUpdates
HolocronURLs to default to AWS versionsHandles bug where unescaped data might show up in
AuditDetailshandler inputFixes bug with
q2 checkand newerq2-tecton-sdkversion stringsCleanup and testing on the builtin jinja, html, and javascript templates generated by the SDK
v2.263.0 - 2025-03-28
Added
Adds
ttlYearsto ArdentFs endpoints for long term storageAdds
change_account_productmethod toHostAccountDbObject
Fixed
Fix syntax error with generated
package.jsonintroduced in 2.262.0
Security
Adds stack/service/session level scoping to self.cache (for parity with
@cachedecorator)
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_planentrypoint 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_formwith undefined variables
v2.260.0 - 2025-03-06
Added
Adds
require_token_if_not_suspectto add method ofEDVDetailDbObject.Adds
**kwargsforcall_hqmethod signature in DbObject
Fixed
Fixes default value of
token_life_in_minutesto 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_asyncmethod 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
OnlineUsernow 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
addmethod onLinkedAccountDbObject 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_recipientsonRecipientDbObject 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_credswill now include theenv_stackif availableAdds a
get_system_notificationsmethod toMarketingPageNameDbObjectAdds an
updatemethod toDatafeedDbObject
Changed
Instant Payments now handles
allow_expiry,require_expiry,allow_requested_execution,allow_amount_modification, andrequire_amount_modificationas properties of the handler, used at install time, rather than in theq2 sandboxsubcommand
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.csstomain.cssagain (since 2.255.0)Changes to allow multiple addresses to be associated to an account using the
account_addressdb 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_coreflowtutorialDocumentation string improvements on
self.get_tecton_formAdds
delete_all_for_vendormethod toThirdPartyDataDbObjectAdds a new setting
INCLUDE_QUERY_PARAMS_IN_LOGSto toggle this behaviorAdds a new environment variable
Q2SDK_INCLUDE_QUERY_PARAMS_IN_LOGSAdds a
main.cssfile to SSR frontend directoriesCentral handler Description field adds appropriate attributes on install
Fixed
Updates
q2 sandbox external_mfacommand 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
AdminUserLogonDbObject 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:
EdvDetailEdvProfile
Adds new cli entrypoints: under
EdvProfileDbObject.get_edv_profile_by_profile_idget_edv_profiles
Adds new cli entrypoints: under
EdvDetailDbObjectadd_edv_detailget_edv_detailremove_edv_detail
Adds new method
update_grouptoGroupDbObject.Adds new adapter data model
EdvRequest.Adds new sandbox cli subparser
edvHandles 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.pinionproperty on the handlerAdds
self.cacheproperty 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_idIntroduces CLI command
q2 db get_admin_users_by_customer_idUpgrades 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
AddressandAccountAddressto 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_dataonAdminUserPropertyDataDBObject.Adds new method
get_all_group_propertiesonAdminUserPropertyDataDBObject.
Fixed
Fixes bug with blank text value on
NavNodeDbObject.External MFA adapter now checks for “product_type_id” and installs properly.
local-dev-apinow handles query params escaping.Fixed
package.jsontemplates 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
PurgeAdminSessionsByUserIdPurgeAdminSessionsByUserIdOneTimeTokenPurgeUserSessionsByUserLogonIdOneTimeTokenSetAuthTokenSerial
WedgeOnlineBanking
SetAuthTokenSerial
Creates
Emailobject inDemographicInfowithis_sac_targetbooleanDemographicInfonow acceptsEmailobjects 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
AcceptIncomingRealTimePaymentTransactionto 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_idis now returned with UserDemographicData DbObject’sgetmethodAdds
get_by_logintoAddressDbObject 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=Truein 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_installednow shows InstantPayment handlers even if not in the current repo.
v2.247.0 - 2024-11-14
Added
Adds
q2 sandbox external_mfacommand (referenced in tutorial)Adds
--patchand--forwardflags toq2 insight get_db_listcommand to show more environment keysAdds
SSOIdentifierfilters inPolicyDataDbObjectAdds flush layout support for Tecton Server Side Rendered extensions through the PAGE_PADDING boolean in the handler
UiConfigPropertyData.createadds anis_centralparameter to pass the BackOffice UiSource type
Fixed
Fixes a bug
GeneratedTransactions.get_transactions_by_date_range_with_gt_datawhen 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 insightcli 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_notificationon Notification DbObject.Adds
get_notification_statuscli entrypoint on NotificationStatus DbObject.
Changed
well_known_urlis now deprecated onOauth2Configexternal auth hq model.jwks_urlis used instead.
Fixed
audienceclaim is now exposed on ExternalAuth adapter.Adds support for zoned wedge address configurations.
Tecton Handler now properly extracts MFA information.
Update operation on
ProductDbObject now checks when VendorID is None.DebtorAgentandCreditorAgentare 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_datafor further performance gainsAdds
get_category_by_shortnametoUserPropertyCategoryDbObjectOpenTelemetry will now receive a ServerStart from the SDK on boot
Fixed
Less summary log spam for /inspect and /status endpoints
Improves performance of
GeneratedTransactionDbObject database calls
v2.242.0 - 2024-10-15
Added
Adds
updatemethod toProductDbObjectAdds
q2 db update_productCLI commandNew HQ Endpoints:
Q2Api
AddRecurringFundsTransferByCountByUserIdWithGtFlavorAddRecurringFundsTransferByCountWithGtFlavorAddRecurringFundsTransferByEndDateByUserIdWithGtFlavorAddRecurringFundsTransferByEndDateWithGtFlavorAddRecurringFundsTransferNoEndByUserIdWithGtFlavorAddRecurringFundsTransferNoEndWithGtFlavorFlushBrowserRegistrationsFlushBrowserRegistrationsByLogonNameGetAccountHistoryByOnlineUserLogonNameWithRunningBalancePurgeUserSessionsByUserIdPurgeUserSessionsByUserLogonId
WedgeOnlineBanking
AddRecurringFundsTransferByCountAndGtFlavorAddRecurringFundsTransferByCountWithIsSameDayAndGtFlavorAddRecurringFundsTransferByEndDateAndGtFlavorAddRecurringFundsTransferByEndDateWithIsSameDayAndGtFlavorAddRecurringFundsTransferNoEndAndGtFlavorAddRecurringFundsTransferNoEndWithIsSameDayAndGtFlavorHandleHQCommands
Fixed
Normalizes a missing
isLogonnode toFalseincreate_loginandcreate_userexternal auth routesFxRatesmock endpoint onlocal-dev-apinow 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_adminas 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_loadeddecorator inq2_sdk.hq.db.db_object_factorywhich allows lazy loading dbobjects throughself.dbAdds new cli endpoint
update_customer_dataonCustomerDataDbObject.
Fixed
Fixes an issue with the online_installer where is_mfa can possibly be unbound
Fixes duplicate results when using
get_ach_detailsmethod of Transactions DbObject.
v2.240.1 - 2024-09-27
Fixed
Fixes missing
External Authenticationfrom 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:
AdminLogonsandCsrNoteAdds new cli entrypoints:
get_csr_notecreate_csr_notedelete_csr_noteunder CsrNote DBObject.Adds new cli entrypoint
get_admin_logonsunder 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.instrumentnow warns if the attribute length is longer than the one assigned toOTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMITenv variable.
v2.238.0 - 2024-09-17
Added
Adds new entrypoint
q2 holocronNew CLI endpoints:
q2 holocron get_configsq2 holocron get_facetsq2 holocron get_envstacksq2 holocron add_envstackq2 holocron add_configq2 holocron add_facet
q2 add_dependencynow has a--searchflagAdds q2msg>=1.26 as a dependency of the SDK itself
Fixed
q2 checknow checks forpicklelibrary import.q2 lintnow rewrites pyproject.toml more efficientlyget_recipientsmethod no longer errors out when we retrieved using customer_id.Fixes bug when installing
deposit_item_imageextension 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
ExternalAuthDbObjectAdds new
q2 sandbox external_authsubcommandAdds pyjwt to SDK dependencies
Fixed
Fix pipeline to handle
q2-sdk[sso]==x.x.xsyntax in requirements filesOnly check datafeed on q2 run for unauthenticated extension
Changed
Updates existing
q2 sandbox auth_tokento pass--use-symantecfor Symantec type auth tokens
v2.236.0 - 2024-09-03
Added
Adds
IsOpenBankingcolumn toUserDbObject 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_GetCustomersByCreateDatePaginatedstored procedureFix
q2 upgradecommand’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
GetGtIdsToBeProcessedAllOutstandingTransactionsGetGtIdsToBeProcessedAllOutstandingTransactionsByTransactionTypeStringGetGtIdsToBeProcessedAllOutstandingTransactionsByTransactionTypeStringWithMaxGetGtIdsToBeProcessedAllOutstandingTransactionsByTransactionTypeStringWithMaxWithCutoffGetGtIdsToBeProcessedAllOutstandingTransactionsWithMaxGetGtIdsToBeProcessedZoneOutstandingTransactionsByTransactionTypeStringWithMaxGetGtIdsToBeProcessedZoneOutstandingTransactionsByTransactionTypeStringWithMaxWithCutoff
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_namecli entrypoint argument name.
v2.234.0 - 2024-08-20
Added
Adds
get_by_request_type_namemethod 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_paymenthave been renamed toinstant_paymentscli entrypointRemoved yapf styling in preference for ruff
Fixed
Fixes boiler plate code of InstantPayments adapter extension after creating the extension.
q2 sandbox insatnt_payments disablenow 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.deletefor use in productionAdds
IsOpenBankingattribute to theUserRoleget 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_listendpoint 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 formatentrypoint to facilitate quick code formatting across the entire codebase(Internal Q2 Devs) Adds support for Holocron - an internal Q2 configuration database
Adds
IS_UNAUTHENTICATEDto the running server’s inspect endpoint
Fixed
Fixes a bug with Customer DbObject’s
move_many_to_groupwhere customerId was cast as the wrong typePassing in
User-Agentto q2_requests headers will override the default (python-q2-requests/<sdk_version>)
v2.231.0 - 2024-07-26
Added
(Beta) Adds
RequestForPaymentResponserequest type which stores response forRequestForPaymentrequest.q2 setupnow has functionality to set multitenant flag to True.Adds new method
get_pending_transactionstoGeneratedTransactionsDBObject.Adds
AuditCategoryInstallStep.Adds
GtFlavorInstallStep.Adds new subparser
gt_flavortosandboxcli entrypoint.Adds
AuditCategoryDBObject.Adds
GtFlavorDBObject.
Fixed
get_ach_detailsmethod ofTransactionsDbObject now returnsRecipientIDin the result.NavNodeDBObject now allows adding and editingavailable_for_landingvalue.`get_pending_by_customer
method ofCustomerDBObject now properly converts customer ids toint``.
Changed
NOTE (Beta)
RealtimePaymentRequesthas been renamed toRequestForPaymentRequest.
v2.230.0 - 2024-07-22
Added
HostAccountDataDbObject’s.getmethod now has aoverlay_rt_tableparameter which defaults to True. If enabled, will overlay data from theQ2_HostAccountDataRTtable
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_installedno longer causes error when adding groups to a Form if the value of UserPropertyData is False for that group.Adding
Q2Span.instrumenton route no longer causes error.Moving many customers will no longer error out if deleted date is null
UserDBObjectgetfunction now properly handles missing parameters
v2.228.0 - 2024-07-12
Added
Adds
.store_in_hqand.from_externalmethods 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_dbnow has a--no-websocketflag 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.dbsupport to entrypoints for easy access to instantiated DbObjectsAdds
.get_accounts_by_productmethod to HostAccount DbObject
Fixed
Eliminates charset normalizer warning message showing up in the logs on every HQ call
Fixes
q2 upgradecompatibility withpipversions >=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
UpdateCustomerWithAccountEditendpoint to BackOffice endpoints.
Fixed
SSOSessionobject now has asession_idattribute so that nowself.session_cachecan be used onQ2SSORequestHandlertypes.Opentelemetry tracing is now enabled on entrypoints when
Q2SDK_ENABLE_OPEN_TELEMETRYenvironment variable is set to True.
v2.225.0 - 2024-06-14
Added
New HQ Endpoints:
Q2Api
AdapterPassThruByAdapterRequestTypeStringAdapterPassThruByAdapterRequestTypeStringZonedGenerateDateDrivenAlertsByZoneGenerateHadeCurrencyAlertsByZoneGeneratePostedTransactionAlertsByZoneHealthCheckPurgeCachedExternalRequestsForQ2ApiUserSendNotification3WithHtmlAndZoneSendNotification3WithZoneSendNotificationsForNewMessageToAdminGroup
WedgeOnlineBanking
GetAccountHistoryByIdWindowed
Fixed
Subprocess failures in
q2 run_db_planwith exit code -9 will log OOM exceptions appropriatelyTesting
clean_environmenthelper 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.12commandcaliper_adminscript updated to reflect python3.12 additions
Changed
Removed dependency on
samlpackage. It is now embedded in the SDK itself.
v2.223.0 - 2024-06-11
Added
Adds
filter_out_deletedandgroup_idfilters toCustomer.search_by_create_datemethod
Changed
Increase default Vault connect timeout from 1 to 3 seconds
Fixed
Adds
TECTON_BETAinto the Q2TectonBaseRequestHandler
v2.222.0 - 2024-06-06
Added
RealtimePayment Adapter now sends q2msg in response if
application/q2msgis present in request headers.Adds new subparser
push_notificationtosandboxcli entrypoint.Server type online extensions now has
TECTON_BETAfeature.
v2.221.0 - 2024-05-29
Added
Adds
use_session_cacheparameter 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_branchcaliper_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_CONFIGSblock
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 checkwill validate only a single lockfile exists per extensionHostAccountRow now has a
.ProductNameand.ProductNickNameSSOAcount now has a
.abaHostAccountDataElementDbObject adds acreatemethodAdds a
host_account_data_elementsInstallStep that can be used in DbPlans to create them on install
Fixed
Customer
get_pending_by_customermethod now property decodes the utf8 string in the responseFixes a bug with
DbPlanCustomInstallSteps 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
NavNodeDbObject can now specifyNavigationType(StandardMenu,MobileThumbBar, andNavLandingPage)Adds Application Outlet support to
q2 tectonInstallSteps in DbPlans can now be marked as required, meaning leaving it blank raise an error at install time.
UserPropertyDataDbObject adds a.get_by_group_with_idmethod to get UserPropertyData Rows related by group
Fixed
Fixes a bug with
q2 setup_dbthrough local dev api websocket that wouldn’t install dev only stored procsUserPropertyDataElementinstallstep 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 tectoncommand prompts.
v2.216.1 - 2024-04-25
Fixed
Backofficetype 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_vendorsq2 db get_realtime_payment_data_typesq2 db get_realtime_payment_request_typesq2 db add_realtime_payment_vendorq2 db add_realtime_payment_data_typeq2 db remove_realtime_payment_vendorq2 db remove_realtime_payment_data_typeq2 db remove_realtime_payment_request_type
Realtime payments options show up in
q2 install,q2 uninstall,q2 get_installedq2 sandboxcommand now has arealtime_paymentmenuq2 sandboxcommand now has aq2msgmenu for integration with Q2’s internal security signing packageAdds a dev_only
updatemethod toSystemPropertyDataDbObjectNew Backoffice HqApi endpoints:
GetAllGeneratedTransactionsForProcessing
GetDataSet
GetDataSetFiltered
GetGeneratedTransactionsForProcessingById
GetGeneratedTransactionsForProcessingByProcType
GetGeneratedTransactionsForProcessingByTranType
GetGeneratedTransactionsForProcessingByTranTypeWithMax
ProcessGeneratedTransactions
Fixed
Fixes for
add_policy_data_to_entitymethod forDatanode caseFixes for
PolicyData.setmethod 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_cacheadds 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
omittedsection on the GroupMoverResponse returned from themove_many_to_groupmethodAdds an
omit_pendingboolean to themove_many_to_groupparameters to facilitate moving as many customers as possible while still retaining a list for later debuggingAdds a
get_pending_by_customermethod toCustomerDbObject 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_localis False but theVAULT_LOCAL_DIRis defined,Q2Vaultwill no longer try to use localDisclaimerDbObject’s.createwill properly detect if a disclaimer already exists after being installed with newer Form PropertyID method
Changed
caliper_adminscript will no longer allow creation of repos directly in the home directory without a parent directoryq2 create_extensionnow 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 sandboxCLI 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
SSOUserobject (self.online_user in SSOHandler types) now has aself.user_guidpropertyDocs: Improvements to the parameters and samples for the most common HQ endpoints section
Docs: Improvements to the
Customer.move_groupandCustomer.move_many_to_groupdocstrings for clarity
Changed
q2 db enable_symantec_tokens_for_useris nowq2 sandbox enable_auth_tokenq2 db disable_symantec_tokens_for_useris 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_idmethod to theUserPropertyDataElementDbObjectAdds a new adapter type! StatementImage. Tutorial docs updated appropriately
Docs: Updated requirements and caveats for custom SQL scripts
Fixed
q2 db get_session_http_headersnow correctly expects a session_id positional paramq2 loginnow works from zerostate again (no username yet configured)
Changed
WedgeAddress.deletemethod is no longer dev_only
v2.211.0 - 2024-03-11
Added
Adds a new
@cachedecorator inq2_sdk.core.cacheto handle caching a function levelAdds aws datacenter URLs to the
invalidate_hq_cachemethodAdds
AdminUserPropertyDataElementInstallStep (for BackOffice based DbPlans)Adds
FeatureGroupUserandFeatureGrouptoUserPropertyFeatureEnumDB update to
oauthscripts to alias Expiry column to an appropriate nameDocs: Added
Secure Code Reviewsection toReview and Deploymentdocs
Fixed
Fixed a bug with
q2 uninstallandq2 removed_from_navthat could find a missing UserProperyData row due to order of operationsEstatementDbObject now correctly serializes ProcessedDate as aStringElement(rather thanIntElement)Fixes a bug in
calculate_urlmethod 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
NotFounderrors 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.getRecipientDbObject adds aget_recipientsmethodAdds
q2 db get_by_recipient_idCLI entrypointAdds
q2 db get_recipients_by_customerCLI entrypointClearer error messaging when an extension already exists in the database, clearing up the ambiguity of why
Fixed
Fixes a bug with
q2 setup_dbinstalling10-remove_user_property_data_element.sqlEnums are now able to be passed to
HqApicalls when appropriateCurrencyExchangeRateDbObject can now be serialized as a RepresentationRow Table objectq2 loginnow works if you type in a capital letter in your email address
v2.209.1 - 2024-02-22
Fixed
\xa0byte (non breaking space) is now replaced with a space in Tecton formsq2 developer services_statusis now callable from the CLI without a stack trace
v2.209.0 - 2024-02-15
Added
Adds
deletemethod onHostAccountDataDbObject.Adds
delete_all_property_datamethod onUserPropertyDataDbObject.
Fixed
Fixes bug with sqlalchemy when installing SDK.
Fixes bug with retrieving all the currency codes with
IsValidForIntWiresvalue True.self.flush is now supported through local-dev-api.
caliper_adminnow prompts (y/n) before installing frontend dependencies.
v2.208.1 - 2024-02-07
Fixed
Outgoing
q2_requestscalls now has accurate version ofq2-sdkattached in theUser-Agentheader.Fixes timestamps on
saml_responseto 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
DbConfigsupport on Adapter handlers.q2 run_db_plannow has an option to force update the uitext value.Adds
InitializeDatalifecycle 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_completioncommand.Fixes invalidating AWS based HQ cache.
Updating an entrypoint now prompts appropriately.
v2.207.0 - 2024-01-23
Added
q2 changelogwill now generate a version.txt file compatible with the gitlab phoenix pipelineUserDataDbObject’sget_by_short_name_paginatednow accepts a list of short names to query many at onceUserDataDbObject now has aget_by_short_name_countmethod
Fixed
q2 insightCLI command now serializes columns with correct spacing like other DbObjectsself.db.host_account_data.getno longer returns an empty dataset if data is indeed available
v2.206.0 - 2024-01-10
Added
Adds
get_customer_host_accountsmethod onHostAccountDbObject.
Fixed
Fixes bug on
EnrolledEntitywhen checking for existing values.Fixes bug on
inspectandstatusendpoints to respectAcceptheader.
v2.205.0 - 2024-01-02
Added
caliper_adminnow 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
EnrolledEntityDbObject.
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
GeneratedTransactionRightspolicy_data objects now grabRuleDatafrom HQIntroduces
q2 developersubcommand with initial support for logging in and getting servicesImproves logging on
CustomerDbObject’smove_many_to_groupmethod
Fixed
Fixes a stack trace on
HostAccountDataDbObject’sgetmethod if no data is returnedFixes an uninstall bug in OnlineInstaller when called from an outside service (such as Caliper Deployment Manager)
Formnow 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_usernow 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_usernow has a.user_guidproperty for guaranteed uniqueness, useful in multitenant setupsq2 db get_audit_actionsnow showsBeforeActionWedgeAddressIDandAfterActionWedgeAddressIDcolumnsNew HQ Endpoints:
Q2Api
AcceptIncomingRealTimePaymentTransactionAddFundsTransferWithGtFlavorCreatePostProcessingRecurringTransAndGtAlertsCreateSubsidiaryCreateUserRoleDeleteSubsidiaryDeleteUserRoleEditSubsidiaryExecuteCentralReportFundsTransferFromUnassociatedAccountByUiWithPandIandAdditionalDataAndGtFlavorFundsTransferFromUnassociatedAccountByUiWithPandIandAdditionalDataSkipTokenAndGtFlavorFundsTransferFromUnassociatedExternalAccountByUiWithPandIandAdditionalDataAndGtFlavorFundsTransferToUnassociatedAccountByUiWithPandIandAdditionalDataWithProcessDateAndGtFlavorFundsTransferToUnassociatedExternalAccountByUiWithPandIandAdditionalDataAndGtFlavorGetCentralReportParametersGetCentralReportReportListGetCentralReportStatusGetProductDefaultsValueGetProductDefaultsValuesGetSubsidiariesSendNotificationsForNewSecureMessageUpdateProcessingDates
WedgeOnlineBanking
AddFundsTransferWithGtFlavorFundsTransferFromUnassociatedExternalAccountWithGtFlavorFundsTransferToUnassociatedAccountWithGtFlavorFundsTransferToUnassociatedExternalAccountWithGtFlavor
Fixed
Fixes an issue with
q2 checkcommand in version2.201.1.in thecheck_no_dangerous_codecheck
v2.201.1 - 2023-11-21
Fixed
caliper_adminwill now create a new git repo even when starting a branch new projectFixes bug with
AuditDetails’spopulate_from_hqmethod 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 runrequiresq2 loginas a prerequisiteq2 runwill now properly monitor for changes to .nvmrc to trigger rebuildsq2 runwill now properly generate a.build_hashfile on frontend build againEstatementDbObject now properly serializes OptIn property as a Boolean
v2.201.0 - 2023-11-13
Added
Adds a
USER_PROPERTY_DATA_ELEMENTvariable on form and sso extensions to set custom user_property_data_element name.
Fixed
Fixes circular import error when
Productdbobject is imported.The groups associated to a Form are now correctly retrieved if
PropertyValueis True on that related UserPropertyData table.Fixed a thread safety bug where
self.cache.get_asyncwould 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_URLis set.q2 run:nvm installcommand 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-apinow uses database creds from q2developer.com when runningq2 setup_dbthrough the websocketAdds
pyproject.tomlfile 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)
PhoneNumberDbObject now acceptsextensionparameter inadd_phone_number
Fixed
GetHostAccountByExternalNumber now handles empty strings as external number
q2 get_installedno 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-blocktoq2 runcommand. If enabled, only your originating IP address will be allowed to call back to your server.Introduces the
q2 create_lifecycle_scriptsentrypoint for convenient hooks on server startup/shutdownFormandVendorDbObjects add awith_groupsboolean to the.getmethodvault.get_certificate now works in a multitenant context
Adds support for
Q2_ZoneSystemPropertyDatatable by adding aZoneContextparameter toSystemPropertyData.get()Adds the new
ZoneDbObject for querying theQ2_ZonetableAdds the
q2 db get_zonesCLI commandAdds the
--zone,--zone-by-group, and--include-zonesflags to theq2 db get_system_property_dataCLI commandUserLogon.get_login_by_name()now has aninclude_deletedboolean flag which defaults toFalse
Fixed
Substantially speeds up
q2 install,q2 uninstall,q2 get_installed, andq2 update_installedcommands by only querying for group associations when askedq2 remove_from_navnow 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_usernow prefers.as_demographic_infoto.demographic_infofor clarity of intentAuthTokenHandlers now have aself.incoming_requestwith information about the logged in userPhoneNumberDbObject now has an.update_customer_phonesmethodEnrolledEntityDbObject’s.grab_customer_datanow supports international addresses
Fixed
UserLogon’sget_login_by_namenow properly handles deleted usersEmpty DbPlans no longer result in account lists not being sent from HQ
Fixes a bug with
CustomerDbObject’s.update_customer_addressthat was not setting the City
Deprecated
self.online_user.demographic_infois 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_rangemethodEstatement DbObject adds
add_or_updatemethodThe
/inspectendpoint 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
CustomerDbObject adds theupdate_customer_addressmethod
Fixed
UserDemographicDataDbObject’svalidate_addressestakes 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 checkwill catch another form of HQ_CREDENTIALS hardcoding in the settings file
v2.195.0 - 2023-09-22
Added
q2 invalidate_hq_cachenow also invalidatesUiTextBundlesq2 installnow also invalidates UiTextBundles from hq cacheUserLogonDbObject’svalidate_passwordmethod now accepts a ZoneData object, adding Zone support
Fixed
HQ_CREDENTIALSwill now always be present in the settings file when running tests (more pipeline failures)
v2.194.1 - 2023-09-20
Fixed
self.hq_credentialsno longer retuns None onq2 dbentrypoint.
v2.194.0 - 2023-09-19
Added
q2 add_dependencynow has--devflag to add dependency to requirements_dev.txt instead of requirements.txtq2 testnow has--no-frontendand--no-backendflags to limit testing.q2 create_extensionnow 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 testnow 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_CREDENTIALSvariable 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_requestswould not upload files through ArdentFS (since 2.190.1)Better type hinting on ArdentFS file upload function
caliper_adminscript improvements for Q2 VPN networkQ2Cache’sflush_allfunction only attaches to memcache in DEBUG modeQ2Spandecorator 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
BackOfficeParamsObjwill now use the reported_hq_url from the incoming request unless specifically overriddenBackOfficeHqCredentialsnow handleLoginPasswordStatusExpired,AdminTokenRequired, andAdminTwoTokensRequirederrors explicitly
Added
Adds sdk.error_type OpenTelemetry tag to capture exceptions raised by the SDK code at runtime
Changed
Calling
get_backoffice_credentialson an already existingBackOfficeHqCredentialsobject will now raise an exception to just use the object
v2.192.1 - 2023-08-31
Fixed
Fixes bug on
session_cachewhen retrieving keys.Fixes timeout issue on local dev.
v2.192.0 - 2023-08-25
Added
HostAccountDbObject now has a.update_account_rightsmethod
Fixed
FxRate Adapter Handlers no longer generate with a unimported datetime module
caliper_adminswitch_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
AddressDbObject 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_LIMITproperty in settings to control the split thresholdPeriodic Jobs now respect log filters
q2 add_to_navnow 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 checkwill no longer break on embedded strings that contain the substring ‘print’Calling
get_tecton_formmultiple 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_requestscalls will now log all kwargs, including filesForm updates through dbplan now correctly set AccountRightsBitFlag
Form.updatenow 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_credsnow 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_userno longer requires a group_id parameterStored Procedure names will only be logged in
q2 runrather than all entrypoints
v2.189.1 - 2023-07-31
Fixed
UuxUserPropertynow automatically invalidates cache on install.Ardent type extensions now support logging
fi_numon multitenant extensions.Fixes bug while updating Ardent type extensions.
v2.189.0 - 2023-07-14
Added
q2 create_extensionclient side rendered option will now prompt forIntegrate with VueCSR generation with
Integrate with Vuewill now generatevite.config.jsfile.Groups can now be added during sso extension type installation.
Fixed
Adds default value for
FRIENDLY_NAMEon handler.Handles type casting of
expiryargument onadd_oauth_tokencli endpoint.Handles historic repos with
q2_coresin theCOREvariable in settings.py fileTecton version is now available for all extension types.
v2.188.0 - 2023-07-10
Added
Adds
get_by_userandget_by_idmethods onOAuthLookupDbObject.Adds
UserPropertyCategoryDbObject.Adds
create_user_property_categoryandget_user_property_categorycli endpoints toUserPropertyCategoryDbObject.
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_NAMEnow falls back to vendor name if it is not set on SSO extension.
v2.186.0 - 2023-06-27
Added
Adds
get_user_emailmethod onEnrolledEntityDbObject.Adds
get_list_of_associated_logonsonUserLogonDbObject.Adds
search_userscli endpoint onUserDbObject.Adds ability to create new extension type
Caliper API Custom Endpoint.Adds
CaliperApiCustomEndpointsDbObject.Adds
get_caliper_api_custom_endpointsandget_caliper_api_custom_endpointcli endpoints onCaliperApiCustomEndpointsDbObject.
Changed
Multiple extension types are now bundled together in create_extension entrypoint
Fixed
Fixes logging endpoint to reset log level after 5 minutes
q2 checknow fails on a missing core configuration file.Empty
GTValuesare now excluded when retrieving user data usingget_by_short_name_paginatedonUserDataDbobject.caliper_adminnow prompts to provide a name for virtual environment.Fixes bug on setting
REPO_NAMEenvironment variable when repo_name is passed as a cli argument duringq2 run.
v2.185.0 - 2023-06-20
Added
q2 inspectnow shows current HQ versionAdds new Ardent cookie values in preparation for AWS hosting support
Fixed
Fixes a bug where NoRootErrors would be thrown on
q2command 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_numinside summary_line message.Adds
EStatementDbObject.Adds
get_e_statementcli endpoint toEStatementDbObject.
Changed
Refactors
q2 cacheendpoint.
Fixed
Fixes return rows type on
GeneratedTransactionDbObject.
v2.183.0 - 2023-06-05
Added
Adds
get_by_property_idmethodUserPropertyDataDbObject.Adds
get_host_account_datacli endpoint toHostAccountDataDbObject.Adds
updatemethod toHostAccountDataDbObject.
Changed
q2 installwill now usePropertyIDcolumn of Q2_Form table instead of Q2_FormToGroup when appropriate.
Fixed
Fixes bug to handle
LookupErrorduring 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_dictmethod to PolicyData objectq2 checkcan 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_userscli endpoint onUserDbObject.Adds
get_account_related_usersandget_manymethods onUserDbObject.Adds method
setonPolicyDataDbObject.
v2.180.2 - 2023-05-12
Fixed
Fixes bug with wsl not returning results on
which ifconfig.
Changed
REPLAYlogs no longer shows up whenQ2SDK_LOCAL_DEVis set to True.
v2.180.1 - 2023-05-05
Fixed
Home directory alias
~will now be expanded in local vault operationsq2 setup_dbnow works again through the local dev websocket
Added
caliper_adminwill now offer to update the repo’s SDK version on clonecaliper_adminwill now detect and update your git configuration if missing
v2.180.0 - 2023-05-03
Added
CustomerDbObject adds asearchmethodCurrencyExchangeRateDbObject adds acreatemethodUserDataDbObject adds aget_by_create_date_rangemethodUserDataDbObject adds aget_by_short_name_paginatedmethodNew CLI entrypoint
q2 db search_customers
Fixed
Very large files can now be transfered through the local dev api websocket connection
caliper_adminscript will no longer say memcached started successfully if it didn’t
v2.179.0 - 2023-04-27
Added
GeneratedTransactionsDbObject now has aget_transactions_by_date_range_with_gt_datamethodAdds
CurrencyExchangeRateDbObject 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_multimethod to UserData DbObjectAdds
q2 db get_user_data_allCLI commandAdds
q2 db get_customer_data_allCLI commandAdds
get_active_users_sincemethod to UserLogon DbObjectAdds
q2 db get_active_users_sinceCLI command
Changed
UserPropertyDataElement.uninstallwill 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.11Fixed bug on
UUXPayloadInstallSteps that could lead to javascript errors on the front endCacheMock class no longer breaks if
kwargsisNone.
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.11commandcaliper_adminscript 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
/loggingendpoint now has an input to toggle response logging temporarily for debugging purposes
Fixed
Fixes a bug with
q2 cachewhich could lead to local cache corruptionq2_sdk.core.cache.get_cachewill automatically detect if running in test mode
Changed
q2 testcalls 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_rangemethod
v2.173.0 - 2023-03-26
Added
Adds
add_phone_numbermethod toPhoneNumberDbObject.Adds
add_phone_numbercli endpoint.Adds
q2 cachecli entrypoint which has options toget,set,delete,--viewand--clearcache.
Fixed
q2 uninstallnow handles whendb_planis not present.Fixes bug while retrieving
PasswordPolicydata with group_id.Fixes bug ‘emails’ being referenced before assignment on
EnrolledEntityDbObject.Fixes bug to allow serving assets when calling extension on mobile app.
v2.172.0 - 2023-03-22
Added
UserPropertyDataElementDbObject adds the.updatemethod for changing descriptionsAdds
q2 db update_user_property_data_elementcli commandCustomerDbObject addsget_manymethod to retrieve multiple at onceCustomerDbObject addsmove_many_to_groupmethod to efficiently call GroupMover for multiple customersAdds
PasswordPolicyDbObject withgetfunctionalityUserLogonDbObject adds a possiblegroup_idto thegenerate_passwordmethodGeneratedTransactionsDbObject adds aget_by_create_date_rangemethodLocal 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_userentrypointAdds the
q2 db disable_symantec_tokens_for_userentrypoint
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
.updateTransactions DbObject now has
.get_ach_detailsmethod 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_sincemethod 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 checknow checks for print statements with additional spaces.SSO extensions now respect
FRIENDLY_NAMEvariable during installation.
v2.168.1 - 2023-02-22
Fixed
Fixes datatypes in
SecAlertUserPrefDbObject while adding data.Limits size of data being added to that present in table while creating
UserData.Fixes
installstep onUUXPayloadwhenQ2_SECURITY_SECURITY_THIRD_PARTY_HTML_BLOCKis 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 checknow checks for print statements.Adds
from_jsonmethod toDbPlanclass.
v2.167.3 - 2023-02-08
Fixed
q2_requestsnow sends the500status when there is no response.local_dev_apiproxy now allows multiple simultaneous requests.
v2.167.2 - 2023-01-30
Fixed
q2 bounce_stackno 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.2are 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 lintby switching to Ruff linter (https://pypi.org/project/ruff/)q2 checkwill 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_logonnamemethodAdds
q2 db change_user_logon_nameCLI entrypointInsight DbList rows now have support for multiple customer keys in line with Insight API upgrades
Changed
pylinthas been replaced everywhere withruffVSCode helper files have been updated to prefer Ruff
Deprecated
pylintis 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_sincecli endpoint toUserLogonDbObject.Adds
get_by_idmethod onGroupDbObject.Adds documentation on webhooks.
Fixed
Fixes bug with deleting phone numbers using
delete_phone_numbercli endpoint on PhoneNumber DbObject.validate_is_treasuryandvalidate_is_companynow work with deleted groups in the system.TableRow DbObject now treat booleans as booleans.
v2.165.0 - 2023-01-13
Added
Adds
MarketingPageNameDbObject.Adds
get_marketing_page_nameandadd_marketing_page_namecli endpoints.caliper_adminnow hassync_system_certsoption for better certificate management using WSL.caliper_adminnow hasverify_connectivityoption to check for connectivity issues.UserPropertyDataElementDbObject now hasget_user_property_data_elements_by_categorycli endpoint.Adds
get_by_category_namemethod toUserPropertyDataElementDbObject./inspect/<extension_name>endpoint now showsmarketplace_features.
Fixed
Fixes bug with setting HqCredentials properties from a passed in InsightCustomerKey.
hq_credentials.get_build_numbernow uses WedgeOnlineBanking GetHqVersion if possibleFixes type hinting of
HostTranNumberonGetAccountHistoryByIdandGetAccountHistoryByIdWindowedresponsesFixes type hinting of
Cif,CifExternalandCifInternalonGetAccountsresponse.
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_DEVsetting 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
HqCredentialsnow havedb_schema_nameandenv_stackpropertiesself.hq_credentialswill automatically be populated withcustomer_key,database_name,db_schema_name, andenv_stackin HqHandler type extensionsIt is now possible to rate limit individual functions with the
q2_sdk.core.rate_limiter.rate_limitdecoratorRateLimitercan 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_extensionCLI command to efficiently remove an extension from your codebbaseq2 run_db_plannow takes a--custom_onlyparameter to only run custom install steps
Fixed
dist directory will be property created for server side rendered extensions on
q2 create_extension
Changed
/dbplanendpoint will run custom install steps only by default (overrideable by passing inrun_all_install_steps=trueas a query parameter
v2.161.0 - 2022-12-19
Added
Adds
EnrolledEntityDbObject.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_typemethods onEnrolledEntityDbObjectAdds logging to
Q2AdapterRequestHandlerto 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_CONFIGSnot showing up in cli duringq2 installandq2 update_installed.Refactors code for setting span attributes for opentelemetry.
Fixes bug on
addmethod ofLinkedAccountDbobject which now checks for datatype of parameters.
v2.160.0 - 2022-12-13
Added
AccessCode.create_targetswill now validate the type is Voice, Sms, or EmailAdds
PasswordHistoryDbObjectAdds
q2 db get_password_historyCLI entrypointNavNodenow returns CssClass column for Central Nav NodesAdds
WireDomesticDbObjectAdds
q2 db get_wire_domesticCLI entrypointAdds
WireInternationalDbObjectAdds
q2 db get_wire_internationalCLI entrypoint
Removed
Removed cruft of
wedge_payload_stored_procin the dbPlan in favor of the newerpayload_stored_proc
Fixed
UUXPayloadwill 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
FEATUREkey set toNoneOlder Tecton versions (<1.11.0) now correctly work with
q2-radioelements
v2.159.0 - 2022-12-07
Added
DbPlanattributes 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_featureguide.q2_requestsnow has option forminimal_loggingto prevent large requests from filling up the logs.Q2BaseRequestHandlernow has attributesdk_session_identifierwhich can be accesses usingself.Adds documentation for
Hydra Product Type.Adds
HydraProductCodeshq 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_UNAUTHENTICATEDvalue in a Tecton based handler will now make all the necessary corresponding changes on nextq2 runNew docs guide on Unauthenticated Extensions
Static Asset File handlers can now be overridden by setting
ASSET_HANDLERequal to your own class in urls.pyq2 inspectnow has a--my-iptoggle to print the machine’s address according to the SDKAdds
q2 db get_account_address_historycli entrypointAdds
get_historytoAccountAddressDbObject
Changed
q2 bounce_stacknow polls for the stack to become healthy again
Fixed
Fixes bug with
q2 update_installedand Client Side Rendered extensions that would expectHQ_AUTH_TOKEN_TYPEto be defined in the extensionFixes bug with
q2 db remove_date_feedHostTransactionHistorynow works with BigInt as transaction_idFixes bug with
AccessCodeDbObject 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
FundsTransferDbObject.Adds
get_funds_transfer,get_funds_transfer_by_customer_id,get_funds_transfer_by_user_id,get_funds_transfer_by_account_idonFundsTransferdbobject.Adds documentation for
GetAccountHistoryByIdWindowedandTransactions.Adds
Q2SDK_ARDENTFS_URLinsidecaliper_admin.Unauthenticated extensions(
IS_UNAUTHENTICATED = True) are now inserted into DataFeed table andHqAuthTokenis ignored.
Changed
Q2 Caas is no longer supported and
q2_caasmodule is removed.
Fixed
Fixes default values for
HQ_AUTH_TOKEN_TYPEandAUTH_TOKEN_LIFE_IN_MINUTES.Fixes type of
Q2REQUESTS_DEFAULT_CONNECT_TIMEOUTandQ2REQUESTS_DEFAULT_TIMEOUTto 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
HqAuthTokenTypeDbObjectAdds
q2 db get_hq_auth_token_typeCLI commandHQ_AUTH_TOKEN_TYPEandAUTH_TOKEN_LIFE_IN_MINUTESare now configurable on the handlerAdds
audit_http_headersproperty to self.db helperQ2SamlResponsenow has issuer and status_code propertiesq2 checknow 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 tectonnow has support for Dynamic Content (docs page updated)
Fixed
Pip versions will no longer show up as possibilities in
q2 upgradeFixes a bug with caching country_list in the UserDemographicData DbObject when Memcached connection goes down
q2 uninstallagainst 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_actiononAuditActionDbObject.Adds method
update_after_action_waonAuditActionDbObject.Adds new cli entrypoint
get_wedge_addresses_tied_to_auditsonWedgeAddressDbObject.Adds method
get_wa_tied_to_audit_actionsonWedgeAddressDbObject.Adds advanced DBConfig types for dynamic default values.
Fixed
Fixes reset password bug on
UserLogonDbObject by adding missing HQ credentials toChangeEndUserPasswordparams.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 Certoption)
v2.154.0 - 2022-11-07
Added
Adds
AuditHTTPHeadersDbobject.Adds
get_session_http_headerscli endpoint onAuditHTTPHeadersDbobject.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_idnow send a BigInt to match the database schemaFixes a bug where hardcoding
FORK_REQUESTSin the settings file but not setting the environment variable would cause the server to not start
Changed
AuditRecord’s
get_audit_sessionnow returns a list rather than a single record
Added
svgfiles 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_extensionwith React frontend now provides better IDE hinting helpers
v2.153.0 - 2022-10-28
Added
Adds
AdminUserDbObject.Adds
update_infomethod toAdminUserDbObject.Adds
set_password_status_as_acceptedmethod on UserLogon DbObject.Adds
get_users_created_oncli endpoint onUserDbObject.Adds
search_by_create_dateonUserDbObject.
Fixed
Fixes bug on
AdminUserLogondbobject while retrieving invalid logins.
Changed
Refactored backend of
UserLogonDbObject.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
HqCredentialswill 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
createanddeletemethodsAdds
q2 db create_uux_user_propertyandq2 db delete_uux_user_propertyCLI commands
Fixed
Periodic Entrypoints will now use the appropriate log formatter
Bugfix for
Customer.move_groupwhich 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_requestcalls do not specify headersq2 checkno longer tries to validate non-python files for blocking codePasswordPolicy.populate_from_hqmethod will no longer blow up if no password_policies are set
Added
UserDbObject now has a helper.deletemethod to call the appropriate Hq endpointQ2Vault.get_certificatemethod 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_finishfunction in fork mode.
v2.150.0 - 2022-10-18
Added
Adds
delete_accesscode_targetmethod onAccessCodedbobject
Fixed
Fixes bug on
AdminUserLogondbobject by cleaning theLastLogonandLastFailedtimestamps.contains_markupparameter is now case-insensitive while creating UiText object.Updates
sdk_AddAdapterAddress,sdk_AddAuthToken,sdk_AddCentralForm,sdk_AddDisclaimersql to confirm with new database structure
v2.149.0 - 2022-10-14
Added
Adds
ExternalTransactionDbObjectAdds
get,get_by_customer_id,get_by_user_id,get_by_host_account_idmethods to the ExternalTransaction DbObjectAdds cli support for the ExternalTransaction methods
q2 ceate_online_usernow automatically links accounts from default (retail0) user to the newly created userUserDemographicDatanow has avalidate_addressesmethodPhonemodel now has afull_phone_numberfieldUserDemographicDatanow has avalidate_phonesmethod
Fixed
UserLogon.reset_passwordno 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
PolicyDataDbObject’s.getwill 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_markupwill now pass it along appropriately to the stored proceduremessage_bus.pushin a live environment now returns the response rather than a coroutine to be awaitedq2_requestcalls that pass anoauth_clientnow appropriately retry if unauthenticated responses come back
v2.148.0 - 2022-10-06
Added
Adds
AdminUserLogonandPasswordStatusdbobjectAdds
disable_admin_user,enable_admin_user,get_admin_user_logoncli entrypoints toAdminUserLogondbobject.Adds
get_password_statuscli entrypoint onPasswordStatusdbobjectAdds check for powershell admin and an additional pip env var
PIP_TRUSTED_HOSTincaliper_adminscript to improve the internal Q2 vpn setup experience
Fixed
UserPropertyDatadbobject now acceptsproduct_idandproduct_type_idinsidegetmethod.Fixes type hint for
Q2SamlResponse.signFixes
caliper_adminscript to make powershell work on some wonky systems.Fixes the return shape of response for message_bus.push during dev.
HqCredentials.customer_keynow trims off unnecessary DEPLOY_ENV prefix
Changed
Updates
vault.get_certificateto set different type hintsUpdates
apikeyfor the APILayer currency data api in the documentation
v2.147.0 - 2022-09-29
Added
message_bus.pushnow accepts akrayt_urlparam for overriding the default krayt_url configured with the service
Fixed
HqResponse objects can now be built by extremely large compressed HQ responses
q2 tectoncommand 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, andCustomerdbObjects for code clarity
v2.146.0 - 2022-09-20
Added
CurrencyCodedbobject now has cli implementation viaget_currency_codesAdds
self.get_user_dobtoOnlineUser
Fixed
q2_requestsnow handles non standard HTTP status codes in the response.message_bus.pushis no longer blocking in local dev.The
getmethod ofUserDemographicDatadbobject can now retrieve response with non-emptydate_of_birthThe
getmethod ofUserDemographicDatadbobject now return response with Phone that has non-emptyLocalNumber.The
getmethod ofUserDemographicDatadbobject now return response with Address that has non-emptyStreetAddress1.
v2.145.2 - 2022-09-16
Fixed
q2 db update_vendornow 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_navRecursive 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.deletenow returns a DeleteCustomerResponse instead of the less detailed HqResponse
v2.145.1 - 2022-09-13
Fixed
Fixed datatype of
created_afterparameter withinsearch_by_create_datemethod of Customer dbobjectFixed
tax_idargument length from 12 to 100 ongetmethod of Customer dbobjectFixed circular import bug which occurred while getting updated wedge address url.
v2.145.0 - 2022-09-07
Added
VendorConfig.getwill now overlay zoned VendorConfig information if appropriateq2 update_installedwill 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_logproperty in each extensionCustomer DbObject now has a
search_by_create_datemethodAdds
q2 db get_customers_created_afterCLI entrypointNew HQ Endpoints:
Q2Api
ChangeAdminGroupChangeUserRoleIdCheckProcessGeneratedTransactionsAsyncStatusDeleteAdminUserGetAccountDetailsTransformByIdUnauthGetAccountHistoryTransformByIdUnauthGetAccountListByInternalCifAndCustomerIdGetAccountListTransformUnauthGetCustomerAllEntitlementListGetCustomerUserEntitlementGetCustomerUserRoleEntitlementGetHostTransactionImageByUserLogonGetRawAccountDetailsTransformDataByIdUnauthGetRawAccountHistoryTransformDataByIdUnauthGetRawAccountListTransformDataUnauthGetStatementCycleListWithStartAndEndDatesGetStatementImageWithReturnAsAttachmentParameterProcessAllOutstandingTransactionsAsynchronousProcessAllOutstandingTransactionsByTransactionIdAsynchronousProcessAllOutstandingTransactionsByTransactionTypeStringAsynchronousProcessAllOutstandingTransactionsByTransactionTypeStringWithMaxAsynchronousProcessAllOutstandingTransactionsByTransactionTypeStringWithMaxWithCutoffAsynchronousProcessAllOutstandingTransactionsWithMaxAsynchronousProcessZoneAllOutstandingTransactionsByTransactionIdAsynchronousProcessZoneOutstandingTransactionsByTransactionTypeStringWithMaxAsynchronousProcessZoneOutstandingTransactionsByTransactionTypeStringWithMaxWithCutoffAsynchronous
WedgeOnlineBanking
AddFundsTransferWithFlavorChangeUserRoleIdDecideUserRoleIdChangeGetAccountsGetStatementCycleListWithStartAndEndDatesGetStatementImageWithReturnAsAttachmentParameter
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
HqCredentialsobject now has a.database_namepropertyHqCredentialswill automatically populate thedatabase_nameproperty if set in Vaultmessage_bus.pushnow allows extra headers to be passed through to KraytD
Fixed
Fixes a bug with
UiText.createtreating contains_markup as an integer instead of a boolean
v2.142.0 - 2022-08-24
Added
UiTextDbObject get operations now return ContainsMarkup booleanHqCredentialsobject now has acustomer_keypropertyAdds
PolicyDataDbObject for interacting with policies surrounding an entity (User/Customer/Group/UserRole/Company)
Changed
Enabling of CanSubmitForms UserProperty now happens on
form_to_groupupdates rather than install to catch more cases
Fixed
Generated DbPlan no longer has a typo in commented out
gt_data_elementsFixes bug with
HostTransactionHistoryData.createto 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_installedwill prompt you to chooseForm DbObject’s RepresentationRow now correctly sets
AccountRightsBitFlagas 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_rawno longer breaks if passingNonefor prefixFixes import bug with
q2_sdk.models.adapters
v2.141.0 - 2022-08-03
Added
Adds
q2_sdk.models.saml_response.Q2SamlResponseclass 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_adminsetup_q2_vpn target now works even if Powershell does not have ExecutionPolicy set correctly
v2.140.0 - 2022-07-27
Added
q2 runnow has a-n nameflag to override the repo name when using the websocket local dev connectionPossible to override the websocket connection with
Q2SDK_REPO_NAMEas wellAdds the
TransactionStatusDbObject to get data from the Q2_GeneratedTransactionStatus Db Tablecaliper_adminscript now supports internal Q2 dev stackscaliper_adminscript 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_adminwill no longer print out gross errors after successfully updatingFixes bug with
10-get_user_property_data_by_group.sqlfile to support multiple installations
v2.139.0 - 2022-07-21
Added
HostTransactionHistoryDataDbObject now has a.create,.update, and.deletemethodcaliper_adminscript will now offer to remember and autoenable created virtualenvironment on shell start
Fixed
Fixes bug with
q2 tectoncommand that could raise an exception on multiple promptsImprovements to the
group moverfunctionality to handle corporate moves
Changed
caliper_adminscript’s ‘Clone Git Repo’ changed to the more generic ‘Start New Project’
v2.138.0 - 2022-07-18
Added
CustomerData DbObject
Adds
.get_by_valuemethodAdds
.get_by_short_namemethodAdds
q2 db get_customer_data_by_valueCLI entrypointAdds
q2 db get_customer_data_by_short_nameCLI entrypoint
UserPropertyData DbObject
Adds
get_by_groupmethodAdds
q2 db get_user_property_data_by_groupCLI entrypoint
Fixed
UserDbObject’s TableRow was mistakenly matchingCreationDateinstead ofCreateDateas the column name
v2.137.1 - 2022-07-14
Fixed
FORK_MODEwill no longer hold a PID open if an https endpoint is called over httpq2 create_extensionwill 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 tectonwill now update the database if necessary after changes occur to an extensionAdds
HostAccountDbObjectAdds
q2 db get_host_account_by_idCLI commandq2 checkwill now enforce marketplace enabled repos setting MULTITENANT=True in settingsDocuments
caliper_adminscript in setup docscaliper_adminscript now supports memcached on Maccaliper_adminscript 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_SOCKETfor 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_adminscript
v2.136.2 - 2022-06-29
Fixed
Fix a bug with
ProductType.getthat 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 -hwas 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_requestscalls will now log the status code of the responseTecton based forms now have support for
q2-radio-groupShadowDom elementsAdds a
HostTransactionHistory,HostTransactionHistoryData, andHostTransactionHistoryDataElementDbObjectAdds
q2 db get_host_transaction_history_data_elementCLI commandAdds
q2 db get_host_transaction_history_dataCLI 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 changelogthat would write a bad string into the settings file
v2.135.2 - 2022-06-14
Fixed
AuditRecord.getno longer accepts and then throws away session_idcaliper_adminscript createsnomad_secrets_dirandlocal_vault_directoryon initial setup nowupgrade_python_versionscripts in Shared Dev now accurately updategitlab.cipython version
Added
caliper_adminnow has asetup_q2_vpnfunction for internal Q2 dev in Windows WSL environments
Removed
Removes
GetDbConnectionStringHQ 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 checkthat would not allow proper SSO ParameterBitFlag combinationscaliper_adminwill now default to installing the latest SDK version if not specified, not the earliest
v2.135.0 - 2022-06-06
Added
Adds
AdapterRequestTypeDbObjectAdds
International WireAdapter type forq2 create_extension -> AdapterAdds
ThirdPartyDataSharedDbObject for adding ThirdPartyData without a group_id
Fixed
Updates recommended q2msg version to 1.10.2
v2.134.1 - 2022-06-01
Fixed
sdk_AddAdapterAddressstored 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
HostAccountDataDbObject now correctly casts ids as integers in the CLI entrypointFixes a syntax error in the
caliper_adminscriptcaliper_adminand docker dev machine both install librdkafka to support new q2msg versionclone_from_gitlabnow 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.10scriptAdds
upgrade_python_versioncommand to shared dev machine to autodetect desired python version and rebuild virtual environmentDocker dev machine and
caliper_adminscript 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 changelogcan how concatenate multiple change files to create a single changelogq2 checkwill now warn if any UiTextElements in the DbPlan have descriptions longer than the Db max length
v2.133.0 - 2022-05-16
Added
q2 lintnow has a--changedflag to only check python files changed since last git commitcaliper_adminscript 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
/inspectendpointAdds initial support for
AuthTokenRequestHandler(accessible viaq2 create_extension)Adds initial support for
FxRateRequestHandler(accessible viaq2 create_extension)Adds
AdapterAddressDbObjectAdds
AdapterInterfaceDbObjectq2 installnow works with the new Adapter type handlers
Fixed
Better type hinting on
self.account_list(Will hintSSOAccountfor SSOHandler andAccountfor Online based handlers)
Removed
Removes
SendSecureMessage2HQ endpoint. It did not work using the SDK and was a landmine.
v2.132.0 - 2022-05-06
Added
Add ability for
changelogentrypoint to create change files in a changelog directoryDBObjects can now be accessed through
self.db.*. Example: self.db.group.get()Added new DBObject
HostTransactionHistorywith cli parserget_host_transaction_history
Fixed
The
get()method ofObjectGroupDataDBObject is explicit about duplicate column namesFixed logs to not filter Audit Ids
Fixed bug in
switch_projecton shared-dev to work with customers having multiple projects.Fixed bug on
get_sso_user_logoncli parser ofSsoUserLogonDbObject to correctly show the argument namesso_indentifier.
v2.131.0 - 2022-05-03
Added
Added a new variable
BALANCE_HADE_SYSTEM_PROPERTYwhich has ability to setBalanceHADESystemPropertyIDin SSO extensions.Added options
Start MemcachedandInstall Frontend Dependenciesto caliper_admin(local dev) script.
Fixed
clone_from_gitlabnow doesn’t show error related toMarkupSafenot installed.
Changed
Updated docs for VSCode setup for external developers.
v2.130.0 - 2022-04-26
Added
There is now a
MULTITENANTvariable in settings. Setting this to true will more closely emulate a multi-tenant deployment into the datacenter. More details on the guides/configuration page.LinkedAccountDbObject now has anadd_by_primary_cifmethod
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_EXTENSIONvariable. Allows serving frontend assets for another extension rather than the default (same extension)
Fixed
q2 db add_access_code_targetswill now serialize the results appropriately_overridescustomer_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
authorizeTransactionWithMfaaction
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_TIMEOUTandQ2REQUESTS_DEFAULT_CONNECT_TIMEOUTvariables in Configuration guide.
Changed
The
createandupdatemethod of NavNode Dbobject now acceptroute_parametersup to 2048 characters.
v2.126.2 - 2022-04-11
Fixed
Fixes a bug with
Disclaimer.accept_for_user_idthat would break if a disclaimer in the DB does not have any GroupIDs
v2.126.1 - 2022-04-08
Fixed
Fixed bug with missing
customerKeyas part of cache key(whencustomerKeyis available) in Ardent extensions
v2.126.0 - 2022-04-05
Added
DisclaimerDbObject now has anaccept_for_user_idmethod to facilitate accepting disclaimers more easily from the SDKDisclaimerDbObject now has a RepresentationRow forret_table_obj=TrueDisclaimer.getnow returns more fieldsq2_sdk.tools.test.models.CacheMocknow has araise_remove_errorparameter, useful for some testing scenariosAuthTokenDbObject’s.deletemethod now works in the datacenterAdds
q2 vault add_hq_credsfor 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_credsnow 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 lintcommand now works against frontend testing even with a missing .nvmrcq2 db update_wedge_addressnow 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_dataproperty.Changed documentation in Ardent tutorial to reflect the changes on using
self.get_dc_cookie()to generate cookie strings.
Fixed
Fixed bug on
q2 lintandq2 testcli endpoints that allows sourcing nvm.sh on shared-dev.Allows hardcoded
USE_INCOMING_HQ_URLin settings during q2 check.Allows to dynamically use WedgeOnlineBanking or Q2API version of GetHqVersion in SsoUserLogon.
Added
Added
Rebuild Python Versionoption in caliper_admin script which provides the download url to build python on mac.
v2.124.0 - 2022-03-17
Fixed
Fixed
AttributeErrorbug while creating ClientSide extensions using react framework.Fixed widgets docs code sample on q2 frontend vs q2 tecton.
dashboard.account_groupis nowdashboard.account-groupdashboard.account_cardis nowdashboard.account-cardFixed bug with VaultInfo InstallStep that prevented it from installing if
basename_transformswas 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
customerKeyas part of a cache key if it’s available.
v2.123.0 - 2022-03-10
Added
The cli entrypoint
q2 frontendis changed toq2 tecton.q2 tectonnow has much more functionality and an improved user interface.
Deprecated
@ajaxdecorator 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.deleteis now available in the datacenter, not just dev only
Changed
q2 db remove_user_property_data_elementwill now remove all child UserPropertData rows (dev only)strictparameter onUserPropertyData.deleteis now deprecated. Strict mode is always true. To remove multiple, create a loop (or useq2 db remove_user_property_data_elementin dev)
Fixed
Switching RENDER_IN_NEW_WINDOW’s value in an SSOHandler, then running
q2 update_installedon 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
auditDayfrom the sdk_GetAuditSessionRecords stored procedure
v2.121.0 - 2022-03-02
Added
Updated widget documentation for new url testing structure.
Added method
get_audit_sessionto AuditRecord DbObjectAdds
q2 db get_audit_sessionCLI 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
renderAppfunction inside react templates.
v2.120.2 - 2022-02-25
Fixed
q2 installnow sets vendor_address correctly when using the local dev websocket
Added
UserDbObject now returns UserRoleID at the CLI (if--extendedset)
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_EXTENSIONSconfiguration 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 testnow 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_accountsmethodAdds
q2 db get_customer_linked_accountsCLI entrypointAdds prerelease version type in
q2 changelogCLI entrypointAdds
AddressTypeDbObject withgetmethodAdds
q2 db get_address_typeCLI entrypoint
Fixed
q2 lintnow works with frontend testing repos that rely on a non-system level node using nvmself.vault.readwill now work in multitenant deploys by defaulting to the Institution level StorageLevel unless a Stack is providedFixes a bug with
UserLogonDbObject’sdeletemethod 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_trafficis 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_notemethod toGeneratedTransactionsdbobject.Added
session_cacheto 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_navwhich 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_extensionclient side rendered option will now prompt for React/VanillaJSq2 runandq2 create_extensionwill 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 runwill 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.loggerwill 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
AccountInformationswas 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_apiwill no longer error on newer HQ endpoints
v2.114.0 - 2021-12-22
Added
Added
DisplayNameUiTextElementShortNameon Form DbObjectAdded
PropertyNameto 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.createmethod to DbObjectAdds
q2 db get_auth_token,q2 db create_auth_token, andq2 db remove_auth_tokento the CLI
Fixed
CLI will no longer respond with ‘success’ to
q2 db *calls that return 0 results/adminendpoint 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.cacheif originally configured with an environment variable (since 2.100.0)
Changed
Behind the scenes added changes to improve Vendor DbObject’s
.updateapi
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 runwith 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
HostAccountDbObject’ssearch_by_external_numbernow matches HQ’s logic for using eitherAccountNumberExternalorAccountNumberInternaldepending 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_VendorAddressAddress column now accepts 256 characters instead of 100 to more closely match the DB schemaUserDemographicDataDbObject 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_xmlandbuild_add_user_xmlin 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
updatemethod toCustomerandUserDbObjectAdds
q2 db update_customerCLI commandAdds
q2 db update_userCLI commandAdds
q2 db update_vendor_configs,q2 db delete_vendor_configs,q2 db add_vendor_configsCLI 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.updatethat never awaited the coroutineFixes secure_message guide page example code
v2.109.0 - 2021-11-02
Added
q2 update_installednow works with Central extensionsUiTextDbObject can now specify UiSelection information on all methods
Fixed
Fix more misspellings on
DateAlertDbObject 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, andRemoveUserConfigmethodsAdds
updatemethod toWedgeAddressDbObjectAdds
q2 db update_wedge_addressCLI commandq2 update_installednow 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_dbwill 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
WedgeAddressRowresponse object from TimeInMilliSeconds to TimeoutInMilliSeconds
v2.107.1 - 2021-10-22
Changed
q2 add_to_navwill present the current repo’s extensions at the top of the listq2 update_installedfor SSO extensions now returns clearer output regarding changed VendorConfigs
Fixed
Fix
q2 upgrade -p tectonbug that stripped out leading / in file pathsNow possible to update an SSO from a codebase that’s not the original one
q2 update_installedfor SSO extensions no longer errors if TableRows are returned instead of lxml objects
v2.107.0 - 2021-10-18
Added
Adds
q2 db update_vendorCLI 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_requireddecorator 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.OAuthClientclass. When passed to a q2_requests call, can allow easy/customized oauth token interactionq2 installwill now set addHqAuthTokenTypeandHqAuthTokenLifeInMinutesfor 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 checkhardcoded HQ credentials testImprovements for CLI completion combined with custom entrypoints
Generated gitignore file now specifies
__MACOSXinstead of the overly generic__*Fixes a bug with
q2 run_sqlthat could run custom SQL multiple times in rare conditions with multiple extensions contained in the same fileFORK_REQUESTSmode will no longer kill the server when entering backoff pressure modeImproves performance of
FORK_REQUESTSmode by switching to child signal handling instead of subprocessedpscalls
v2.105.0 - 2021-10-05
Added
Adds
RecurringTransactionDbObject withgetmethodAdds
q2 db get_recurring_transactionCLI commandFORK_REQUESTSmode 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
GeneratedTransactionsDbObject now has aget_by_recurring_idmethodAdds
q2 db get_generated_transactions_by_recurring_idcli entrypointFORK_REQUESTSmode will now log when memory is getting low in the container (controlled by theQ2SDK_FORK_WARNING_MBenv var)FORK_REQUESTSmode will now stop accepting requests when memory is low enough to kill the container (controlled by theQ2SDK_FORK_BACKOFF_MBenv var)It is now possible to pass
printkwargs throughq2_sdk.core.cli.textui.puts
Changed
UDP Callback port is now randomized in
FORK_REQUESTSmode (rather than defaulting to 1983)
Fixed
Improvements to
q2 install_completionto 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_variablesif presentFixes backwards compatible
closeparameter inTectonModalto no longer treatFalseasNone
Added
GeneratedTransactionsDbObject now has aget_by_idmethod
v2.103.0 - 2021-09-23
Added
SecAlertUserPrefDbObject 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_dbandq2 run_sqlwill now work on Debian 11 (including the docker dev machine for internal Q2 stacks) by equally supporting pymssql and pyodbcAdds
AuthTokenDbObject with.getmethodAdds
q2 db get_auth_tokenCLI 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_groupmethod toCustomerDbObjectAdds
Deletemethod toCustomerDbObjectAdds
q2 db move_customer_groupCLI commandAdds
q2 db remove_customerCLI commandq2 installwill now invalidate the DataFeed list when appropriate after installing Ardent extensions
Fixed
textui.putsnow casts non-string inputs as strings when loggingHardcoding
FORK_REQUESTSin the settings file will no longer break the CLI for nonq2 runcommandsFixes an issue with
q2 testandq2 lintwhen passing extra parameters and running from outside a virtual environment
v2.100.0 - 2021-09-08
Added
SecAlertUserPrefDbObject now also returnsFirstName,LastName,EmailAddress,PhoneNumber,SmsNumber, andNickname
Fixed
Q2CacheClientnow actually respects the logger you pass in rather than creating its ownFixes a bug with
q2 create_extensionand a few other entrypoints that did not accurately detectconfiguration/settings.pyin the root of the repo
v2.99.0 - 2021-09-02
Added
Adds
SecAlertUserPrefDbObject to interact with theQ2_SecAlertUserPreftableAdds the
get_sec_alert_user_pref,add_sec_alert_user_pref,update_sec_alert_user_pref, andremove_sec_alert_user_prefCLI entrypointsAdds the
GeneratedTransactionsDbObject to interact with theQ2_GeneratedTransactionstableAdds the
get_generated_transactionsCLI entrypointDocker Dev Machine now supports Vault secrets and certificate storage while testing
Fixed
If
NOMAD_SECRETS_DIRis undefined (only relevant in local development) will no longer prevent interacting with Vault stored certificates
v2.98.0 - 2021-08-27
Added
HQ’s
AddRecipientxml_payload can now be generated with theapi_helpers.build_add_recipient_xmlfunctionHQ’s
AddRecipientAccountxml_payload can now be generated with theapi_helpers.build_add_recipient_account_xmlfunctionAdds
q2 db remove_user_datato the CLISSOUserclass (self.online_userin the context of an SSO extension) now has thehome_countryandwork_countryattributesIt 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_installedwhen 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
/inspectendpointq2 testnow 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_extensionfor Tecton Client Side Rendered extensions will no longer automatically put--hrm-port 1982into 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_memcachedcommand for local devDocker dev machine now has an
add_certcommand for cases where a company proxy captures outbound trafficOnlineUserobject now has anis_companyflag that can be manually set to work around core mapper limitationsNew HQ Endpoints:
Q2Api
AddOpenBankingUserAddOpenBankingUserLogonDeleteCustomerGetOpenBankingProviders
WedgeOnlineBanking
AddRecurringDomesticWireByCountAddRecurringDomesticWireByEndDateAddRecurringDomesticWireNoEndAddRecurringInternationalWireByCountAddRecurringInternationalWireByEndDateAddRecurringInternationalWireNoEndGetRecurringWireDomesticGetRecurringWireInternationalGetWireDomesticGetWireInternational
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_DBsetting) now implement.pyvaland.textfor more backwards compatibility with raw xml elementsmessage_bus.push()method now supports overriding the topic with thetopicparameterIs it now possible to pass a content_type to Ardent File’s
uploadandupload_from_filemethods (as well as at the CLI)It is now possible to pass
render_in_browserto Ardent File’sget_public_download_urlmethod (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):HoursLanguageMessageOFXTransactionTypeObjectGroupPhoneNumberProductTypeProductPushNotificationTargetsRecipientRegexReverseLookupSsoUserLogonSubsidiarySystemPropertyDataTemplateUiConfigPropertyDataUiSelectionRowUserDataUserLogonUserPropertyDataUserRoleUserVendorAddressWedgeAddress
Fixed
Fixes a bug with
self.get_ui_textthat would raise an exception ifRETURN_TABLE_OBJECTS_FROM_DBwas TrueAll CLI commands will respect
--logging-level(-l) value as case insensitive (debug == DEBUG)User provided SQL in
install/sql_servercan now contain multiple commands withGOin between them, rather than splitting it into multiple scripts
v2.94.2 - 2021-08-04
Fixed
Fixes a bug with
q2 add_to_navintroduced in 2.94.0Fixes a bug with
q2 --versionintroduced in 2.94.0Fixes a bug with
q2 run_db_planthat didn’t handle empty input files
Added
Docker dev machine will now run
container-prebuild-hook-dev.shon build if presentGroupDbObject now works withRETURN_TABLE_OBJECTS_FROM_DBconfig setting
Changed
/dbplanendpoint 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 --printwould 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_installednow works with SSO extensionsInsight.ValidateToken.validate()method now contains a .raw_response
Changed
q2 update_installed_formis 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_RemoveEmailstored procedure that was specifying a bad column name in newer databases
v2.93.0 - 2021-07-26
Added
OAuthLookupDbObject now has anenableanddisablefunctionAdds the
DateAlertDbObject with.get,.create, and.updatemethods
Fixed
SSOHandlerbased extensions will now work correctly withself.corecalls
Changed
q2 upgradewill now stream the output from the subprocessedpipcommand rather than just pause and eventually finish
v2.92.0 - 2021-07-22
Added
Adds
HostAccountMetaDataDbObjectAdds
createmethod toAddressDbObject
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 testagainst settings file items will now set test_mode correctly
v2.91.0 - 2021-07-08
Added
q2 add_to_navnow 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_DBconfig settingIntroduces a
q2 logincommand 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_extensionrunning after settings.py file has been manually deletedVery large HQ API responses are now automatically decompressed on the fly
VendorConfig, VendorAddress, and ThirdPartyDataElement
InstallStepswill now run after their corresponding deendencies onq2 run_db_plan
Changed
q2 lintwill now show warnings in yellow rather than red
v2.90.0 - 2021-07-01
Added
Adds new DbObject
AccountAddresswith corresponding CLI commandsEmailDbObject now has Update and Delete functionalityMessageBus now supports Protobuf declarations from
q2msglibrary
Fixed
q2 remove_from_navnow works with SSO extensions
Changed
q2 db add_user_property_data_element’s optional parametersallow_user_edit,allow_user_view, andallow_cust_vieware now toggles rather than keyword params
v2.89.1 - 2021-06-29
Fixed
Fixes a bug where
q2 checkwould not work for non-tuples in INSTALLED_EXTENSIONSNavNode.updatewill 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/inspectendpoint 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
/dbplanwill 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 checknow 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.9scriptUnsupported python versions can now be used anyway by setting the
Q2SDK_NO_VERSION_CHECKenvironment variable to 1
Changed
Upgrades from pylint 2.4.4 -> 2.8.2
v2.85.0 - 2021-05-24
Added
Adds
GtCaseDecisionReasonDbObject for working with theQ2_GTCaseDecisionReasontableAdds the
get_suspectmethod to theTransactionsDbObjectAdds the
q2 db remove_customer_dataCLI targetAdds
DecideSuspectGtbackoffice HqApi module. For usage instructions, check out the newBackOffice Callsdocumentation page.Adds
search_by_external_numbertoHostAccountDbObject
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 lintwill no longer ignore theconfigurationdirectory
v2.84.2 - 2021-05-21
Fixed
Fixes a bug with calling the
OnlineInstaller.installmethod 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.updatewould 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_versionAdds
q2 insight get_versionGuides and Tutorials will now appear above API references in web documentation
Fixed
HQ will now only be invalidated on
q2 runin 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_dbwill 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 akwargsargument 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 frontendwill now work correctly with extensions that live elsewhere than the root of the repoq2 update_installed_extensionwill 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_dbwill now properly install sql scripts into 4.5+ Databasesq2 create_coreflownow works appropriately when building off of a custom_core stored somewhere other than the root of the repoFixes a bug with
q2 run_db_planif 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
PropertyIDon theNavNodeDbObject
Fixed
Fixes a bug with
FormDbObject’sget_by_namemethod that would sometimes return multiple rows. Manifested onq2 add_to_navunder certain conditions as a stacktraceUserPropertyDataElement’sget_onemethod will now properly raise a DatabaseDataError when there is not a match
Changed
Trying to wrap an SSOHandler route in
@ajaxwill now raise a more targettedNotExecutableErrorrather 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
ExceptionSSOResponse ResponseTypeQ2SSOResponseobjects now have anend_user_error_messageproperty which will update the user facing error message in the even of a failed responseQ2SSOResponseobjects now have auser_level_config_listparameter, which allows setting data in the database as part of the return response to HQ
MessageBusextensions can now subscribe to more than onemessage_typeAuditRecordDbObject now has aget_by_idmethodAdds the
LOG_RESPONSE_IN_DEBUGsettings variable for great log verbosity at dev time
v2.80.0 - 2021-04-23
Added
UserData.get_by_short_namenow returns all datafields instead of justUserIDUUXPayloadDbPlan InstallStep now handles passing variables through JS with thewedge_address_js_variablesproperty
Fixed
Handles the condition on
q2 installthat theUserPropertyDatarow for the group selection is true instead of TrueFixes a bug with
FORK_REQUESTSmode 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_READfunctionality. If set to True, will read from new location, falling back to old oneq2 vault addnow writes to more appropriate location ifVAULT_SCOPED_READis set to Trueq2 vault add_certnow writes to more appropriate location ifVAULT_SCOPED_READis set to TrueAdds
COMPRESS_RESPONSEsettings variable (and correspondingQ2SDK_COMPRESS_RESPONSEenvironment 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
OAuthLookupDbObject withget,get_by_value,add_update, anddeletemethodsEmailDbObject now has acreatemethodIt is now possible to set a Phone as a SAC target without simultaneously being a SAC_SMS target
q2 ardent file_uploadcli command now takes a –timeout parameterq2 ardent file_downloadcli command now takes a –timeout parameter
Fixed
VAULT_SCOPED_READwas 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_cachecommandMessageBus handlers now correctly generate a url endpoint for all Q2 datacenter message topics on
q2 create_extensionSSO type was missing from the
q2 create_extensionCLI 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_fieldswhich would raise an exception if the body was empty
Added
Ardent’s
upload,upload_from_file, anddownloadmethods 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
CurrencyCodeDbObjectArdentHandlers now capture both query parameters and post body parameters inself.form_fields
Fixed
Improves
q2 invalidate_hq_cacheto better discover Central HQs
v2.76.0 - 2021-03-24
Added
Adds
TransactionTypeDbObject for use with the FundsTransfer related HqApi endpointsAdds
q2 db get_transaction_typescli commandNavNodeDbObject will now returnNavigationIDfrom.get()
Fixed
HqApi endpoints that require currency_code will now correctly default to USD
ardent.file_upload.upload_from_filewill now include the encryption key along with the file_id in the return
Changed
In
DEBUGmode, 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.updatewhich prevented it from working with SSO extensions
v2.75.0 - 2021-03-17
Added
The
/dbplanendpoint now takes in aform_idheaderDbPlan objects now take in an optional FormId parameter on the
installmethod, allowing operations on the related form in custom install stepsArdent
Fileobject now has aget_public_download_urlmethod, which will generate a link that is hittable from a browser for a limited timeDocker dev machines will now pip install
requirements_dev.txtbefore requirements.txt if it existsAdds
.get_deletedmethod toCustomerDbObjectAdds
q2 db get_deleted_customersCLI entrypointAdds
.get_deletedmethod toUserDbObjectAdds
q2 db get_deleted_usersCLI 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_READvariable to True in your settings fileExtensions now have a
self.vaultproperty for ease of useAdds a logger to Vault operations (secrets will not be logged, even in DEBUG mode)
Q2Vault.get_certificate()now has anas_objproperty. If set to True, will return a Certificate object, which has.key,.cert, and.pathproperties for ease of use.
Fixed
Fixed a bug where requests could close sockets prematurely in
FORK_REQUESTS=Truemode
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 checkto ensure frontend packages have a package-lock.json or a yarn.lock fileAdds
GtDataDbObject with.createmethod
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 checkto 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_threadtoMessageDbObject. This is a powerful function that could potentially be dangerous if used incorrectly, so therefore must be opted into via theDANGEROUS_WHITELISTin settingsTableRowobject now has.headers,.keys,.values, and.itemsproperties for ease of useTableRowobject now better handles parsing of DateTime objectsIf
COMPANYis set in the settings file, it will now be added to the db on install for reporting purposesQ2Vaultobject will now also attempt to read from~/.vault-tokenif other locations are exhausted, bringing it in line withvaultbinary programq2 add_to_navnow 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/inspectendpoint andq2 inspectentrypoint now showsCOMPANYvalue from settings
Changed
q2 installwill now install a form for all languages, not just USEnglishq2 add_to_navwill now install a form for all languages, not just USEnglishCOMPANYwill now be required in the settings file ifIS_CUSTOMER_CREATEDis True
v2.72.0 - 2021-02-26
Added
Adds built-in
/adminendpoint for terminating server at runtime
Fixed
Better descriptions on
q2 insight install_featurereturnsq2 runwill now properly refresh the ardent cache on server start againFix a bug where
q2 changelogwas not compatible with extensions registered in the tuple (name, path) format
v2.71.1 - 2021-02-18
Fixed
Fixes a bug with
FORK_REQUESTSmode which could potentially close the socket before all bytes were written in the child
Changed
q2 runin DEBUG mode will now explicitly disable caching in the browser for served assets
Added
q2 checkwill 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_navthat 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_returnnow takes aspecific_tableparameter in the event that the stored proc returns something different than the standardTableDbObjects
Adds
RecipientDbObject withget_by_customerandget_by_recipientmethodsAdds
TemplateDbObject withgetandget_template_recipientsmethodsUserDbObject now has anupdate_dobmethod
HqApi:
Adds
AddChangeOfAddressEndpointAdds
AsyncRequestUpdateEndpointAdds
ExecuteOutstandingReportsByZoneEndpointAdds
ExecuteWedgeRequestByNameWithTimeoutAsStringZonedEndpointAdds
ExecuteWedgeRequestByNameWithTimedZonedEndpointAdds
GetCustomerLocateWhereEndpointAdds
GetGroupLocateWhereEndpointAdds
GetUserAccountListWhereEndpointAdds
GetUserLocateWhereEndpointAdds
GetUserLogonLocateWhereEndpointAdds
MigrateCustomerFromTreasuryEndpointAdds
MigrateCustomerToTreasuryEndpointAdds
GetGeneratedTransactionDataElementsEndpointAdds
GetGeneratedTransactionsWindowedWithGtDataEndpointAdds
GetRecurringTransactionsWindowedWithGtDataEndpoint
Deprecated
Added deprecation warning to all HqApi
.get_soapand.get_jsonfunctions, preferring.execute
Fixed
HqApi
.get_soapand.get_jsonfunctions 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 upgradecommand 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 checkthat 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_asyncmethods to Q2CacheClient.Adds
GroupToZoneDbObjectAdds
q2 db get_group_to_zoneCLI commandDbPlans now support a
self.disallow_add_to_navproperty, defaulted to False, which will not allowq2 add_to_navto run for the given extensionAdds Custom Health Checks that will display on the /status endpoint
Adds Custom Health Check MenuOption on
q2 create_extensionAdds 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_THREADSenvironment variable is now correctly cast as an integer
v2.68.3 - 2021-01-21
Fixed
Backwards compatibility fix for
UUXPayloadinstall stepFixes signature of newly generated Ardent extension
getmethodFixes 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_xmlregarding 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_dbwill 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_namekwarg would result in a failed insertion to the database
Changed
If
api_helpers.build_update_demographics_by_logon_name_xmlis called without first_name, last_name, or middle_name fields, it will no longer try to update theUserrow 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.tectonto Tecton’scapabilitiesobject in default ClientSideRender index.js template
Changed
q2_requestscalls 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
UserDbObject to includeDOBfieldHQ 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.getnow returns DeviceBitflag fieldBetter type hinting on
NavNode.getAdds the
AdminUserPropertyDataDbObjectAdds the
AdminUserPropertyDataElementDbObjectPeriodic Entrypoints now have an
on_pre_runhook that will be invoked beforerunAdds an Ardent Tutorial in the documentation
NavNodeupdate 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_navfunction that changedcentral_display_nameparam tofriendly_namewithout 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 checkthat 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
HqApimethods 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_xmlandbuild_add_customer_xmlapi_helper functions now accepthost_userandhost_pwdparams
Fixed
Fixes a bug where
WedgeOnlineBankingendpoints 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_navif a Tecton form had been installed multiple times for different routes
Changed
HqApi parameters which are passed
Nonein 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_assistpropertyBetter 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_cacheoperationFix 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_textwhich 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_templatethat raised an exception if the magic keythiswas passed as a replacement key andthiswas 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 runwill now displayRegistered extensionsinstead ofInstalled extensionsfor clarityAdds a warning message in the event that developer accesses
self.corebeforepostfunction has been invoked
v2.63.1 - 2020-11-17
Fixed
q2_sdk.core.prometheus.get_metricno longer breaks when passing None forchainparameteradd_to_navnow properly referencesshort_namein 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’scloseparameter is nowshow_closeto match the inheritedModal, thoughclosewill still work for backwards compatiblity
v2.63.0 - 2020-11-09
Added
q2 checknow 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_navnow sets both route_params and device_bitflag in the database as part of installHqResponseobjects now have a.audit_idpropertyCounty,DataFeed,Disclaimer,GtDataElement,HostAccountDataElement,MessageRecipientGroup,MessageTemplate,NavNode,NavigationStyle,NotificationType,Regex,ReportInfo,State,ThirdPartyDataElement, andUserAccountAttributeDbObjects now all have.get_by_namesupport
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 runcan now run in ‘Fork Mode’, making a new process per request, by settingsettings.FORK_REQUESTSto Truesettings.FORK_REQUESTSrespects the environment variableQ2SDK_FORK_REQUESTSIf
settings.FORK_REQUESTSis 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)Phoneobject now has anis_sac_targetproperty
Changed
Manually invoking
q2 db update_nav_nodeorq2 db add_nav_nodewill no longer attempt to bounce a stack, relying instead on the cleanerinvalidate_hq_cachefunctionalityq2 create_extensionnow 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_listnow takes a--show-permanent-testparameter to merge prod results with permtest ones
Fixed
TectonServerHandler now uses
form_short_nameto 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
RegexdbObject to be more compatible with older Q2 platform versionsUserDemographicDataobject now works appropriate with empty MiddleName fields from the databaseUserDemographicDataobject 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_planfile input overrides
v2.59.0 - 2020-10-07
Added
Adds
UserRoleDbObject
Fixed
Fixed a bug with retry logic on
q2 insight upgrade_databasethat 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_requestsmethods now have a 5 second connection and 30 second response timeout (as opposed to infinite). To override set thetimeoutarg 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
RegexDbObject to gather data from the Q2_Regex tableAdds kwarg support to
Accountclass, allowing instantiation of the object without passing in an lxml ElementAuditRecord.get()how has an audit_id parameter to limit outputq2 db get_audit_recordsnow takes a-iparameter for passing AuditIDardent.file_upload.Filenow sports both a.uploadand a.upload_from_fileoption as well as a.get_download_urlmethod 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
q2command unless the environment variable Q2SDK_ARDENTFS_URL was setCoreResponseobject will now better handle the condition where the core itself returned an error codeq2 insight upgrade_dbwill 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_adminoptional parameters toDemographicInfoclass for commercial/treasury usersAdds
GetGeneratedTransactionsWindowedHqApi endpointAdds
GetRecurringTransactionsWindowedHqApi endpointAdds
GetNextValidPaymentDateZonedHqApi endpointAdds
SendSecureMessageToAllUsersInACustomerHqApi endpointAdds
SendSecureMessageToAllUsersInAZoneHqApi endpointAdds new File Upload capabilities to pre 4.4 forms. More details in the
Guides -> Online Integrationsection of the docs
Fixed
Fixes
q2 db get_user_property_dataCLI header output
v2.54.0 - 2020-08-21
Added
UserPropertyData.createnow takes a user_role_id param for corporate properties.UserPropertyData.updatenow takes a user_role_id param for corporate properties.UserPropertyData.deletenow takes a user_role_id param for corporate properties.
v2.53.0 - 2020-08-21
Added
q2 insight get_db_listnow has a--show-preprod(-p) flag which will add not yet LPT environments to prod listAdds
q2 insight validate_tokenentrypoint
Fixed
Fixes bug with
api_helpers.build_add_customer_xmlwhen appending a subsidiary that would error if the subsidiary did not have a WireCountryIdSignificant improvements to the
q2command’s startup time.
v2.52.1 - 2020-08-13
Fixed
Fixes parameter name in
customer_data.get_multiFixes type error in TectonModal
Better handle bad imports listed in INSTALLED_EXTENSIONS
v2.52.0 - 2020-08-12
Added
PhoneNumberDbObject now has aget_customer_phone_numbersmethod to search by customer_idCustomerDataDbObject now has aget_multimethod to return multiple CustomerDataRowsAdds
Subsidiarymodel toq2_sdk.modelsq2_sdk.hq.api_helpers.build_add_customer_xmlnow 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_requestscalls 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_flagsnow 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-promptsparameter has been split into--assume-yesand--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_userswill no longer be interpretted as the desired logging_levelBad import stack traces from client modules will no longer be swallowed by
q2 runDocker dev machine is no longer required to be housed in an all lowercase directory path
Added
q2 upgrade -p marketplacewill 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_installedwill now show ‘IsCustomerCreated’ column for all installation types
Fixed
q2 insight login -u USERNAMEwill 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 installImprovements 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 checkwill now show full stack trace for non importable extensionsImprovements to docker dev startup scripts
Fixed
q2 setup_dbwill 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_bulkthat would cut off text at 1024 charactersUserPropertyData InstallStep will no longer be serialized as boolean choices
Added
BaseHandler’s
self.get_ui_textmethod 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
AdminUserSetZoneHqApi endpointAdds
AdminUserSetZoneConfigurationHqApi endpointAdds
GetAdminUserZoneListHqApi endpointAdds
ProcessZoneAllOutstandingTransactionsByTransactionIdHqApi endpointAdds
ValidateTokenHqApi 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 runregarding frontend asset mappingCleaned up the asyncio info logs on
q2 runstartup
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 runnow takes a-cor--asset-serverflag 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_ajaxcalls in server side rendered extensions that prevented it from working with HADE specific URLs in OnlineBankingq2 checkwill no longer fail if HQ_URL/ABA environment variables are unsetSsoUserLogonobject’s.getmethod 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_urlavailable 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_nodewill 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 runtime, not in other CLI commands
v2.44.0 - 2020-05-13
Added
Adds a
ReverseLookupDbObject for interacting with thesdk_ReverseLookupKeytable
Changed
/browser_link will now be filtered out of the logs
q2_requestcalls will now include timing of the response in all log levelsq2_requestcalls will now log the response headers if the call is unsuccessful
v2.43.0 - 2020-05-06
Added
Accountclass now has a provider_data attribute for arbitrary data that doesn’t fit into the modelAccountclass has from_json and to_json methods to serialize to and from JSONAdds an
autodetect_xml_encodingmethod to xml_helper moduleAdds
q2_sdk.models.cores.models.statement.PreferenceclassAdds
q2_sdk.models.cores.models.statement.EstatementPreferenceclassq2_sdk.models.cores.queries.base_query.BaseQuerynow has anobjectify_xml_responsehelper method for cores that deal in XMLAdds a
JinjaQueryclass 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
queryorquery_ynduring aq2 runexecution 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
SSOUserLogonDbObject 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.corecalls. More details in Zones docs pageHqCredentialsclass now has a.is_zoned()methodDocker start_dev_machine scripts now allow passing through docker args with
--run-argsflagq2 checknow ensures wedge_address_configs property is not accidentally overwrittenVendorConfigDbObject now has a.get_all()method
Changed
q2 generate_hq_apino longer uses the cached wsdl, but downloads from the configured HQ_URL
Fixed
Improves built in logging on
q2_requestsmethods, ensuring kwargs and positional args are logged equallyFixes a bug with
HoursDbObject 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 checkwill 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_nodeentrypointServer 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_LINKenvironment variable to disable live reload capability
Changed
/statusendpoint 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
HoursDbObject for interaction with the Q2_Hours tableAdds
SchemaDbObject to determine if a DbSchema exists (useful for determining Db Version)Adds a
delete_centralmethod toUiTextDbObject 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
-eflag due to a collision with theq2 insightbuiltin commandMac docker dev start script now uses builtin
curlinstead of not necessarily installedwgetfor 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 testvia the package.json test target if presentFrontend linting is now run on
q2 lintvia the package.json lint target if presentAdds the
sdk_SchemaExistsstored proc for testing foradminand 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_infowould 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_cachewill now work the same on shared dev as the Q2 datacenterFixed a bug with
q2 update_installed_formwhere extensions without a db_plan would fail to update
Added
Adds a
Q2SDK_SERVE_ASSETS_HTTPSenvironment variable which will force HTTPS for use in shared dev Tecton extensions
v2.37.0 - 2020-04-07
Added
q2 invalidate_hq_cachenow has a boatload more targets. Checkout the -h menu for more detailsq2 upgradenow 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_cachewill 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_formfor 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
RateLimiterobject now haswhitelist_networksandblacklist_networksproperties for more flexible definitions
Deprecated
RateLimiter’swhitelist_regexhas been deprecated in favor ofwhitelist_networksRateLimiter’sblacklist_regexhas 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 runwill 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_urlnot being available in tecton handler Jinja templates-l LOGGING_LEVELwill now work withq2 installandq2 insightcommands as well as allq2 db *commands
Removed
q2 remove_formhas been removed (in favor ofq2 uninstall)q2 get_installed_formshas been removed (in favor ofq2 get_installed)q2 install_formhas 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
CustomerDataDbObject now has a.deletemethod
Changed
q2 updateis 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.updatethat 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
CustomerDataDbObject with Create, Update, and Get operationsAdds
q2 db get_customer_dataAdds
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_usernow 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 inspectnow displays the CSR credsAccountList object’s
product_code_filternow is a more descriptiveproduct_type_code_filter
Deprecated
AccountList object’s
product_code_filterwill 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_coresCorePro
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_versionscli entrypointAdds
q2 insight upgrade_databasecli entrypointDocs on frontend configuration (
q2 frontend)
Fixed
ProductDbObject’saddmethod will now work in 4.3 environmentsSSO Uninstall will now also clean out VendorAddress table
Fix a bug with
core.cli.textui.query_ynthat would flip the response if the default was N
Changed
Add Nav Perms will now log
UserPropertyData row addedon 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_configwill no longer break if the CORE in settings.py starts withq2_cores.q2 db get_user_data_by_valueno 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_ENTRYPOINTSin settings.py does not require it to have a corresponding urls.py
v2.29.0 - 2020-02-12
Added
Adds
.get_users_under_customerto User DbObjectAdds
.get_logons_from_user_id_listto 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_planwill 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_stackis 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_planFixed a bug in
q2 db update_formthat 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_addressAdds Subsidiary DbObject
Adds
q2 db get_subsidiariesAdds 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 upgradenow prefers npm Tecton package in package.json over .tgz fileq2 db get_vendorsnow returns all vendors by default (rather than just SSO vendors)q2 db get_vendorsnow returns new data (including NavNodeName)self.online_user.customer_primary_cifis now a string (preserving leading 0s)self.online_user.user_primary_cifis now a string (preserving leading 0s)
Fixed
self.hq_credentials.abawill 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_cachecallsq2 upgradenow 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_booladded for fuzzy boolean conversion
v2.27.2 - 2020-01-13
Added
Adds a
q2 db remove_vendor_addressAccount model now has
.cif_externaland.cif_external_unmaskedproperties
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_navwill 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_cachenow takes arefresh-relatedrather than ano-refresh-relatedflagAll 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_extensionwhich 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 runalong 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_extensionis 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_hqin staging/prod environments with similar names not all being invalidated
v2.26.0 - 2020-01-06
Added
Adds a
q2 vaultentrypoint with a few helpers for testing secrets locally. Vault docs updated accordingly
Changed
self.online_user.login_namewill 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 testwill no longer discover tests in node_modules in nested subdirectories
Changed
HydraIdName has been added to the
q2 db get_audit_recordscli 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 upgradewould 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 checkwill now identify requests.* calls as blocking, preferring q2_requests.* variantsAdds a
UserLogon.deletemethod 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_groupsentrypointDocumentation on Widgets
q2_sdk.core.configuration.EnvVarcan now be used in REQUIRED_CONFIGURATIONS to specify an environment variable as configAdds
q2 frontendentrypoint 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 centralwill 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_configswill now cache the return for 60 seconds
v2.22.1 - 2019-10-21
Changed
q2 create_coreflowhas been reworked to split generated code into multiple filesq2 create_extensionwill no longer prompt for ‘Would you like to register?’. It just assumes the answer is yes
Added
q2 create_coreflownow supports adding new flows to an already generated Custom Coreq2 create_coreflowwill 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_attachmentwith@dangerousIf you are using
secure_message.broadcast_with_attachment, you will need to take action. More detail in theHow to Get Helppage of the docs.
Added
Adds
@dangerousdecorator for particularly powerful functionsSSOHandlers will now have their SSO BitFlag integrity checked during
q2 checkAdds a
build_get_group_id_xmlfunction inapi_helpersfor 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_formwhich 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 runapi_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.Versionmodel 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
/metricsendpoint 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_xmlnow 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.clipytest 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_xmlwill 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_fieldswill 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_installedwhich 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_extensionLots of documentation updates, ranging from better tutorial code samples to a top level Request Handler Types menu
Adds
VendorAddressinstall 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_xmlnow has a DOB element if demo_info.dob existsapi_helpers.build_account_association_xmlnow 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_dbwhen taking the version upgrade
Fixed
Fixes some bugs with our internal Docker image running on Windows hosts
q2 insight -hnow accurately shows help for all subparser
Changed
api_helpers.build_add_user_xmlnow 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-securitynow 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_urlproperty which will resolve to an appropriate frontend service urlq2 generate_hq_apinow takes a--endpointparameter to limit the generation typeAdds /assets endpoints to
q2 inspectoutputAdds /assets endpoints to
/inspectendpointBetter type hinting for Country DbObject return
Adds a
**kwargsparameter on HqApi.executemethods. Used for future proofing, such asbt_handle=self.bt_handlefor 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 uninstallAdds 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_formsis nowq2 get_installedq2 db get_data_feedsis 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.ssnwill now automatically cleanse non-digit characters out of the value
Deprecated
q2 get_installed_formshas been deprecated in favor ofq2 get_installed
Fixed
q2 uninstallwill 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_templatenow 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 runwill 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./inspectendpoint will now show base_assets_url for Tecton extensions
Changed
q2 remove_formis nowq2 uninstall
Deprecated
q2 remove_formhas been deprecated in favor ofq2 uninstall
Fixed
Fixed a bug where a newly created repo without a requirements.txt would not play nice with
q2CLI 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_formis nowq2 installq2 create_extensionwill now put the new extension name at the end of INSTALLED_EXTENSIONS instead of the beginningself.get_templatereplacements_dict is now optional, rather than requiring you to pass {}
Added
q2 installwill 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_cachenow has an option for FormView
Deprecated
q2 install_formhas 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 runwhen run without-a)Fixes a bug where
add_dependencywould 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 upgradewill now show q2-smart as an optionq2_sdk.hq.api_helpers.build_add_user_logon_xmlnow takes a skiptac parameter. Defaults to FalseAdds a
q2_sdk.hq.models.backoffice_response.BackOfficeResponseclass 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 upgradewhere an IP address was the last entry in the upgrade list
Changed
q2_sdk.hq.http.post_to_hqnow takes in a response class, allowing overriding of the response shape handling. Defaults to HqResponse as beforeq2_sdk.hq.models.hq_response.HqResponsenow 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_helpersnow has aget_frequency_bit_flagsendpoint for use with AddRecurring* modules in HqApi
Fixed
parse_form_fieldsin 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_namemethod to UserData DbObjectAdds
q2 db get_user_data_by_short_nameCLI 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 checkwill 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_hqis 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_cachenow has a host of new options (listed in the help)
Removed
q2 create_extensionwill 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_formwas 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_listfor cases where no HQs are returned
v2.7.1 - 2019-07-03
Changed
q2 runwill now monitor for changes to typescript (.ts) files as wellAdds .lock and package-lock.json files to non-monitored Frontend files list
q2 create_extensionwith Tecton frontends will now put the q2-tecton-sdk reference in package.json rather than the index.html file
Added
q2 upgradewill 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
q2commandFixes 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 runstarted
Changed
Generating a Tecton powered extension will now use the latest tecton version every time
v2.6.0 - 2019-06-18
Added
Adds
q2 insightentrypoint 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_userproperty 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_namenow takes an optional Admin boolean to change the type of user returnedUserLogon DbObject’s
get_login_by_idnow takes an optional Admin boolean to change the type of user returned
Changed
q2 db unlock_usernow uses HQ’s ChangeEndUserPasswordStatus endpoint instead of relying on SDK bespoke logic
Fixed
Cleans up default generated
Q2Tectonform 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_coreflowwould 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.smartproperty to OnlineHandlerAdds a
get_smart_tokenmethod to Vault objectAdds AccessCode DbObject for gathering EndUserAccessCodeTargets from our database
Adds command line helper for AccessCode
q2 db get_access_code_targetsBetter 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
/inspectendpoint 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_navwhich would fail to remove under some conditions
v2.1.4 - 2019-05-13
Changed
Updates help text on
q2 get_installed_formsto 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_nodethat was missed with the 2.0 upgradeFixes template bug with BaseMapper in
q2 create_coreflowBetter detect root of repo for cli tab completion
Changed
q2 testwill no longer show deprecation warnings
v2.1.2 - 2019-05-02
Fixed
Fixes backwards incompatibilities with Windows since 2.0.0 release
Updates
short_nameproperty 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.UserLogonnow hasget_login_by_name,get_login_by_id, andgetmethods’Adds
q2 db get_user_logoncli 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-onlywhich 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.LogonDatanow inherits fromq2_sdk.hq.db.user_logon.UserLogonrather than having two classes with similar functionalityen-US.jsonfile in Tecton frontend folders now starts out blank, inheriting from the default
Deprecated
q2_sdk.hq.db.logon.LogonDatahas been deprecated and will be removed in the future. Please move to usingq2_sdk.hq.db.logon.user_logon.UserLogondirectly
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.Q2TectonOnlineRequestHandlerhandlerIntroduces 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_formreworked to include Tecton questionsq2 remove_formreworked to include Tecton piecesq2 runhosts frontend assets behind a static file serverq2 runintroduces the—-no-build-assetsflag, which disables building frontend assets automaticallyq2 runwill 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_extensionif omittedNew
q2_sdk.ui.forms.Q2TectonFormclass for server side rendered forms with Tecton powered frontendsAdds
get_list_by_namemethod to Product DbObjectAdds PhoneNumber DbObject
Adds
q2 db get_phone_numberentrypointAdds AJAX support into Q2Form powered OnlineHandlers. More docs In the AJAX Support page under Advanced Features
Changed
Tornado dependency changed from
5.1.1to6.02VPN detection is now automatic and will no longer prompt
Moves
q2_sdk.core.install_form.get_my_iptoq2_sdk.tools.utils.get_my_ipSignature 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.ExecuteStoredProcedureis nowq2_sdk.core.dynamic_imports.api_ExecuteStoredProcedureq2_sdk.hq.db.user_account_attribute.UserAccountAttributesis nowUserAccountAttributeto 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.ActivateAuthTokenwill 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.Customeris nowq2_sdk.hq.db.customer.Customer
q2_sdk.core.http_handlers.*paths have changed:Q2BaseRequestHandleris nowbase_handler.Q2BaseRequestHandlerQ2HqRequestHandleris nowhq_handler.Q2HqRequestHandlerQ2ArdentRequestHandleris nowardent_handler.Q2ArdentRequestHandlerQ2CentralRequestHandleris nowcentral_handler.Q2CentralRequestHandlerQ2OnlineRequestHandleris nowonline_handler.Q2OnlineRequestHandlerQ2LegacyRequestHandleris nowlegacy_handler.Q2LegacyRequestHandler
q2_sdk.hq.models.*paths have changed:Accountis nowaccount.AccountAccountListis nowaccount_list.AccountListAccountRightsis nowaccount_rights.AccountRightsFormInfois nowform_info.FormInfoHADEis nowhade.HADEHqCommandsis nowhq_commands.HqCommandsHqCredentialsis nowhq_credentials.HqCredentialsHqResponseis nowhq_response.HqResponseOnlineSessionis nowonline_session.OnlineSessionOnlineUseris nowonline_user.OnlineUserPasswordPolicyis nowpassword_policy.PasswordPolicySecureMessageAttachmentis nowsecure_message_attachment.SecureMessageAttachmentSecureMessengerTypeis nowsecure_messagefind_with_defaultis nowxml_helper.find_with_default
q2_sdk.models.*paths have changed:accountis nowcard
q2_sdk.models.cores.mappers.*paths have changed:BaseMapperis nowbase_mapper.BaseMapperBaseDemographicInfoMapperis nowdemographic_info.BaseDemographicInfoMapperBaseCardListMapperis nowcard_list.BaseCardListMapperBaseUpdateDemographicMapperis nowupdate_demographic_info.BaseUpdateDemographicMapper
q2_sdk.models.cores.models.*paths have changed:CoreUseris nowcore_user.CoreUserCoreResponseis nowresponses.CoreResponse
q2_sdk.models.cores.queries.*paths have changed:BaseQueryis nowbase_query.BaseQueryBaseRestrictedQueryis nowbase_restricted_query.BaseRestrictedQuery
Install steps are now fully qualified imports
i.e.
from q2_sdk.core.install_steps.DbPlanis 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_cacheentrypoint for use with 4.4 stacksArdent RefreshCache will automatically be called on
q2 add_to_navif appropriate
Removed
Removes
DISABLE_BROWSER_LINKflag in settings fileRemoves
USE_SCSSflag in settings fileq2 runremoves the--disable-browser-linkflag and capabilities to auto refresh frontend assets in a pre-Tecton mannerRemoves BrowserLink built-in extension
Removes
redirect_routeanddestinationparameters fromq2_sdk.ui.modals.ModalActionclass in favor ofexternal_routeandinternal_routeRemoves
q2_sdk.ui.script_appenders.BrowserLinkAppenderclass
Fixed
Faster entrypoint loading
Fixes a bug with hq_api changes not being tracked
q2 upgradenow matches alpha version stringq2 upgradecoloration in shared dev machineq2_sdk.tools.utils.get_repo_rootwill 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_textcommand line entrypoint
v1.89.0 - 2019-04-16
Added
Adds GTDataElement DbObject and associated InstallStep
Adds
q2_sdk.core.vault.get_certificatemethod for working with client certificatesAdds a
q2 add_new_accountentrypoint 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_elemententrypointsAdds
q2 db get_host_account_elementsentrypointBetter 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 checkwill now ensure DEBUG=True has not been hardcoded in the settings file
v1.88.0 - 2019-04-09
Added
ApiStoredProcDbObject now takes an audit_action shortname
Fixed
Fixes styling issue with index.html template provided with
q2 create_extensionFixes a bug where certain production deployments of HQ were not compatible with WedgeOnlineBanking calls
v1.87.0 - 2019-04-02
Added
Adds
MessageRecipientGroupDbObject
Fixed
Fixes import path in generated
create_extensionoutputs
v1.86.0 - 2019-03-29
Changed
q2 create_extensionwill now generate jinja templates for index and submit pages rather than usingq2_sdk.ui.fieldsvariants
Added
q2 upgradewill 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
updatemethod to the UiText dbObjectAdds a
q2 db update_ui_textentrypointAdds a
getmethod to the WedgeAddress DbObjectAdds a
q2 db get_wedge_addressesentrypointBetter type hinting on
q2_sdk.hq.models.OnlineUser.demographic_info
Changed
WARNING SQL scripts have been updated. Please run
q2 setup_dbto ensure you are up to date
v1.84.0 - 2019-03-19
Added
Adds a
q2 db reset_passwordwhich will reset a password for a given login nameq2 create_coreflownow takes a –core-name and a –operation parameter
Fixed
Fixes a bug with
q2 checkthat would fail to test importability of CUSTOM_CORESFixes a bug with
q2 checkthat would cause a failure if certain older versions of q2-cores were installedFixes a bug with
q2 checkwhich would cause a failure if ONLY CUSTOM_CORES were installed with no q2-coresFixes a bug with
q2 testwhere node_modules wasn’t properly ignoredFixes a bug with
q2 generate_configwhich was not properly discovering Q2OnlineRequestHandler as the parent classFixes a bug with
q2 generate_configwhich was not working proeprtly with CUSTOM_CORESFixes a bug with the DemographicInfo class which was not properly filtering out
Noneitems
Changed
q2 db create_online_userno 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_userentrypoint for use in dev environmentsq2 setup_dbnow differentiates between HQ versions and installs appropriate sqlq2 setup_dbnow has a--db-versionflag to lock down instead of autodiscover db versionq2_sdk.hq.api_helpersnow has a ``generate_user_logon_password` function which will create a random passwordNavNodedbObject now takes in a route_parameters for 4.4 environmentsAdds ConfigPropertyID and UiSource to
UiConfigPropertyDatadbObject cli outputUiConfigPropertyDatanow has a.updatemethodCreated a
hq.models.PasswordPolicyobject for use with thegenerate_user_logon_passwordfunction
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_formFixes 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_cacheentrypoint for >=4.4 stacks, facilitating live NavNode reloads without a full HQ bounceCreates a
WedgeAddressdbobjectAdds Type hinting on UiText dbobject return shapes
Changed
AddToNav will now use InvalidateCache if appropriate
q2 testwill 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_dbto get the latest DB changesq2 get_ui_text’s language parameter is now optional (--language)q2 generate_hq_apiwill now generate an init file with relevant deprecation warnings inside
v1.81.0 - 2019-02-25
Changed
Splits
Q2RequestHandlerinto several smaller handlersCode is backwards compatible, though we will deprecate the use of Q2RequestHandler in the future and prefer the newer ones
Updates
q2 checkwith knowledge of new RequestHandler typesq2 create_extensionwill now prompt for RequestHandler type, defaulting to the backwards compatible version
Added
Adds
Q2HqRequestHandlerAdds
Q2ArdentRequestHandlerAdds
Q2CentralRequestHandlerAdds
Q2OnlineRequestHandlerAdds a
--minimum-onlyflag toq2 create_extensionto remove unnecessary boilerplateAdds a
get_data_by_valuemethod toUserDatadbObject
v1.80.0 - 2019-02-13
Added
Adds File DbObject for interacting with the Q2_File table
q2 install_formnow takes a-yor--accept-defaultsflag to not prompt for db_configurations changesUser DbObject now has a
set_profile_update_flagmethod and CLI commandCustomer DbObject now has a
get_logins_by_customermethod and CLI commandDataFeed DbObject
getmethod can now gather more details if a specific short name is provided
Changed
q2 install_formprompts 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
q2command and subcommands
Deprecated
from q2_sdk.hq.hq_api import q2_api; q2_api.ModuleNameis 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_dbto 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_elementFixes 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_dbto update your db scripts
v1.76.0 - 2019-01-24
Added
q2 create_extensionnow 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_navnow 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 -cfrom 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.CoreNamein the settings file as CORE
v1.75.0 - 2019-01-15
Added
Adds User DbObject
Adds
q2 db get_userentrypointWARNING Please run
q2 setup_dbto 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_dependencyentrypoint for installation of of third party dependenciesq2 run_db_plannow takes a –file (or -f shortform) parameter to run using a seed fileAdds a
.elementattribute toq2_sdk.hq.models.HADEwhich 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 checkcommandAdds 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 checkwhere certain failures would not result in a non-zero exit code (for git hook integration)
Added
Splits
BaseMapper.executeinto_run_queriesand ``_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_formandq2 install_formcommandsAdds 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_dbto 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.DriverLicenseinput
Fixed
Custom Created Dynamic Cores will now display in
q2 install_formandq2 update_installed_formentrypointsCustom 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
.executemethod 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.DemographicInfoclass
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 testnow has a--coverageoption that will show testing code coverageA failed core response mapping will now show the raw core response in an ERROR level log
Changed
q2 setupwill 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.7in their shell
v1.66.2 - 2018-10-26
Added
Introduces a
self._account_model_proxyproperty 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_extensioncallFixed 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_apito override the default output directoryAdds -e flag to
q2 run_sqlcommand for consistency across other CLI entrypointsAdds self.ssn attribute to
q2_sdk.models.account.CardclassAdds 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 runFixed 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_datamethod 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_formsto 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.HqCredentialsto 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 inspectAdds a default logger for DbObjects
v1.60.1 - 2018-09-25
Fixed
Fixes bug with
q2 db update_nav_nodewhich 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 checkentrypointNon 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.incrandself.cache.decrwould throw errors
Added
/inspectendpoint 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_apiversion
Added
q2 add_nav_permsnow has a –form-id (-f) and a –short-name (-e) flag for ease of useHeader generated as part of
form.Q2Formnow 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_UnlinkAccountstored 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 --reverseVendor 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_apiAs per the above, it is no longer necessary to run
q2 generate_hq_apito get access to the HqAPI python bindingsq2 generate_hq_apiwill 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
ExecuteStoredProcedurefor 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_formto 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_textwill 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_formto prompt for OPTIONAL_CONFIGURATIONS if appropriateUpdates
q2 update_installed_formto 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 upgradeentrypoint on Windows
v1.52.6 - 2018-07-16
Fixed
Fixes a bug where Windows would not detect ip with
q2 update_installed_form --my-ipin some cases
Added
q2 db get_nav_nodesnow 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
q2without 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 testnow 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 --printwhere 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
--strictflag toq2 db get_user_property_datafor 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
--categoryas 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_plannow 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_accountFixes bug with
q2 db update_nav_nodeimplementation 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_fixesto False until more conditions are tested. This was causing double submit buttons to appear in some environments
Removed
q2 get_nav_nodesis 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 checkintroduced 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 runusing 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_nodenow also handles Route type nodes (This can be used to create parent menu items)
Fixed
Fixed a bug with
q2 db update_nav_nodeupdating 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 runfrom 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_nodeFixes bug with leaving a SelectMenu prompt blank while using a default value
Fixes a bug with using
q2 upgradeto 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.Q2RequestHandlerin 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.MenuOptionnow has functionality for toggling style menusCreates
FormToGroupdbObjectAdds
q2 db get_form_to_group,q2 db add_form_to_group,q2 db remove_form_from_groupcommands
Changed
q2 update_installed_formnow 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 checkwill 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_formno 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=jsonto /inspect endpoint
Changed
self.get_templatewill 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.FormLinkAdds
q2_sdk.hq.db.Groupobject with get/create/delete available both through python code and the cli (q2 db get_groups)
Deprecated
Deprecates
q2 get_groupsentrypoint 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.vaultwill 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 checkensures INSTALL_VARS references are changed to DB_PLAN
Deprecated
q2_sdk.core.web.Q2RequestHandler.INSTALL_VARSis 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'] = FalseCache 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_formswhere a missing CustomName would raise an exceptionFixes a bug where certain network interfaces could interfere with VPN detection on
q2 update_installed_form --my_ipFixes unhandled error condition where missing database creds when running
q2 run_sqlwould raise an ugly exceptionFixes edgecase where an import error in an extention would throw the wrong warning when invoked with
q2 update_installed_formHandles 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_xmlFixes 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.Accountnow 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_formwithout settings INSTALLED_EXTENSIONS would lead to a nasty stack traceFixed a bug where running
q2 lintbefore creating an extension would fail
Changed
q2 create_extensionnow 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 lintwill 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 testandq2 lintnow 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_formFixes 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_completionto ensure update)Fixed a bug where empty Config column in Q2_WedgeAddress table would cause stacktrace in
q2 update_installed_formFixed a bug where
q2_on_finishwould be called afterq2_posteven 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_finishmethod 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 lintentrypoint will lint code according to Q2 standardsGit hooks installed on
q2 setupto faciliate automated linting and testingBetter detection of vpn vs ethernet in local Q2 development
--my-ipflag added toq2 update_installed_formto detect automatically
v1.28.0 - 2018-03-02
Added
Creates
q2 db update_nav_nodeentrypoint
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 upgradewas 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 checkentrypoint to support non standard settings configuration paths
Changed
q2 update_installed_formwill 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_usertocore.configured_user
Added
Added the ability to create repository-level changelogs
Added
languageproperty toself.online_userAdded
update_configured_usermethod 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_apiRespects 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 testNew entrypoint
Runs tests on installed extensions if present
q2 create_extensionGenerates 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 checkwhere if q2-cores was not installed the error was inappropriate
v1.20.0 - 2018-02-02
Added
Adds a
DYNAMIC_CORE_SELECTIONto RequestHandlerDefaults to
FalseSetting this to
Truewill prompt for core configuration information oninstall_formIf
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 checkAdds cores version match check
Adds
DYNAMIC_CORE_SELECTIONintegrity check
q2 create_extensionAdded docs for Core hinting in PyCharm
Changed
self.request_as_objtoself.request_name_elemin 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_completionthen 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_identrypointAdds
q2 db get_user_property_data_by_valueentrypoint
v1.18.12 - 2018-01-17
Added
Adds a
install_completionentrypoint to facilitate easy install of the bash and zsh completion scriptsFixes a bug where a malformed settings file could cause
q2 runto fail silentlyAdds a “built_by_q2” check on
q2 setupfor internal tracking
v1.18.11 - 2018-01-16
Added
Adds global and extension level filtering capabilities
Usage instructions exist in the documentation under
Loggingmenu
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.dbfor ease of use demographic info updatesAdds a helper for building update demographics xml shape
OnlineUserclass’spostal_code,home_phone,work_phone,customer_primary_cif, anduser_primary_cifattributes are now stringsOnlineUserclass now has ademographic_infoattribute for easily passing all relevant object data to another objectPhoneTypeclass now has acountryattributeAddressTypeclass now hasHOME,OTHER,BUSINESS, andBILLPAYEEattributesAddressclass now hascountryandprovinceattributesAdds 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_sqlnow has an optionalprintargument to print the SQL directly to stdout
v1.18.7 - 2018-01-03
Changed
q2 runwill 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_extensionnow prompts for registering the newly created extension in the configuration/settings.py fileAdds
q2 update_changelogentrypoint to facilitate tracking human readable changes in extensionsAdds git repo existence check to
q2 checkAdds
/changelogendpoint to viewCHANGELOG.mdfiles 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-Typeheader is unset
v1.18.3 - 2017-12-21
Added
Adds request guid to
q2_post callsin the event of an unhandled stacktrace Changedq2 install_formentrypoint now defaultsaccount_rights_bit_flagto 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_hqentrypoint to bounce hq on demand without needing to install/remove a form firstACTION REQUIRED: Run
q2 setup_dbto 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 setupnow prompts for an ABA in the event the repo is only being developed for a single FIThis is bypassable with either the
abaflag and specifying an ABA or theno-abaflag to ignore the checkAdds the ability to mock failures on core query responses. BaseQuery object now takes an optional
mock_failureparameter. 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 inspectnow 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_formnow 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_dbentrypoint. 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_requestsfunctions 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.GetPasswordPolicymodule
v1.17.0 - 2017-11-28
Added
generate_hq_apiwill 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_apiwill be run as part ofq2 setupnowgenerate_hq_apinow takes additional parameters-awill limit generation to a single endpoint (i.e.-a GetUserAccountList)-dwill download wsdl from configuration.settings.HQ_URL. This used to be the defaultno-formatwill 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 checkcommandBetter handles malformed configuration.settings file
v1.16.4 - 2017-11-20
Added
Adds a
q2 checkcommand 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_extensionautogenerated 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.BaseFormtoq2_sdk.ui.forms.Q2FormACTION 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_formsUpgrades get_installed_forms to show group ids for which each form is installed. This is backwards compatible, but will require rerunning
q2 setup_dbto 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_createare 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
Q2RequestHandlernow has aself.rate_limiterswhich defaults to an empty listBy overriding this in your init function with a list of
q2_sdk.core.RateLimiterinstances, 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_CONFIGSis now referred to asWEDGE_ADDRESS_CONFIGSfor greater clarity
v1.13.1 - 2017-10-30
Added
Adds
LinkedAccountobject with unlink abilityRequires run of
q2 setup_dbto 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.dbshould be updated to the appropriateq2_sdk.hq.dbmodule
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_formnow 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_formwill 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_formfor new SHORT_NAMES logicUpdates
q2 remove_formfor new SHORT_NAMES logicUpdates
q2 get_installed_formsfor 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_jsoncalls 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 runwill 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_formQ2_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_navnow 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.Coreshould 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 setupto 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