The store's front page has a new paragraph about each bag being made individually to order
Version 0.1.58
The store's front page has a new subtitle: Handcrafted, limited-edition design
Version 0.1.57
Search results and shared links show more: each page has its own share details, product pages have structured details for search engines, and the site and the store have a sitemap and a robots file
Version 0.1.56
The deploy and development tools are updated to the latest release; nothing on the site changes
Version 0.1.55
The deploy and development tools are updated to fix a security advisory in a dependency; nothing on the site changes
Version 0.1.54
A customer whose name was saved with its accent as a separate mark is found again when the name is typed that way, as before
Version 0.1.53
A name typed with its accent as a separate mark is the same name as the one typed with the accented letter
Version 0.1.52
The English addresses of the store and of mitasbag.com all use /en/: their links, their canonical addresses and their alternate links, as the Spanish ones use /es/
Version 0.1.51
The store's English links, its cart and its product pages use /en/, as the Spanish ones use /es/; the reservation email links to /en/ too
The English pages of mitasbag.com link to the store's /en/ addresses
Version 0.1.50
The English pages are also at /en/, as the Spanish ones are at /es/, and the root still shows the English pages
The store's English pages are also at /en/: store.mitasbag.com/en/ is the front page, and the cart and product pages are there too
Version 0.1.49
A checkout is refused for ten minutes when one address makes more than five checkouts in a minute
A checkout is not saved when the bag's price has changed since its checkout page was shown: the page shows the new price
A checkout posted from another site, or with no Origin header, is refused
Version 0.1.48
A checkout made for one bag does not save another bag if the cart changed before it was posted; the cart is shown instead
The order status page shows a bag's final price, after its discount, as the purchaser's email does
Version 0.1.47
Internal: an unused constant is removed from the store's pages, with no change to any page
Version 0.1.46
A name with a line break, or an email with a hidden control character, is refused at checkout, as on the admin and sales sites
Internal: two requests for the same new customer at the same moment are one customer, not two
Version 0.1.45
Internal: a bag's place in the production queue is counted when its request is saved, so two checkouts at the same moment cannot take the same place
Version 0.1.44
A checkout posted twice saves its request once, and sends one reservation email
The reservation email no longer shows placeholder text for steps that are not decided yet
The store's light and dark colors are fixed on its pages
Version 0.1.42
Internal: each customer has an external id, a uuid256, which the admin site's addresses use in place of the name
Version 0.1.41
The store calls its products models: the menu, the buttons and the page titles say Models, Model Details and Back to models. The product page addresses do not change
Version 0.1.40
Internal: the locale, currency and status of each order request, and each model's details and photos, are kept in lookup tables and by model
Version 0.1.39
Internal: each customer's name and email are stored once, sealed, and each order names its customer
Version 0.1.38
A request from the cart works again: saving it had failed since the purchaser's name and email were sealed
Version 0.1.37
Internal: the purchaser's name and email are sealed, and payments are kept in their own table
Version 0.1.36
Main site: the menu, the footer and the View Models button say Models instead of Products, and the Our Products page is Our Models
Version 0.1.35
Main site: WhatsApp is back on the contact pages, with the number +52 664 583 1570
Main site: the contact page's intro reads: Click the email address below to start a message to us to contact us
Version 0.1.34
The status page's dates show the time without the name of the time zone, such as CST or GMT-6
Version 0.1.33
The reservation email has no questions line at the bottom, and its payment step reads: We will contact you for payment.
Version 0.1.32
The status page's language switch works: an order's status page can be read in English or Spanish, whichever language the order was placed in
Version 0.1.31
Photo addresses are built from each photo's name and file type
Version 0.1.30
The store's footer has the same links as the store's menu: Home, Products, About, Contact and Cart. Its email address is gone
Version 0.1.29
The footer links are the same as the header menu: Home, Products, About, Contact and Cart
The footer no longer shows the email address; the Contact page still has it
Version 0.1.28
Contact links go to the contact page instead of opening an email: the Contact Us and Ask About This Style buttons, and the address in the footer
The store's footer address goes to the main site's contact page
Version 0.1.27
The empty cart message has no final period, in English and Spanish
Version 0.1.26
The reservation email shows TBD for when the bag will be made and when it will ship
Version 0.1.25
The Contact link in the store's menu goes to the main site's contact page, in the same language and theme
The store's menu marks Cart as the current page on the cart and checkout pages
Main site: a Beta badge under the logo on every page
Main site: the menu has a Cart link
Version 0.1.24
The store is in beta, with a Beta badge on each page
After checkout, the store and the reservation email say that orders are not being fulfilled during the beta
Version 0.1.23
The order status page shows its dates in the visitor's time zone
Version 0.1.22
Internal: the order status page wrote its dates in UTC, with a small script that showed them in the browser's time zone
Version 0.1.21
Requests go to production in the order they were made
Each request has a status page, which the reservation email links to. It shows the bags ahead, the date of each step, and the tracking number once the bag has shipped
Version 0.1.20
The reservation email follows the theme of the checkout: the dark email from the dark site, the light one from the light site
Version 0.1.19
The reservation email keeps the line that the photo on the site is an example, not your bag
Version 0.1.18
The reservation email has no photo, because the photo did not come through in email
Version 0.1.17
Internal: the shipping details moved out of the fulfillment record into the shipping record, and a bag cannot be marked shipped or delivered without its dates
Version 0.1.16
Internal: the shipping address is stored in its parts, in the shipping record
Version 0.1.15
Internal: each request has a shipping record for its address, carrier and tracking number
Version 0.1.14
Internal: each request has a fulfillment record, from reserved through payment and production to shipping
Version 0.1.13
A request and its reservation email are in the same language, the language of the checkout
Main site: the WhatsApp number is hidden on the contact pages for now
Main site: header-style text has no final period
Version 0.1.12
Internal: tests added for the reservation emails in English and Spanish
Version 0.1.11
Reservation emails are sent from orders@mitasbag.com, and replies go to mitasbag@gmail.com
Version 0.1.10
Internal: the sender address for reservation emails is set
Version 0.1.9
After checkout, the customer is sent a reservation email
Version 0.1.8
The reservation email quotes the price saved with the request
Version 0.1.7
Reservation email in English and Spanish: the style, its details and price, and what happens next. Making the bag takes about 10 days, we contact you for payment before shipping, and shipping takes about 10 days
Version 0.1.6
A request is for the style the customer chose, and the bag is linked to it when the bag is made
Version 0.1.5
Checkout: a Checkout button on the cart opens a page that asks for a name and an email. We contact you later to finish the order
Version 0.1.4
Primary buttons, such as Add to cart, are darker in dark mode
Version 0.1.3
The Back to products button on an empty cart follows the theme
Version 0.1.2
The cart page starts with the bag, with no heading above it
Version 0.1.1
The product page starts with the product, with no heading above it
Version 0.1.0
Add to cart on product pages. The cart holds one bag. Prices are set for each model: USD in English, MXN in Spanish
Version 0.0.15
Product pages no longer show the Ask About This Style button
Version 0.0.14
WhatsApp link on the contact page, under the email address
Muted View Products button in dark mode
Footer and contact text has no final period
Version 0.0.13
Dark tab icon on the dark pages, and in dark mode on the store
Version 0.0.12
Dark header logo on the dark pages, and on the store in dark mode
Version 0.0.11
Dark mode on the main site and the store, with a link next to the language toggle; the dark pages are under /dark
Logos and photos are served as WebP from images.mitasbag.com, with a dark version of the large logo
The store logo loads from images.mitasbag.com
Version 0.0.10
Versions page lists each version once, with its own number
Version 0.0.9
Versions page lists the changes made in each version
The version in the footer links to the versions page, on the main site and the store
Version 0.0.8
Store taglines have no final period
Contact page in English and Spanish, with the email as a link to click to write to us
Contact in the navigation goes to the contact page instead of opening email
Product page taglines have no final period
Version 0.0.7
Store title matches the about page's title size and spacing
Title area has the about page's blush band
Title band, header and content spacing match the main site
Version 0.0.6
Header stays at the top while the page scrolls
Footer matches the main site's footer
Version 0.0.5
Model name comes from its description in the page's language
Featured product's first image sits beside its name, 100 by 100
Featured section shows no spec list
Featured section has no ask button
Product page shows the collection label
Version 0.0.4
Product page shows the product's photo from the bags folder
Product photos come from the product image table, served from images.mitasbag.com
Product page laid out like the main site's product page
"Back to products" is a button beside "Ask About This Style"
Version 0.0.3
Moved the site files into the www folder
Store front page at store.mitasbag.com
Products links on the main site go to the store; README added for the store and database
Product pages at addresses based on an external ID, with a Product Details button and collection labels
Store links on the main site go to the featured product's page
Store links on the main site go back to the store front