├── .github └── workflows │ ├── deploy.yml │ ├── main.yml │ └── release-news.yml ├── .gitignore ├── .gitmodules ├── .ruby-version ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── _books └── ion-1-1 │ ├── book.toml │ ├── src │ ├── SUMMARY.md │ ├── binary │ │ ├── annotations.md │ │ ├── e_expressions.md │ │ ├── encoding.md │ │ ├── nop.md │ │ ├── opcodes.md │ │ ├── primitives.md │ │ ├── primitives │ │ │ ├── fixed_int.md │ │ │ ├── fixed_uint.md │ │ │ ├── flex_int.md │ │ │ ├── flex_sym.md │ │ │ └── flex_uint.md │ │ ├── values.md │ │ └── values │ │ │ ├── blob.md │ │ │ ├── bool.md │ │ │ ├── clob.md │ │ │ ├── decimal.md │ │ │ ├── float.md │ │ │ ├── int.md │ │ │ ├── list.md │ │ │ ├── null.md │ │ │ ├── sexp.md │ │ │ ├── string.md │ │ │ ├── struct.md │ │ │ ├── symbol.md │ │ │ └── timestamp.md │ ├── glossary.md │ ├── grammar.md │ ├── introduction.md │ ├── macros.md │ ├── macros │ │ ├── defining_macros.md │ │ ├── macros_by_example.md │ │ ├── special_forms.md │ │ └── system_macros.md │ ├── modules.md │ ├── modules │ │ ├── defining_modules.md │ │ ├── directives.md │ │ ├── encoding_modules.md │ │ ├── local_modules.md │ │ ├── shared_modules.md │ │ └── system_module.md │ ├── security-considerations.md │ ├── text │ │ ├── e_expressions.md │ │ ├── encoding.md │ │ ├── escape-characters.md │ │ ├── symbol-tokens.md │ │ └── values.md │ ├── todo.md │ └── whats_new.md │ └── theme │ ├── highlight.css │ └── highlight.js ├── _config.yml ├── _data ├── libraries.json └── navigation.yml ├── _includes ├── footer.html ├── head.html ├── header.html └── library_table.md ├── _layouts ├── default.html └── news_item.html ├── _plugins └── mdbooks.rb ├── _posts ├── 2016-04-20-amazon-open-sources-ion.md ├── 2016-04-25-ion-java-1_0_0-released.md ├── 2016-06-14-amazon-releases-ion-intellij-plugin.md ├── 2016-06-27-amazon-releases-ion-c.md ├── 2016-07-08-amazon-releases-ion-python.md ├── 2016-09-29-ion-java-1_0_1-released.md ├── 2017-02-07-ion-java-1_0_2-released.md ├── 2017-04-25-amazon-releases-ion-js.md ├── 2017-05-10-ion-python-0_2_0-released.md ├── 2017-07-21-amazon-releases-ion-eclipse-plugin.md ├── 2017-07-30-jackson-adds-ion-support.md ├── 2017-10-12-ion-java-1_0_3-released.md ├── 2018-01-24-ion-java-1_1_0-released.md ├── 2018-03-08-amazon-redshift-spectrum0adds-scalar-ion-support.md ├── 2018-03-23-ion-java-1_1_1-released.md ├── 2018-04-02-ion-java-1_1_2-released.md ├── 2018-04-12-amazon-releases-ion-test-driver.md ├── 2018-04-12-ion-c-1_0_0-released.md ├── 2018-05-15-ion-python-0_3_1-released.md ├── 2018-05-25-ion-c-1_0_1-released.md ├── 2018-06-22-ion-java-1_2_0-released.md ├── 2018-07-19-developer-guide-symbols-documentation-released.md ├── 2018-08-08-amazon-redshift-spectrum-adds-nested-ion-support.md ├── 2018-11-05-ion-schema-spec-released.md ├── 2018-11-12-ion-java-path-extraction-released.md ├── 2019-01-21-ion-hive-serde.md ├── 2019-04-30-ion-java-1_4_0-released.md ├── 2019-05-08-ion-kotlin-builder-1_0_0-released.md ├── 2019-05-23-ion-hash-java-1_0_0-released.md ├── 2019-05-23-ion-hash-released.md ├── 2019-06-26-ion-java-1_5_0-released.md ├── 2019-07-15-ion-schema-kotlin-1_0_0-released.md ├── 2019-07-16-ion-hash-python-1_0_1-released.md ├── 2019-09-05-ion-python-0_4_1-released.md ├── 2019-09-12-ion-js-3_0_0-released.md ├── 2019-10-17-ion-python-0_5_0-released.md ├── 2019-10-29-ion-js-3_1_0-released.md ├── 2019-11-05-ion-hash-js-1_0_2-released.md ├── 2020-01-15-software.amazon.ion-deprecated.md ├── 2020-02-26-ion-java-1_6_0-released.md ├── 2020-03-09-ion-templates-rfc-opened.md ├── 2020-03-30-ion-js-4_0-released.md ├── 2020-03-31-ion-hash-js-2_0_0-released.md ├── 2020-06-03-ion-dotnet-1_0-released.md ├── 2020-06-03-ion-hash-dotnet-1_0_0-released.md ├── 2020-07-14-ion-schema-kotlin-1_1-released.md ├── 2020-09-29-ion-go-1_0-released.md ├── 2020-09-30-ion-hash-go-1_0_0-released.md ├── 2020-11-09-ion-java-1_8_0-released.md ├── 2020-11-23-ion-dotnet-1_1_0-released.md ├── 2020-12-02-ion-js-4_1_0-released.md ├── 2020-12-02-ion-python-0_7_0-released.md ├── 2020-12-03-ion-java-path-extraction-1_3_1-released.md ├── 2020-12-08-ion-go-1_1_0-released.md ├── 2021-02-09-ion-c-1_4_0-released.md ├── 2021-04-07-ion-java-1_8_1-released.md ├── 2021-05-07-ion-js-4_2_1-released.md ├── 2021-07-09-ion-go-1_1_3-released.md ├── 2021-07-13-ion-hash-go-1_1_2-released.md ├── 2021-07-13-ion-intellij-plugin-2_1_28-released.md ├── 2021-09-10-ion-hash-python-1_2_1-released.md ├── 2021-10-13-ion-java-1_9_0-released.md ├── 2021-11-29-ion-schema-kotlin-1_2_1-released.md ├── 2022-02-02-ion-python-0_9_1-released.md ├── 2022-02-04-ion-hive-serde-0_5_0-released.md ├── 2022-02-08-ion-dotnet-1_2_2-released.md ├── 2022-02-15-ion-java-1_9_1-released.md ├── 2022-02-17-ion-hive-serde-0_6_0-released.md ├── 2022-03-01-ion-java-1_9_2-released.md ├── 2022-03-15-ion-c-1_0_5-released.md ├── 2022-03-15-ion-hive-serde-1_0_0-released.md ├── 2022-03-17-ion-js-4_2_2-released.md ├── 2022-03-23-ion-java-1_9_3-released.md ├── 2022-03-28-ion-c-1_0_6-released.md ├── 2022-04-05-ion-java-1_9_4-released.md ├── 2022-05-04-ion-js-4_2_3-released.md ├── 2022-05-06-ion-python-0_9_2-released.md ├── 2022-05-10-ion-js-4_3_0-released.md ├── 2022-05-17-ion-rust-0_10_0-released.md ├── 2022-05-28-ion-schema-rust-0_3_0-released.md ├── 2022-05-31-ion-hash-dotnet-1_1_1-released.md ├── 2022-06-29-ion-element-kotlin-1_0_0-released.md ├── 2022-06-29-ion-schema-kotlin-1_3_0-released.md ├── 2022-07-14-ion-schema-rust-0_4_0-released.md ├── 2022-07-26-rfc-ion-schema-2_0-public-comment.md ├── 2022-08-16-community-supported-php-library-added.md ├── 2022-08-17-ion-java-1_9_5-released.md ├── 2022-08-19-ion-python-0_9_3-released.md ├── 2022-08-24-ion-cli-homebrew.md ├── 2022-08-25-rfc-ion-schema-2_0-approved.md ├── 2022-09-02-ion-rust-0_13_0-released.md ├── 2022-09-12-new-tool-ion-schema-sandbox.md ├── 2022-09-13-ion-schema-rust-0_5_0-released.md ├── 2022-09-14-ion-intellij-plugin-2_1_34-released.md ├── 2022-09-15-ion-hive-serde-1_1_0-released.md ├── 2022-10-04-ion-hive-serde-1_2_0-released.md ├── 2022-11-10-ion-schema-kotlin-1_4_0-released.md ├── 2022-11-16-ion-schema-rust-0_6_0-released.md ├── 2022-12-05-ion-intellij-plugin-2_2_0-released.md ├── 2022-12-06-ion-c-1_1_0-released.md ├── 2022-12-19-ion-dotnet-1_2_3-released.md ├── 2022-12-20-ion-dotnet-1_2_3-released.md ├── 2022-12-27-ion-rust-0_15_0-released.md ├── 2023-02-01-ion-go-1_2_0-released.md ├── 2023-02-14-ion-python-0_10_0-released.md ├── 2023-02-22-ion-c-1_1_1-released.md ├── 2023-03-14-ion-schema-kotlin-1_5_0-released.md ├── 2023-03-17-ion-schema-kotlin-1_5_1-released.md ├── 2023-03-18-ion-rust-0_16_0-released.md ├── 2023-03-28-ion-c-1_1_2-released.md ├── 2023-03-29-ion-go-1_3_0-released.md ├── 2023-04-12-ion-java-1_9_6-released.md ├── 2023-04-19-ion-rust-0_17_0-released.md ├── 2023-04-25-ion-js-5_0_0-released.md ├── 2023-04-26-ion-schema-rust-0_7_0-released.md ├── 2023-05-12-ion-element-kotlin-1_1_0-released.md ├── 2023-06-06-ion-intellij-plugin-2_3_0-released.md ├── 2023-06-06-ion-schema-kotlin-1_6_0-released.md ├── 2023-06-09-ion-rust-0_18_1-released.md ├── 2023-06-15-ion-schema-rust-0_8_0-released.md ├── 2023-06-21-ion-schema-kotlin-1_6_1-released.md ├── 2023-06-28-ion-schema-rust-0_9_0-released.md ├── 2023-06-29-ion-schema-rust-0_9_1-released.md ├── 2023-07-13-ion-intellij-plugin-2_3_1-released.md ├── 2023-07-18-ion-java-1_10_1-released.md ├── 2023-07-19-ion-intellij-plugin-2_3_2-released.md ├── 2023-07-19-ion-rust-1_0_0-rc_1-released.md ├── 2023-07-20-ion-java-1_10_2-released.md ├── 2023-07-24-ion-js-5_1_0-released.md ├── 2023-08-01-ion-intellij-plugin-2_4_0-released.md ├── 2023-08-30-ion-hash-go-1_2_0-released.md ├── 2023-09-07-ion-js-5_2_0-released.md ├── 2023-09-12-ion-java-1_10_3-released.md ├── 2023-09-14-ion-java-1_10_4-released.md ├── 2023-09-19-ion-java-1_10_5-released.md ├── 2023-10-09-ion-python-0_11_0-released.md ├── 2023-10-10-ion-python-0_11_1-released.md ├── 2023-11-02-ion-schema-rust-0_10_0-released.md ├── 2023-11-03-ion-java-1_11_0-released.md ├── 2023-11-13-ion-dotnet-1_3_0-released.md ├── 2023-11-13-ion-schema-kotlin-1_7_0-released.md ├── 2023-11-17-ion-python-0_11_2-released.md ├── 2023-11-30-ion-python-0_11_3-released.md ├── 2023-12-13-ion-element-kotlin-1_2_0-released.md ├── 2023-12-15-ion-schema-kotlin-1_8_0-released.md ├── 2023-12-19-ion-hash-js-2_1_0-released.md ├── 2024-01-02-ion-intellij-plugin-2_5_0-released.md ├── 2024-01-18-ion-java-1_11_1-released.md ├── 2024-02-01-ion-cli-0_5_0-released.md ├── 2024-02-08-ion-cli-0_5_1-released.md ├── 2024-02-08-ion-java-1_11_2-released.md ├── 2024-02-08-ion-rust-1_0_0-rc_2-released.md ├── 2024-02-16-ion-python-0_12_0-released.md ├── 2024-02-21-ion-java-1_11_3-released.md ├── 2024-02-23-ion-rust-1_0_0-rc_3-released.md ├── 2024-03-01-ion-java-1_11_4-released.md ├── 2024-03-11-ion-schema-rust-0_11_0-released.md ├── 2024-04-12-ion-schema-rfc-process-public-comment.md ├── 2024-04-19-ion-intellij-plugin-2_6_0-released.md ├── 2024-04-23-ion-java-1_11_6-released.md ├── 2024-04-24-ion-java-1_11_7-released.md ├── 2024-04-26-ion-go-1_4_0-released.md ├── 2024-04-30-ion-js-5_2_1-released.md ├── 2024-05-09-ion-java-1_11_8-released.md ├── 2024-05-31-ion-rust-1_0_0-rc_4-released.md ├── 2024-06-03-ion-rust-1_0_0-rc_5-released.md ├── 2024-06-06-ion-cli-0_6_0-released.md ├── 2024-06-06-ion-go-1_5_0-released.md ├── 2024-06-06-ion-rust-1_0_0-rc_6-released.md ├── 2024-06-07-ion-cli-0_6_1-released.md ├── 2024-06-11-ion-intellij-plugin-2_6_1-released.md ├── 2024-07-03-ion-java-1_11_9-released.md ├── 2024-07-30-ion-c-1_1_3-released.md ├── 2024-08-23-ion-rust-1_0_0-rc_7-released.md ├── 2024-08-23-ion-schema-rust-0_12_0-released.md ├── 2024-08-26-ion-cli-0_7_0-released.md ├── 2024-09-19-ion-element-kotlin-1_3_0-released.md ├── 2024-09-19-ion-java-path-extraction-1_4_0-released.md ├── 2024-09-23-ion-schema-rust-0_13_0-released.md ├── 2024-10-07-ion-intellij-plugin-2_7_0-released.md ├── 2024-10-14-ion-rust-1_0_0-rc_8-released.md ├── 2024-10-15-ion-schema-rust-0_14_0-released.md ├── 2024-10-21-ion-cli-0_7_1-released.md ├── 2024-10-28-ion-cli-0_8_0-released.md ├── 2024-10-28-ion-schema-rust-0_14_1-released.md ├── 2024-11-05-ion-cli-0_9_0-released.md ├── 2024-11-06-ion-cli-0_9_1-released.md ├── 2024-11-06-ion-rust-1_0_0-rc_9-released.md ├── 2024-11-12-ion-python-0_13_0-released.md ├── 2024-11-14-ion-python-0_13_0-released.md ├── 2024-11-18-ion-python-0_13_0-released.md ├── 2024-12-07-ion-python-0_13_0-released.md ├── 2024-12-13-ion-rust-1_0_0-rc_10-released.md ├── 2024-12-13-ion-schema-rust-0_15_0-released.md ├── 2024-12-14-ion-cli-0_10_0-released.md ├── 2025-01-09-ion-java-path-extraction-_1_5_0-released.md ├── 2025-01-09-ion-rust-1_0_0-rc_11-released.md ├── 2025-01-10-ion-cli-0_11_0-released.md ├── 2025-01-23-ion-java-1_11_10-released.md ├── 2025-02-05-ion-dotnet-1_3_1-released.md ├── 2025-02-26-ion-1_1-final-comment-period.md └── 2025-03-12-ion-1_1-final-comment-period-closed.md ├── _sass ├── _base.scss ├── _github-highlight.scss ├── _layout.scss └── ionstyle.scss ├── _scripts └── generate_release_news.sh ├── assets ├── favicon.ico ├── ion-bundle.min.js ├── ion-widget.js └── main.scss ├── docs.md ├── docs ├── binary.md ├── catalog.md ├── decimal.md ├── float.md ├── glossary.md ├── spec.md ├── stringclob.md ├── symbols.md └── text.md ├── grammar └── IonText.g4.txt ├── guides ├── cookbook.md ├── path-extractor-guide.md ├── symbols-guide.md └── why.md ├── help.md ├── index.md ├── libs.md ├── news.md ├── pom.xml └── test └── IonGrammarTestCase.java /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: deploy 2 | 3 | permissions: 4 | id-token: write 5 | pages: write 6 | 7 | on: 8 | # Allow manual starting of this workflow, including using `gh workflow run` in the release news workflow 9 | workflow_dispatch: 10 | push: 11 | branches: [ gh-pages ] 12 | 13 | jobs: 14 | # Build job 15 | build: 16 | runs-on: ubuntu-latest 17 | steps: 18 | - name: Checkout 19 | uses: actions/checkout@v4 20 | 21 | - name: Setup Ruby 22 | uses: ruby/setup-ruby@v1 23 | 24 | - name: Rust Toolchain 25 | uses: actions-rs/toolchain@v1 26 | with: 27 | profile: minimal 28 | toolchain: stable 29 | components: rustfmt, clippy 30 | override: true 31 | 32 | - name: Install MdBook 33 | uses: actions-rs/cargo@v1 34 | with: 35 | command: install 36 | # --locked is necessary until https://github.com/mattico/elasticlunr-rs/pull/57 37 | # But it probably doesn't hurt in any case 38 | args: mdbook --no-default-features --features search --vers "^0.4" --locked 39 | 40 | - name: Install MdBook-alerts 41 | uses: actions-rs/cargo@v1 42 | with: 43 | command: install 44 | args: mdbook-alerts --locked 45 | 46 | - name: Build 47 | run: | 48 | bundle install 49 | bundle exec jekyll build 50 | 51 | - name: Upload artifact 52 | uses: actions/upload-pages-artifact@v3 53 | 54 | # Deployment job 55 | deploy: 56 | environment: 57 | name: github-pages 58 | url: ${{steps.deployment.outputs.page_url}} 59 | runs-on: ubuntu-latest 60 | needs: build 61 | steps: 62 | - name: Deploy to GitHub Pages 63 | id: deployment 64 | uses: actions/deploy-pages@v4 65 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: 4 | push: 5 | branches: [ gh-pages ] 6 | pull_request: 7 | branches: [ gh-pages ] 8 | 9 | jobs: 10 | test: 11 | runs-on: ubuntu-latest 12 | strategy: 13 | matrix: 14 | java: [11] 15 | steps: 16 | - uses: actions/checkout@v2 17 | with: 18 | submodules: recursive 19 | - name: Use java ${{ matrix.java }} 20 | uses: actions/setup-java@v2 21 | with: 22 | distribution: 'zulu' 23 | java-version: ${{ matrix.java }} 24 | - run: mvn verify 25 | -------------------------------------------------------------------------------- /.github/workflows/release-news.yml: -------------------------------------------------------------------------------- 1 | name: Release News Workflow 2 | 3 | on: 4 | # Allow manually starting the workflow incase we need human intervention. 5 | workflow_dispatch: 6 | 7 | # Runs at 08:17 UTC / 00:17 PST / 01:17 PDT 8 | # 17 is an arbitrarily chosen to avoid running the workflow during the peak at the beginning of the hour 9 | schedule: 10 | - cron: '17 8 * * *' 11 | 12 | permissions: write-all 13 | 14 | jobs: 15 | generate_news_items: 16 | # If this is running in a fork, only run if manually dispatched. 17 | if: github.repository == 'amazon-ion/ion-docs' || github.event_name == 'workflow_dispatch' 18 | runs-on: ubuntu-latest 19 | steps: 20 | - uses: actions/checkout@v2 21 | - name: Generate News Posts 22 | id: generate_news 23 | shell: bash 24 | env: 25 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 26 | run: | 27 | ./_scripts/generate_release_news.sh 28 | 29 | - name: Commit and Push Changes 30 | if: ${{ steps.generate_news.outputs.changes > 0 }} 31 | run: | 32 | git config user.name github-actions 33 | git config user.email github-actions@github.com 34 | git commit -m "${{ steps.generate_news.outputs.generated_commit_message }}" 35 | git push 36 | 37 | - name: Deploy Changes 38 | if: ${{ steps.generate_news.outputs.changes > 0 }} 39 | # If you use the GITHUB_TOKEN to push code, it won't trigger any on-push 40 | # workflows, so we manually the workflow here. 41 | # We can't just call the workflow directly because we need the workflow to run 42 | # on the new commit, not the GITHUB_REF for this workflow. 43 | env: 44 | GH_TOKEN: ${{ github.token }} 45 | run: | 46 | gh workflow run .github/workflows/deploy.yml -R "${{ github.repository }}" 47 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/vim,jekyll,visualstudiocode 2 | 3 | ### Jekyll ### 4 | _site/ 5 | .sass-cache/ 6 | .jekyll-cache/ 7 | .jekyll-metadata 8 | 9 | ### Vim ### 10 | # swap 11 | .sw[a-p] 12 | .*.sw[a-p] 13 | # session 14 | Session.vim 15 | # temporary 16 | .netrwhist 17 | *~ 18 | # auto-generated tag files 19 | tags 20 | 21 | ### VisualStudioCode ### 22 | .vscode/* 23 | !.vscode/tasks.json 24 | !.vscode/launch.json 25 | !.vscode/extensions.json 26 | .history 27 | 28 | ### Java Builds (to test grammar) copy the grammar to here 29 | grammar/IonText.g4 30 | 31 | ### `mdbook` build target 32 | _books/**/book/ 33 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ion-tests"] 2 | path = ion-tests 3 | url = https://github.com/amazon-ion/ion-tests.git 4 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.2.3 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | source "https://rubygems.org" 4 | ruby RUBY_VERSION 5 | 6 | git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } 7 | 8 | # Hello! This is where you manage which Jekyll version is used to run. 9 | # When you want to use a different version, change it below, save the 10 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 11 | # 12 | # bundle exec jekyll serve 13 | 14 | gem "jekyll", group: :jekyll_plugins 15 | gem "jekyll-redirect-from" 16 | gem "kramdown-parser-gfm" 17 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.8.7) 5 | public_suffix (>= 2.0.2, < 7.0) 6 | colorator (1.1.0) 7 | concurrent-ruby (1.3.4) 8 | csv (3.3.0) 9 | em-websocket (0.5.3) 10 | eventmachine (>= 0.12.9) 11 | http_parser.rb (~> 0) 12 | eventmachine (1.2.7) 13 | ffi (1.17.0-arm64-darwin) 14 | ffi (1.17.0-x86_64-linux-gnu) 15 | forwardable-extended (2.6.0) 16 | http_parser.rb (0.8.0) 17 | i18n (1.14.5) 18 | concurrent-ruby (~> 1.0) 19 | jekyll (3.10.0) 20 | addressable (~> 2.4) 21 | colorator (~> 1.0) 22 | csv (~> 3.0) 23 | em-websocket (~> 0.5) 24 | i18n (>= 0.7, < 2) 25 | jekyll-sass-converter (~> 1.0) 26 | jekyll-watch (~> 2.0) 27 | kramdown (>= 1.17, < 3) 28 | liquid (~> 4.0) 29 | mercenary (~> 0.3.3) 30 | pathutil (~> 0.9) 31 | rouge (>= 1.7, < 4) 32 | safe_yaml (~> 1.0) 33 | webrick (>= 1.0) 34 | jekyll-redirect-from (0.16.0) 35 | jekyll (>= 3.3, < 5.0) 36 | jekyll-sass-converter (1.5.2) 37 | sass (~> 3.4) 38 | jekyll-watch (2.2.1) 39 | listen (~> 3.0) 40 | kramdown (2.4.0) 41 | rexml 42 | kramdown-parser-gfm (1.1.0) 43 | kramdown (~> 2.0) 44 | liquid (4.0.4) 45 | listen (3.9.0) 46 | rb-fsevent (~> 0.10, >= 0.10.3) 47 | rb-inotify (~> 0.9, >= 0.9.10) 48 | mercenary (0.3.6) 49 | pathutil (0.16.2) 50 | forwardable-extended (~> 2.6) 51 | public_suffix (5.1.1) 52 | rb-fsevent (0.11.2) 53 | rb-inotify (0.11.1) 54 | ffi (~> 1.0) 55 | rexml (3.3.9) 56 | rouge (3.30.0) 57 | safe_yaml (1.0.5) 58 | sass (3.7.4) 59 | sass-listen (~> 4.0.0) 60 | sass-listen (4.0.0) 61 | rb-fsevent (~> 0.9, >= 0.9.4) 62 | rb-inotify (~> 0.9, >= 0.9.7) 63 | webrick (1.8.2) 64 | 65 | PLATFORMS 66 | arm64-darwin-22 67 | x86_64-linux 68 | 69 | DEPENDENCIES 70 | jekyll 71 | jekyll-redirect-from 72 | kramdown-parser-gfm 73 | 74 | RUBY VERSION 75 | ruby 3.2.3p157 76 | 77 | BUNDLED WITH 78 | 2.4.19 79 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ion-docs 2 | 3 | This repository contains the content behind https://amazon-ion.github.io/ion-docs/, including the Ion specification, documentation, and news. Feel free to ask questions and propose clarifications, and we'll do our best to respond in a timely fashion. 4 | 5 | ## Development 6 | 7 | To test locally, you must have [Ruby](https://www.ruby-lang.org/en/documentation/installation/), 8 | [Bundler](https://bundler.io/), [mdbook](https://rust-lang.github.io/mdBook/guide/installation.html), 9 | and [mdbook-alerts](https://crates.io/crates/mdbook-alerts#user-content-usage) installed. 10 | 11 | In the project root directory, run: 12 | ```shell 13 | bundle exec jekyll serve 14 | ``` 15 | 16 | You can now view the GitHub pages site in your favorite browser, served from your computer. 17 | 18 | For full information about testing GitHub pages sites locally, see the [official documentation](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll) on GitHub. 19 | -------------------------------------------------------------------------------- /_books/ion-1-1/book.toml: -------------------------------------------------------------------------------- 1 | [book] 2 | authors = ["The Ion Team"] 3 | language = "en" 4 | multilingual = false 5 | src = "src" 6 | title = "The Ion 1.1 Draft Specification" 7 | default-theme = "light" 8 | 9 | [output.html.fold] 10 | # Makes the sections in navigation pane collapsable. 11 | enable = true 12 | # By default, 1 level of depth below the current viewing level is expanded. 13 | level = 1 14 | 15 | # Enables the `mdbook-alerts` preprocessor, which can be installed with 16 | # cargo install mdbook-alerts 17 | [preprocessor.alerts] 18 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/SUMMARY.md: -------------------------------------------------------------------------------- 1 | # Ion 1.1 2 | 3 | - [Introduction](./introduction.md) 4 | - [What's new](./whats_new.md) 5 | - [Macros](macros.md) 6 | - [Macros by example](macros/macros_by_example.md) 7 | - [Defining macros](macros/defining_macros.md) 8 | - [Special forms](macros/special_forms.md) 9 | - [System macros](macros/system_macros.md) 10 | - [Modules](modules.md) 11 | - [Defining modules](modules/defining_modules.md) 12 | - [Directives](modules/directives.md) 13 | - [Local modules](modules/local_modules.md) 14 | - [Encoding modules](modules/encoding_modules.md) 15 | - [System module](modules/system_module.md) 16 | - [Shared modules](modules/shared_modules.md) 17 | - [Text encoding](text/encoding.md) 18 | - [Values](text/values.md) 19 | - [E-expressions](text/e_expressions.md) 20 | - [Symbol tokens](text/symbol-tokens.md) 21 | - [Escape characters](text/escape-characters.md) 22 | - [Binary encoding](binary/encoding.md) 23 | - [Encoding primitives](binary/primitives.md) 24 | - [`FlexUInt`](binary/primitives/flex_uint.md) 25 | - [`FlexInt`](binary/primitives/flex_int.md) 26 | - [`FixedUInt`](binary/primitives/fixed_uint.md) 27 | - [`FixedInt`](binary/primitives/fixed_int.md) 28 | - [`FlexSym`](binary/primitives/flex_sym.md) 29 | - [Opcodes](binary/opcodes.md) 30 | - [Values](binary/values.md) 31 | * [null](binary/values/null.md) 32 | * [bool](binary/values/bool.md) 33 | * [int](binary/values/int.md) 34 | * [float](binary/values/float.md) 35 | * [decimal](binary/values/decimal.md) 36 | * [timestamp](binary/values/timestamp.md) 37 | * [string](binary/values/string.md) 38 | * [symbol](binary/values/symbol.md) 39 | * [blob](binary/values/blob.md) 40 | * [clob](binary/values/clob.md) 41 | * [list](binary/values/list.md) 42 | * [sexp](binary/values/sexp.md) 43 | * [struct](binary/values/struct.md) 44 | - [E-expressions](binary/e_expressions.md) 45 | - [Annotations](binary/annotations.md) 46 | - [NOP](binary/nop.md) 47 | - [Security considerations](security-considerations.md) 48 | - [Grammar](grammar.md) 49 | - [Glossary](glossary.md) 50 | 56 | - [TODO](todo.md) 57 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/encoding.md: -------------------------------------------------------------------------------- 1 | # Ion 1.1 Binary Encoding 2 | 3 | A binary Ion stream consists of an [_Ion version marker_](../glossary.md) followed by a series of 4 | [value literals](values.md) and/or [encoding expressions](e_expressions.md). 5 | 6 | Both value literals and e-expressions begin with an [opcode](opcodes.md) that indicates 7 | what the next expression represents and how the bytes that follow should be interpreted. -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/nop.md: -------------------------------------------------------------------------------- 1 | ## `NOP`s 2 | 3 | A `NOP` (short for "no-operation") is the binary equivalent of whitespace. `NOP` bytes have no meaning, 4 | but can be used as padding to achieve a desired alignment. 5 | 6 | An opcode of `0xEC` indicates a single-byte `NOP` pad. An opcode of `0xED` indicates that a 7 | [`FlexUInt`](primitives/flex_uint.md) follows that represents the number of additional bytes to skip. 8 | 9 | It is legal for a `NOP` to appear anywhere that a [value](values.md) can be encoded. It is not legal for a `NOP` to appear in 10 | annotation sequences or struct field names. If a `NOP` appears in place of a struct field _value_, then the associated 11 | field name is ignored; the `NOP` is immediately followed by the next field name, if any. 12 | 13 | ##### Encoding of a 1-byte NOP 14 | ``` 15 | ┌──── The opcode `0xEC` represents a 1-byte NOP pad 16 | │ 17 | EC 18 | ``` 19 | 20 | ##### Encoding of a 3-byte NOP 21 | ``` 22 | ┌──── The opcode `0xED` represents a variable-length NOP pad; a FlexUInt length follows 23 | │ ┌──── Length: FlexUInt 2; two more bytes of NOP follow 24 | │ │ 25 | ED 05 93 C6 26 | └─┬─┘ 27 | NOP bytes, values ignored 28 | ``` 29 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/primitives.md: -------------------------------------------------------------------------------- 1 | # Primitives 2 | This section describes Ion 1.1's binary _encoding primitives_—reusable building blocks 3 | that can be combined to represent more complex constructs. 4 | 5 | | Name | Type | Width | 6 | |-----------------------------------------|----------|---------------------------| 7 | | [`FixedUInt`](primitives/fixed_uint.md) | `int` | Determined by context | 8 | | [`FixedInt`](primitives/fixed_int.md) | `int` | Determined by context | 9 | | [`FlexUInt`](primitives/flex_uint.md) | `int` | Variable, self-delimiting | 10 | | [`FlexInt`](primitives/flex_int.md) | `int` | Variable, self-delimiting | 11 | | [`FlexSym`](primitives/flex_sym.md) | `symbol` | Variable, self-delimiting | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/primitives/fixed_int.md: -------------------------------------------------------------------------------- 1 | ## `FixedInt` 2 | 3 | A fixed-width, little-endian, signed integer whose length is known from the context in which it appears. Its bytes 4 | are interpreted as two's complement. 5 | 6 | #### `FixedInt` encoding of `-3,954,261` 7 | ``` 8 | 9 | 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 10 | └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ 11 | lowest 8 bits next 8 bits of highest 8 bits 12 | of the 2's the 2's comp. of the 2's comp. 13 | comp. integer integer integer 14 | ``` 15 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/primitives/fixed_uint.md: -------------------------------------------------------------------------------- 1 | ## `FixedUInt` 2 | 3 | A fixed-width, little-endian, unsigned integer whose length is inferred from the context in which it appears. 4 | 5 | #### `FixedUInt` encoding of `3,954,261` 6 | ``` 7 | 8 | 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 9 | └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ 10 | lowest 8 bits next 8 bits of highest 8 bits 11 | of the unsigned the unsigned of the unsigned 12 | integer integer integer 13 | ``` -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/primitives/flex_int.md: -------------------------------------------------------------------------------- 1 | ## `FlexInt` 2 | A variable-length signed integer. 3 | 4 | From an encoding perspective, `FlexInt`s are structurally similar to a [`FlexUInt`](flex_uint.md). Both 5 | encode their bytes using little-endian byte order, and both use the count of least-significant zero bits to indicate 6 | how many bytes were used to encode the integer. They differ in the _interpretation_ of their bits; while a 7 | `FlexUInt`'s bits are unsigned, a `FlexInt`'s bits are encoded using 8 | [two's complement notation](https://en.wikipedia.org/wiki/Two%27s_complement). 9 | 10 | > [!Tip] 11 | > An implementation could choose to read a `FlexInt` by instead reading a `FlexUInt` and then reinterpreting its bits 12 | > as two's complement. 13 | 14 | #### `FlexInt` encoding of `14` 15 | ``` 16 | ┌──── Lowest bit is 1 (end), indicating 17 | │ this is the only byte. 18 | 0 0 0 1 1 1 0 1 19 | └─────┬─────┘ 20 | 2's comp. 14 21 | ``` 22 | 23 | #### `FlexInt` encoding of `-14` 24 | ``` 25 | ┌──── Lowest bit is 1 (end), indicating 26 | │ this is the only byte. 27 | 1 1 1 0 0 1 0 1 28 | └─────┬─────┘ 29 | 2's comp. -14 30 | ``` 31 | 32 | #### `FlexInt` encoding of `729` 33 | ``` 34 | ┌──── There's 1 zero in the least significant bits, so this 35 | │ integer is two bytes wide. 36 | ┌┴┐ 37 | 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 1 38 | └────┬────┘ └──────┬──────┘ 39 | lowest 6 bits highest 8 bits 40 | of the 2's of the 2's 41 | comp. integer comp. integer 42 | ``` 43 | 44 | #### `FlexInt` encoding of `-729` 45 | ``` 46 | ┌──── There's 1 zero in the least significant bits, so this 47 | │ integer is two bytes wide. 48 | ┌┴┐ 49 | 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 0 50 | └────┬────┘ └──────┬──────┘ 51 | lowest 6 bits highest 8 bits 52 | of the 2's of the 2's 53 | comp. integer comp. integer 54 | ``` -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/primitives/flex_uint.md: -------------------------------------------------------------------------------- 1 | ## `FlexUInt` 2 | 3 | A variable-length unsigned integer. 4 | 5 | The bytes of a `FlexUInt` are written in 6 | [little-endian byte order](https://en.wikipedia.org/wiki/Endianness). This means that the first bytes will contain 7 | the `FlexUInt`'s least significant bits. 8 | 9 | The least significant bits in the `FlexUInt` indicate the number of bytes that were used to encode the integer. 10 | If a `FlexUInt` is `N` bytes long, its `N-1` least significant bits will be `0`; a terminal `1` bit will be 11 | in the next most significant position. 12 | 13 | All bits that are more significant than the terminal `1` represent the magnitude of the `FlexUInt`. 14 | 15 | #### `FlexUInt` encoding of `14` 16 | ``` 17 | ┌──── Lowest bit is 1 (end), indicating 18 | │ this is the only byte. 19 | 0 0 0 1 1 1 0 1 20 | └─────┬─────┘ 21 | unsigned int 14 22 | ``` 23 | 24 | #### `FlexUInt` encoding of `729` 25 | ``` 26 | ┌──── There's 1 zero in the least significant bits, so this 27 | │ integer is two bytes wide. 28 | ┌┴┐ 29 | 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 1 30 | └────┬────┘ └──────┬──────┘ 31 | lowest 6 bits highest 8 bits 32 | of the unsigned of the unsigned 33 | integer integer 34 | ``` 35 | 36 | #### `FlexUInt` encoding of `21,043` 37 | ``` 38 | ┌───── There are 2 zeros in the least significant bits, so this 39 | │ integer is three bytes wide. 40 | ┌─┴─┐ 41 | 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 42 | └───┬───┘ └──────┬──────┘ └──────┬──────┘ 43 | lowest 6 bits next 8 bits of highest 8 bits 44 | of the unsigned the unsigned of the unsigned 45 | integer integer integer 46 | ``` 47 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values.md: -------------------------------------------------------------------------------- 1 | # Values 2 | * [null](values/null.md) 3 | * [bool](values/bool.md) 4 | * [int](values/int.md) 5 | * [float](values/float.md) 6 | * [decimal](values/decimal.md) 7 | * [timestamp](values/timestamp.md) 8 | * [string](values/string.md) 9 | * [symbol](values/symbol.md) 10 | * [blob](values/lob.md#blobs) 11 | * [clob](values/lob.md#clobs) 12 | * [list](values/list.md) 13 | * [sexp](values/sexp.md) 14 | * [struct](values/struct.md) -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/blob.md: -------------------------------------------------------------------------------- 1 | ## Blobs 2 | 3 | Opcode `FE` indicates a blob of binary data. A `FlexUInt` follows that represents the blob's byte-length. 4 | 5 | `0xEB x07` represents `null.blob`. 6 | 7 | ### Example `blob` encoding 8 | ``` 9 | ┌──── Opcode FE indicates a blob, FlexUInt length follows 10 | │ ┌─── Length: FlexUInt 24 11 | │ │ 12 | FE 31 49 20 61 70 70 6c 61 75 64 20 79 6f 75 72 20 63 75 72 69 6f 73 69 74 79 13 | └────────────────────────────────┬────────────────────────────────────┘ 14 | 24 bytes of binary data 15 | ``` 16 | 17 | ### Encoding of `null.blob` 18 | ``` 19 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 20 | │ ┌─── Null type: blob 21 | │ │ 22 | EB 07 23 | ``` 24 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/bool.md: -------------------------------------------------------------------------------- 1 | ## Booleans 2 | 3 | `0x6E` represents boolean `true`, while `0x6F` represents boolean `false`. 4 | 5 | `0xEB 0x00` represents `null.bool`. 6 | 7 | ##### Encoding of boolean `true` 8 | ``` 9 | 6E 10 | ``` 11 | 12 | ##### Encoding of boolean `false` 13 | ``` 14 | 6F 15 | ``` 16 | 17 | ##### Encoding of `null.bool` 18 | ``` 19 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 20 | │ ┌─── Null type: boolean 21 | │ │ 22 | EB 00 23 | ``` -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/clob.md: -------------------------------------------------------------------------------- 1 | ## Clobs 2 | 3 | Opcode `FF` indicates a clob--binary character data of an unspecified encoding. A `FlexUInt` follows that represents 4 | the clob's byte-length. 5 | 6 | `0xEB x08` represents `null.clob`. 7 | 8 | ### Example `clob` encoding 9 | ``` 10 | ┌──── Opcode FF indicates a clob, FlexUInt length follows 11 | │ ┌─── Length: FlexUInt 24 12 | │ │ 13 | FF 31 49 20 61 70 70 6c 61 75 64 20 79 6f 75 72 20 63 75 72 69 6f 73 69 74 79 14 | └────────────────────────────────┬────────────────────────────────────┘ 15 | 24 bytes of binary data 16 | ``` 17 | 18 | ### Encoding of `null.clob` 19 | ``` 20 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 21 | │ ┌─── Null type: clob 22 | │ │ 23 | EB 08 24 | ``` 25 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/decimal.md: -------------------------------------------------------------------------------- 1 | ## Decimals 2 | 3 | If an opcode has a high nibble of `0x7_`, it represents a decimal. Low nibble values indicate 4 | the number of trailing bytes used to encode the decimal. 5 | 6 | The body of the decimal is encoded as a [`FlexInt`](../primitives/flex_int.md) representing its exponent, followed by a `FixedInt` 7 | representing its coefficient. The width of the coefficient is the total length of the decimal encoding minus the length 8 | of the exponent. It is possible for the coefficient to have a width of zero, indicating a coefficient of `0`. When 9 | the coefficient is present but has a value of `0`, the coefficient is `-0`. 10 | 11 | Decimal values that require more than 15 bytes can be encoded using the variable-length decimal opcode: `0xF7`. 12 | 13 | `0xEB 0x03` represents `null.decimal`. 14 | 15 | ##### Encoding of decimal `0d0` 16 | ``` 17 | ┌──── Opcode in range 70-7F indicates a decimal 18 | │┌─── Low nibble 0 indicates a zero-byte 19 | ││ decimal; 0d0 20 | 70 21 | ``` 22 | 23 | ##### Encoding of decimal `7d0` 24 | ``` 25 | ┌──── Opcode in range 70-7F indicates a decimal 26 | │┌─── Low nibble 2 indicates a 2-byte decimal 27 | ││ 28 | 72 01 07 29 | | └─── Coefficient: 1-byte FixedInt 7 30 | └─── Exponent: FlexInt 0 31 | ``` 32 | 33 | ##### Encoding of decimal `1.27` 34 | ``` 35 | ┌──── Opcode in range 70-7F indicates a decimal 36 | │┌─── Low nibble 2 indicates a 2-byte decimal 37 | ││ 38 | 72 FD 7F 39 | | └─── Coefficient: FixedInt 127 40 | └─── Exponent: 1-byte FlexInt -2 41 | ``` 42 | 43 | ##### Variable-length encoding of decimal `1.27` 44 | ``` 45 | ┌──── Opcode F7 indicates a variable-length decimal 46 | │ 47 | F7 05 FD 7F 48 | | | └─── Coefficient: FixedInt 127 49 | | └───── Exponent: 1-byte FlexInt -2 50 | └─────── Decimal length: FlexUInt 2 51 | ``` 52 | 53 | ##### Encoding of `0d3`, which has a coefficient of zero 54 | ``` 55 | ┌──── Opcode in range 70-7F indicates a decimal 56 | │┌─── Low nibble 1 indicates a 1-byte decimal 57 | ││ 58 | 71 07 59 | └────── Exponent: FlexInt 3; no more bytes follow, so the coefficient is implicitly 0 60 | ``` 61 | 62 | ##### Encoding of `-0d3`, which has a coefficient of negative zero 63 | ``` 64 | ┌──── Opcode in range 70-7F indicates a decimal 65 | │┌─── Low nibble 2 indicates a 2-byte decimal 66 | ││ 67 | 72 07 00 68 | | └─── Coefficient: 1-byte FixedInt 0, indicating a coefficient of -0 69 | └────── Exponent: FlexInt 3 70 | ``` 71 | 72 | ##### Encoding of `null.decimal` 73 | ``` 74 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 75 | │ ┌─── Null type: decimal 76 | │ │ 77 | EB 03 78 | ``` -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/float.md: -------------------------------------------------------------------------------- 1 | ## Floats 2 | 3 | Float values are encoded using the IEEE-754 specification in little-endian byte order. Floats can be serialized in 4 | four sizes: 5 | 6 | * 0 bits (0 bytes), representing the value 0e0 and indicated by opcode `0x6A` 7 | * 16 bits (2 bytes in little-endian order, [half-precision](https://en.wikipedia.org/wiki/Half-precision_floating-point_format)), 8 | indicated by opcode `0x6B` 9 | * 32 bits (4 bytes in little-endian order, [single precision](https://en.wikipedia.org/wiki/Single-precision_floating-point_format)), 10 | indicated by opcode `0x6C` 11 | * 64 bits (8 bytes in little-endian order, [double precision](https://en.wikipedia.org/wiki/Double-precision_floating-point_format)), 12 | indicated by opcode `0x6D` 13 | 14 | > [!NOTE] 15 | > In the Ion data model, float values are always 64 bits. However, if a value can be losslessly serialized 16 | > in fewer than 64 bits, Ion implementations may choose to do so. 17 | 18 | `0xEB 0x02` represents `null.float`. 19 | 20 | ##### Encoding of float `0e0` 21 | ``` 22 | ┌──── Opcode in range 6A-6D indicates a float 23 | │┌─── Low nibble A indicates 24 | ││ a 0-length float; 0e0 25 | 6A 26 | ``` 27 | 28 | ##### Encoding of float `3.14e0` 29 | ``` 30 | ┌──── Opcode in range 6A-6D indicates a float 31 | │┌─── Low nibble B indicates a 2-byte float 32 | ││ 33 | 6B 47 42 34 | └─┬─┘ 35 | half-precision 3.14 36 | ``` 37 | 38 | ##### Encoding of float `3.1415927e0` 39 | ``` 40 | ┌──── Opcode in range 6A-6D indicates a float 41 | │┌─── Low nibble C indicates a 4-byte, 42 | ││ single-precision value. 43 | 6C DB 0F 49 40 44 | └────┬────┘ 45 | single-precision 3.1415927 46 | ``` 47 | 48 | ##### Encoding of float `3.141592653589793e0` 49 | ``` 50 | ┌──── Opcode in range 6A-6D indicates a float 51 | │┌─── Low nibble D indicates an 8-byte, 52 | ││ double-precision value. 53 | 6D 18 2D 44 54 FB 21 09 40 54 | └──────────┬──────────┘ 55 | double-precision 3.141592653589793 56 | ``` 57 | 58 | ##### Encoding of `null.float` 59 | ``` 60 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 61 | │ ┌─── Null type: float 62 | │ │ 63 | EB 02 64 | ``` -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/int.md: -------------------------------------------------------------------------------- 1 | ## Integers 2 | 3 | Opcodes in the range `0x60` to `0x68` represent an integer. The opcode is followed by a [`FixedInt`](../primitives/fixed_int.md) that 4 | represents the integer value. The low nibble of the opcode (`0x_0` to `0x_8`) indicates the size of the `FixedInt`. 5 | Opcode `0x60` represents integer `0`; no more bytes follow. 6 | 7 | Integers that require more than 8 bytes are encoded using the variable-length integer opcode `0xF6`, 8 | followed by a [`FlexUInt`](../primitives/flex_uint.md) indicating how many bytes of representation data follow. 9 | 10 | `0xEB 0x01` represents `null.int`. 11 | 12 | ##### Encoding of integer `0` 13 | ``` 14 | ┌──── Opcode in 60-68 range indicates integer 15 | │┌─── Low nibble 0 indicates 16 | ││ no more bytes follow. 17 | 60 18 | ``` 19 | 20 | ##### Encoding of integer `17` 21 | ``` 22 | ┌──── Opcode in 60-68 range indicates integer 23 | │┌─── Low nibble 1 indicates 24 | ││ a single byte follows. 25 | 61 11 26 | └── FixedInt 17 27 | ``` 28 | 29 | ##### Encoding of integer `-944` 30 | ``` 31 | ┌──── Opcode in 60-68 range indicates integer 32 | │┌─── Low nibble 2 indicates 33 | ││ that two bytes follow. 34 | 62 50 FC 35 | └─┬─┘ 36 | FixedInt -944 37 | ``` 38 | 39 | ##### Encoding of integer `-944` 40 | ``` 41 | ┌──── Opcode F6 indicates a variable-length integer, FlexUInt length follows 42 | │ ┌─── FlexUInt 2; a 2-byte FixedInt follows 43 | │ │ 44 | F6 05 50 FC 45 | └─┬─┘ 46 | FixedInt -944 47 | ``` 48 | 49 | ##### Encoding of `null.int` 50 | ``` 51 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 52 | │ ┌─── Null type: integer 53 | │ │ 54 | EB 01 55 | ``` -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/list.md: -------------------------------------------------------------------------------- 1 | ## Lists 2 | 3 | ##### Length-prefixed encoding 4 | 5 | An opcode with a high nibble of `0xB_` indicates a length-prefixed list. The lower nibble of the 6 | opcode indicates how many bytes were used to encode the child values that the list contains. 7 | 8 | If the list's encoded byte-length is too large to be encoded in a nibble, writers may use the `0xFB` opcode 9 | to write a variable-length list. The `0xFB` opcode is followed by a [`FlexUInt`](../primitives/flex_uint.md) 10 | that indicates the list's byte length. 11 | 12 | `0xEB 0x09` represents `null.list`. 13 | 14 | ##### Length-prefixed encoding of an empty list (`[]`) 15 | ``` 16 | ┌──── An Opcode in the range 0xB0-0xBF indicates a list. 17 | │┌─── A low nibble of 0 indicates that the child values of this 18 | ││ list took zero bytes to encode. 19 | B0 20 | ``` 21 | 22 | ##### Length-prefixed encoding of `[1, 2, 3]` 23 | ``` 24 | ┌──── An Opcode in the range 0xB0-0xBF indicates a list. 25 | │┌─── A low nibble of 6 indicates that the child values of this 26 | ││ list took six bytes to encode. 27 | B6 61 01 61 02 61 03 28 | └─┬─┘ └─┬─┘ └─┬─┘ 29 | 1 2 3 30 | ``` 31 | 32 | ##### Length-prefixed encoding of `["variable length list"]` 33 | ``` 34 | ┌──── Opcode 0xFB indicates a variable-length list. A FlexUInt length follows. 35 | │ ┌───── Length: FlexUInt 22 36 | │ │ ┌────── Opcode 0xF9 indicates a variable-length string. A FlexUInt length follows. 37 | │ │ │ ┌─────── Length: FlexUInt 20 38 | │ │ │ │ v a r i a b l e l e n g t h l i s t 39 | FB 2d F9 29 76 61 72 69 61 62 6c 65 20 6c 65 6e 67 74 68 20 6c 69 73 74 40 | └─────────────────────────────┬─────────────────────────────────┘ 41 | Nested string element 42 | ``` 43 | 44 | ##### Encoding of `null.list` 45 | ``` 46 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 47 | │ ┌─── Null type: list 48 | │ │ 49 | EB 09 50 | ``` 51 | 52 | #### Delimited Encoding 53 | 54 | Opcode `0xF1` begins a delimited list, while opcode `0xF0` closes the most recently opened delimited container 55 | that has not yet been closed. 56 | 57 | ##### Delimited encoding of an empty list (`[]`) 58 | ``` 59 | ┌──── Opcode 0xF1 indicates a delimited list 60 | │ ┌─── Opcode 0xF0 indicates the end of the most recently opened container 61 | F1 F0 62 | ``` 63 | 64 | ##### Delimited encoding of `[1, 2, 3]` 65 | ``` 66 | ┌──── Opcode 0xF1 indicates a delimited list 67 | │ ┌─── Opcode 0xF0 indicates the end of 68 | │ │ the most recently opened container 69 | F1 61 01 61 02 61 03 F0 70 | └─┬─┘ └─┬─┘ └─┬─┘ 71 | 1 2 3 72 | ``` 73 | 74 | ##### Delimited encoding of `[1, [2], 3]` 75 | ``` 76 | ┌──── Opcode 0xF1 indicates a delimited list 77 | │ ┌─── Opcode 0xF1 begins a nested delimited list 78 | │ │ ┌─── Opcode 0xF0 closes the most recently 79 | │ │ │ opened delimited container: the nested list. 80 | │ │ │ ┌─── Opcode 0xF0 closes the most recently opened (and 81 | │ │ │ │ still open) delimited container: the outer list. 82 | │ │ │ │ 83 | F1 61 01 F1 61 02 F0 61 03 F0 84 | └─┬─┘ └─┬─┘ └─┬─┘ 85 | 1 2 3 86 | ``` 87 | 88 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/null.md: -------------------------------------------------------------------------------- 1 | ## Nulls 2 | 3 | The opcode `0xEA` indicates an untyped null (that is: `null`, or its alias `null.null`). 4 | 5 | The opcode `0xEB` indicates a typed null; a byte follows whose value represents an offset into the following table: 6 | 7 | 8 | | Byte | Type | 9 | |--------|------------------| 10 | | `0x00` | `null.bool` | 11 | | `0x01` | `null.int` | 12 | | `0x02` | `null.float` | 13 | | `0x03` | `null.decimal` | 14 | | `0x04` | `null.timestamp` | 15 | | `0x05` | `null.string` | 16 | | `0x06` | `null.symbol` | 17 | | `0x07` | `null.blob` | 18 | | `0x08` | `null.clob` | 19 | | `0x09` | `null.list` | 20 | | `0x0A` | `null.sexp` | 21 | | `0x0B` | `null.struct` | 22 | 23 | All other byte values are reserved for future use. 24 | 25 | #### Encoding of `null` 26 | ``` 27 | ┌──── The opcode `0xEA` represents a null (null.null) 28 | EA 29 | ``` 30 | 31 | #### Encoding of `null.string` 32 | ``` 33 | ┌──── The opcode `0xEB` indicates a typed null; a byte indicating the type follows 34 | │ ┌──── Byte 0x05 indicates the type `string` 35 | EB 05 36 | ``` 37 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/sexp.md: -------------------------------------------------------------------------------- 1 | ## S-Expressions 2 | 3 | S-expressions use the same encodings as [lists](list.md), but with different opcodes. 4 | 5 | | Opcode | Encoding | 6 | |---------------|------------------------------------------------------------------------------------------------------| 7 | | `0xC0`-`0xCF` | Length-prefixed S-expression; low nibble of the opcode represents the byte-length. | 8 | | `0xFC` | Variable-length prefixed S-expression; a `FlexUInt` following the opcode represents the byte-length. | 9 | | `0xF2` | Starts a delimited S-expression; `0xF0` closes the most recently opened delimited container. | 10 | 11 | `0xEB 0x0A` represents `null.sexp`. 12 | 13 | ### Length-prefixed encoding 14 | 15 | ##### Length-prefixed encoding of an empty S-expression (`()`) 16 | ``` 17 | ┌──── An Opcode in the range 0xC0-0xCF indicates an S-expression. 18 | │┌─── A low nibble of 0 indicates that the child values of this S-expression 19 | ││ took zero bytes to encode. 20 | C0 21 | ``` 22 | 23 | ##### Length-prefixed encoding of `(1 2 3)` 24 | ``` 25 | ┌──── An Opcode in the range 0xC0-0xCF indicates an S-expression. 26 | │┌─── A low nibble of 6 indicates that the child values of this S-expression 27 | ││ took six bytes to encode. 28 | C6 61 01 61 02 61 03 29 | └─┬─┘ └─┬─┘ └─┬─┘ 30 | 1 2 3 31 | ``` 32 | 33 | ##### Length-prefixed encoding of `("variable length sexp")` 34 | ``` 35 | ┌──── Opcode 0xFC indicates a variable-length sexp. A FlexUInt length follows. 36 | │ ┌───── Length: FlexUInt 22 37 | │ │ ┌────── Opcode 0xF9 indicates a variable-length string. A FlexUInt length follows. 38 | │ │ │ ┌─────── Length: FlexUInt 20 39 | │ │ │ │ v a r i a b l e l e n g t h s e x p 40 | FC 2D F9 29 76 61 72 69 61 62 6C 65 20 6C 65 6E 67 74 68 20 73 65 78 70 41 | └─────────────────────────────┬─────────────────────────────────┘ 42 | Nested string element 43 | ``` 44 | 45 | 46 | ##### Encoding of `null.sexp` 47 | ``` 48 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 49 | │ ┌─── Null type: sexp 50 | │ │ 51 | EB 0A 52 | ``` 53 | 54 | ### Delimited encoding 55 | 56 | ##### Delimited encoding of an empty S-expression (`()`) 57 | ``` 58 | ┌──── Opcode 0xF2 indicates a delimited S-expression 59 | │ ┌─── Opcode 0xF0 indicates the end of the most recently opened container 60 | F2 F0 61 | ``` 62 | 63 | ##### Delimited encoding of `(1 2 3)` 64 | ``` 65 | ┌──── Opcode 0xF2 indicates a delimited S-expression 66 | │ ┌─── Opcode 0xF0 indicates the end of 67 | │ │ the most recently opened container 68 | F2 61 01 61 02 61 03 F0 69 | └─┬─┘ └─┬─┘ └─┬─┘ 70 | 1 2 3 71 | ``` 72 | 73 | ##### Delimited encoding of `(1 (2) 3)` 74 | ``` 75 | ┌──── Opcode 0xF2 indicates a delimited S-expression 76 | │ ┌─── Opcode 0xF2 begins a nested delimited S-expression 77 | │ │ ┌─── Opcode 0xF0 closes the most recently 78 | │ │ │ opened delimited container: the nested S-expression. 79 | │ │ │ ┌─── Opcode 0xF0 closes the most recently opened (and 80 | │ │ │ │ still open)delimited container: the outer S-expression. 81 | │ │ │ │ 82 | F2 61 01 F2 61 02 F0 61 03 F0 83 | └─┬─┘ └─┬─┘ └─┬─┘ 84 | 1 2 3 85 | ``` 86 | 87 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/string.md: -------------------------------------------------------------------------------- 1 | ## Strings 2 | 3 | If the high nibble of the opcode is `0x9_`, it represents a string. The low nibble of the opcode 4 | indicates how many UTF-8 bytes follow. Opcode `0x90` represents a string with empty text (`""`). 5 | 6 | Strings longer than 15 bytes can be encoded with the `F9` opcode, which takes a [`FlexUInt`](../primitives/flex_uint.md)-encoded length 7 | after the opcode. 8 | 9 | `0xEB x05` represents `null.string`. 10 | 11 | #### Encoding of the empty string, `""` 12 | ``` 13 | ┌──── Opcode in range 90-9F indicates a string 14 | │┌─── Low nibble 0 indicates that no UTF-8 bytes follow 15 | 90 16 | ``` 17 | 18 | #### Encoding of a 14-byte string 19 | ``` 20 | ┌──── Opcode in range 90-9F indicates a string 21 | │┌─── Low nibble E indicates that 14 UTF-8 bytes follow 22 | ││ f o u r t e e n b y t e s 23 | 9E 66 6F 75 72 74 65 65 6E 20 62 79 74 65 73 24 | └──────────────────┬────────────────────┘ 25 | UTF-8 bytes 26 | ``` 27 | 28 | #### Encoding of a 24-byte string 29 | ``` 30 | ┌──── Opcode F9 indicates a variable-length string 31 | │ ┌─── Length: FlexUInt 24 32 | │ │ v a r i a b l e l e n g t h e n c o d i n g 33 | F9 31 76 61 72 69 61 62 6C 65 20 6C 65 6E 67 74 68 20 65 6E 63 6f 64 69 6E 67 34 | └────────────────────────────────┬────────────────────────────────────┘ 35 | UTF-8 bytes 36 | ``` 37 | 38 | #### Encoding of `null.string` 39 | ``` 40 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 41 | │ ┌─── Null type: string 42 | │ │ 43 | EB 05 44 | ``` 45 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/binary/values/symbol.md: -------------------------------------------------------------------------------- 1 | ## Symbols 2 | 3 | ### Symbols With Inline Text 4 | 5 | If the high nibble of the opcode is `0xA_`, it represents a symbol whose text follows the opcode. The low nibble of the 6 | opcode indicates how many UTF-8 bytes follow. Opcode `0xA0` represents a symbol with empty text (`''`). 7 | 8 | `0xEB x06` represents `null.symbol`. 9 | 10 | ##### Encoding of a symbol with empty text (`''`) 11 | ``` 12 | ┌──── Opcode in range A0-AF indicates a symbol with inline text 13 | │┌─── Low nibble 0 indicates that no UTF-8 bytes follow 14 | A0 15 | ``` 16 | 17 | ##### Encoding of a symbol with 14 bytes of inline text 18 | ``` 19 | ┌──── Opcode in range A0-AF indicates a symbol with inline text 20 | │┌─── Low nibble E indicates that 14 UTF-8 bytes follow 21 | ││ f o u r t e e n b y t e s 22 | AE 66 6F 75 72 74 65 65 6E 20 62 79 74 65 73 23 | └──────────────────┬────────────────────┘ 24 | UTF-8 bytes 25 | ``` 26 | 27 | ##### Encoding of a symbol with 24 bytes of inline text 28 | ``` 29 | ┌──── Opcode FA indicates a variable-length symbol with inline text 30 | │ ┌─── Length: FlexUInt 24 31 | │ │ v a r i a b l e l e n g t h e n c o d i n g 32 | FA 31 76 61 72 69 61 62 6C 65 20 6C 65 6E 67 74 68 20 65 6E 63 6f 64 69 6E 67 33 | └────────────────────────────────┬────────────────────────────────────┘ 34 | UTF-8 bytes 35 | ``` 36 | 37 | ##### Encoding of `null.symbol` 38 | ``` 39 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type 40 | │ ┌─── Null type: symbol 41 | │ │ 42 | EB 06 43 | ``` 44 | 45 | 46 | ### Symbols With a Symbol Address 47 | 48 | Symbol values whose text can be found in the local symbol table are encoded using opcodes `0xE1` through `0xE3`: 49 | 50 | * `0xE1` represents a symbol whose address in the symbol table (aka its symbol ID) is a 1-byte 51 | [`FixedUInt`](../primitives/fixed_uint.md) that follows the opcode. 52 | * `0xE2` represents a symbol whose address in the symbol table is a 2-byte [`FixedUInt`](../primitives/fixed_uint.md) that follows 53 | the opcode. 54 | * `0xE3` represents a symbol whose address in the symbol table is a [`FlexUInt`](../primitives/flex_uint.md) that follows the opcode. 55 | 56 | Writers MUST encode a symbol address in the smallest number of bytes possible. For each opcode above, the symbol 57 | address that is decoded is biased by the number of addresses that can be encoded in fewer bytes. 58 | 59 | | Opcode | Symbol address range | Bias | 60 | |--------|----------------------|--------| 61 | | `0xE1` | 0 to 255 | 0 | 62 | | `0xE2` | 256 to 65,791 | 256 | 63 | | `0xE3` | 65,792 to infinity | 65,792 | 64 | 65 | 66 | ### System Symbols 67 | 68 | System symbols (that is, symbols defined in the system module) can be encoded using the `0xEE` opcode followed by a 1-byte `FixedUInt` representing an index in the [system symbol table](../../modules/system_module.md#system-symbols). 69 | 70 | Unlike Ion 1.0, symbols are not required to use the lowest available SID for a given text, and system symbols 71 | _MAY_ be encoded using other SIDs. 72 | 73 | ##### Encoding of the system symbol `$ion` 74 | ```plain 75 | ┌──── Opcode 0xEF indicates a system symbol or macro invocation 76 | │ ┌─── FixedUInt 1 indicates system symbol 1 77 | │ │ 78 | EE 01 79 | ``` 80 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/grammar.md: -------------------------------------------------------------------------------- 1 | # Grammar 2 | 3 | This chapter presents Ion 1.1's _domain grammar_, by which we mean the grammar of the domain 4 | of values that drive Ion's encoding features. 5 | 6 | We use a BNF-like notation for describing various syntactic parts of a document, including Ion data structures. 7 | In such cases, the BNF should be interpreted loosely to accommodate Ion-isms like commas and unconstrained ordering of struct fields. 8 | 9 | ### Documents 10 | ```bnf 11 | document ::= ivm? segment* 12 | 13 | ivm ::= '$ion_1_0' | '$ion_1_1' 14 | 15 | segment ::= value* directive? 16 | 17 | directive ::= ivm 18 | | encoding-directive 19 | | symtab-directive 20 | 21 | symtab-directive ::= local-symbol-table ; As per the Ion 1.0 specification¹ 22 | 23 | encoding-directive ::= '$ion::(encoding ' module-name* ')' 24 | ``` 25 | 26 |     ¹[Symbols – Local Symbol Tables](https://amazon-ion.github.io/ion-docs/docs/symbols.html#local-symbol-tables). 27 | 28 | ### Modules 29 | ```bnf 30 | module-body ::= import* inner-module* macro-table? symbol-table? 31 | 32 | shared-module ::= '$ion_shared_module::' ivm '::(' catalog-key module-body ')' 33 | 34 | import ::= '(import ' module-name catalog-key ')' 35 | 36 | catalog-key ::= catalog-name catalog-version? 37 | 38 | catalog-name ::= string 39 | 40 | catalog-version ::= unannotated-uint ; must be positive 41 | 42 | inner-module ::= '(module' module-name module-body ')' 43 | 44 | module-name ::= unannotated-identifier-symbol 45 | 46 | symbol-table ::= '(symbols' symbol-table-entry* ')' 47 | 48 | symbol-table-entry ::= module-name | symbol-list 49 | 50 | symbol-list ::= '[' symbol-text* ']' 51 | 52 | symbol-text ::= symbol | string 53 | 54 | macro-table ::= '(macros' macro-table-entry* ')' 55 | 56 | macro-table-entry ::= macro-definition 57 | | macro-export 58 | | module-name 59 | 60 | macro-export ::= '(export' qualified-macro-ref macro-name-declaration? ')' 61 | ``` 62 | ### Macro references 63 | ```bnf 64 | qualified-macro-ref ::= module-name '::' macro-ref 65 | 66 | macro-ref ::= macro-name | macro-addr 67 | 68 | qualified-macro-name ::= module-name '::' macro-name 69 | 70 | macro-name ::= unannotated-identifier-symbol 71 | 72 | macro-addr ::= unannotated-uint 73 | ``` 74 | 75 | ### Macro definitions 76 | ```bnf 77 | macro-definition ::= '(macro' macro-name-declaration signature tdl-expression ')' 78 | 79 | macro-name-declaration ::= macro-name | 'null' 80 | 81 | signature ::= '(' parameter* ')' 82 | 83 | parameter ::= parameter-encoding? parameter-name parameter-cardinality? 84 | 85 | parameter-encoding ::= (primitive-encoding-type | qualified-primitive-type | macro-name | qualified-macro-name)'::' 86 | 87 | qualified-primitive-type::= '$ion::' primitive-encoding-type 88 | 89 | primitive-encoding-type ::= 'uint8' | 'uint16' | 'uint32' | 'uint64' 90 | | 'int8' | 'int16' | 'int32' | 'int64' 91 | | 'float16' | 'float32' | 'float64' 92 | | 'flex_int' | 'flex_uint' 93 | | 'flex_sym' | 'flex_string' 94 | 95 | parameter-name ::= unannotated-identifier-symbol 96 | 97 | parameter-cardinality ::= '!' | '*' | '?' | '+' 98 | 99 | tdl-expression ::= operation | variable-expansion | ion-scalar | ion-container 100 | 101 | operation ::= macro-invocation | special-form 102 | 103 | variable-expansion ::= '(%' variable-name ')' 104 | 105 | variable-name ::= unannotated-identifier-symbol 106 | 107 | macro-invocation ::= '(.' macro-ref macro-arg* ')' 108 | 109 | special-form ::= '(.' '$ion::'? special-form-name tdl-expression* ')' 110 | 111 | special-form-name ::= 'for' | 'if_none' | 'if_some' | 'if_single' | 'if_multi' | 'literal' | 'parse_ion ' 112 | 113 | macro-arg ::= tdl-expression | expression-group 114 | 115 | expression-group ::= '(..' tdl-expression* ')' 116 | ``` 117 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/introduction.md: -------------------------------------------------------------------------------- 1 | This is a draft specification of Ion 1.1, a new minor version of the [Ion serialization format](https://amazon-ion.github.io/ion-docs/). 2 | 3 | ## Status 4 | 5 | This document is a working draft and is subject to change. 6 | 7 | ## Audience 8 | This documents presents the formal specification for the Ion 1.1 data format. This document is not intended to be used as a user guide or as a cook book, but as a reference to the syntax and semantics of the Ion data format and its logical data model. -------------------------------------------------------------------------------- /_books/ion-1-1/src/macros.md: -------------------------------------------------------------------------------- 1 | ## Macros 2 | 3 | Like other self-describing formats, Ion 1.0 makes it possible to write a stream with truly arbitrary content—no formal schema required. 4 | However, in practice all applications have a _de facto_ schema, with each stream sharing large amounts of predictable structure and recurring values. 5 | This means that Ion readers and writers often spend substantial resources processing undifferentiated data. 6 | 7 | Consider this example excerpt from a webserver's log file: 8 | 9 | ```ion 10 | { 11 | method: GET, 12 | statusCode: 200, 13 | status: "OK", 14 | protocol: https, 15 | clientIp: ip_addr::"192.168.1.100", 16 | resource: "index.html" 17 | } 18 | { 19 | method: GET, 20 | statusCode: 200, 21 | status: "OK", 22 | protocol: https, 23 | clientIp: ip_addr::"192.168.1.100", 24 | resource: "images/funny.jpg" 25 | } 26 | { 27 | method: GET, 28 | statusCode: 200, 29 | status: "OK", 30 | protocol: https, 31 | clientIp: ip_addr::"192.168.1.101", 32 | resource: "index.html" 33 | } 34 | ``` 35 | 36 | _Macros_ allow users to define fill-in-the-blank templates for their data. This enables applications to focus on encoding and decoding the parts of the data that are distinctive, eliding the work needed to encode the boilerplate. 37 | 38 | Using this macro definition: 39 | ```ion 40 | (macro getOk (clientIp resource) 41 | { 42 | method: GET, 43 | statusCode: 200, 44 | status: "OK", 45 | protocol: https, 46 | clientIp: (.annotate "ip_addr" (%clientIp)), 47 | resource: (%resource) 48 | }) 49 | ``` 50 | 51 | The same webserver log file could be written like this: 52 | ```ion 53 | (:getOk "192.168.1.100" "index.html") 54 | (:getOk "192.168.1.100" "images/funny.jpg") 55 | (:getOk "192.168.1.101" "index.html") 56 | ``` 57 | 58 | Macros are an encoding-level concern, and their use in the data stream is invisible to consuming applications. For writers, macros are always optional—a writer can always elect to write their data using value literals instead. 59 | 60 | For a guided walkthrough of what macros can do, see [Macros by example](macros/macros_by_example.md). 61 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/modules/directives.md: -------------------------------------------------------------------------------- 1 | # Directives 2 | 3 | _Directives_ are system values that modify the encoding context. 4 | 5 | Syntactically, a directive is a top-level s-expression annotated with `$ion`. 6 | Its first child value is an operation name. 7 | The operation determines what changes will be made to the encoding context and which clauses may legally follow. 8 | 9 | ```ion 10 | $ion:: 11 | (operation_name 12 | (clause_1 /*...*/) 13 | (clause_2 /*...*/) 14 | /*...more clauses...*/ 15 | (clause_N /*...*/)) 16 | ``` 17 | 18 | In Ion 1.1, there are three supported directive operations: 19 | 1. [`module`](#module-directives) 20 | 2. [`import`](#import-directives) 21 | 3. [`encoding`](#encoding-directives) 22 | 23 | ## Top-level bindings 24 | 25 | The `module` and `import` directives each create a stream-level binding to a module definition. 26 | Once created, module bindings at this level endure until the file ends or another Ion version marker is encountered. 27 | 28 | Module bindings at the stream-level can be redefined. 29 | 30 | > [!TIP] 31 | > The [`add_macros`](../macros/system_macros.md#add_macros) and [`add_symbols`](../macros/system_macros.md#add_symbols) 32 | > system macros work by redefining the default module (`_`) in terms of itself. 33 | 34 | This behavior differs from module bindings created inside another module; 35 | [attempting to redefine these will raise an error](defining_modules.md#internal-environment). 36 | 37 | ### `module` directives 38 | The `module` directive binds a name to a [local module](local_modules.md) definition at the top level of the stream. 39 | 40 | ```ion 41 | $ion:: 42 | (module foo 43 | /*...imports, if any...*/ 44 | /*...submodules, if any...*/ 45 | (macros /*...*/) 46 | (symbols /*...*/) 47 | ) 48 | ``` 49 | 50 | ### `import` directives 51 | 52 | The _import_ directive looks up the module corresponding to the given `(name, version)` pair in the catalog. 53 | Upon success, it creates a new binding to that module at the top level of the stream. 54 | 55 | ```ion 56 | $ion:: 57 | (import 58 | bar // Binding 59 | "com.example.bar" // Module name 60 | 2) // Module version 61 | ``` 62 | The `version` can be omitted. When it is not specified, it defaults to `1`. 63 | 64 | If the catalog does contain an exact match, this operation raises an error. 65 | 66 | ## `encoding` directives 67 | 68 | An `encoding` directive accepts a sequence of module bindings to use as the following stream segment's 69 | [encoding module sequence](encoding_modules.md). 70 | 71 | ```ion 72 | $ion:: 73 | (encoding 74 | mod_a 75 | mod_b 76 | mod_c) 77 | ``` 78 | 79 | The new encoding module sequence takes effect immediately after the directive and remains the same until the next `encoding` directive or Ion version marker. 80 | 81 | Note that the [default module](encoding_modules.md#the-default-module) is always implicitly at the head of the encoding module sequence. -------------------------------------------------------------------------------- /_books/ion-1-1/src/modules/shared_modules.md: -------------------------------------------------------------------------------- 1 | # Shared modules 2 | 3 | Shared modules exist independently of the documents that use them. 4 | They are identified by a _catalog key_ consisting of a string name and an integer version. 5 | 6 | The self-declared catalog-names of shared modules are generally long, since they must be more-or-less globally unique. 7 | When imported by another module, they are given local symbolic names—a _binding_—by import declarations. 8 | 9 | They have a spec version that is explicit via annotation, and a content version derived from the catalog version. 10 | The spec version of a shared module must be declared explicitly using an annotation of the form `$ion_1_N`. 11 | This allows the module to be serialized using any version of Ion, and its meaning will not change. 12 | 13 | ```ion 14 | $ion_shared_module:: 15 | $ion_1_1::("com.example.symtab" 3 16 | (macros ...) 17 | (symbols ...) ) 18 | ``` 19 | 20 | ### Example 21 | 22 | An Ion 1.1 shared module. 23 | ```ion 24 | $ion_shared_module:: 25 | $ion_1_1::("org.example.geometry" 2 26 | (macros (macro point2d (x y) { x:(%x), y:(%y) }) 27 | (macro polygon (point2d::points+) [(%points)]) ) 28 | (symbols ["x", "y", "square", "circle"]) 29 | ) 30 | ``` 31 | 32 | The system module provides a convenient macro ([`use`](../macros/system_macros.md#use)) to append a shared module to the encoding module. 33 | ```ion 34 | $ion_1_1 35 | (:use "org.example.geometry" 2) 36 | (:polygon (:: (1 4) (1 8) (3 6))) 37 | ``` 38 | 39 | 40 | 41 | ### Compatibility with Ion 1.0 42 | 43 | Ion 1.0 shared symbol tables are treated as Ion 1.1 shared modules that have an empty macro table. 44 | 45 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/text/encoding.md: -------------------------------------------------------------------------------- 1 | # Ion 1.1 Text Encoding 2 | 3 | The Ion text encoding is a stream of UTF-8 encoded text. 4 | It is intended to be easy to read and write by humans. 5 | 6 | Whitespace is insignificant and is only required where necessary to separate tokens. 7 | C-style comments (either block or in-line) are treated as whitespace; 8 | they are not part of the data model and implementations are not required to preserve them. 9 | 10 | A text Ion 1.1 stream begins with the Ion 1.1 [version marker](../todo.md) (`$ion_1_1`) followed by a series of 11 | [value literals](values.md) and/or [encoding expressions](e_expressions.md). 12 | -------------------------------------------------------------------------------- /_books/ion-1-1/src/text/escape-characters.md: -------------------------------------------------------------------------------- 1 | # Escape Characters 2 | 3 | ### Strings and Symbols 4 | 5 | The Ion text format supports unicode escape sequences only within quoted strings and symbols. 6 | Ion supports most of the escape sequences defined by C++, Java, and JSON. 7 | 8 | The following sequences are allowed: 9 | 10 | | Unicode Code Point | Ion Escape | Meaning | 11 | |:-------------------|:---------------------------|:---------------------------------------| 12 | | `U+0000` | `\0` | NUL | 13 | | `U+0007` | `\a` | alert BEL | 14 | | `U+0008` | `\b` | backspace BS | 15 | | `U+0009` | `\t` | horizontal tab HT | 16 | | `U+000A` | `\n` | linefeed LF | 17 | | `U+000B` | `\v` | vertical tab VT | 18 | | `U+000C` | `\f` | form feed FF | 19 | | `U+000D` | `\r` | carriage return CR | 20 | | `U+0022` | `\"` | double quote | 21 | | `U+0027` | `\'` | single quote | 22 | | `U+002F` | `\/` | forward slash | 23 | | `U+003F` | `\?` | question mark | 24 | | `U+005C` | `\\` | backslash | 25 | | nothing | \\NL | escaped NL expands to nothing | 26 | | `U+00HH` | `\xHH` | 2-digit hexadecimal Unicode code point | 27 | | `U+HHHH` | `\uHHHH` | 4-digit hexadecimal Unicode code point | 28 | | `U+HHHHHHHH` | `\UHHHHHHHH` | 8-digit hexadecimal Unicode code point | 29 | 30 | 31 | Any other sequence following a backslash is an error. 32 | 33 | Note that Ion does not support the following escape sequences: 34 | 35 | * Java's extended Unicode markers, _e.g._, `"\uuuXXXX"` 36 | * General octal escape sequences, `\OOO` 37 | 38 | ### Clobs 39 | 40 | The rules for the quoted strings within a `clob` follow similarly to the `string` type, with the following exceptions. 41 | Unicode newline characters in long strings and all verbatim ASCII characters are interpreted as their ASCII octet values. 42 | Non-printable ASCII and non-ASCII Unicode code points are not allowed un-escaped in the string bodies. 43 | Furthermore, the following table describes the `clob` string escape sequences that have direct octet replacement for both all strings. 44 | 45 | | Octet | Ion Escape | Meaning | 46 | |:--------|:----------------------------|:------------------------------| 47 | | `0x00` | `\0` | NUL | 48 | | `0x07` | `\a` | alert BEL | 49 | | `0x08` | `\b` | backspace BS | 50 | | `0x09` | `\t` | horizontal tab HT | 51 | | `0x0A` | `\n` | linefeed LF | 52 | | `0x0B` | `\v` | vertical tab VT | 53 | | `0x0C` | `\f` | form feed FF | 54 | | `0x0D` | `\r` | carriage return CR | 55 | | `0x22` | `\"` | double quote | 56 | | `0x27` | `\'` | single quote | 57 | | `0x2F` | `\/` | forward slash | 58 | | `0x3F` | `\?` | question mark | 59 | | `0x5C` | `\\` | backslash | 60 | | `0xHH` | \\xHH | 2-digit hexadecimal octet | 61 | | nothing | \\NL | escaped NL expands to nothing | 62 | 63 | The `clob` escape `\x` must be followed by two hexadecimal digits. 64 | Note that `clob` does not support the `\u` and `\U` escapes since it represents an octet sequence and **not** a Unicode encoding. 65 | 66 | It is important to note that `clob` is a binary type that is designed for binary values that are either text encoded in a 67 | code page that is ASCII compatible or should be octet editable by a human (escaped string syntax vs. base64 encoded data). 68 | Clearly non-ASCII based encodings will not be very readable (_e.g._ the `clob` for the EBCDIC encoded string 69 | representing "hello" could be denoted as`{% raw %}{{ "\xc7\xc1%%?" }}{% endraw %}`). -------------------------------------------------------------------------------- /_books/ion-1-1/src/text/symbol-tokens.md: -------------------------------------------------------------------------------- 1 | # Symbol tokens 2 | 3 | In Ion text, symbols are represented in three ways: 4 | 5 | * __Quoted symbol__: a sequence of zero or more characters between 6 | single-quotes, *e.g.*, `'hello'`, `'a symbol'`, `'123'`, `''`. 7 | This representation can denote any symbol text. 8 | * __Identifier__: an unquoted sequence of one or more ASCII letters, digits, 9 | or the characters `$` (dollar sign) or `_` (underscore), not starting with 10 | a digit and not including the keywords `null`, `nan`, `true`, and `false`. 11 | * __Operator__: an unquoted sequence of one or more of the following nineteen 12 | ASCII characters: `` !#%&*+-./;<=>?@^`|~ `` 13 | Operators can only be used as (direct) elements of an S-expression. 14 | In any other context those characters require single-quotes. 15 | 16 | A subset of identifiers have special meaning: 17 | 18 | * __Symbol Identifier__: an identifier that starts with `$` (dollar sign) 19 | followed by one or more digits. These identifiers directly represent the 20 | symbol's integer symbol ID, not the symbol's text. 21 | This form is not typically visible to users, but they should be aware of 22 | the reserved notation so they don't attempt to use it for other purposes. -------------------------------------------------------------------------------- /_books/ion-1-1/src/todo.md: -------------------------------------------------------------------------------- 1 | # TODO 2 | 3 | This page is a placeholder and will be updated when the target page is available. 4 | 5 | If you believe the target page is available, please [open an issue](https://github.com/amazon-ion/ion-docs/issues). -------------------------------------------------------------------------------- /_books/ion-1-1/theme/highlight.css: -------------------------------------------------------------------------------- 1 | /* 2 | * An increased contrast highlighting scheme loosely based on the 3 | * "Base16 Atelier Dune Light" theme by Bram de Haan 4 | * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) 5 | * Original Base16 color scheme by Chris Kempson 6 | * (https://github.com/chriskempson/base16) 7 | */ 8 | 9 | /* Comment */ 10 | .hljs-comment, 11 | .hljs-quote { 12 | color: #969696; 13 | } 14 | 15 | /* Red */ 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-attribute, 19 | .hljs-tag, 20 | .hljs-name, 21 | .hljs-regexp, 22 | .hljs-link, 23 | .hljs-name, 24 | .hljs-selector-id, 25 | .hljs-selector-class { 26 | color: #d70025; 27 | } 28 | 29 | /* Orange */ 30 | .hljs-number, 31 | .hljs-meta, 32 | .hljs-built_in, 33 | .hljs-builtin-name, 34 | .hljs-literal, 35 | .hljs-type, 36 | .hljs-params { 37 | color: #b21e00; 38 | } 39 | 40 | /* Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet { 44 | color: #008200; 45 | } 46 | 47 | /* Blue */ 48 | .hljs-title, 49 | .hljs-version_marker, /* Ion-specific */ 50 | .hljs-system_macro, /* Ion-specific */ 51 | .hljs-e_expression_macro_name, 52 | .hljs-section { 53 | color: #0030f2; 54 | } 55 | 56 | .hljs-macro_definition_name { 57 | color: #0030f2; 58 | text-decoration: underline; 59 | } 60 | 61 | .hljs-tdl_macro_invocation_address, 62 | .hljs-tdl_macro_invocation_name { 63 | color: #0030f2; 64 | font-style: oblique 10deg; 65 | } 66 | 67 | /* Purple */ 68 | .hljs-keyword, 69 | .hljs-selector-tag { 70 | color: #9d00ec; 71 | } 72 | 73 | .hljs-variable_expansion { 74 | color: DeepPink; 75 | 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | overflow-x: auto; 81 | background: #f6f7f6; 82 | color: #000; 83 | } 84 | 85 | .hljs-emphasis { 86 | font-style: italic; 87 | } 88 | 89 | .hljs-strong { 90 | font-weight: bold; 91 | } 92 | 93 | .hljs-addition { 94 | color: #22863a; 95 | background-color: #f0fff4; 96 | } 97 | 98 | .hljs-deletion { 99 | color: #b31d28; 100 | background-color: #ffeef0; 101 | } 102 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | name: Ion Docs 2 | title: Amazon Ion 3 | lang: en 4 | baseurl: /ion-docs 5 | markdown: kramdown 6 | kramdown: 7 | input: GFM 8 | toc_levels: "2,3" 9 | highlighter: rouge 10 | defaults: 11 | - 12 | scope: 13 | path: "" 14 | values: 15 | layout: default 16 | plugins: 17 | - jekyll-redirect-from 18 | 19 | # Don't clobber things built into ./_site/books by our MdBookGenerator plugin 20 | keep_files: 21 | - books 22 | -------------------------------------------------------------------------------- /_data/libraries.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "ion-c", 4 | "category": "core", 5 | "latest_release_version": "1.1.3", 6 | "latest_release_date": "2024-07-30", 7 | "documentation": "https://amazon-ion.github.io/ion-c/" 8 | }, 9 | { 10 | "name": "ion-dotnet", 11 | "category": "core", 12 | "latest_release_version": "1.3.1", 13 | "latest_release_date": "2025-02-05" 14 | }, 15 | { 16 | "name": "ion-java", 17 | "category": "core", 18 | "latest_release_version": "1.11.10", 19 | "latest_release_date": "2025-01-23", 20 | "documentation": "https://www.javadoc.io/doc/com.amazon.ion/ion-java/" 21 | }, 22 | { 23 | "name": "ion-js", 24 | "category": "core", 25 | "latest_release_version": "5.2.1", 26 | "latest_release_date": "2024-04-30", 27 | "documentation": "https://amazon-ion.github.io/ion-js/api/" 28 | }, 29 | { 30 | "name": "ion-rust", 31 | "category": "core", 32 | "latest_release_version": "1.0.0-rc.11", 33 | "latest_release_date": "2025-01-09", 34 | "documentation": "https://docs.rs/ion-rs/latest/ion_rs/" 35 | }, 36 | { 37 | "name": "ion-python", 38 | "category": "core", 39 | "latest_release_version": "0.13.0", 40 | "latest_release_date": "2024-12-07", 41 | "documentation": "https://ion-python.readthedocs.io/en/latest/amazon.ion.html" 42 | }, 43 | { 44 | "name": "ion-go", 45 | "category": "core", 46 | "latest_release_version": "1.5.0", 47 | "latest_release_date": "2024-06-06", 48 | "documentation": "https://pkg.go.dev/github.com/amazon-ion/ion-go/ion" 49 | }, 50 | { 51 | "name": "ion-java-path-extraction", 52 | "category": "extension", 53 | "latest_release_version": ".1.5.0", 54 | "latest_release_date": "2025-01-09" 55 | }, 56 | { 57 | "name": "ion-element-kotlin", 58 | "category": "extension", 59 | "latest_release_version": "1.3.0", 60 | "latest_release_date": "2024-09-19" 61 | }, 62 | { 63 | "name": "ion-hive-serde", 64 | "category": "extension", 65 | "latest_release_version": "1.2.0", 66 | "latest_release_date": "2022-10-04" 67 | } 68 | ] 69 | -------------------------------------------------------------------------------- /_data/navigation.yml: -------------------------------------------------------------------------------- 1 | main: 2 | - title: "Home" 3 | url: / 4 | - title: "News" 5 | url: /news.html 6 | - title: "Docs" 7 | url: /docs.html 8 | - title: "Libs" 9 | url: /libs.html 10 | - title: "Help" 11 | url: /help.html -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {% assign title = page.title | default: site.title | escape %} 6 | {% assign canonical = page.url | replace:'index.html','' | absolute_url %} 7 | {% assign description = page.description | default: page.excerpt | default: site.description | strip_html | normalize_whitespace | escape %} 8 | 9 | {{ page.title }} 10 | 11 | {% if page.keywords %} 12 | {% if page.keywords.first %} 13 | {% assign keywords = page.keywords | join: ',' %} 14 | {% else %} 15 | {% assign keywords = page.keywords %} 16 | {% endif %} 17 | 18 | {% endif %} 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/library_table.md: -------------------------------------------------------------------------------- 1 | | Name | Latest Version | Repository | Documentation | 2 | |------|----------------|------------|---------------| 3 | {% assign libraries = site.data.libraries | where: "category", library_type | sort: "name" -%} 4 | {%- for row in libraries -%} 5 | {%- assign name = row["name"] -%} 6 | {%- capture release -%} 7 | {%- if row["latest_release_version"] -%} 8 | [{{ row["latest_release_version"] }}](https://github.com/amazon-ion/{{ name }}/releases/latest) ({{ row["latest_release_date"] | date: "%B %d, %Y" }}) 9 | {%- else -%} 10 | in development 11 | {%- endif -%} 12 | {%- endcapture -%} 13 | {%- capture documentation -%} 14 | {%- if row["documentation"] -%} 15 | [Link]({{ row["documentation"] }}) 16 | {%- else -%} 17 | - 18 | {%- endif -%} 19 | {%- endcapture -%} 20 | {%- capture repository -%} 21 | [Link](https://github.com/amazon-ion/{{ name }}) 22 | {%- endcapture -%} 23 | | {{ name }} | {{ release }} | {{ repository }} | {{ documentation }} 24 | {% endfor %} 25 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 | 8 | {% include header.html %} 9 | 10 |
11 |
12 | {{ content }} 13 |
14 |
15 | 16 | {% include footer.html %} 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /_layouts/news_item.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 | 8 | {% include header.html %} 9 | 10 |
11 |
12 |

News

13 |
14 | {{page.title}}
15 | {{page.date | date_to_long_string}} 16 |

17 | {{ content }} 18 |
19 |
20 |
21 | 22 | {% include footer.html %} 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /_plugins/mdbooks.rb: -------------------------------------------------------------------------------- 1 | # A simple Jekyll generator plugin that will run mdbook 2 | # See https://jekyllrb.com/docs/plugins/generators/ for info about generators 3 | module IonDocs 4 | class MdBookGenerator < Jekyll::Generator 5 | safe true 6 | def generate(site) 7 | # If we have more books, either loop through them, or add a new line for each 8 | system( 9 | *%w[mdbook build 10 | ./_books/ion-1-1 11 | -d ./../../_site/books/ion-1-1 12 | ]) or fail "mdbook process exited with status $?" 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /_posts/2016-04-20-amazon-open-sources-ion.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Open Sources Ion" 4 | date: 2016-04-20 16:10:00 -0800 5 | categories: news 6 | --- 7 | 8 | Amazon released the specification for Ion. 9 | 10 | | [Ion Specification](docs/spec.html) | -------------------------------------------------------------------------------- /_posts/2016-04-25-ion-java-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.0.0 Released" 4 | date: 2016-04-25 11:55:00 -0800 5 | categories: news 6 | --- 7 | This is the initial open source release of Ion Java. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.0.0) | [Maven Central](http://search.maven.org/#artifactdetails%7Csoftware.amazon.ion%7Cion-java%7C1.0.0%7C) | [Javadoc](http://www.javadoc.io/doc/software.amazon.ion/ion-java/1.0.0) | -------------------------------------------------------------------------------- /_posts/2016-06-14-amazon-releases-ion-intellij-plugin.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Releases ion-intellij-plugin" 4 | date: 2016-06-14 08:45:12 -0800 5 | categories: news 6 | --- 7 | An IntelliJ plugin for working with files using the Amazon Ion data format. 8 | 9 | | [GitHub Repository](https://github.com/amazon-ion/ion-intellij-plugin) | [IntelliJ Plugins](https://plugins.jetbrains.com/plugin/8409-amazon-ion-intellij-idea-plugin) | -------------------------------------------------------------------------------- /_posts/2016-06-27-amazon-releases-ion-c.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Releases ion-c" 4 | date: 2016-06-27 15:49:10 -0800 5 | categories: news 6 | --- 7 | Ion-C is a C library for Ion. 8 | 9 | | [GitHub Repository](https://github.com/amazon-ion/ion-c) | -------------------------------------------------------------------------------- /_posts/2016-07-08-amazon-releases-ion-python.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Releases ion-python" 4 | date: 2016-07-08 16:12:36 -0800 5 | categories: news 6 | --- 7 | A python implementation of Amazon Ion designed to work with Python 2.6+ and Python 3.3+. 8 | 9 | | [GitHub Repository](https://github.com/amazon-ion/ion-python) | -------------------------------------------------------------------------------- /_posts/2016-09-29-ion-java-1_0_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.0.1 Released" 4 | date: 2016-09-29 11:24:00 -0800 5 | categories: news 6 | --- 7 | Ability to read and write 32-bit floats, and to query integer sizes (short, int, long, etc.) for more efficient materialization (no need to always start with BigInteger). 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.0.1) | -------------------------------------------------------------------------------- /_posts/2017-02-07-ion-java-1_0_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.0.2 Released" 4 | date: 2017-02-07 16:23:00 -0800 5 | categories: news 6 | --- 7 | Provides OSGi metadata. Fixes a few small bugs. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.0.2) | -------------------------------------------------------------------------------- /_posts/2017-04-25-amazon-releases-ion-js.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Releases ion-js" 4 | date: 2017-04-25 11:01:22 -0800 5 | categories: news 6 | --- 7 | Ion-JS is a JavaScript library for Ion -- this is currently alpha software and is subject to change. The library allows for reading/writing Ion data from within JavaScript code. 8 | 9 | | [GitHub Repository](https://github.com/amazon-ion/ion-js) | [API Documentation](https://amazon-ion.github.io/ion-js/api/) | -------------------------------------------------------------------------------- /_posts/2017-05-10-ion-python-0_2_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.2.0 Released" 4 | date: 2017-05-10 12:40:00 -0800 5 | categories: news ion-python 6 | --- 7 | Adds support for reading text Ion and fixes bug affecting writes of large binary Ion values. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.2.0) | -------------------------------------------------------------------------------- /_posts/2017-07-21-amazon-releases-ion-eclipse-plugin.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Releases ion-eclipse-plugin" 4 | date: 2017-07-21 14:01:42 -0800 5 | categories: news 6 | --- 7 | An Eclipse plugin for working with files using the Amazon Ion data format. 8 | 9 | | [GitHub Repository](https://github.com/amazon-ion/ion-eclipse-plugin) | [Getting Started](https://github.com/amazon-ion/ion-eclipse-plugin#getting-started) | -------------------------------------------------------------------------------- /_posts/2017-07-30-jackson-adds-ion-support.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Jackson Adds Ion Support" 4 | date: 2017-07-30 13:00:00 -0800 5 | categories: news 6 | --- 7 | First official version of jackson-dataformat-ion (under jackson-dataformats-binary repo) — used for reading/writing Amazon Ion format documents. 8 | 9 | | [Medium Announcement](https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff) | [Release Notes](https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9#new-modules-status-changes) | -------------------------------------------------------------------------------- /_posts/2017-10-12-ion-java-1_0_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.0.3 Released" 4 | date: 2017-10-12 18:28:00 -0800 5 | categories: news 6 | --- 7 | Avoid writing fractional second if not necessary in Timestamp binary encoding. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.0.3) | -------------------------------------------------------------------------------- /_posts/2018-01-24-ion-java-1_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.1.0 Released" 4 | date: 2018-01-24 13:03:00 -0800 5 | categories: news 6 | --- 7 | Adds support for empty symbols, local symbol append, SID0, NOP padding, and more improvements. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.1.0) | -------------------------------------------------------------------------------- /_posts/2018-03-08-amazon-redshift-spectrum0adds-scalar-ion-support.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Redshift Spectrum Adds Scalar Ion Support" 4 | date: 2018-03-08 13:00:00 -0800 5 | categories: news 6 | --- 7 | You can now use Amazon Redshift Spectrum to directly query scalar JSON and Ion data types stored in external tables in Amazon S3 - without loading or transforming the data. 8 | 9 | | [AWS Announcement](https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-redshift-spectrum-now-supports-scalar-json-and-ion-data-types/) | -------------------------------------------------------------------------------- /_posts/2018-03-23-ion-java-1_1_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.1.1 Released" 4 | date: 2018-03-23 12:38:00 -0800 5 | categories: news 6 | --- 7 | Fixes `IonStruct.clone` performance regression introduced in v1.1.0. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.1.1) | -------------------------------------------------------------------------------- /_posts/2018-04-02-ion-java-1_1_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.1.2 Released" 4 | date: 2018-04-02 13:44:00 -0800 5 | categories: news 6 | --- 7 | Javadoc changes. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.1.2) | -------------------------------------------------------------------------------- /_posts/2018-04-12-amazon-releases-ion-test-driver.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Releases ion-test-driver" 4 | date: 2018-04-12 16:31:06 -0800 5 | categories: news 6 | --- 7 | A cross-implementation test driver for Amazon Ion readers and writers. 8 | 9 | | [GitHub Repository](https://github.com/amazon-ion/ion-test-driver) | -------------------------------------------------------------------------------- /_posts/2018-04-12-ion-c-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.0.0 Released" 4 | date: 2018-04-12 17:01:00 -0800 5 | categories: news 6 | --- 7 | 8 | Highlighted features: 9 | 10 | * Streaming readers and writers for both binary and text Ion. 11 | * CLI tool for processing and comparing Ion streams. 12 | * Test suite backed by ion-tests. 13 | 14 | Limitations: 15 | 16 | * No UTF-16 or UTF-32 support. 17 | * Binary Ion streams may not exceed 232 distinct symbols. 18 | 19 | | [Release Notes](https://github.com/amazon-ion/ion-c/releases/tag/v1.0.0) | -------------------------------------------------------------------------------- /_posts/2018-05-15-ion-python-0_3_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.3.1 Released" 4 | date: 2018-05-15 17:30:00 -0700 5 | categories: news ion-python 6 | --- 7 | Adds support for binary and text in `simpleion.loads()` and `simpleion.dumps()`. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.3.1) | 10 | -------------------------------------------------------------------------------- /_posts/2018-05-25-ion-c-1_0_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.0.1 Released" 4 | date: 2018-05-25 16:56:00 -0800 5 | categories: news 6 | --- 7 | Bug fixes: 8 | 9 | * Fixed an issue that caused release builds to fail during linking. 10 | 11 | | [Release Notes](https://github.com/amazon-ion/ion-c/releases/tag/v1.0.1) | -------------------------------------------------------------------------------- /_posts/2018-06-22-ion-java-1_2_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.2.0 Released" 4 | date: 2018-06-22 12:10:00 -0800 5 | categories: news 6 | --- 7 | * Decouples IonReader from IonSystem and adds IonReaderBuilder. 8 | * Adds Automatic-Module-Name in manifest so Java9 modular applications can depend on this library. 9 | 10 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.2.0) | -------------------------------------------------------------------------------- /_posts/2018-07-19-developer-guide-symbols-documentation-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Developers’ Guide to Ion Symbols Released" 4 | date: 2018-08-06 15:15:00 -0800 5 | categories: news 6 | --- 7 | This document provides developer-focused commentary on the Symbols section of the specification and discusses the implementation of symbol table, symbol token, and catalog APIs. 8 | 9 | | [Symbols Developer Guide](https://amazon-ion.github.io/ion-docs/guides/symbols-guide.html) | -------------------------------------------------------------------------------- /_posts/2018-08-08-amazon-redshift-spectrum-adds-nested-ion-support.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Amazon Redshift Spectrum Adds Nested Ion Support" 4 | date: 2018-08-08 17:30:00 -0800 5 | categories: news 6 | --- 7 | You can now use Amazon Redshift to directly query nested data in Apache Parquet, Apache ORC, JSON and Amazon Ion file formats stored in external tables in Amazon S3. 8 | 9 | Nested data support with Redshift Spectrum enables you to query complex data types such as struct, array, or map, without having to transform or load your data. 10 | 11 | | [AWS Announcement](https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-redshift-announces-support-for-nested-data-with-redshift-spectrum/) | -------------------------------------------------------------------------------- /_posts/2018-11-05-ion-schema-spec-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Specification 1.0 Released" 4 | date: 2018-11-05 5 | categories: news 6 | --- 7 | This new specification describes a language and set of constraints used to declaratively constrain Ion values. Types defined by a schema could be used to: 8 | * assert that a value meets specific expectations, 9 | * generate developer-friendly APIs for working with data, 10 | * enable efficient analysis over data that conforms to a type, 11 | * and more! 12 | 13 | A reference implementation of Ion Schema is now available as open source software. It is written in Kotlin, and should be considered alpha software. 14 | 15 | | [Ion Schema Specification](https://amazon-ion.github.io/ion-schema/docs/spec.html) | [Reference Implementation](https://github.com/amazon-ion/ion-schema-kotlin) | 16 | 17 | -------------------------------------------------------------------------------- /_posts/2018-11-12-ion-java-path-extraction-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java Path Extraction 1.0.0 Released" 4 | date: 2018-11-12 5 | categories: news 6 | --- 7 | Ion Path Extraction API aims to combine the convenience of a DOM API with the speed of a streaming API. 8 | 9 | The user can register search paths and callbacks with the extractor that will read the Ion document in 10 | the most efficient way looking for the registered paths. When it matches a search path it will invoke 11 | the correspondent callback. 12 | 13 | | [GitHub Repository](https://github.com/amazon-ion/ion-java-path-extraction) | 14 | -------------------------------------------------------------------------------- /_posts/2019-01-21-ion-hive-serde.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hive SerDe 0.1.0 Released" 4 | date: 2019-01-21 5 | categories: news 6 | --- 7 | Apache Hive SerDe (short for serializer/deserializer) for the Ion file format alpha is released. 8 | 9 | This new **Ser**ializer/**De**serializer for Apache Hive supports the Ion binary and text formats, all of the Ion types, and flattening through [path extraction](https://github.com/amazon-ion/ion-java-path-extraction). This release is an Alpha release and a complete list of features can be found in the GitHub repository. 10 | 11 | | [GitHub Repository](https://github.com/amazon-ion/ion-hive-serde) | 12 | -------------------------------------------------------------------------------- /_posts/2019-04-30-ion-java-1_4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.4.0 Released" 4 | date: 2019-04-24 14:30:00 -0800 5 | categories: news 6 | --- 7 | 8 | From version 1.4.0 forward ion-java has moved to a new maven group id and java package name: `com.amazon.ion`. This move was necessary to keep the publishing of Amazon libraries in maven consistent. 9 | 10 | We'll keep supporting `software.amazon.ion` by publishing mirrored releases but users are strongly encouraged to migrate. The migration is trivial, the only differences are the maven group id and Java package names. 11 | 12 | 1.4.0 release notes: 13 | 14 | * First release using `com.amazon.ion` as the java package name and groupId 15 | * Fixed a gzipped related memory leak 16 | * Performance fix for IonValueLite.clearSymbolIdValues() 17 | 18 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/com_amazon_ion_v1.4.0) | 19 | -------------------------------------------------------------------------------- /_posts/2019-05-08-ion-kotlin-builder-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Kotlin Builder 1.0.0 Released" 4 | date: 2019-05-08 5 | categories: news ion-kotlin-builder 6 | --- 7 | 8 | Ion Kotlin Builder 1.0.0 is now available. 9 | 10 | | [Release Notes v1.0.0](https://github.com/amazon-ion/ion-kotlin-builder/releases/tag/v1.0.0) | [Ion Kotlin Builder](https://github.com/amazon-ion/ion-kotlin-builder) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2019-05-23-ion-hash-java-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Java 1.0.0 Released" 4 | date: 2019-05-23 5 | categories: news ion-hash-java 6 | --- 7 | 8 | Ion Hash Java 1.0.0 is now available. 9 | 10 | | [Release Notes v1.0.0](https://github.com/amazon-ion/ion-hash-java/releases/tag/v1.0.0) | [Ion Hash Java](https://github.com/amazon-ion/ion-hash-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2019-05-23-ion-hash-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Specification 1.0 Released" 4 | date: 2019-05-23 5 | categories: news 6 | --- 7 | This new specification defines a hash algorithm for Ion values, independent of whether a value is encoded in text or binary. It is useful when determining whether two Ion values represent the same value, or determining whether an Ion value has changed. For example, a storage system might use Ion hashes to assert the integrity of its data. 8 | 9 | Additionally, a reference implementation of Ion Hash written in Java is available as open source software. 10 | 11 | | [Ion Hash Specification](https://amazon-ion.github.io/ion-hash/docs/spec.html) | [Reference Implementation](https://github.com/amazon-ion/ion-hash-java) | 12 | 13 | -------------------------------------------------------------------------------- /_posts/2019-06-26-ion-java-1_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.5.0 Released" 4 | date: 2019-06-26 14:30:00 -0800 5 | categories: news 6 | --- 7 | 8 | From version 1.4.0 forward ion-java moved to a new maven group id and java package name: `com.amazon.ion`. This move was necessary to keep the publishing of Amazon libraries in maven consistent. 9 | 10 | We'll keep supporting `software.amazon.ion` by publishing mirrored releases but users are strongly encouraged to migrate. The migration is trivial, the only differences are the maven group id and Java package names. 11 | 12 | 1.5.0 release notes: 13 | 14 | * Fixed a bug in IonReader.getTypeAnnotations when used with text data that contains a symbol table. 15 | * Made the messages of certain IllegalStateExceptions more descriptive. 16 | * Added an Equivalence option to specify an epsilon to use when comparing Ion float values. 17 | * Reduced memory allocations and garbage collections required when stepping in and out of containers in the binary writer, resulting in a speedup (5%), heap size reduction (4%), GC count reduction (56%), GC time reduction (13%), and Eden Space churn reduction (71%) when writing a sample of container-heavy test data. 18 | * Reduced memory allocations and garbage collections required when setting struct field names in the binary writer, resulting in a speedup (12.6%), reduction in heap usage (17%), and elimination of garbage collections when writing a sample of field-heavy test data. 19 | * Cached the reference to the current container context in the binary writer to reduce repetitive List lookups, resulting in a speedup (10%) when writing a sample of container-heavy test data. 20 | 21 | 22 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/com_amazon_ion_v1.5.0) | 23 | -------------------------------------------------------------------------------- /_posts/2019-07-15-ion-schema-kotlin-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.0.0 Released" 4 | date: 2019-07-15 5 | categories: news 6 | --- 7 | This release is a complete implementation of the [Ion Schema Specification](https://amazon-ion.github.io/ion-schema/docs/spec.html). 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.0.0) | 10 | 11 | -------------------------------------------------------------------------------- /_posts/2019-07-16-ion-hash-python-1_0_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Python 1.0.1 Released" 4 | date: 2019-07-16 5 | categories: news 6 | --- 7 | This release is a complete implementation of the [Ion Hash Specification](https://amazon-ion.github.io/ion-hash/docs/spec.html). In addition to low-level `hash_reader`/`hash_writer` APIs, it adds an `ion_hash()` method to all [ion-python](https://github.com/amazon-ion/ion-python) simpleion objects. 8 | 9 | This package is available at [PyPI](https://pypi.org/project/ionhash/). 10 | 11 | | [Ion Hash Python](https://github.com/amazon-ion/ion-hash-python) | 12 | 13 | -------------------------------------------------------------------------------- /_posts/2019-09-05-ion-python-0_4_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.4.1 Released" 4 | date: 2019-09-05 17:30:00 -0700 5 | categories: news ion-python 6 | --- 7 | * Remove memoization of events in _IonNature. 8 | * Updates Tox/README Python Versions 9 | * Adds support for tuple in _FROM_TYPES mapping. 10 | * Sets Travis CI dist to Xenial and removes 2.6/2.7 11 | 12 | 13 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.4.1) | 14 | -------------------------------------------------------------------------------- /_posts/2019-09-12-ion-js-3_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion JS 3.0.0 Released" 4 | date: 2019-09-12 17:30:00 -0700 5 | categories: news ion-js 6 | --- 7 | This release includes many changes to the ion-js API, many of them are not backwards-compatible. See the release notes for more information. 8 | 9 | The following are known limitations: 10 | 11 | * int values are restricted to 32 bits: [-2147483648, 2147483647] 12 | * character escape sequences are not fully supported in strings, symbols, and clobs 13 | * no support for: 14 | * ints denoted in binary 15 | * underscore characters in ints, decimals, or floats 16 | * shared symbol tables 17 | * symboltokens 18 | * SID0 ($0) 19 | 20 | Note: this release targets Node environments only and has not been verified to work in any browsers 21 | 22 | | [Release Notes](https://github.com/amazon-ion/ion-js/releases/tag/v3.0.0) | 23 | -------------------------------------------------------------------------------- /_posts/2019-10-17-ion-python-0_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.5.0 Released" 4 | date: 2019-10-17 16:30:00 -0400 5 | categories: news ion-python 6 | --- 7 | * Adds option to omit the Ion version marker from text output. 8 | * Adds option to write tuples as Ion s-expressions via simpleion dump/dumps. 9 | * Adds support for timestamps with arbitrary precision. 10 | 11 | 12 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.5.0) | 13 | -------------------------------------------------------------------------------- /_posts/2019-10-29-ion-js-3_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion JS 3.1.0 Released" 4 | date: 2019-10-29 12:30:00 -0800 5 | categories: news ion-js 6 | --- 7 | In addition to numerous bug fixes, this release adds support for arbitrary precision integers, decimals, and timestamps. It does not include support for: 8 | * ints denoted in binary 9 | * underscore characters in ints, decimals, or floats 10 | * shared symbol tables 11 | * symboltokens 12 | * SID0 ($0) 13 | 14 | Note: this release targets Node environments only and has not been verified to work in any browsers 15 | 16 | | [Release Notes](https://github.com/amazon-ion/ion-js/releases/tag/v3.1.0) | 17 | -------------------------------------------------------------------------------- /_posts/2019-11-05-ion-hash-js-1_0_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash JS 1.0.2 Released" 4 | date: 2019-11-05 5 | categories: news 6 | --- 7 | This release is a complete implementation of the [Ion Hash Specification](https://amazon-ion.github.io/ion-hash/docs/spec.html) for JavaScript, and provides hashing decorators of [ion-js](https://github.com/amazon-ion/ion-js)'s Reader and Writer interfaces. 8 | 9 | This package is available via [NPM](https://www.npmjs.com/package/ion-hash-js). 10 | 11 | | [Ion Hash JS](https://github.com/amazon-ion/ion-hash-js) | 12 | 13 | -------------------------------------------------------------------------------- /_posts/2020-01-15-software.amazon.ion-deprecated.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "software.amazon.ion is Deprecated" 4 | date: 2020-01-15 5 | categories: news 6 | --- 7 | As of today the `software.amazon.ion` group id is deprecated in favor of `com.amazon.ion` and no new software will be released in maven using `software.amazon.ion`. 8 | 9 | Users are encouraged to migrate as soon as possible. The only changes are in the package names so they conform to the corresponding group ids. 10 | -------------------------------------------------------------------------------- /_posts/2020-02-26-ion-java-1_6_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.6.0 Released" 4 | date: 2020-02-26 5 | categories: news ion-java 6 | --- 7 | This release includes: 8 | * Opt-in support for local symbol table appends, which allow strings to be dynamically added to the symbol table. In many cases, this produces a more compact encoding and requires less in-memory buffering. To take advantage of this, use the [withLocalSymbolTableAppendEnabled()](https://www.javadoc.io/doc/com.amazon.ion/ion-java/latest/com/amazon/ion/system/IonBinaryWriterBuilder.html) method on the IonBinaryWriterBuilder. 9 | * Optimizations for reading and writing binary strings. 10 | * A fix for a bug that could cause an infinite loop when an IonValue was modified while simultaneously being read with a TreeReader. 11 | 12 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.6.0) | [Ion Java](https://github.com/amazon-ion/ion-java) | 13 | 14 | -------------------------------------------------------------------------------- /_posts/2020-03-09-ion-templates-rfc-opened.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Draft RFC for Ion Templates" 4 | date: 2020-03-09 5 | categories: news 6 | --- 7 | 8 | An RFC was published to the [Ion specification GitHub repository](https://github.com/amazon-ion/ion-docs) proposing a new feature for an upcoming minor release: templates. Questions, comments, and suggestions are welcome and should be added to the 'Conversation' tab of the pull request. 9 | 10 | | [Ion Templates Draft RFC](https://github.com/amazon-ion/ion-docs/pull/104) | 11 | -------------------------------------------------------------------------------- /_posts/2020-03-30-ion-js-4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion JS 4.0 Released" 4 | date: 2020-03-30 5 | categories: news ion-js 6 | --- 7 | In addition to various bug fixes and improvements, this release: 8 | * introduces a new DOM-style API which allows you to work with Ion values as JavaScript objects 9 | * supports down-converting Ion to JSON via the native `JSON.stringify()` function 10 | 11 | | [Release Notes](https://github.com/amazon-ion/ion-js/releases/tag/v4.0.0) | [Ion JS](https://github.com/amazon-ion/ion-js) | 12 | 13 | -------------------------------------------------------------------------------- /_posts/2020-03-31-ion-hash-js-2_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash JS 2.0 Released" 4 | date: 2020-03-31 5 | categories: news ion-hash-js 6 | --- 7 | This release introduces a simple API for calculating an Ion hash of any value, including native JavaScript types as well as instances of ion-js 4.0's `dom.Value` class. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-hash-js/releases/tag/v2.0.0) | [Ion Hash JS](https://github.com/amazon-ion/ion-hash-js) | 10 | 11 | -------------------------------------------------------------------------------- /_posts/2020-06-03-ion-dotnet-1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion .NET 1.0 Released" 4 | date: 2020-06-03 5 | categories: news ion-dotnet 6 | --- 7 | This first release for the .NET platform provides full support for the Ion type system and includes both reader/writer and DOM APIs. 8 | 9 | The Amazon.IonDotnet package is available via [NuGet](https://www.nuget.org/packages/Amazon.IonDotnet). 10 | 11 | | [Release Notes](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.0.0) | [Ion .NET](https://github.com/amazon-ion/ion-dotnet) | 12 | 13 | -------------------------------------------------------------------------------- /_posts/2020-06-03-ion-hash-dotnet-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash .NET 1.0 Released" 4 | date: 2020-06-04 5 | categories: news ion-hash-dotnet 6 | --- 7 | This release provides full support for hashing all Ion values. 8 | 9 | The Amazon.IonHashDotnet package is available via [NuGet](https://www.nuget.org/packages/Amazon.IonHashDotnet). 10 | 11 | | [Release Notes](https://github.com/amazon-ion/ion-hash-dotnet/releases/tag/v1.0.0) | [Ion Hash .NET](https://github.com/amazon-ion/ion-hash-dotnet) | 12 | 13 | -------------------------------------------------------------------------------- /_posts/2020-07-14-ion-schema-kotlin-1_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.1 Released" 4 | date: 2020-07-14 5 | categories: news schema ion-schema-kotlin 6 | --- 7 | This release provides access to the ISL underlying Schema and Type objects, enables custom schema caching logic, provides graceful handling of redundant imports, and more. 8 | 9 | | [Release Notes](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.1.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 10 | 11 | -------------------------------------------------------------------------------- /_posts/2020-09-29-ion-go-1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Go 1.0 Released" 4 | date: 2020-09-29 5 | categories: news ion-go 6 | --- 7 | This first release for Go provides full support for the Ion type system and includes reader and writer APIs. 8 | 9 | The package is available via [GitHub](https://github.com/amazon-ion/ion-go). 10 | 11 | | [Release Notes](https://github.com/amazon-ion/ion-go/releases/tag/v1.0.0) | [Ion Go](https://github.com/amazon-ion/ion-go) | 12 | 13 | -------------------------------------------------------------------------------- /_posts/2020-09-30-ion-hash-go-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Go 1.0 Released" 4 | date: 2020-09-30 5 | categories: news ion-hash-go 6 | --- 7 | This release provides full support for hashing all Ion values. 8 | 9 | The package is available via [GitHub](https://github.com/amazon-ion/ion-hash-go). 10 | 11 | | [Release Notes](https://github.com/amazon-ion/ion-hash-go/releases/tag/v1.0.0) | [Ion Go](https://github.com/amazon-ion/ion-hash-go) | -------------------------------------------------------------------------------- /_posts/2020-11-09-ion-java-1_8_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.8.0 Released" 4 | date: 2020-11-09 5 | categories: news ion-java 6 | --- 7 | This release includes: 8 | * A bug fix in IonReaderBinaryRawX.readBytes ([#318](https://github.com/amazon-ion/ion-java/issues/318)). 9 | * Avoiding repetitive reallocation of PooledBlockAllocatorProvider in _PrivateIon_HashTrampoline. 10 | 11 | 12 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.8.0) | [Ion Java](https://github.com/amazon-ion/ion-java) | 13 | 14 | -------------------------------------------------------------------------------- /_posts/2020-11-23-ion-dotnet-1_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion .NET 1.1.0 Released" 4 | date: 2020-11-23 5 | categories: news ion-dotnet 6 | --- 7 | This release includes: 8 | 9 | * Replacing the usage of decimal#TryParse(String, Decimal) with decimal#TryParse(String, NumberStyles, IFormatProvider, Decimal), allowing us to use InvariantCulture instead of the current thread's configured culture. ([#129](https://github.com/amazon-ion/ion-dotnet/pull/129)) 10 | * Adding a JSON text writer. ([#130](https://github.com/amazon-ion/ion-dotnet/pull/130)) 11 | * Moving to GitHub Actions for CI build. ([#124](https://github.com/amazon-ion/ion-dotnet/pull/124)) 12 | 13 | The Amazon.IonDotnet package is available via [NuGet](https://www.nuget.org/packages/Amazon.IonDotnet). 14 | 15 | | [Release Notes](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.1.0) | [Ion .NET](https://github.com/amazon-ion/ion-dotnet) | 16 | 17 | -------------------------------------------------------------------------------- /_posts/2020-12-02-ion-js-4_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion JS 4.1.0 Released" 4 | date: 2020-12-02 5 | categories: news ion-js 6 | --- 7 | 8 | API Changes: 9 | * Added deleteField method for deleting Struct fields. 10 | 11 | Bug Fixes: 12 | * Shared symbol tables no longer treat Object properties as symbols. 13 | * Local symbol tables no longer use Objects with default properties to index symbols. 14 | * Local symbol tables no longer discard duplicate symbols during initialization. 15 | 16 | Tweaks: 17 | * Improved performance when reading binary UInt subfields. 18 | 19 | Testing improvements: 20 | * Migrated from Travis CI to Github Actions. 21 | * Integrated with ion-test-driver. 22 | 23 | | [Release Notes](https://github.com/amazon-ion/ion-js/releases/tag/v4.1.0) | [Ion JS](https://github.com/amazon-ion/ion-js) | 24 | -------------------------------------------------------------------------------- /_posts/2020-12-02-ion-python-0_7_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.7.0 Released" 4 | date: 2020-12-02 5 | categories: news ion-python 6 | --- 7 | Bug fix: 8 | * Uses localcontext support decimals of any precision. 9 | 10 | New API: 11 | * Adds IonToJSONEncoder to allow Ion data to be down-converted to JSON. 12 | 13 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.7.0) | 14 | -------------------------------------------------------------------------------- /_posts/2020-12-03-ion-java-path-extraction-1_3_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java Path Extraction 1.3.1 Released" 4 | date: 2020-12-03 5 | categories: news ion-java-path-extraction 6 | --- 7 | 8 | Ion Java Path Extraction 1.3.1 is now available. 9 | 10 | | [Release Notes v1.3.1](https://github.com/amazon-ion/ion-java-path-extraction/releases/tag/v1.3.1) | [Ion Java Path Extraction](https://github.com/amazon-ion/ion-java-path-extraction) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2020-12-08-ion-go-1_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Go 1.1.0 Released" 4 | date: 2020-12-08 5 | categories: news ion-go 6 | --- 7 | New features: 8 | 9 | * #165: Adds support for writing `SymbolToken`s 10 | * #171: Adds support for marshalling `Time` values without first creating an intermediate 11 | `ion.Timestamp` 12 | 13 | | [Release Notes v1.1.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.1.0) | [Ion Go](https://github.com/amazon-ion/ion-go) | 14 | 15 | -------------------------------------------------------------------------------- /_posts/2021-02-09-ion-c-1_4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.4.0 Released" 4 | date: 2021-02-09 5 | categories: news ion-c 6 | --- 7 | New features: 8 | 9 | * Added support for writing 32-bit floats via existing APIs. 10 | 11 | Bug fixes: 12 | 13 | * Fixed long strings concatenation failures when components were separated by comments. 14 | * Correctly interpret newline characters within text clob literals. 15 | * Allowed text writer to write timestamps with high-precision fractional seconds. 16 | * Fixed ion_timestamp_to_time_t on Windows. 17 | * Changed globals to use thread-local storage (TLS). 18 | * Fixed an issue causing lobs to skip some bytes when doing partial reads of ion-text. 19 | * Fail early when a numeric value is terminated by an invalid character. 20 | * Made ion_reader_get_type behavior consistent between text and binary writers. 21 | * Fixed an infinite loop that occurred when writing to a fixed-size buffer with insufficient space. 22 | * Fixed integer overflow bugs in `ion_int_from_long` and `ion_int_to_int64`. 23 | 24 | Tweaks: 25 | 26 | * Removed the CLI's dependency on docopt in favor of argtable3. 27 | * Added a space after a field name's colon when pretty-printing. 28 | * Added static build targets. 29 | * Removed `googletest` from all target. 30 | * Various CLI fixes and improvements. 31 | * Integrated [ion-test-driver](https://github.com/amazon-ion/ion-test-driver) support into GitHub Actions. 32 | 33 | | [Release Notes v1.4.0](https://github.com/amazon-ion/ion-c/releases/tag/v1.4.0) | [Ion C](https://github.com/amazon-ion/ion-c) | 34 | -------------------------------------------------------------------------------- /_posts/2021-04-07-ion-java-1_8_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.8.1 Released" 4 | date: 2021-04-07 5 | categories: news ion-java 6 | --- 7 | New features: 8 | 9 | * Added an option to configure whether top level values should be delimited by newlines. 10 | * Added an option to configure what line separator (eg. LF, CR+LF, etc) should be used. 11 | 12 | Bug fixes: 13 | 14 | * Unknown SIDs larger than INT_MAX now throw an IonException instead of a NumberFormatException. 15 | 16 | | [Release Notes v1.8.1](https://github.com/amazon-ion/ion-java/releases/tag/v1.8.1) | [Ion Java](https://github.com/amazon-ion/ion-java) | 17 | -------------------------------------------------------------------------------- /_posts/2021-05-07-ion-js-4_2_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion JS 4.2.0 and 4.2.1 Released" 4 | date: 2021-05-06 5 | categories: news ion-js 6 | --- 7 | 8 | API Changes: 9 | 10 | * Added position() API to Reader. 11 | * Added an equals() API for the DOM. 12 | * Timestamp’s constructor can now accept a Date instead of requiring individual time unit fields. 13 | * Reader.byteValue is now deprecated in favor of the new alias: Reader.uInt8ArrayValue, which is more descriptive. 14 | * Added support for duplicate fields in Struct for the DOM. 15 | 16 | Bug Fixes: 17 | 18 | * Fix length calculation for annotated containers. 19 | * Change how container type information is stored on the stepIn stack. 20 | * Fixed bug in the text parser that allowed unclosed structs at the end of a stream. 21 | * Fixes the elements() method for Struct to preserve 4.1.0 behavior. (Fixed with v4.2.1) 22 | 23 | Tweaks: 24 | 25 | * Generate the ES6 module correctly. 26 | * Performance improvements in unicode decoding. 27 | * Use number instead of BigInt for smaller values. (Performance optimization) 28 | 29 | 30 | | [Release Notes v4.2.0](https://github.com/amazon-ion/ion-js/releases/tag/v4.2.0) | [Release Notes v4.2.1](https://github.com/amazon-ion/ion-js/releases/tag/v4.2.1) | [Ion JS](https://github.com/amazon-ion/ion-js) | -------------------------------------------------------------------------------- /_posts/2021-07-09-ion-go-1_1_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Go 1.1.3 Released" 4 | date: 2021-07-09 5 | categories: news ion-go 6 | --- 7 | 8 | Ion Go 1.1.3 is now available. 9 | 10 | | [Release Notes v1.1.3](https://github.com/amazon-ion/ion-go/releases/tag/v1.1.3) | [Ion Go](https://github.com/amazon-ion/ion-go) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2021-07-13-ion-hash-go-1_1_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Go 1.1.2 Released" 4 | date: 2021-07-13 5 | categories: news ion-hash-go 6 | --- 7 | 8 | Ion Hash Go 1.1.2 is now available. 9 | 10 | | [Release Notes v1.1.2](https://github.com/amazon-ion/ion-hash-go/releases/tag/v1.1.2) | [Ion Hash Go](https://github.com/amazon-ion/ion-hash-go) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2021-07-13-ion-intellij-plugin-2_1_28-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.1.28 Released" 4 | date: 2021-07-13 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.1.28 is now available. 9 | 10 | | [Release Notes 2.1.28](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/2.1.28) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2021-09-10-ion-hash-python-1_2_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Python 1.2.1 Released" 4 | date: 2021-09-10 5 | categories: news ion-hash-python 6 | --- 7 | 8 | Ion Hash Python 1.2.1 is now available. 9 | 10 | | [Release Notes v1.2.1](https://github.com/amazon-ion/ion-hash-python/releases/tag/v1.2.1) | [Ion Hash Python](https://github.com/amazon-ion/ion-hash-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2021-10-13-ion-java-1_9_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.9.0 Released" 4 | date: 2021-10-13 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.9.0 is now available. 9 | 10 | | [Release Notes v1.9.0](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.0) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2021-11-29-ion-schema-kotlin-1_2_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.2.1 Released" 4 | date: 2021-11-29 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.2.1 is now available. 9 | 10 | | [Release Notes v1.2.1](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.2.1) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-02-02-ion-python-0_9_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.9.1 Released" 4 | date: 2022-02-02 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.9.1 is now available. 9 | 10 | | [Release Notes v0.9.1](https://github.com/amazon-ion/ion-python/releases/tag/v0.9.1) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-02-04-ion-hive-serde-0_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hive Serde 0.5.0 Released" 4 | date: 2022-02-04 5 | categories: news ion-hive-serde 6 | --- 7 | 8 | Ion Hive Serde 0.5.0 is now available. 9 | 10 | | [Release Notes v0.5.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v0.5.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-02-08-ion-dotnet-1_2_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Dotnet 1.2.2 Released" 4 | date: 2022-02-08 5 | categories: news ion-dotnet 6 | --- 7 | 8 | Ion Dotnet 1.2.2 is now available. 9 | 10 | | [Release Notes v1.2.2](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.2.2) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-02-15-ion-java-1_9_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.9.1 Released" 4 | date: 2022-02-15 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.9.1 is now available. 9 | 10 | | [Release Notes v1.9.1](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.1) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-02-17-ion-hive-serde-0_6_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hive Serde 0.6.0 Released" 4 | date: 2022-02-17 5 | categories: news ion-hive-serde 6 | --- 7 | 8 | Ion Hive Serde 0.6.0 is now available. 9 | 10 | | [Release Notes v0.6.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v0.6.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-03-01-ion-java-1_9_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.9.2 Released" 4 | date: 2022-03-01 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.9.2 is now available. 9 | 10 | | [Release Notes v1.9.2](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.2) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-03-15-ion-c-1_0_5-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.0.5 Released" 4 | date: 2022-03-15 5 | categories: news ion-c 6 | --- 7 | 8 | Ion C 1.0.5 is now available. 9 | 10 | | [Release Notes v1.0.5](https://github.com/amazon-ion/ion-c/releases/tag/v1.0.5) | [Ion C](https://github.com/amazon-ion/ion-c) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-03-15-ion-hive-serde-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hive Serde 1.0.0 Released" 4 | date: 2022-03-15 5 | categories: news ion-hive-serde 6 | --- 7 | 8 | Ion Hive Serde 1.0.0 is now available. 9 | 10 | | [Release Notes v1.0.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v1.0.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-03-17-ion-js-4_2_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Js 4.2.2 Released" 4 | date: 2022-03-17 5 | categories: news ion-js 6 | --- 7 | 8 | Ion Js 4.2.2 is now available. 9 | 10 | | [Release Notes v4.2.2](https://github.com/amazon-ion/ion-js/releases/tag/v4.2.2) | [Ion Js](https://github.com/amazon-ion/ion-js) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-03-23-ion-java-1_9_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.9.3 Released" 4 | date: 2022-03-23 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.9.3 is now available. 9 | 10 | | [Release Notes v1.9.3](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.3) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-03-28-ion-c-1_0_6-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.0.6 Released" 4 | date: 2022-03-28 5 | categories: news ion-c 6 | --- 7 | 8 | Ion C 1.0.6 is now available. 9 | 10 | | [Release Notes v1.0.6](https://github.com/amazon-ion/ion-c/releases/tag/v1.0.6) | [Ion C](https://github.com/amazon-ion/ion-c) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-04-05-ion-java-1_9_4-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.9.4 Released" 4 | date: 2022-04-05 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.9.4 is now available. 9 | 10 | | [Release Notes v1.9.4](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.4) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-05-04-ion-js-4_2_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Js 4.2.3 Released" 4 | date: 2022-05-04 5 | categories: news ion-js 6 | --- 7 | 8 | Ion Js 4.2.3 is now available. 9 | 10 | | [Release Notes v4.2.3](https://github.com/amazon-ion/ion-js/releases/tag/v4.2.3) | [Ion Js](https://github.com/amazon-ion/ion-js) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-05-06-ion-python-0_9_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.9.2 Released" 4 | date: 2022-05-06 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.9.2 is now available. 9 | 10 | | [Release Notes v0.9.2](https://github.com/amazon-ion/ion-python/releases/tag/v0.9.2) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-05-10-ion-js-4_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Js 4.3.0 Released" 4 | date: 2022-05-10 5 | categories: news ion-js 6 | --- 7 | 8 | Ion Js 4.3.0 is now available. 9 | 10 | | [Release Notes v4.3.0](https://github.com/amazon-ion/ion-js/releases/tag/v4.3.0) | [Ion Js](https://github.com/amazon-ion/ion-js) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-05-17-ion-rust-0_10_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 0.10.0 Released" 4 | date: 2022-05-17 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 0.10.0 is now available. 9 | 10 | | [Release Notes v0.10.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.10.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-05-28-ion-schema-rust-0_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.3.0 Released" 4 | date: 2022-05-28 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.3.0 is now available. 9 | 10 | | [Release Notes v0.3.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.3.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-05-31-ion-hash-dotnet-1_1_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Dotnet 1.1.1 Released" 4 | date: 2022-05-31 5 | categories: news ion-hash-dotnet 6 | --- 7 | 8 | Ion Hash Dotnet 1.1.1 is now available. 9 | 10 | | [Release Notes v1.1.1](https://github.com/amazon-ion/ion-hash-dotnet/releases/tag/v1.1.1) | [Ion Hash Dotnet](https://github.com/amazon-ion/ion-hash-dotnet) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-06-29-ion-element-kotlin-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Element Kotlin 1.0.0 Released" 4 | date: 2022-06-29 5 | categories: news ion-element-kotlin 6 | --- 7 | 8 | Ion Element Kotlin 1.0.0 is now available. 9 | 10 | | [Release Notes v1.0.0](https://github.com/amazon-ion/ion-element-kotlin/releases/tag/v1.0.0) | [Ion Element Kotlin](https://github.com/amazon-ion/ion-element-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-06-29-ion-schema-kotlin-1_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.3.0 Released" 4 | date: 2022-06-29 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.3.0 is now available. 9 | 10 | | [Release Notes v1.3.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.3.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-07-14-ion-schema-rust-0_4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.4.0 Released" 4 | date: 2022-07-14 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.4.0 is now available. 9 | 10 | | [Release Notes v0.4.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.4.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-07-26-rfc-ion-schema-2_0-public-comment.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "RFC: Ion Schema 2.0 - Open for Comment" 4 | date: 2022-07-26 5 | categories: news ion-schema 6 | --- 7 | 8 | An RFC was published to the [Ion Schema](https://github.com/amazon-ion/ion-schema) GitHub repository proposing a new major version of Ion Schema. Questions, comments, and suggestions are welcome and can be added to the ‘Conversation’ tab of the pull request or linked issues. 9 | 10 | The public comment period for this RFC is open until 21 August 2022. 11 | 12 | | [Ion Schema 2.0 RFC](https://github.com/amazon-ion/ion-schema/pull/69) | 13 | -------------------------------------------------------------------------------- /_posts/2022-08-16-community-supported-php-library-added.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ext Ion, A Community Supported PHP Library" 4 | date: 2022-08-16 5 | categories: news ion-php 6 | --- 7 | 8 | Ext Ion, [link](https://github.com/awesomized/ext-ion), is a PHP library for Ion from Awesomized, the developers behind SmugMug. The library wraps ion-c and is available for installation on PECL with `pecl install ion`. 9 | 10 | The library is listed on the [libraries page](https://amazon-ion.github.io/ion-docs/libs.html) under Community Supported Libraries. 11 | 12 | | [Ext Ion](https://github.com/awesomized/ext-ion) | [Community Supported Libraries](https://amazon-ion.github.io/ion-docs/libs.html#community-supported-libraries) | 13 | -------------------------------------------------------------------------------- /_posts/2022-08-17-ion-java-1_9_5-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.9.5 Released" 4 | date: 2022-08-17 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.9.5 is now available. 9 | 10 | | [Release Notes v1.9.5](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.5) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-08-19-ion-python-0_9_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.9.3 Released" 4 | date: 2022-08-19 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.9.3 is now available. 9 | 10 | | [Release Notes v0.9.3](https://github.com/amazon-ion/ion-python/releases/tag/v0.9.3) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-08-24-ion-cli-homebrew.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion CLI now available through Homebrew" 4 | date: 2022-08-24 5 | categories: news ion-cli 6 | --- 7 | 8 | The [Ion CLI](https://github.com/amazon-ion/ion-cli) is now available to install using Homebrew, a free and open-source software package management system for macOS and Linux. 9 | 10 | To install the latest version of Ion CLI (currently [v0.4.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.4.1)), run: 11 | ```shell 12 | brew tap amazon-ion/ion-cli 13 | brew install ion-cli 14 | ``` 15 | 16 | If you have any suggestions or encounter any problems using the Ion CLI, [create an issue in `ion-cli`](https://github.com/amazon-ion/ion-cli/issues/new). 17 | For issues specifically related to installing via Homebrew, [create an issue in `homebrew-ion-cli`](https://github.com/amazon-ion/homebrew-ion-cli/issues/new/choose). 18 | 19 | To learn more about using Homebrew in general, visit [brew.sh](https://brew.sh/). 20 | -------------------------------------------------------------------------------- /_posts/2022-08-25-rfc-ion-schema-2_0-approved.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "RFC: Ion Schema 2.0 - Approved" 4 | date: 2022-08-25 5 | categories: news ion-schema 6 | --- 7 | 8 | [RFC: Ion Schema 2.0](https://amazon-ion.github.io/ion-schema/rfcs/ion_schema_2_0/ion_schema_2_0) as been approved. 9 | A new version of the Ion Schema Specification that incorporates these changes will be published in the coming weeks. 10 | -------------------------------------------------------------------------------- /_posts/2022-09-02-ion-rust-0_13_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 0.13.0 Released" 4 | date: 2022-09-02 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 0.13.0 is now available. 9 | 10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.13.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-09-12-new-tool-ion-schema-sandbox.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "New Tool: Ion Schema Sandbox" 4 | date: 2022-09-12 5 | categories: news ion-schema 6 | --- 7 | 8 | A browser-based sandbox environment for Ion Schema has been added to the Ion Schema website. 9 | 10 | This sandbox can be used to validate Ion values for a particular type defined in Ion Schema. 11 | The sandbox is created using `ion-schema-rust` latest pre-release version. 12 | 13 | | [Ion Schema Sandbox](https://amazon-ion.github.io/ion-schema/sandbox) | 14 | -------------------------------------------------------------------------------- /_posts/2022-09-13-ion-schema-rust-0_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.5.0 Released" 4 | date: 2022-09-13 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.5.0 is now available. 9 | 10 | | [Release Notes v0.5.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.5.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-09-14-ion-intellij-plugin-2_1_34-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.1.34 Released" 4 | date: 2022-09-14 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.1.34 is now available. 9 | 10 | | [Release Notes 2.1.34](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/2.1.34) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-09-15-ion-hive-serde-1_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hive Serde 1.1.0 Released" 4 | date: 2022-09-15 5 | categories: news ion-hive-serde 6 | --- 7 | 8 | Ion Hive Serde 1.1.0 is now available. 9 | 10 | | [Release Notes v1.1.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v1.1.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-10-04-ion-hive-serde-1_2_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hive Serde 1.2.0 Released" 4 | date: 2022-10-04 5 | categories: news ion-hive-serde 6 | --- 7 | 8 | Ion Hive Serde 1.2.0 is now available. 9 | 10 | | [Release Notes v1.2.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v1.2.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-11-10-ion-schema-kotlin-1_4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.4.0 Released" 4 | date: 2022-11-10 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.4.0 is now available. 9 | 10 | | [Release Notes v1.4.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.4.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-11-16-ion-schema-rust-0_6_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.6.0 Released" 4 | date: 2022-11-16 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.6.0 is now available. 9 | 10 | | [Release Notes v0.6.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.6.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-12-05-ion-intellij-plugin-2_2_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.2.0 Released" 4 | date: 2022-12-05 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.2.0 is now available. 9 | 10 | | [Release Notes 2.2.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/2.2.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-12-06-ion-c-1_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.1.0 Released" 4 | date: 2022-12-06 5 | categories: news ion-c 6 | --- 7 | 8 | Ion C 1.1.0 is now available. 9 | 10 | | [Release Notes v1.1.0](https://github.com/amazon-ion/ion-c/releases/tag/v1.1.0) | [Ion C](https://github.com/amazon-ion/ion-c) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-12-19-ion-dotnet-1_2_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Dotnet 1.2.3 Released" 4 | date: 2022-12-19 5 | categories: news ion-dotnet 6 | --- 7 | 8 | Ion Dotnet 1.2.3 is now available. 9 | 10 | | [Release Notes v1.2.3](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.2.3) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-12-20-ion-dotnet-1_2_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Dotnet 1.2.3 Released" 4 | date: 2022-12-20 5 | categories: news ion-dotnet 6 | --- 7 | 8 | Ion Dotnet 1.2.3 is now available. 9 | 10 | | [Release Notes v1.2.3](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.2.3) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-12-27-ion-rust-0_15_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 0.15.0 Released" 4 | date: 2022-12-27 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 0.15.0 is now available. 9 | 10 | | [Release Notes v0.15.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.15.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-02-01-ion-go-1_2_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Go 1.2.0 Released" 4 | date: 2023-02-01 5 | categories: news ion-go 6 | --- 7 | 8 | Ion Go 1.2.0 is now available. 9 | 10 | | [Release Notes v1.2.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.2.0) | [Ion Go](https://github.com/amazon-ion/ion-go) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-02-14-ion-python-0_10_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.10.0 Released" 4 | date: 2023-02-14 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.10.0 is now available. 9 | 10 | | [Release Notes v0.10.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.10.0) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-02-22-ion-c-1_1_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.1.1 Released" 4 | date: 2023-02-22 5 | categories: news ion-c 6 | --- 7 | 8 | Ion C 1.1.1 is now available. 9 | 10 | | [Release Notes v1.1.1](https://github.com/amazon-ion/ion-c/releases/tag/v1.1.1) | [Ion C](https://github.com/amazon-ion/ion-c) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-03-14-ion-schema-kotlin-1_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.5.0 Released" 4 | date: 2023-03-14 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.5.0 is now available. 9 | 10 | | [Release Notes v1.5.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.5.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-03-17-ion-schema-kotlin-1_5_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.5.1 Released" 4 | date: 2023-03-17 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.5.1 is now available. 9 | 10 | | [Release Notes v1.5.1](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.5.1) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-03-18-ion-rust-0_16_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 0.16.0 Released" 4 | date: 2023-03-18 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 0.16.0 is now available. 9 | 10 | | [Release Notes v0.16.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.16.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-03-28-ion-c-1_1_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.1.2 Released" 4 | date: 2023-03-28 5 | categories: news ion-c 6 | --- 7 | 8 | Ion C 1.1.2 is now available. 9 | 10 | | [Release Notes v1.1.2](https://github.com/amazon-ion/ion-c/releases/tag/v1.1.2) | [Ion C](https://github.com/amazon-ion/ion-c) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-03-29-ion-go-1_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Go 1.3.0 Released" 4 | date: 2023-03-29 5 | categories: news ion-go 6 | --- 7 | 8 | Ion Go 1.3.0 is now available. 9 | 10 | | [Release Notes v1.3.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.3.0) | [Ion Go](https://github.com/amazon-ion/ion-go) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-04-12-ion-java-1_9_6-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.9.6 Released" 4 | date: 2023-04-12 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.9.6 is now available. 9 | 10 | | [Release Notes v1.9.6](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.6) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-04-19-ion-rust-0_17_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 0.17.0 Released" 4 | date: 2023-04-19 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 0.17.0 is now available. 9 | 10 | | [Release Notes v0.17.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.17.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-04-25-ion-js-5_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Js 5.0.0 Released" 4 | date: 2023-04-25 5 | categories: news ion-js 6 | --- 7 | 8 | Ion Js 5.0.0 is now available. 9 | 10 | | [Release Notes v5.0.0](https://github.com/amazon-ion/ion-js/releases/tag/v5.0.0) | [Ion Js](https://github.com/amazon-ion/ion-js) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-04-26-ion-schema-rust-0_7_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.7.0 Released" 4 | date: 2023-04-26 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.7.0 is now available. 9 | 10 | | [Release Notes v0.7.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.7.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-05-12-ion-element-kotlin-1_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Element Kotlin 1.1.0 Released" 4 | date: 2023-05-12 5 | categories: news ion-element-kotlin 6 | --- 7 | 8 | Ion Element Kotlin 1.1.0 is now available. 9 | 10 | | [Release Notes v1.1.0](https://github.com/amazon-ion/ion-element-kotlin/releases/tag/v1.1.0) | [Ion Element Kotlin](https://github.com/amazon-ion/ion-element-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-06-06-ion-intellij-plugin-2_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.3.0 Released" 4 | date: 2023-06-06 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.3.0 is now available. 9 | 10 | | [Release Notes v2.3.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.3.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-06-06-ion-schema-kotlin-1_6_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.6.0 Released" 4 | date: 2023-06-06 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.6.0 is now available. 9 | 10 | | [Release Notes v1.6.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.6.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-06-09-ion-rust-0_18_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 0.18.1 Released" 4 | date: 2023-06-09 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 0.18.1 is now available. 9 | 10 | | [Release Notes v0.18.1](https://github.com/amazon-ion/ion-rust/releases/tag/v0.18.1) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-06-15-ion-schema-rust-0_8_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.8.0 Released" 4 | date: 2023-06-15 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.8.0 is now available. 9 | 10 | | [Release Notes v0.8.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.8.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-06-21-ion-schema-kotlin-1_6_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.6.1 Released" 4 | date: 2023-06-21 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.6.1 is now available. 9 | 10 | | [Release Notes v1.6.1](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.6.1) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-06-28-ion-schema-rust-0_9_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.9.0 Released" 4 | date: 2023-06-28 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.9.0 is now available. 9 | 10 | | [Release Notes v0.9.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.9.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-06-29-ion-schema-rust-0_9_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.9.1 Released" 4 | date: 2023-06-29 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.9.1 is now available. 9 | 10 | | [Release Notes v0.9.1](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.9.1) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-07-13-ion-intellij-plugin-2_3_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.3.1 Released" 4 | date: 2023-07-13 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.3.1 is now available. 9 | 10 | | [Release Notes v2.3.1](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.3.1) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-07-18-ion-java-1_10_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.10.1 Released" 4 | date: 2023-07-18 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.10.1 is now available. 9 | 10 | | [Release Notes v1.10.1](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.1) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-07-19-ion-intellij-plugin-2_3_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.3.2 Released" 4 | date: 2023-07-19 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.3.2 is now available. 9 | 10 | | [Release Notes v2.3.2](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.3.2) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-07-19-ion-rust-1_0_0-rc_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.1 Released" 4 | date: 2023-07-19 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.1 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.1](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.1) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-07-20-ion-java-1_10_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.10.2 Released" 4 | date: 2023-07-20 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.10.2 is now available. 9 | 10 | | [Release Notes v1.10.2](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.2) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-07-24-ion-js-5_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Js 5.1.0 Released" 4 | date: 2023-07-24 5 | categories: news ion-js 6 | --- 7 | 8 | Ion Js 5.1.0 is now available. 9 | 10 | | [Release Notes v5.1.0](https://github.com/amazon-ion/ion-js/releases/tag/v5.1.0) | [Ion Js](https://github.com/amazon-ion/ion-js) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-08-01-ion-intellij-plugin-2_4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.4.0 Released" 4 | date: 2023-08-01 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.4.0 is now available. 9 | 10 | | [Release Notes v2.4.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.4.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-08-30-ion-hash-go-1_2_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Go 1.2.0 Released" 4 | date: 2023-08-30 5 | categories: news ion-hash-go 6 | --- 7 | 8 | Ion Hash Go 1.2.0 is now available. 9 | 10 | | [Release Notes v1.2.0](https://github.com/amazon-ion/ion-hash-go/releases/tag/v1.2.0) | [Ion Hash Go](https://github.com/amazon-ion/ion-hash-go) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-09-07-ion-js-5_2_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Js 5.2.0 Released" 4 | date: 2023-09-07 5 | categories: news ion-js 6 | --- 7 | 8 | Ion Js 5.2.0 is now available. 9 | 10 | | [Release Notes v5.2.0](https://github.com/amazon-ion/ion-js/releases/tag/v5.2.0) | [Ion Js](https://github.com/amazon-ion/ion-js) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-09-12-ion-java-1_10_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.10.3 Released" 4 | date: 2023-09-12 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.10.3 is now available. 9 | 10 | | [Release Notes v1.10.3](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.3) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-09-14-ion-java-1_10_4-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.10.4 Released" 4 | date: 2023-09-14 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.10.4 is now available. 9 | 10 | | [Release Notes v1.10.4](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.4) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-09-19-ion-java-1_10_5-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.10.5 Released" 4 | date: 2023-09-19 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.10.5 is now available. 9 | 10 | | [Release Notes v1.10.5](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.5) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-10-09-ion-python-0_11_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.11.0 Released" 4 | date: 2023-10-09 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.11.0 is now available. 9 | 10 | | [Release Notes v0.11.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.11.0) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-10-10-ion-python-0_11_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.11.1 Released" 4 | date: 2023-10-10 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.11.1 is now available. 9 | 10 | | [Release Notes v0.11.1](https://github.com/amazon-ion/ion-python/releases/tag/v0.11.1) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-11-02-ion-schema-rust-0_10_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.10.0 Released" 4 | date: 2023-11-02 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.10.0 is now available. 9 | 10 | | [Release Notes v0.10.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.10.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-11-03-ion-java-1_11_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.0 Released" 4 | date: 2023-11-03 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.0 is now available. 9 | 10 | | [Release Notes v1.11.0](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.0) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-11-13-ion-dotnet-1_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Dotnet 1.3.0 Released" 4 | date: 2023-11-13 5 | categories: news ion-dotnet 6 | --- 7 | 8 | Ion Dotnet 1.3.0 is now available. 9 | 10 | | [Release Notes v1.3.0](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.3.0) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-11-13-ion-schema-kotlin-1_7_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.7.0 Released" 4 | date: 2023-11-13 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.7.0 is now available. 9 | 10 | | [Release Notes v1.7.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.7.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-11-17-ion-python-0_11_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.11.2 Released" 4 | date: 2023-11-17 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.11.2 is now available. 9 | 10 | | [Release Notes v0.11.2](https://github.com/amazon-ion/ion-python/releases/tag/v0.11.2) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-11-30-ion-python-0_11_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.11.3 Released" 4 | date: 2023-11-30 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.11.3 is now available. 9 | 10 | | [Release Notes v0.11.3](https://github.com/amazon-ion/ion-python/releases/tag/v0.11.3) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-12-13-ion-element-kotlin-1_2_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Element Kotlin 1.2.0 Released" 4 | date: 2023-12-13 5 | categories: news ion-element-kotlin 6 | --- 7 | 8 | Ion Element Kotlin 1.2.0 is now available. 9 | 10 | | [Release Notes v1.2.0](https://github.com/amazon-ion/ion-element-kotlin/releases/tag/v1.2.0) | [Ion Element Kotlin](https://github.com/amazon-ion/ion-element-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-12-15-ion-schema-kotlin-1_8_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.8.0 Released" 4 | date: 2023-12-15 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.8.0 is now available. 9 | 10 | | [Release Notes v1.8.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.8.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2023-12-19-ion-hash-js-2_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Hash Js 2.1.0 Released" 4 | date: 2023-12-19 5 | categories: news ion-hash-js 6 | --- 7 | 8 | Ion Hash Js 2.1.0 is now available. 9 | 10 | | [Release Notes v2.1.0](https://github.com/amazon-ion/ion-hash-js/releases/tag/v2.1.0) | [Ion Hash Js](https://github.com/amazon-ion/ion-hash-js) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-01-02-ion-intellij-plugin-2_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.5.0 Released" 4 | date: 2024-01-02 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.5.0 is now available. 9 | 10 | | [Release Notes v2.5.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.5.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-01-18-ion-java-1_11_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.1 Released" 4 | date: 2024-01-18 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.1 is now available. 9 | 10 | | [Release Notes v1.11.1](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.1) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-02-01-ion-cli-0_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.5.0 Released" 4 | date: 2024-02-01 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.5.0 is now available. 9 | 10 | | [Release Notes v0.5.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.5.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-02-08-ion-cli-0_5_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.5.1 Released" 4 | date: 2024-02-08 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.5.1 is now available. 9 | 10 | | [Release Notes v0.5.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.5.1) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-02-08-ion-java-1_11_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.2 Released" 4 | date: 2024-02-08 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.2 is now available. 9 | 10 | | [Release Notes v1.11.2](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.2) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-02-08-ion-rust-1_0_0-rc_2-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.2 Released" 4 | date: 2024-02-08 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.2 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.2](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.2) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-02-16-ion-python-0_12_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.12.0 Released" 4 | date: 2024-02-16 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.12.0 is now available. 9 | 10 | | [Release Notes v0.12.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.12.0) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-02-21-ion-java-1_11_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.3 Released" 4 | date: 2024-02-21 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.3 is now available. 9 | 10 | | [Release Notes v1.11.3](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.3) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-02-23-ion-rust-1_0_0-rc_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.3 Released" 4 | date: 2024-02-23 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.3 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.3](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.3) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-03-01-ion-java-1_11_4-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.4 Released" 4 | date: 2024-03-01 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.4 is now available. 9 | 10 | | [Release Notes v1.11.4](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.4) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-03-11-ion-schema-rust-0_11_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.11.0 Released" 4 | date: 2024-03-11 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.11.0 is now available. 9 | 10 | | [Release Notes v0.11.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.11.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-04-12-ion-schema-rfc-process-public-comment.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "RFC: Ion Schema RFC Process - Open for Comment" 4 | date: 2024-04-12 5 | categories: news ion-schema 6 | --- 7 | 8 | An RFC was published to the [Ion Schema](https://github.com/amazon-ion/ion-schema) GitHub repository proposing a process for RFCs that modify the Ion Schema Language. 9 | Questions, comments, and suggestions are welcome and can be added to the ‘Conversation’ tab of the pull request. 10 | 11 | The public comment period for this RFC is open until 10 May 2024. 12 | 13 | | [Ion Schema RFC Process](https://github.com/amazon-ion/ion-schema/pull/133) | 14 | -------------------------------------------------------------------------------- /_posts/2024-04-19-ion-intellij-plugin-2_6_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.6.0 Released" 4 | date: 2024-04-19 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.6.0 is now available. 9 | 10 | | [Release Notes v2.6.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.6.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-04-23-ion-java-1_11_6-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.6 Released" 4 | date: 2024-04-23 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.6 is now available. 9 | 10 | | [Release Notes v1.11.6](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.6) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-04-24-ion-java-1_11_7-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.7 Released" 4 | date: 2024-04-24 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.7 is now available. 9 | 10 | | [Release Notes v1.11.7](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.7) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-04-26-ion-go-1_4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Go 1.4.0 Released" 4 | date: 2024-04-26 5 | categories: news ion-go 6 | --- 7 | 8 | Ion Go 1.4.0 is now available. 9 | 10 | | [Release Notes v1.4.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.4.0) | [Ion Go](https://github.com/amazon-ion/ion-go) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-04-30-ion-js-5_2_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Js 5.2.1 Released" 4 | date: 2024-04-30 5 | categories: news ion-js 6 | --- 7 | 8 | Ion Js 5.2.1 is now available. 9 | 10 | | [Release Notes v5.2.1](https://github.com/amazon-ion/ion-js/releases/tag/v5.2.1) | [Ion Js](https://github.com/amazon-ion/ion-js) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-05-09-ion-java-1_11_8-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.8 Released" 4 | date: 2024-05-09 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.8 is now available. 9 | 10 | | [Release Notes v1.11.8](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.8) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-05-31-ion-rust-1_0_0-rc_4-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.4 Released" 4 | date: 2024-05-31 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.4 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.4](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.4) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-06-03-ion-rust-1_0_0-rc_5-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.5 Released" 4 | date: 2024-06-03 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.5 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.5](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.5) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-06-06-ion-cli-0_6_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.6.0 Released" 4 | date: 2024-06-06 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.6.0 is now available. 9 | 10 | | [Release Notes v0.6.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.6.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-06-06-ion-go-1_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Go 1.5.0 Released" 4 | date: 2024-06-06 5 | categories: news ion-go 6 | --- 7 | 8 | Ion Go 1.5.0 is now available. 9 | 10 | | [Release Notes v1.5.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.5.0) | [Ion Go](https://github.com/amazon-ion/ion-go) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-06-06-ion-rust-1_0_0-rc_6-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.6 Released" 4 | date: 2024-06-06 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.6 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.6](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.6) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-06-07-ion-cli-0_6_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.6.1 Released" 4 | date: 2024-06-07 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.6.1 is now available. 9 | 10 | | [Release Notes v0.6.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.6.1) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-06-11-ion-intellij-plugin-2_6_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.6.1 Released" 4 | date: 2024-06-11 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.6.1 is now available. 9 | 10 | | [Release Notes v2.6.1](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.6.1) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-07-03-ion-java-1_11_9-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.9 Released" 4 | date: 2024-07-03 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.9 is now available. 9 | 10 | | [Release Notes v1.11.9](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.9) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-07-30-ion-c-1_1_3-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion C 1.1.3 Released" 4 | date: 2024-07-30 5 | categories: news ion-c 6 | --- 7 | 8 | Ion C 1.1.3 is now available. 9 | 10 | | [Release Notes v1.1.3](https://github.com/amazon-ion/ion-c/releases/tag/v1.1.3) | [Ion C](https://github.com/amazon-ion/ion-c) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-08-23-ion-rust-1_0_0-rc_7-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.7 Released" 4 | date: 2024-08-23 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.7 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.7](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.7) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-08-23-ion-schema-rust-0_12_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.12.0 Released" 4 | date: 2024-08-23 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.12.0 is now available. 9 | 10 | | [Release Notes v0.12.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.12.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-08-26-ion-cli-0_7_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.7.0 Released" 4 | date: 2024-08-26 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.7.0 is now available. 9 | 10 | | [Release Notes v0.7.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.7.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-09-19-ion-element-kotlin-1_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Element Kotlin 1.3.0 Released" 4 | date: 2024-09-19 5 | categories: news ion-element-kotlin 6 | --- 7 | 8 | Ion Element Kotlin 1.3.0 is now available. 9 | 10 | | [Release Notes v1.3.0](https://github.com/amazon-ion/ion-element-kotlin/releases/tag/v1.3.0) | [Ion Element Kotlin](https://github.com/amazon-ion/ion-element-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-09-19-ion-java-path-extraction-1_4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java Path Extraction 1.4.0 Released" 4 | date: 2024-09-19 5 | categories: news ion-java-path-extraction 6 | --- 7 | 8 | Ion Java Path Extraction 1.4.0 is now available. 9 | 10 | | [Release Notes v1.4.0](https://github.com/amazon-ion/ion-java-path-extraction/releases/tag/v1.4.0) | [Ion Java Path Extraction](https://github.com/amazon-ion/ion-java-path-extraction) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-09-23-ion-schema-rust-0_13_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.13.0 Released" 4 | date: 2024-09-23 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.13.0 is now available. 9 | 10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.13.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-10-07-ion-intellij-plugin-2_7_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Intellij Plugin 2.7.0 Released" 4 | date: 2024-10-07 5 | categories: news ion-intellij-plugin 6 | --- 7 | 8 | Ion Intellij Plugin 2.7.0 is now available. 9 | 10 | | [Release Notes v2.7.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.7.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-10-14-ion-rust-1_0_0-rc_8-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.8 Released" 4 | date: 2024-10-14 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.8 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.8](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.8) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-10-15-ion-schema-rust-0_14_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.14.0 Released" 4 | date: 2024-10-15 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.14.0 is now available. 9 | 10 | | [Release Notes v0.14.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.14.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-10-21-ion-cli-0_7_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.7.1 Released" 4 | date: 2024-10-21 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.7.1 is now available. 9 | 10 | | [Release Notes v0.7.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.7.1) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-10-28-ion-cli-0_8_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.8.0 Released" 4 | date: 2024-10-28 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.8.0 is now available. 9 | 10 | | [Release Notes v0.8.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.8.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-10-28-ion-schema-rust-0_14_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.14.1 Released" 4 | date: 2024-10-28 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.14.1 is now available. 9 | 10 | | [Release Notes v0.14.1](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.14.1) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-11-05-ion-cli-0_9_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.9.0 Released" 4 | date: 2024-11-05 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.9.0 is now available. 9 | 10 | | [Release Notes v0.9.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.9.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-11-06-ion-cli-0_9_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.9.1 Released" 4 | date: 2024-11-06 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.9.1 is now available. 9 | 10 | | [Release Notes v0.9.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.9.1) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-11-06-ion-rust-1_0_0-rc_9-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.9 Released" 4 | date: 2024-11-06 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.9 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.9](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.9) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-11-12-ion-python-0_13_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.13.0 Released" 4 | date: 2024-11-12 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.13.0 is now available. 9 | 10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.13.0) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-11-14-ion-python-0_13_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.13.0 Released" 4 | date: 2024-11-14 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.13.0 is now available. 9 | 10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.13.0) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-11-18-ion-python-0_13_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.13.0 Released" 4 | date: 2024-11-18 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.13.0 is now available. 9 | 10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.13.0) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-12-07-ion-python-0_13_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Python 0.13.0 Released" 4 | date: 2024-12-07 5 | categories: news ion-python 6 | --- 7 | 8 | Ion Python 0.13.0 is now available. 9 | 10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.13.0) | [Ion Python](https://github.com/amazon-ion/ion-python) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-12-13-ion-rust-1_0_0-rc_10-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.10 Released" 4 | date: 2024-12-13 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.10 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.10](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.10) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-12-13-ion-schema-rust-0_15_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.15.0 Released" 4 | date: 2024-12-13 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.15.0 is now available. 9 | 10 | | [Release Notes v0.15.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.15.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2024-12-14-ion-cli-0_10_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.10.0 Released" 4 | date: 2024-12-14 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.10.0 is now available. 9 | 10 | | [Release Notes v0.10.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.10.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2025-01-09-ion-java-path-extraction-_1_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java Path Extraction .1.5.0 Released" 4 | date: 2025-01-09 5 | categories: news ion-java-path-extraction 6 | --- 7 | 8 | Ion Java Path Extraction .1.5.0 is now available. 9 | 10 | | [Release Notes v.1.5.0](https://github.com/amazon-ion/ion-java-path-extraction/releases/tag/v.1.5.0) | [Ion Java Path Extraction](https://github.com/amazon-ion/ion-java-path-extraction) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2025-01-09-ion-rust-1_0_0-rc_11-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Rust 1.0.0-rc.11 Released" 4 | date: 2025-01-09 5 | categories: news ion-rust 6 | --- 7 | 8 | Ion Rust 1.0.0-rc.11 is now available. 9 | 10 | | [Release Notes v1.0.0-rc.11](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.11) | [Ion Rust](https://github.com/amazon-ion/ion-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2025-01-10-ion-cli-0_11_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Cli 0.11.0 Released" 4 | date: 2025-01-10 5 | categories: news ion-cli 6 | --- 7 | 8 | Ion Cli 0.11.0 is now available. 9 | 10 | | [Release Notes v0.11.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.11.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2025-01-23-ion-java-1_11_10-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Java 1.11.10 Released" 4 | date: 2025-01-23 5 | categories: news ion-java 6 | --- 7 | 8 | Ion Java 1.11.10 is now available. 9 | 10 | | [Release Notes v1.11.10](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.10) | [Ion Java](https://github.com/amazon-ion/ion-java) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2025-02-05-ion-dotnet-1_3_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Dotnet 1.3.1 Released" 4 | date: 2025-02-05 5 | categories: news ion-dotnet 6 | --- 7 | 8 | Ion Dotnet 1.3.1 is now available. 9 | 10 | | [Release Notes v1.3.1](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.3.1) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2025-02-26-ion-1_1-final-comment-period.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion 1.1 Final Comment Period" 4 | date: 2025-02-26 5 | categories: news specification 6 | --- 7 | 8 | ### Ion 1.1 Final Comment Period 9 | 10 | We are pleased to announce that [the Ion 1.1 draft specification](https://amazon-ion.github.io/ion-docs/books/ion-1-1/whats_new.html) is now entering its final public comment period, which runs from today, February 26th, **until Wednesday, March 12th**. 11 | 12 | #### What's new 13 | 14 | Ion 1.1 brings significant changes to the binary encoding, including: 15 | * **Delimited containers.** Ion 1.0 required all containers to be length-prefixed, which forced the writer to buffer their serialized contents. In Ion 1.1, writers can choose to serialize child values or fields incrementally, optimizing write performance at the expense of slower skip-scanning on the read side. 16 | * **Symbol tokens with inline text.** In binary Ion 1.0, it is not possible to write a symbol, annotation, or struct field name if it has not previously been added to the symbol table. This constraint that does not exist in text Ion 1.0, in which a writer can simply write the text at the usage site. Ion 1.1 adds a binary encoding for symbol tokens with inline text, allowing the writer to choose whether and when symbol token text should be interned. 17 | * **Optimized encoding primitives.** Ion 1.1 switches to [Little-Endian](https://en.wikipedia.org/wiki/Endianness) encoding primitives and a more efficient representation for variable-width integers. Benchmarks found these to be 1.5-3x faster to read and write on both `x86_64` and `aarch64` systems. 18 | * **Optimized timestamp encodings.** Timestamps no longer encode their sub-field components as octet-aligned fields. Instead, Ion 1.1 timestamps have a packed bit encoding which makes common timestamp precisions easily fit in a 64-bit word. 19 | 20 | Ion 1.1 also introduces [_macros_](https://amazon-ion.github.io/ion-docs/books/ion-1-1/macros.html), which allow users to define fill-in-the-blank templates for their data. These templates can capture not only the structure/shape of one or more values, they can capture entire values as well. This feature enables applications to focus on encoding and decoding the parts of the data that are distinctive, skipping the work that would normally be needed to encode the boilerplate. 21 | 22 | #### Submitting Feedback 23 | 24 | Feedback may be submitted by: 25 | * [Opening an issue](https://github.com/amazon-ion/ion-docs/issues/new) on the `ion-docs` GitHub repository 26 | * Emailing ion-team@amazon.com 27 | 28 | Please note that Ion 1.1 is a minor version bump, and as such cannot change the Ion data model. In particular, it cannot add or remove data types or otherwise make it impossible to represent legal Ion 1.0 data in Ion 1.1. 29 | 30 | All comments will be reviewed and addressed before the specification is finalized. 31 | 32 | Thank you for your continued interest in Ion's development! 33 | 34 | Best, 35 | 36 | The Ion Team 37 | 38 | 39 | -------------------------------------------------------------------------------- /_posts/2025-03-12-ion-1_1-final-comment-period-closed.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion 1.1 Final Comment Period Complete" 4 | date: 2025-03-12 5 | categories: news specification 6 | --- 7 | 8 | ### Ion 1.1 Final Comment Period Complete 9 | 10 | The final public comment period for the Ion 1.1 specification is now closed. 11 | 12 | We’d like to thank everyone who took the time to submit their feedback; we received some very helpful input. We’ll be working to incorporate these suggestions and improvements in the coming weeks and will post another notice when they have been added to the published specification. 13 | 14 | Best, 15 | 16 | The Ion Team 17 | -------------------------------------------------------------------------------- /_sass/_base.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Reset some basic elements 3 | */ 4 | body, h1, h2, h3, h4, h5, h6, 5 | p, blockquote, pre, hr, 6 | dl, dd, ol, ul, figure { 7 | margin: 0; 8 | padding: 0; 9 | } 10 | 11 | 12 | 13 | /** 14 | * Basic styling 15 | */ 16 | body { 17 | font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family; 18 | color: $text-color; 19 | background-color: $background-color; 20 | -webkit-text-size-adjust: 100%; 21 | -webkit-font-feature-settings: "kern" 1; 22 | -moz-font-feature-settings: "kern" 1; 23 | -o-font-feature-settings: "kern" 1; 24 | font-feature-settings: "kern" 1; 25 | font-kerning: normal; 26 | } 27 | 28 | table { 29 | margin: 0 0 20px 0; 30 | text-align: left; 31 | } 32 | 33 | /** 34 | * Set `margin-bottom` to maintain vertical rhythm 35 | */ 36 | h1, h2, h3, h4, h5, h6, 37 | p, blockquote, pre, 38 | ul, ol, dl, figure, 39 | %vertical-rhythm { 40 | margin-bottom: $spacing-unit / 2; 41 | } 42 | 43 | 44 | 45 | /** 46 | * Images 47 | */ 48 | img { 49 | max-width: 100%; 50 | vertical-align: middle; 51 | } 52 | 53 | 54 | 55 | /** 56 | * Figures 57 | */ 58 | figure > img { 59 | display: block; 60 | } 61 | 62 | figcaption { 63 | font-size: $small-font-size; 64 | } 65 | 66 | 67 | 68 | /** 69 | * Lists 70 | */ 71 | ul, ol { 72 | margin-left: $spacing-unit; 73 | } 74 | 75 | li { 76 | > ul, 77 | > ol { 78 | margin-bottom: 0; 79 | } 80 | } 81 | 82 | 83 | 84 | /** 85 | * Headings 86 | */ 87 | h1, h2, h3, h4, h5, h6 { 88 | font-weight: $base-font-weight+200; 89 | 90 | code { 91 | font-size: inherit; 92 | } 93 | } 94 | 95 | 96 | 97 | /** 98 | * Links 99 | */ 100 | a { 101 | color: $brand-color; 102 | text-decoration: none; 103 | 104 | &:visited { 105 | color: darken($brand-color, 10%); 106 | } 107 | 108 | &:hover { 109 | color: $text-color; 110 | text-decoration: underline; 111 | } 112 | } 113 | 114 | 115 | 116 | /** 117 | * Blockquotes 118 | */ 119 | blockquote { 120 | color: $grey-color; 121 | border-left: 4px solid $grey-color-light; 122 | padding: $spacing-unit / 2; 123 | font-size: 18px; 124 | 125 | > :last-child { 126 | margin-bottom: 0; 127 | } 128 | } 129 | 130 | 131 | 132 | /** 133 | * Rules 134 | */ 135 | hr { 136 | height: 4px; 137 | margin: $spacing-unit / 2 0; 138 | border: 0; 139 | background-color: $grey-color-light; 140 | } 141 | 142 | 143 | 144 | /** 145 | * Code formatting 146 | */ 147 | pre, 148 | code { 149 | font-family: $monospace-font-family; 150 | font-size: 13px; 151 | } 152 | 153 | code { 154 | padding: 1px 5px; 155 | } 156 | 157 | pre { 158 | padding: 8px 12px; 159 | overflow-x: auto; 160 | 161 | > code { 162 | border: 0; 163 | padding-right: 0; 164 | padding-left: 0; 165 | } 166 | } 167 | 168 | @media print { 169 | pre, code { 170 | white-space: pre-wrap; 171 | } 172 | } 173 | 174 | 175 | /** 176 | * Wrapper 177 | */ 178 | .wrapper { 179 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); 180 | max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); 181 | margin-right: auto; 182 | margin-left: auto; 183 | padding-right: $spacing-unit; 184 | padding-left: $spacing-unit; 185 | @extend %clearfix; 186 | 187 | @include media-query($on-laptop) { 188 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); 189 | max-width: calc(#{$content-width} - (#{$spacing-unit})); 190 | padding-right: $spacing-unit / 2; 191 | padding-left: $spacing-unit / 2; 192 | } 193 | } 194 | 195 | 196 | 197 | /** 198 | * Clearfix 199 | */ 200 | %clearfix:after { 201 | content: ""; 202 | display: table; 203 | clear: both; 204 | } 205 | -------------------------------------------------------------------------------- /_sass/_github-highlight.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | * Generated: rougify style github 3 | */ 4 | .highlight table td { padding: 5px; } 5 | .highlight table pre { margin: 0; } 6 | .highlight .cm { 7 | color: #999988; 8 | font-style: italic; 9 | } 10 | .highlight .cp { 11 | color: #999999; 12 | font-weight: bold; 13 | } 14 | .highlight .c1 { 15 | color: #999988; 16 | font-style: italic; 17 | } 18 | .highlight .cs { 19 | color: #999999; 20 | font-weight: bold; 21 | font-style: italic; 22 | } 23 | .highlight .c, .highlight .cd { 24 | color: #999988; 25 | font-style: italic; 26 | } 27 | .highlight .err { 28 | color: #a61717; 29 | background-color: #e3d2d2; 30 | } 31 | .highlight .gd { 32 | color: #000000; 33 | background-color: #ffdddd; 34 | } 35 | .highlight .ge { 36 | color: #000000; 37 | font-style: italic; 38 | } 39 | .highlight .gr { 40 | color: #aa0000; 41 | } 42 | .highlight .gh { 43 | color: #999999; 44 | } 45 | .highlight .gi { 46 | color: #000000; 47 | background-color: #ddffdd; 48 | } 49 | .highlight .go { 50 | color: #888888; 51 | } 52 | .highlight .gp { 53 | color: #555555; 54 | } 55 | .highlight .gs { 56 | font-weight: bold; 57 | } 58 | .highlight .gu { 59 | color: #aaaaaa; 60 | } 61 | .highlight .gt { 62 | color: #aa0000; 63 | } 64 | .highlight .kc { 65 | color: #000000; 66 | font-weight: bold; 67 | } 68 | .highlight .kd { 69 | color: #000000; 70 | font-weight: bold; 71 | } 72 | .highlight .kn { 73 | color: #000000; 74 | font-weight: bold; 75 | } 76 | .highlight .kp { 77 | color: #000000; 78 | font-weight: bold; 79 | } 80 | .highlight .kr { 81 | color: #000000; 82 | font-weight: bold; 83 | } 84 | .highlight .kt { 85 | color: #445588; 86 | font-weight: bold; 87 | } 88 | .highlight .k, .highlight .kv { 89 | color: #000000; 90 | font-weight: bold; 91 | } 92 | .highlight .mf { 93 | color: #009999; 94 | } 95 | .highlight .mh { 96 | color: #009999; 97 | } 98 | .highlight .il { 99 | color: #009999; 100 | } 101 | .highlight .mi { 102 | color: #009999; 103 | } 104 | .highlight .mo { 105 | color: #009999; 106 | } 107 | .highlight .m, .highlight .mb, .highlight .mx { 108 | color: #009999; 109 | } 110 | .highlight .sb { 111 | color: #d14; 112 | } 113 | .highlight .sc { 114 | color: #d14; 115 | } 116 | .highlight .sd { 117 | color: #d14; 118 | } 119 | .highlight .s2 { 120 | color: #d14; 121 | } 122 | .highlight .se { 123 | color: #d14; 124 | } 125 | .highlight .sh { 126 | color: #d14; 127 | } 128 | .highlight .si { 129 | color: #d14; 130 | } 131 | .highlight .sx { 132 | color: #d14; 133 | } 134 | .highlight .sr { 135 | color: #009926; 136 | } 137 | .highlight .s1 { 138 | color: #d14; 139 | } 140 | .highlight .ss { 141 | color: #990073; 142 | } 143 | .highlight .s { 144 | color: #d14; 145 | } 146 | .highlight .na { 147 | color: #008080; 148 | } 149 | .highlight .bp { 150 | color: #999999; 151 | } 152 | .highlight .nb { 153 | color: #0086B3; 154 | } 155 | .highlight .nc { 156 | color: #445588; 157 | font-weight: bold; 158 | } 159 | .highlight .no { 160 | color: #008080; 161 | } 162 | .highlight .nd { 163 | color: #3c5d5d; 164 | font-weight: bold; 165 | } 166 | .highlight .ni { 167 | color: #800080; 168 | } 169 | .highlight .ne { 170 | color: #990000; 171 | font-weight: bold; 172 | } 173 | .highlight .nf { 174 | color: #990000; 175 | font-weight: bold; 176 | } 177 | .highlight .nl { 178 | color: #990000; 179 | font-weight: bold; 180 | } 181 | .highlight .nn { 182 | color: #555555; 183 | } 184 | .highlight .nt { 185 | color: #000080; 186 | } 187 | .highlight .vc { 188 | color: #008080; 189 | } 190 | .highlight .vg { 191 | color: #008080; 192 | } 193 | .highlight .vi { 194 | color: #008080; 195 | } 196 | .highlight .nv { 197 | color: #008080; 198 | } 199 | .highlight .ow { 200 | color: #000000; 201 | font-weight: bold; 202 | } 203 | .highlight .o { 204 | color: #000000; 205 | font-weight: bold; 206 | } 207 | .highlight .w { 208 | color: #bbbbbb; 209 | } 210 | .highlight { 211 | background-color: #f8f8f8; 212 | } 213 | -------------------------------------------------------------------------------- /_sass/_layout.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Site header 3 | */ 4 | .site-header { 5 | min-height: 56px; 6 | 7 | // Positioning context for the mobile navigation icon 8 | position: relative; 9 | } 10 | 11 | .site-title { 12 | font-size: 26px; 13 | font-weight: 300; 14 | line-height: 56px; 15 | letter-spacing: -1px; 16 | margin-bottom: 0; 17 | float: left; 18 | 19 | &, 20 | &:visited { 21 | color: $grey-color-dark; 22 | } 23 | } 24 | 25 | .site-nav { 26 | float: right; 27 | line-height: 56px; 28 | 29 | .page-link { 30 | color: $text-color; 31 | line-height: $base-line-height; 32 | 33 | // Gaps between nav items, but not on the last one 34 | &:not(:last-child) { 35 | margin-right: 20px; 36 | } 37 | } 38 | 39 | @include media-query($on-palm) { 40 | .page-link { 41 | padding: 20px 0; 42 | 43 | &:not(:last-child) { 44 | margin-right: 0; 45 | } 46 | margin-left: 20px; 47 | } 48 | } 49 | } 50 | 51 | 52 | /** 53 | * Site footer 54 | */ 55 | .site-footer { 56 | padding: $spacing-unit 0; 57 | font-size: 15px; 58 | color: $grey-color; 59 | text-align: center; 60 | } 61 | 62 | 63 | /** 64 | * Page content 65 | */ 66 | .page-content { 67 | padding: $spacing-unit 0; 68 | 69 | table { 70 | border-collapse: collapse; 71 | border: 1px solid rgb(234, 234, 234); 72 | } 73 | 74 | th { 75 | -webkit-background-clip: border-box; 76 | -webkit-background-origin: padding-box; 77 | -webkit-background-size: auto; 78 | -webkit-border-horizontal-spacing: 0px; 79 | -webkit-border-vertical-spacing: 0px; 80 | -webkit-box-shadow: rgba(255, 255, 255, 0.498039) 0 1px 0 0 inset; 81 | background-attachment: scroll; 82 | background-clip: border-box; 83 | background-color: rgba(0, 0, 0, 0); 84 | background-image: linear-gradient(rgb(248, 248, 248), rgb(238, 238, 238)); 85 | background-origin: padding-box; 86 | background-size: auto; 87 | box-shadow: rgba(255, 255, 255, 0.498039) 0 1px 0 0 inset; 88 | border: 1px solid rgb(238, 238, 238); 89 | box-sizing: border-box; 90 | color: rgb(17, 17, 17); 91 | font-weight: bold; 92 | font-size: 90%; 93 | height: 33px; 94 | line-height: 19px; 95 | padding: .5em 1em; 96 | text-align: left; 97 | vertical-align: top; 98 | } 99 | 100 | td { 101 | -webkit-border-horizontal-spacing: 0px; 102 | -webkit-border-vertical-spacing: 0px; 103 | border-color: rgb(234, 234, 234); 104 | border-style: solid; 105 | border-width: 1px; 106 | border-collapse: collapse; 107 | box-sizing: border-box; 108 | color: rgb(17, 17, 17); 109 | height: 33px; 110 | line-height: 1.3em; 111 | padding: .5em 1em; 112 | vertical-align: top; 113 | } 114 | 115 | tr:nth-child(even) { 116 | background: rgb(234, 234, 234); 117 | } 118 | 119 | tr:nth-child(odd) { 120 | background: white; 121 | } 122 | 123 | pre { 124 | border-radius: .25em; 125 | position: relative; 126 | padding: 0 .5em 0 .5em; 127 | border-left: 0.4em #ddd solid; 128 | } 129 | 130 | blockquote { 131 | border-radius: .25em; 132 | border-left: 0.4em rgb(245, 215, 142) solid; 133 | background-color: rgb(249, 243, 229); 134 | line-height: 1.4em; 135 | font-size: 90%; 136 | } 137 | } 138 | 139 | .page-heading { 140 | font-size: 20px; 141 | } 142 | -------------------------------------------------------------------------------- /_sass/ionstyle.scss: -------------------------------------------------------------------------------- 1 | // Import partials. 2 | // Based off of 'whiteglass' theme, but modified substantially. 3 | // https://github.com/yous/whiteglass/ 4 | @import 5 | "base", 6 | "layout", 7 | "github-highlight" 8 | ; 9 | -------------------------------------------------------------------------------- /_scripts/generate_release_news.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Loops through a whitespace delimited list of Ion repositories, and generates 4 | # a news item for the latest release of each repository if a news item doesn't 5 | # already exist for that release. 6 | # 7 | # Any news items that are generated will automatically be staged for commit. 8 | # The user or workflow that is running the script is responsible for committing 9 | # and pushing any changes. 10 | # 11 | # When running locally, if any news items are generated, an auto-generated 12 | # commit message will be echoed to stdout. When running in GitHub Actions, the 13 | # number of changes and the generated commit message will be exported as outputs 14 | # of the workflow step--'changes' and 'generated_commit_message' respectively. 15 | # 16 | # This script does not generate news items for releases marked as a pre-release 17 | # version. 18 | 19 | readonly REPO_NAMES="$(gh repo list amazon-ion --json name --visibility=Public --limit 100 -q '.[].name')" 20 | 21 | commit_msg_body="" 22 | 23 | for repo_name in $REPO_NAMES; do 24 | # Groups the logs in GitHub Actions to make them nicer to read. 25 | [[ $GITHUB_ACTIONS ]] && echo "::group::$repo_name" 26 | 27 | echo "Checking for releases in $repo_name" 28 | release="$(gh release view -R "amazon-ion/$repo_name" --json body,createdAt,tagName)" 29 | if [[ -z "$release" ]]; then 30 | [[ $GITHUB_ACTIONS ]] && echo "::endgroup::" 31 | continue 32 | fi 33 | 34 | release_date="$(jq -r '.createdAt' <<< "$release" | cut -d'T' -f1)" 35 | tag="$(jq -r '.tagName' <<< "$release")" 36 | version="$(cut -d'v' -f2 <<< "$tag")" 37 | news_item_file_path="_posts/$release_date-$repo_name-$(sed 's/\./_/g' <<< "$version")-released.md" 38 | 39 | # NOTE: If we decide that we want to include the release notes in the news item, we need to remove 40 | # the '\r' characters from the release body. i.e.: 41 | # release_notes = $(jq -r '.body' <<< "$release" | sed -e 's/\r//g') 42 | 43 | echo "Found release $tag" 44 | 45 | # If file already exists, then we already have a new item for this release. 46 | if [[ -f $news_item_file_path ]]; then 47 | echo 'News already exists for this release.' 48 | else 49 | title_case_repo_name="$(sed -e "s/\-/ /g" <<< "$repo_name" | awk '{for (i=1;i <= NF;i++) {sub(".",substr(toupper($i),1,1),$i)} print}')" 50 | 51 | # Collapses any repeated newlines down to a single newline 52 | sed -e '/./b' -e :n -e 'N;s/\n$//;tn' <<< "\ 53 | --- 54 | layout: news_item 55 | title: \"$title_case_repo_name $version Released\" 56 | date: $release_date 57 | categories: news $repo_name 58 | --- 59 | 60 | $title_case_repo_name $version is now available. 61 | 62 | | [Release Notes $tag](https://github.com/amazon-ion/$repo_name/releases/tag/$tag) | [$title_case_repo_name](https://github.com/amazon-ion/$repo_name) | 63 | " >> "$news_item_file_path" 64 | 65 | git add "$news_item_file_path" 66 | echo "Generated '$news_item_file_path'" 67 | commit_msg_body=$(printf '%s\n%s' "$commit_msg_body" "* $repo_name $tag") 68 | 69 | # Update the data for the table on the libraries page 70 | libraries=$(< _data/libraries.json) 71 | jq "map(select(.name == \"$repo_name\") += \ 72 | { latest_release_version: \"$version\", latest_release_date: \"$release_date\"} )" \ 73 | <<< $libraries > _data/libraries.json 74 | fi 75 | 76 | [[ $GITHUB_ACTIONS ]] && echo "::endgroup::" 77 | done 78 | 79 | readonly NUM_NEW_POSTS=$(git status -s -uno | grep -c _posts/) 80 | echo "Generated $NUM_NEW_POSTS news items." 81 | if [[ $NUM_NEW_POSTS -ne 0 ]]; then 82 | git add _data/libraries.json 83 | readonly GENERATED_NEWS_COMMIT_MESSAGE="$(printf 'Adds news posts for %s releases\n%s\n' "$NUM_NEW_POSTS" "$commit_msg_body")" 84 | if [[ $GITHUB_ACTIONS ]]; then 85 | echo "::set-output name=changes::$NUM_NEW_POSTS" 86 | # Need to escape newlines to prevent output from being truncated 87 | echo "::set-output name=generated_commit_message::${GENERATED_NEWS_COMMIT_MESSAGE//$'\n'/'%0A'}" 88 | else 89 | echo "$GENERATED_NEWS_COMMIT_MESSAGE" 90 | fi 91 | fi 92 | -------------------------------------------------------------------------------- /assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-ion/ion-docs/d847f935a2830bbe783c88baed3b3235816c96ac/assets/favicon.ico -------------------------------------------------------------------------------- /assets/ion-widget.js: -------------------------------------------------------------------------------- 1 | // usage: 2 | // 3 | //
4 | // // ion text goes here... 5 | // { a: 1, b: 2, c: 3 } 6 | //
7 | //