Changelog of Altizure GraphQL API
2.7.4
Release data: December. 27th, 2019
New features:
- Added mutation: addAnnotation + updateAnnotation for adding and modifying project annotations
Change:
- removeAnnotation returns additional error
2.7.3
Release data: December. 13th, 2019
New features:
- Added ProjectImage.thumbs for getting cloud synced thumbnails of individual image
2.7.2
Release data: December. 6th, 2019
New features:
- Added mutation: setProjectGeoInfo for setting custom geoinfo of a project
Change:
- Support searching subscribers and developers by name or email or user id in super/sales api
Fixes:
- Fixed calculation of free quota after a featured project is transferred
2.7.1
Release data: November. 29th, 2019
New features:
- Added args: returnURL in mutations: createAliPay* for returning to desired url after successful payment
- Added query: Project.imageByFilename to get an image from its hashed filename
Change:
- Added fields: modelx, modely and modelz in type: alignmentPoint for storing 3d position of alignment point
- Skipped re-doing image LOD if already done previously
Fixes:
- Fixed issues of thumb generation in AltiOne
- Fixed url of pending downloadable items of a project
- Fixed inconsistent states of task and Project.importedState
2.7.0
Release data: November. 15th, 2019
New features:
- Added super query: triggerCloudToGFS for downloading images from cloud to gfs
- Added new Project field: alignmentPoints for use cases related to GCP
- Added mutation: addAlignmentPoint, updateAlignmentPoint and removeAlignmentPoint for GCP
- Added query: getGeoIPInfo.nearestMetaBuckets for suggesting nearest metafile bucket
- Added new ProjectImage field: grounded, to indicate whether an image is downloaded back from cloud to gfs
Change:
- Removed User.totalProjectViews and User.totalSandboxViews for performance reasons
- Would not hash user uploaded image filename if uploaded via Minio
Fixes:
- Fixed issue of importing meta file
- Fixed issue of changing image states shortly after a new image is registered
2.6.2
Release data: November. 1st, 2019
Fixes:
- Fixed cloud syncing Chinese name project to s3
2.6.1
Release data: October. 18th, 2019
Change:
- Disallowed uploading obj zip with non-english name
2.6.0
Release data: October. 11th, 2019
New features:
- Auto set phone code in phone login form
- Supported importing meta file via minio
Fixes:
- Fixed duplicated coupon awards and notifications
2.5.9
Release data: September. 13th, 2019
New features:
- Added new field: Project.modelTransform.modelToSRS for transforming from model space to SRS space
- Added filter: [Read, Unread, All] in my.notification
2.5.8
Release data: August. 23rd, 2019
New features:
- Added new Project field: SyncProgress for showing the cloud sync progress and error
- Added query.support.endpoints for getting various altizure service endponts
2.5.7
Release data: July. 26th, 2019
New features:
- Added new User field: activities
- Added new Project fields: tileType + gsd
Fixes:
- Fixed query: supported cloud of meta files
2.5.6
Release data: July. 19th, 2019
New features:
- Added an alternative way of uploading meta file via direct urls using mutation: uploadMetaURL
Change:
- Upgraded GraphiQL interface
Fixes:
- Fixed issue of translating image names in meta file when meta file contains un-trimmed whitespace
2.5.5
Release data: July. 5th, 2019
New features:
- Added new query field: Project.metaFile for checking state of individual meta file
- Added new field: Project.sfmState + Project.tasks.taskType for determining project state
- Supported importing meta file: initial.xms or initial.xms.zip
Fixes:
- Fixed issue of setting app icon in AltiOne
- Fixed issue of uploading meta file via Hong Kong bucket that would always result in a failed state
- Fixed issue of older version of meta file being ignored
2.5.4
Release data: June. 28th, 2019
New features:
- Added mutation: recommendedUsers to give a list of recommended users tailored for each user
Fixes:
- Fixed issue of dispatching duplicated model conversion tasks by calling mutation: doneModelUpload in multiple times
2.5.3
Release data: June. 21st, 2019
New features:
- Added mutation: removeImages for removing multiple images under the same project
- Supported uploading simple binary split of obj zip
- Added additional fields: GCPInfo + GCPValidation in type: Project
Change:
- Added new args: merge in mutation: doneModelUpload for indicating it is a binary split
Fixes:
- Fixed re-calculating free user quota of a featured project
- Fixed issue of browsing /graphql without a key on AltiOne
2.5.2
Release data: June. 14th, 2019
New features:
- Added query: support.errorCodeInfo for querying project error codes and their suggested solutions
- Added mutation: cleanupImportedModel for cleaning up uploaded model zip or multipart files
Change:
- Added new NewsfeedReason: FeaturedSandbox + FeaturedCollection
- Added new error codes in Project.errorCode, old codes were updated to new ones
Fixes:
- Fixed missing
Uploaded
state inUPLOAD_FILE_STATE
- Fixed issues of uploading model zip that has space in its filename
- Fixed issues of duplicated obj conversion tasks triggered by uploading small multipart model zip
- Fixed issues of setting visibility of free project by user with membership
2.5.1
Release data: May. 24th, 2019
New features:
- Added query.search.altiID for searching project, planet or collection ids
- Added new fields: user.stats for getting total number of stars, project, planet, followers and followings
Change:
- Added new args: kind in query.support.supportedCloud for querying different kinds of upload types
- Allowed super or sales to query private fields of other users
Fixes:
- Fixed issue of handling Chinese name model zip
- Fixed issue of generating invalid email verification link
2.5.0
Release data: May. 10th, 2019
New features:
- Refactored mutation.recommended so that it returns both project and sandbox
Breaking Change:
- Renamed mutation.recommendedProjects to mutation.recommended
2.4.0
Release data: May. 3rd, 2019
New features:
- Added mutation.recommendedProjects to give a list of recommended projects
Breaking Change:
- Moved query.recommendedProjects to mutation.recommendedProjects for mutating internal stats of recommendation engine
2.3.2
Release data: April. 26th, 2019
New features:
- Added an alternative way of uploading model via direct urls using mutation: uploadModelURL
- Added new buckets: Paris, Stockholm and HongKong in enum: BucketS3, used in mutation: uploadImageS3
- Added query: support.supportedCloud for getting list of supported cloud for uploading
Fixes:
- Fixed issue of task of single model upload not auto starting
2.3.1
Release data: April. 18th, 2019
New features:
- Supported multipart model upload in mutation: uploadModelS3 and uploadModelMinio
- Added mutation: doneModelUpload for signaling when all the multiparts are uploaded
2.3.0
Release data: April. 12th, 2019
New features:
- Provided reasons for getting a particular newsfeed
- Supported sandbox in newsfeed
- Added super/sales query/mutation for getting/setting CI build releases
Breaking Change:
- Changed my.newsfeed return type from ProjectsConnection to NewsfeedsConnection
2.2.1
Release data: March. 29th, 2019
New features:
- Support searching by initial partial project ids with query: Search.projectID
Fixes:
- Fixed issue of getting download info of OSGB format
2.2.0
Release data: March. 15th, 2019
New features:
- Supported setting model type of a project
- Allowed superuser to set project thumb, mask and project properties of other users
- Added query: My.activities to get all of my aggregated activities in one place
Change:
- Skipped the OAuth2 authorization screen if the same app has already been authorized
Breaking Change:
- Removed query: User.followingActivities and type: UserActivity in favour of MyActivity
2.1.4
Release data: March. 1st, 2019
New features:
- Country of new user is auto set by his IP
- Added field: countryCode in type: User
- Added args: countryCode in mutation: updateMyProfile
- Allowed re-converting imported models in mutation: startReconstructionWithError
Breaking Change:
- Updated country names in type: Country, e.g. 'Bolivia_Plurinational_State_of' to 'Bolivia', 'Czech_Republic' to 'Czechia', 'Russian_Federation' to 'Russia', to 'United States of America' to 'United States' etc
Fixes:
- Fixed issue of stopping task via mutation: stopReconstruction
- Fixed issue of re-uploading the same image to an 'Invalid' image
2.1.3
Release data: February. 22nd, 2019
New features:
- Added Project.ModelType for clients to render different types of model accordingly
- Added args: modelTransform in mutation.setProjectProperties for setting all fields in model transform
Breaking Change:
- Moved mutation.setProjectProperties args: initialCamPos, maxPolarAngle and onLoadTrans into modelTransform
2.1.2
Release data: February. 15th, 2019
New features:
- Support new task type: Dense in startReconstructionWithError
Change:
- Improved loading time of profile banner and picture, which are served now from CloudFront for foreign users
- Added field: projects in Tag for querying all featured projects of a given tag
- Added args: collectionByID in allProjects for querying collection by id
- Added args: search in allTags for searching tags by name
- Deprecated all solution related queries and mutations
2.1.1
Release data: February. 1st, 2019
New features:
- New query: support.networkTest for testing if api-server could access certain urls
Change:
- Improved performance of all relay connection queries, e.g. allProjects and project.allImages
2.1.0
Release data: January. 25th, 2019
New features:
- Supported Phone, Google, Facebook and WeChat OAuth2 signins for creating new account or binding old account
- Supported binding/unbinding Phone, Google, Facebook and WeChat account to/from existing Altizure account
- Supported getting reset password link via sms
Change:
- Emails of the forms: phone.altizure.com and wechat.altizure.com are reserved and could not be used for registration
Breaking Change:
- Changed User.{google, facebook, wechat} from string to rich object, storing info of linked social account
- Removed args: google, facebook and wechat in mutation: updateMyProfile
- Renamed args: email to emailOrPhone in mutation: forgetPassword
2.0.6
Release data: January. 18th, 2019
Change:
- Updated calculation of user.freeGPQuota. Global GP quota is reset to zero now.
Fixes:
- Fixed image LOD undefined state error
- Fixed banning user to post or update comment
- Fixed hiding project geo-location when privacy is set
2.0.5
Release data: January. 4th, 2019
New features:
- Added query: utility.sim3DEstimation for estimating similarity transformation from 3 or more pairs of corresponding 3D points
2.0.4
Release data: December. 28th, 2018
New features:
- Added new mutation: uploadModelMinio for uploading models to minio server
2.0.3
Release data: December. 21st, 2018
New features:
- Added new query: support.allDevices for listing all sample capturing devices
- Added new query: project.relatedProjectsWithCursor for getting related projects with relay cursor
- Added public field: membershipPlan in type: User
Change:
- Updated query: search.projects to search display names or descriptions for all public projects or imported models
- Query project.relatedProjects is deprecated
2.0.2
Release data: December. 14th, 2018
New features:
- Added field: isChina in type: Project to distinguish if it is a project from China
- Supported importing images from Google Drive
- Added query: utility.poseEstimation for estimating camera pose from 5 pairs of 2D and 3D points
Change:
- Hide all projects from China if user's country is not China, Hong Kong, Taiwan, Macao or Singapore
- Supported uploading images from private links via bearer token
- Updated mutation: browseProject to increment Project.views and not to check in the same record in browsing history within a day
2.0.1
Release data: November. 30th, 2018
New features:
- Added an alternative way of uploading images via direct urls using mutation: uploadImageURL
- Supported importing images from Dropbox
Change:
- Updated USDCNY rate to match prices in Taoboa Shop
2.0.0
Release data: November. 23rd, 2018
New features:
- Added mutation: makeLODImage for making LOD tiles of an user uploaded image
- Added field: lod in type: ProjectImage for showing the state and other meta info of tilings of this image
1.10.1
Release data: November. 16th, 2018
New features:
- Added super/sales query/mutation for getting/setting weekly recommended projects
Fixes:
- Caught invalid project flight id when querying Project.flight
1.10.0
Release data: November. 9th, 2018
New features:
- Added User.language for storing the preferred display language
- Added GET handler (api.altizure.com/subscribe/news?email=abc@gmail.com&locale=zh_tw) for subscribing promotional emails
Change:
- Added new args: language in mutation: updateMyProfile
Fixes:
- Fixed releasing incorrect number of membership coupons
- Fixed auto-starting stalled projects created in mobile apps
1.9.9
Release data: November. 2nd, 2018
New features:
- Added new user setting for subscribing promotional emails
Change:
- Updated the design of user verification and reset password emails
Fixes:
- Fixed infinite pending of processing imported model
- Fixed long waiting time for setting thumbnail via CN api
1.9.8
Release data: October. 19th, 2018
New features:
- Added super mutation: removeProject
Change:
- .com returns cloudfront paths of thumbnails for non-logined user, while .cn returns ali-cdn
- Lowered the minimum size of image from ~8 MegaPixel to ~2 MegaPixel for calculating the GP usage, effectively lowering the cost of projects with small images
1.9.7
Release data: October. 12th, 2018
New features:
- Added new fields: error and errorCode in Project for giving the error of reconstruction or model conversion
Improvements:
- Non China staff-picked or paid projects are available in Cloudfront
Change:
- Changed type: ProjectDiagnostic.error as a list of errors instead of a single error
Fixes:
- Fixed getting user.freeGPQuota in super query
1.9.6
Release data: October. 5th, 2018
Fixes:
- Fixed default value of
range
of geoNearProjects
1.9.5
Release data: September. 14th, 2018
New features:
- Added mutations: browseProject + unbrowseProject for tracking which projects are browsed
- Added query: my.browsingHistory for listing all the projects that have been viewed
Change:
- Hide Chinese projects if user's country is not China, Hong Kong, Taiwan, Macao and Singapore
Fixes:
- Fixed getting the correct values of Project.initialCamPos, instead of zero values
- Fixed normalizing phone number, all non-digit characters are stripped, e.g. +852-123456789 is equivalent to 852123456789
1.9.4
Release data: September. 7th, 2018
New features:
- Added new field: importedModels in Project for querying all of the imported models of a project
- Added Search.sandboxes for searching sandbox by names
- Supported signing in by verified phone number and one time password sent via SMS
- Added mutation: requestLoginCode for getting one time password over SMS
- Added mutation: getUserTokenByLoginCode for getting self-issued user token from verified phone and one time password
Change:
- Each mobile phone number could only be associated with one account
- Allowed setting logo for sandbox
- Allowed setting visibility and logo for imported projects
- Mutation: getUserToken would not throw GraphQL error if credentials are incorrect, would only return null instead
Fixes:
- Fixed type errors of Project.onEarch, SandboxEntity.pid, SandboxEntity.tid
- Fixed sandbox mutations by respecting related membership plan
1.9.3
Release data: August. 31th, 2018
New features:
- Added new type of membership plan for upgrading between plans
- Added trial state in user.developer.status
- Added query: support.developerProgram for showing the details of developer program
- Added mutation: payDeveloperBraintree for paying developer program via Braintree
- Added mutation: createAliPayDeveloperOrder for paying developer program via Alipay
Change:
- Added args: filter in query: support.membershipPlans for querying
Normal
orUpgrade
orAll
plans - Updated mutation: uploadImageS3 so that the
image
field no longer needed to be queried for creating theProjectImage
, only the url is required now - Updated mutation: uploadMetaFileS3 so that the
file
field no longer needed to be queried for creating theProjectMetaFile
, only the url is required now
Fixes:
- Fixed undefined error when querying User.membershipState if no user token is provided
1.9.2
Release data: August. 24th, 2018
New features:
- Added initialCamPos in Project.modelTransform, for getting the initial position when rendering a project
- Added input argument: initialCamPos in mutation.setProjectProperties for setting initial camera position
- Added input argument: maxPolarAngle in mutation.setProjectProperties for setting maximum polar angle
- Added input argument: onLoadTrans in mutation.setProjectProperties for setting on load transform of model
- Added mutation: setProjectCropMask for setting crop mask
- Added mutation: setProjectWaterMask for setting water mask
- Added private fields: phone + phoneVerified in User object
- Added mutation: requestPhoneVerification for sending SMS to registered phone
- Added mutation: verifyPhone for verifying SMS code
- Supported sending notification alerts via SMS to verified phone
Change:
- Allowed setting user phone number + whether to receive sms alert in mutation: updateMyProfile
Fixes:
- Fixed setting membership plan name
1.9.1
Release data: August. 17th, 2018
New features:
- Added support for paying coins or membership plan via Alipay web and mobile
- Added transaction types: AlipayBuyMembership
- Added super/sales query: refundAliPay
- Added super/sales query: allGQLEvents
Change:
- Renamed mutation: createAliPayOrder to createAliPayCoinsOrder
Fixes:
- Fixed setting OAuth apps domains to not to include the protocol
1.9.0
Release data: August. 10th, 2018
New features:
- Added options: taskType in mutation: startReconstructionWithError, for starting different task types
- Automatically create thumbnail for every newly imported model
- Added new fields: assetStorage, visibility, coupon and modelPerProject etc in MembershipInfo in User object, to query current membership details
- Added query: support.membershipPlans for querying membership plans information
- Added new field: savePaymentMethod in User object, to indicate whether to store the payment method in Braintree or not
- Added new args: savePaymentMethod in mutation: updateMyProfile, to remove any existing payment methods stored
- Added query: Sandbox.collaborators relay connection
- Added super query: userTransactions
- Added new field: lastDoneGP in Project
- Added mutation: payMembershipBraintree to pay for membership plan via Braintree
Change:
- Allowed renewing membership without extending existing period in super/sales api
- Added args: sortBy + search in query my.favouriteProjects and my.favouriteSandboxes
Fixes:
- Fixed setting the correct GP as last done GP in project upgrade transaction, instead of the current GP
1.8.6
Release data: July. 27th, 2018
New features:
- Supported custom notification description by offering tokenized description arguments
descArgs
in type: Notification
Change:
- Allowed any user to set thumbnail of Sandbox
1.8.5
Release data: July. 20th, 2018
New features:
- Added query: My.allProjects, for querying native and imported model projects at the same time
- Added mutation: makeScreenshot to make a server side rendered screenshot with specific dimension and camera pose
- Added mutation: removeScreenshot to remove a screenshot of a project
Fixes:
- Fixed empty importedModelType error
1.8.4
Release data: July. 13th, 2018
New features:
- Added fields: animation + texture in type: SandboxEntity
- Added args: planet + background in SandboxMutation.create + update
Fixes:
- Fixed setting uploaded image as
Invalid
if client and server side checksums mismatch
1.8.3
Release data: July. 6th, 2018
New features:
- Added query: my.favouriteProjects / my.favouriteSandboxes for querying favourite projects with descending created time
- Added sorting options for sandbox apis
- Added super/sales query: userProjectList to output all the projects as CSV of a user
Change:
- Removed deprecated query: version, User.thumb, getGeoIPInfo.suggestedBuckets
- Removed deprecated mutation: startReconstruction, upgradeProject,
1.8.2
Release data: June. 22th, 2018
New features:
- Added query: search.user(username) for searching the account unique username
1.8.1
Release data: June. 15th, 2018
New features:
- Supported changing the imported model type via mutation: setProjectProperties(importedModelType)
Change:
- For query: project.cropMask, if crop mask does not exist, return a default mask instead of null
Fixes:
- Fixed issues of translating original image names to hashed image names in meta files if same image is uploaded multiple times
- Fixed changing project.importedState of imported-model-project to
Pending
immediately after a new upload URL is signed
1.8.0
Release data: May. 25th, 2018
New features:
- Supported Minio object storage server
- Added mutation: uploadImageMinio, to upload image to our private Minio server
- Added mutation: downgradeProject, for downgrading pro and non-done-once project to free project
Fixes:
- Fixed issue of pre-processing images indefinitely triggered from mobile apps, projects that have timeout images will be auto-started
Change:
- Changed SandboxEntity's name from required to optional.
- Changed domains of cdn of various sandbox thumbs according to the region of api server
1.7.0
Release data: May. 18th, 2018
New features:
- Added mutation: transferProject for transferring ownership of projects to other user
- Added mutation: transferCoins for transferring coins to other user
- Added mutation: transferCoupon for transferring unused and non-expired timed coupons to other user
Breaking Change:
- Allowed zero transaction for starting reconstruction / upgrading project. (Previously, if total value of timed coupon used is bigger than required, no transaction will be conducted. Now, a transaction of zero amount will be carried out with relevant information such as the coupons used in the transaction.)
1.6.2
Release data: May. 11th, 2018
New features:
- Added type: frame in sandbox's animation
Fixes:
- Fixed setting project as modified if an image is removed
- Fixed missing message of 'Authentication Error' in various mutations
1.6.1
Release data: May. 4th, 2018
New features:
- Added transaction types: [ BraintreeBuyCoin, AlipayBuyCoin, WechatBuyCoin, DepositCoinCoupon, Reconstruction, ProjUpgrade, Refund, SpecialCharge ] in type: Transaction
- Supported custom transaction description by offering tokenized description arguments
descArgs
in type: Transaction - Added ids of coupons used in relevant transaction
- Added sales mutation: refundProject and specialChargeUser
Fixes:
- Fixed issue of not refunding a pro project if it is stopped within 15 minutes
1.6.0
Release data: April. 27th, 2018
New features:
- Added mutation: sandbox.storyboard.{createStory + updateStory + removeStory + createStoryScene + removeStoryScene}
- Supported image file name that contains space(s), e.g. 'abc def ghi.JPG' in metafile (despite space is being used as delimiter)
Improvements:
- Reduced the latency of all the query (especially in China) with geo-distributed replica set
Fixes:
- Fixed typo of metafile filename to accept
group.txt
instead ofgroups.txt
Breaking Change:
- All images that are not in state:
Ready(Strong)
orInvalid
will be forcefully switched toInvalid
if their lastmodifiedDate
is older than 65 minutes
1.5.1
Release data: April. 20th, 2018
New features:
- Supported markdown format in sales query: sendEmail
- Added mutation: setSandboxThumb for setting progressive sandbox thumbnails
- Added sales mutation: addUserNote and removeUserNote
- Added new buckets: Beijing, Virginia and London in enum: BucketS3Model, used in mutation: uploadModelS3
- Added new query: getGeoIPInfo.nearestModelBuckets to get the nearest buckets for uploading obj model
1.5.0
Release data: April. 13th, 2018
New features:
- Added field: importedModelType in Project, to indicate the imported model type
- Added field: developer.level in User, to store the base level of subsequent apps
- Allowed sales api to get/set developer base level and individual apps level
- Added sales api to send email
Fixes:
- Fixed setting default materials for imported models
- Allowed sales to query private coupon fields
- Enforced expiring developer status and all of his apps
- Properly handled the case when project image is removed when it is still in excited state
Breaking Change:
- Changed the definition of User.freeGPQuota to {free global quota + staff picked bonus + membership quota}, instead of just {free global quota + staff picked bonus}
- project.allMaterials were set as public, instead of private
1.4.0
Release data: April. 6th, 2018
New features:
- Added 2 new filters: ActiveUsed + ActiveUnused in FILTER_COUPON_TIME_STATE, which is used in query.my.coupons
- Added query.sandbox.sandbox + query.sandbox.allSandboxes + query.my.sandboxes
- Added mutation.sandbox
- Supported importing CAD, photogrammetric and point-cloud models
Fixes:
- Fixed status 500 server error if no user token is provided in any query
- Fixed handling pre-starting non-existing project
- Fixed unhandled promise rejection error when registering new user with empty fields
Breaking Change:
- Mutation: createProject accepts an additional arg: modelType for indicating the imported model type.
1.3.1
Release data: March. 29th, 2018
New features:
- Added resendVerificationEmail in query.support
- Added args: type in query.my.transactions to filter credit or debit transactions
- Added new field: MembershipInfo in User object
Fixes:
- Fixed issues of translating original image names to hashed image names in meta files
- Fixed issues of user login via OAuth
1.3.0
Release data: March. 23th, 2018
New features:
- Supported accepting multiple time based coupons in a single operation
- Added sales API
Fixes:
- Fixed redeem coupon link in http server mode
- Fixed ProjectImage's 'resized' ValidatorError when calling mutation: hasImage
- Fixed mis-judging 'Invalid' image as 'ReadyStrong'
Breaking Change:
- Mutation: upgradeProjectWithError, startReconstructionWithError and preStartReconstruction accept a list of coupon ids, instead of a single coupon id.
1.2.0
Release data: March. 16th, 2018
New features:
- User registration: send an email verification upon user registration
- Added query: project.allMaterials for getting all materials
- Added mutation: addProjectMaterial + updateProjectMaterial + removeProjectMaterial
Breaking Change:
- Mutation: PreStartProject will start the reconstruction task if all the images are in either 'Ready' or 'Invalid' state. So PreStartProject should be called after all images are uploaded. Previously, it is supposed to be called before all images are 'Ready' or 'Invalid'.
1.1.0
Release data: Feb. 12th, 2018
New features:
- Make endpoint:
/graphql
browsable without app key - Added query: support.projectDoctor for diagnostic information
- Added super query: approveDeveloper
Improvements:
- Used provider pattern for selecting cloud providers upload services
Bug fixes:
- Fixed query: suggestedBuckets return values